diff -Nru openscenegraph-3.4-3.4.0+dfsg1/applications/osgarchive/osgarchive.cpp openscenegraph-3.4-3.4.1+dfsg1/applications/osgarchive/osgarchive.cpp --- openscenegraph-3.4-3.4.0+dfsg1/applications/osgarchive/osgarchive.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/applications/osgarchive/osgarchive.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -1,9 +1,9 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield +/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield * - * This application is open source and may be redistributed and/or modified + * This application is open source and may be redistributed and/or modified * freely and without restriction, both in commercial and non commercial applications, * as long as this copyright notice is maintained. - * + * * This application is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -26,12 +26,12 @@ { // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - + // set up the usage document, in case we need to print out how to use this program. arguments.getApplicationUsage()->setApplicationName(arguments.getApplicationName()); arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is an application for collecting a set of separate files into a single archive file that can be later read in OSG applications.."); arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] filename ..."); - + // if user request help write it out to cout. if (arguments.read("-h") || arguments.read("--help")) { @@ -49,14 +49,14 @@ { insert = true; } - + bool extract = false; while (arguments.read("-e") || arguments.read("--extract")) { extract = true; } - - bool list = false; + + bool list = false; while (arguments.read("-l") || arguments.read("--list")) { list = true; @@ -93,7 +93,7 @@ } } } - + // any option left unread are converted into errors to write out later. arguments.reportRemainingOptionsAsUnrecognized(); @@ -103,7 +103,7 @@ arguments.writeErrorMessages(std::cout); return 1; } - + if (archiveFilename.empty()) { std::cout<<"Please specify an archive name using --archive filename"< obj = osgDB::readObjectFile(*itr); + osg::ref_ptr obj = osgDB::readRefObjectFile(*itr); if (obj.valid()) { std::cout<<" write to archive "<<*itr<getFileNames(fileNames)) @@ -187,11 +187,11 @@ std::cout<<" "<<*itr<getMasterFileName()< state = new osg::State; + state->initializeExtensionProcs(); for(TextureSet::iterator itr=_textureSet.begin(); itr!=_textureSet.end(); @@ -771,7 +772,7 @@ osg::Timer_t startTick = osg::Timer::instance()->tick(); - osg::ref_ptr root = osgDB::readNodeFiles(fileNames); + osg::ref_ptr root = osgDB::readRefNodeFiles(fileNames); if (root.valid()) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/applications/osgfilecache/osgfilecache.cpp openscenegraph-3.4-3.4.1+dfsg1/applications/osgfilecache/osgfilecache.cpp --- openscenegraph-3.4-3.4.0+dfsg1/applications/osgfilecache/osgfilecache.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/applications/osgfilecache/osgfilecache.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -1,9 +1,9 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield +/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield * - * This application is open source and may be redistributed and/or modified + * This application is open source and may be redistributed and/or modified * freely and without restriction, both in commercial and non commercial applications, * as long as this copyright notice is maintained. - * + * * This application is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -46,20 +46,20 @@ _maxLevel(maxLevel), _min(minX, minY), _max(maxX, maxY) {} - + Extents(const Extents& extents): _maxLevel(extents._maxLevel), _min(extents._min), _max(extents._max) {} - + Extents& operator = (const Extents& rhs) { if (&rhs == this) return *this; - + _maxLevel = rhs._maxLevel; _min = rhs._min; _max = rhs._max; - + return *this; } @@ -69,10 +69,10 @@ osg::notify(osg::INFO)<<" _maxLevel="<<_maxLevel<<", _min="<<_min<<" _max="<<_max<_maxLevel) return false; - + osg::Vec2d union_min, union_max; - // handle mins + // handle mins if (_min.x()!=DBL_MAX && in_min.x()!=DBL_MAX) { // both _min.x() and in_min.x() are defined so use max of two @@ -95,7 +95,7 @@ union_min.y() = _min.y()convertXYZToLatLongHeight(v.x(), v.y(), v.z(), v.y(), v.x(), v.z()); - + v.x() = osg::RadiansToDegrees(v.x()); v.y() = osg::RadiansToDegrees(v.y()); } - + void initBound() { _min.set(DBL_MAX, DBL_MAX); @@ -332,16 +332,16 @@ if (v.x() > _max.x()) _max.x() = v.x(); if (v.y() > _max.y()) _max.y() = v.y(); } - + void updateBound(osg::Vec3Array& vertices) { // set up matrix osg::Matrix matrix; if (!_matrixStack.empty()) matrix = _matrixStack.back(); - + // set up ellipsoid model osg::EllipsoidModel* em = !_csnStack.empty() ? _csnStack.back()->getEllipsoidModel() : 0; - + for(osg::Vec3Array::iterator itr = vertices.begin(); itr != vertices.end(); ++itr) @@ -352,7 +352,7 @@ updateBound(v); } } - + bool intersects() { osg::notify(osg::INFO)<<"intersects() _min = "<<_min<<" _max = "<<_max<intersects(_currentLevel, _min, _max)) return true; } - + return false; } @@ -376,7 +376,7 @@ unsigned int _currentLevel; MatrixStack _matrixStack; CSNStack _csnStack; - + osg::Vec2d _min; osg::Vec2d _max; }; @@ -403,7 +403,7 @@ // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - + // set up the usage document, in case we need to print out how to use this program. arguments.getApplicationUsage()->setApplicationName(arguments.getApplicationName()); arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is an application for collecting a set of separate files into a single archive file that can be later read in OSG applications.."); @@ -412,21 +412,21 @@ arguments.getApplicationUsage()->addCommandLineOption("-e level minX minY maxX maxY","Read down to across the extents minX, minY to maxY, maxY. Note, for geocentric datase X and Y are longitude and latitude respectively."); arguments.getApplicationUsage()->addCommandLineOption("-c directory","Shorthand for --file-cache directory."); arguments.getApplicationUsage()->addCommandLineOption("--file-cache directory","Set directory as to place cache download files."); - + // if user request help write it out to cout. if (arguments.read("-h") || arguments.read("--help")) { arguments.getApplicationUsage()->write(std::cout); return 1; } - + LoadDataVisitor ldv; std::string fileCachePath; while(arguments.read("--file-cache",fileCachePath) || arguments.read("-c",fileCachePath)) {} - + if (fileCachePath.empty()) - { + { const char* env_fileCachePath = getenv("OSG_FILE_CACHE"); if (env_fileCachePath) { @@ -439,7 +439,7 @@ std::cout<<"No path to the file cache defined, please set OSG_FILE_PATH env var, or use --file-cache to set a suitable directory for the file cache."< loadedModel = ldv.readNodeFileAndWriteToCache(filename); if (!loadedModel) { std::cout<<"No data loaded, please specify a database to load"<accept(ldv); if (s_ExitApplication) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/applications/osgversion/Contributors.cpp openscenegraph-3.4-3.4.1+dfsg1/applications/osgversion/Contributors.cpp --- openscenegraph-3.4-3.4.0+dfsg1/applications/osgversion/Contributors.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/applications/osgversion/Contributors.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -261,7 +261,21 @@ "RayIntersector", "OpenSceneGraph-Data", "Node", - "AlphaFunc" + "AlphaFunc", + "CompositeViewer", + "OpenSceneGraph-3", + "DisplaySettings::SHADER_NONE", + "CodeDocs", + "Mon", + "Tue", + "Wed", + "Fri", + "Sat", + "Sun", + "I", + "TriangleFunctor", + "PrimitiveFunctor", + "OpenMW" }; @@ -484,7 +498,9 @@ {"Janik", "Jannik"}, {"Viganò", "Viganň"}, {"Vigano", "Viganň"}, - {"Frashud", "Farshid"} + {"Frashud", "Farshid"}, + {"Dannahauer","Dannahauer"}, + {"Sando","Sandro"} }; @@ -498,6 +514,16 @@ NameCorrection nameCorrections[] = { + {"LaurensVoerman","Meta_Shape", + "Laurens", "Voerman"}, + {"LaurensVoerman","OpenCascade", + "Laurens", "Voerman"}, + {"LaurensVoerman","Fri", + "Laurens", "Voerman"}, + {"LaurensVoerman","", + "Laurens", "Voerman"}, + {"Laurens","Loerman", + "Laurens", "Voerman"}, {"FrancoisTigeot","", "Francois", "Tigeot"}, {"Juan","Manuel", diff -Nru openscenegraph-3.4-3.4.0+dfsg1/applications/osgviewer/osgviewer.cpp openscenegraph-3.4-3.4.1+dfsg1/applications/osgviewer/osgviewer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/applications/osgviewer/osgviewer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/applications/osgviewer/osgviewer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -87,10 +87,10 @@ std::string device; while(arguments.read("--device", device)) { - osg::ref_ptr dev = osgDB::readFile(device); + osg::ref_ptr dev = osgDB::readRefFile(device); if (dev.valid()) { - viewer.addDevice(dev.get()); + viewer.addDevice(dev); } } @@ -152,7 +152,7 @@ viewer.addEventHandler(new osgViewer::ScreenCaptureHandler); // load the data - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); if (!loadedModel) { std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; @@ -172,9 +172,9 @@ // optimize the scene graph, remove redundant nodes and state etc. osgUtil::Optimizer optimizer; - optimizer.optimize(loadedModel.get()); + optimizer.optimize(loadedModel); - viewer.setSceneData( loadedModel.get() ); + viewer.setSceneData(loadedModel); viewer.realize(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/applications/present3D/Cluster.cpp openscenegraph-3.4-3.4.1+dfsg1/applications/present3D/Cluster.cpp --- openscenegraph-3.4-3.4.0+dfsg1/applications/present3D/Cluster.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/applications/present3D/Cluster.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -33,7 +33,7 @@ #if defined(__linux) #include #include -#elif defined(__FreeBSD__) || defined(__DragonFly__) +#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__) #include #include #elif defined(__sgi) @@ -41,6 +41,8 @@ #include #elif defined(__CYGWIN__) #include +#elif defined (__GNU__) + #include #elif defined(__sun) #include #include @@ -338,7 +340,7 @@ } #if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ ) || \ - defined(__DragonFly__) + defined(__DragonFly__) || defined(__FreeBSD_kernel__) || defined(__GNU__) socklen_t #else int diff -Nru openscenegraph-3.4-3.4.0+dfsg1/applications/present3D/present3D.cpp openscenegraph-3.4-3.4.1+dfsg1/applications/present3D/present3D.cpp --- openscenegraph-3.4-3.4.0+dfsg1/applications/present3D/present3D.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/applications/present3D/present3D.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -266,7 +266,7 @@ void addDeviceTo(osgViewer::Viewer& viewer, const std::string& device_name, bool forward_mouse_events) { - osg::ref_ptr dev = osgDB::readFile(device_name); + osg::ref_ptr dev = osgDB::readRefFile(device_name); if (dev.valid()) { OSG_INFO << "Adding Device : " << device_name << std::endl; @@ -317,7 +317,7 @@ if (arguments.read("-devices") || arguments.read("--devices")) { // Force load QuickTime plugin, probe video capability, exit - osgDB::readImageFile("devices.live"); + osgDB::readRefImageFile("devices.live"); return 1; } @@ -451,7 +451,7 @@ osg::ref_ptr device_options = new osgDB::Options("documentRegisteredHandlers"); - osg::ref_ptr rest_http_device = osgDB::readFile(server_address+":"+server_port+"/"+document_root+".resthttp", device_options.get()); + osg::ref_ptr rest_http_device = osgDB::readRefFile(server_address+":"+server_port+"/"+document_root+".resthttp", device_options.get()); if (rest_http_device.valid()) { viewer.addDevice(rest_http_device.get()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/applications/present3D/ReadShowFile.cpp openscenegraph-3.4-3.4.1+dfsg1/applications/present3D/ReadShowFile.cpp --- openscenegraph-3.4-3.4.0+dfsg1/applications/present3D/ReadShowFile.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/applications/present3D/ReadShowFile.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -215,24 +215,24 @@ std::string filename; while (arguments.read("--image",filename)) { - osg::ref_ptr image = readImageFile(filename.c_str(), local_options.get()); - if (image.valid()) nodeList.push_back(osg::createGeodeForImage(image.get())); + osg::ref_ptr image = readRefImageFile(filename.c_str(), local_options.get()); + if (image.valid()) nodeList.push_back(osg::createGeodeForImage(image)); } while (arguments.read("--movie",filename)) { - osg::ref_ptr image = readImageFile(filename.c_str(), local_options.get()); + osg::ref_ptr image = readRefImageFile(filename.c_str(), local_options.get()); osg::ref_ptr imageStream = dynamic_cast(image.get()); if (image.valid()) { imageStream->play(); - nodeList.push_back(osg::createGeodeForImage(imageStream.get())); + nodeList.push_back(osg::createGeodeForImage(imageStream)); } } while (arguments.read("--dem",filename)) { - osg::HeightField* hf = readHeightFieldFile(filename.c_str(), local_options.get()); + osg::ref_ptr hf = readRefHeightFieldFile(filename.c_str(), local_options.get()); if (hf) { osg::Geode* geode = new osg::Geode; @@ -247,7 +247,7 @@ if (!arguments.isOption(pos)) { // not an option so assume string is a filename. - osg::Node *node = osgDB::readNodeFile( arguments[pos], local_options.get()); + osg::ref_ptr node = osgDB::readRefNodeFile( arguments[pos], local_options.get()); if(node) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/AUTHORS.txt openscenegraph-3.4-3.4.1+dfsg1/AUTHORS.txt --- openscenegraph-3.4-3.4.0+dfsg1/AUTHORS.txt 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/AUTHORS.txt 2017-08-28 16:50:49.000000000 +0000 @@ -1,11 +1,10 @@ -OpenSceneGraph Library 3.4.0 +OpenSceneGraph Library 3.4.1 -550 Contributors: +562 Contributors: Firstname Surname ----------------- Robert Osfield -Don Burns Stephan Huber Paul Martz Farshid Lashkari @@ -20,28 +19,29 @@ Cedric Pinson Brede Johansen Bob Kuehne +Wojciech Lewandowski Michael Platings Geoff Michel -Wojciech Lewandowski Eric Sokolowsky -David Callu Laurens Voerman +David Callu Colin McDonald Trajce Nikolov Tim Moore Martin Lavery Mattias Helsing -Tree Jason Beverage +Tree Pjotr Svetachov Luigi Calori +Alberto Luaces Mike Wittman Jan Peciva Chris Hanson -Alberto Luaces Roland Smeenk Roger James Jeremy Moles +Jannik Heller J.P. Delport Andy Skinner Magnus Kessler @@ -52,6 +52,7 @@ Aurelien Albert Pavel Moloshtan Brad Christiansen +Torben Dannhauer Terry Welsh Olaf Flebbe Mathieu Marache @@ -61,23 +62,21 @@ Philip Lowman Per Fahlberg Norman Vine -Jannik Heller Chris Denham +Sherman Wilcox Serge Lages Romano José Magacho da Silva -Alberto Farre -Torben Dannhauer -Sherman Wilcox -Robert Michael Mourad Boufarguine +Alberto Farre Glenn Waldron André Garneau Adrian Egli -Ruben Lopez -Randall Hopper -Jan Ciger Sebastian Messerschmidt +Randall Hopper Kristofer Tingdahl +Jan Ciger +Ruben Lopez +Robert Michael Gideon May Don Tidrow Stephane Lamoliatte @@ -87,10 +86,10 @@ David Spilling Daniel Sjölie Bryan Thrall +Andreas Ekstrand Rafa Gaitan Mike Connell Fabien Lavignotte -Andreas Ekstrand Thomas Hogarth Riccardo Corsi Melchior Franz @@ -99,9 +98,9 @@ Neil Hughes Martin Beckett Marc Helbling +Jordi Torres Joran Jessurun Gino van den Bergen -Frederic Marmond David Guthrie Csaba Halasz Cory Riddell @@ -111,21 +110,21 @@ Sondra Iverson Simon Julier Rune Schmidt Jensen +Ravi Mathur Rainer Oder Nico Kruithof Martin Aumueller Mario Valle Lukasz Izdebski Jorge Izquierdo Ciges -Jordi Torres Gordon Tomlinson +Frederic Marmond Frederic Bouvier Carlo Camporesi -Ben Discoe +Björn Blissing Alexander Sinditskiy Thibault Genessay Sasa Bistrovic -Ravi Mathur Ralf Habacker Neil Groves Mikhail Izmestev @@ -133,8 +132,10 @@ Loic Dachary Joseph Steel John Shue +Hartwig Wiesmann Brad Colbert -Björn Blissing +Ben Discoe +Vladimir Chebaev Vivek Rajan Uwe Woessner Tony Horrobin @@ -154,9 +155,9 @@ Maciej Krol Lilin Xiong Leandro Motta Barros +Julien Valentin Johan Nouvel Javier Taibo -Hartwig Wiesmann Donn Mielcarek Corbin Holtz Blasius Czink @@ -167,7 +168,6 @@ Maria Ten Liang Aibin Katharina Plugge -Julien Valentin John Vidar Larring John Kelso John Ivar @@ -182,10 +182,9 @@ Andreas Goebel Alok Priyadarshi Ali Botorabi -Alberto Barbati Alan Dickinson +Wee See Vladimir Shabanov -Vladimir Chebaev Tugkan Calapoglu Tim Daoust Sylvain Marie @@ -196,8 +195,10 @@ Robert Milharcic Rene Molenaar Piotr Domagalski +Philippe Renon Phil Atkin Pawel Ksiezopolski +Patrick Neary Nathan Monteleone Miha Rav¨elj Miguel Escriva @@ -225,6 +226,7 @@ Doug McCorkle Donald Cipperly Don Leich +Don Burns Dietmar Funck Colin Cochran Christian Ruzicka @@ -239,9 +241,9 @@ Anders Backman Alexander Wiebel Alessandro Terenzi +Alberto Barbati Zach Deedler Yuzhong Shen -Wee See Warren Macchi Vincent Bourdier Terrex @@ -256,11 +258,9 @@ Ralf Kern Piotr Gwiazdowski Pierre Haritchabalet -Philippe Renon Perry Miller Paul Palumbo Paul Obermeier -Patrick Neary Nguyen Van Truong Nathan Cournia Morten Haukness @@ -268,7 +268,6 @@ Michael Mc Donnell Michael Henheffer Michael Guerrero -Maya Leonard Max Bandazian Mathias Fiedler Mathew May @@ -302,7 +301,6 @@ Gerrick Bivins George Tarantilis Ferdi Smit -Eric Buehler Eduardo Poyart Edgar Ellis Dmitry Marakasov @@ -318,6 +316,7 @@ Bradley Baker Searles Brad Anderegg Aric Aumann +Anish Thomas Andrew Sampson Andrew Lorino Alexandre Amalric @@ -340,6 +339,8 @@ Vaclav Bilek Tyge Lřvset Troy Yee +Torben Dannahauer +Tony Vasile Tomas Hogarth Tomas Hnilica Todd Furlong @@ -362,6 +363,7 @@ Sergey Kurdakov Sebastien Kuntz Ruth Lang +Ruben The Ruben Smelik Ross Anderson Ronny Krueger @@ -403,12 +405,14 @@ Oliver Neumann Ole-Morten Duesund Nicolas Brodu +Nick Thu Nick Black Mojtaba Fathi Mirko Viviani Mikkel Gjřl Mike Krus Mike Garrity +Mick Thu Michal Durkovic Michael Schanne Michael Polak @@ -416,6 +420,8 @@ Michael Logan Michael Kapelko Michael Bach Jensen +Maya Thu +Maya Leonard Max Rhiener Max Behensky Mauricio Hofmam @@ -432,9 +438,9 @@ Marius Kintel Mario Guimaraes Marcus Hein +Marco Thu Marco Sciabica Marco Lehmann -Maik Keller Lukas Diduch Louis Hamilton Likasz Izebski @@ -456,11 +462,14 @@ Josh Portway Jonathan Greig John Tan +John Hedström John Grant +John Farrier John Donovan John Davis John Cummings John Argentieri +Joe Thompson Joan Abadie Jim Brooks Jeroen den Dekker @@ -479,8 +488,10 @@ Gunter Huber Gregory Jaegy Graeme Harkness +Github It Gian Lorenzetto George Papagiannakis +Geoff Thu Galen Faidley Frida Schlaug Frederic Smith @@ -495,6 +506,8 @@ Fajran Iman Fabien Dachicourt Erik Johnson +Eric Thu +Eric Buehler Eduardo Alberto Edmond Gheury Ed Ralston @@ -526,8 +539,8 @@ Bryce Eldridge Bruno Herbelin Brian Keener +Brede Thu Brandon Hamm -Bora Utka Bill Prendergast Bernardt Duvenhage Benoit Laniel @@ -537,7 +550,6 @@ Axel Volley Arjun Ramamurthy Anthousis Andreadis -Anish Thomas Andy Preece Andrew Reyonolds Andreas Roth diff -Nru openscenegraph-3.4-3.4.0+dfsg1/ChangeLog openscenegraph-3.4-3.4.1+dfsg1/ChangeLog --- openscenegraph-3.4-3.4.0+dfsg1/ChangeLog 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/ChangeLog 2017-08-28 16:50:49.000000000 +0000 @@ -1,87463 +1,67509 @@ -2015-08-12 10:44 robert +Mon, 28 Aug 2017 17:34:51 +0100 +Checked in by : Robert Osfield +Build fix - * include/osg/State: Added initializer +Mon, 28 Aug 2017 16:55:52 +0100 +Checked in by : Robert Osfield +Added back in 3.4.0 release entry -2015-08-12 10:30 robert +Mon, 28 Aug 2017 14:34:39 +0200 +Checked in by : Denys Koch +Fix flawed BoundingSphere inequality operator - * ChangeLog: Updated ChangeLog +Mon, 28 Aug 2017 15:36:31 +0100 +Checked in by : Robert Osfield +Updates for 3.4.1 stable release -2015-08-12 10:19 robert +Thu, 24 Aug 2017 17:49:34 +0100 +Checked in by : Robert Osfield +Updated rc number to 3 or 3.4.1-rc3 - * src/osgVolume/Shaders/volume_frag.cpp, - src/osgVolume/Shaders/volume_iso_frag.cpp, - src/osgVolume/Shaders/volume_lit_frag.cpp, - src/osgVolume/Shaders/volume_lit_tf_frag.cpp, - src/osgVolume/Shaders/volume_mip_frag.cpp, - src/osgVolume/Shaders/volume_tf_frag.cpp, - src/osgVolume/Shaders/volume_tf_iso_frag.cpp, - src/osgVolume/Shaders/volume_tf_mip_frag.cpp: Merged shaders from - svn/trunk that refactor the workaround to the NVidia driver bug +Thu, 24 Aug 2017 17:45:48 +0100 +Checked in by : Robert Osfield +Updated READE and ChangeLog -2015-08-12 10:06 robert +Wed, 23 Aug 2017 15:26:07 +0100 +Checked in by : Robert Osfield +Fixed underflow issue - * ChangeLog: Update ChangeLog +Tue, 22 Aug 2017 14:17:45 +0100 +Checked in by : Robert Osfield +Bimped SO version due to changes in Windows exports in osgDB::ifstream + ofstream. -2015-08-12 06:38 robert +Tue, 22 Aug 2017 12:19:40 +0100 +Checked in by : Robert Osfield +Updated RC number to 2 for 3.4.1-rc2 - * CMakeLists.txt, ChangeLog, README.txt: Change RC number to 0 for - 3.4.0 stable release. - Updated ChangeLog - Updated the release data in the README +Tue, 22 Aug 2017 12:18:29 +0100 +Checked in by : Robert Osfield +Updated ChangeLog -2015-08-11 20:12 robert +Tue, 22 Aug 2017 11:58:49 +0100 +Checked in by : Robert Osfield +Added name typo fix - * CMakeLists.txt, ChangeLog: Updated ChangeLog and RC nubmer to 13, - and added GL1 to the docs on the GL_PROFILE usage +Tue, 22 Aug 2017 09:05:27 +0100 +Checked in by : Robert Osfield +Updated ChangeLog -2015-08-11 20:08 robert +Tue, 22 Aug 2017 09:04:49 +0100 +Checked in by : Robert Osfield +Added catch for controbutors list - * src/osgVolume/Shaders/volume_frag.cpp, - src/osgVolume/Shaders/volume_iso_frag.cpp, - src/osgVolume/Shaders/volume_lit_frag.cpp, - src/osgVolume/Shaders/volume_lit_tf_frag.cpp, - src/osgVolume/Shaders/volume_mip_frag.cpp, - src/osgVolume/Shaders/volume_tf_frag.cpp, - src/osgVolume/Shaders/volume_tf_iso_frag.cpp, - src/osgVolume/Shaders/volume_tf_mip_frag.cpp: Refactored - workaround of NVidia nan length bug. +Tue, 22 Aug 2017 08:03:33 +0100 +Checked in by : OpenSceneGraph git repository +Merge pull request #310 from OpenMW/merge_internalsizedformatsApplied sizedInternalFormats change to 3.4 branch -2015-08-11 08:44 robert +Thu, 31 Mar 2016 17:12:28 +0100 +Checked in by : Robert Osfield +Reversed the order of some sizedInternalFormats enum entries to sync with the change in serach direction that was checked in as an earlier revision. - * CMakeLists.txt, CMakeModules/FindAsio.cmake, - CMakeModules/FindLIBLAS.cmake, src/osgPlugins/CMakeLists.txt: - Moved the FIND_PACKAGE(Boost) from the root CMakeLists.txt into - the local Find scripts to avoid Boost check when not neccessary. +Mon, 21 Aug 2017 15:06:31 +0100 +Checked in by : Robert Osfield +Added handling of CPACK and automatically generated package files -2015-08-10 19:58 robert +Fri, 18 Aug 2017 16:26:12 +0100 +Checked in by : Robert Osfield +Removed unneccessary DrawArrays->setCount() that was causing a crash. - * ChangeLog: Updated ChangeLog +Fri, 18 Aug 2017 16:11:29 +0100 +Checked in by : Robert Osfield +Merged addition of "" around variablesfrom master. -2015-08-10 19:56 robert +Fri, 18 Aug 2017 16:01:31 +0100 +Checked in by : Raymond de Vries +Fix for better picking up 3rd party dependencies - * src/osg/State.cpp: From svn/trunk merged support for passing the - GL_VENDOR string into the #pragma(tic) shader compositions - defines +Fri, 18 Aug 2017 08:08:28 +0100 +Checked in by : Robert Osfield +Fixed iterator comparison. -2015-08-10 19:46 robert +Thu, 17 Aug 2017 08:53:58 +0100 +Checked in by : Robert Osfield +Adopted OSG_GL*_FEATURES usage of 0 and 1 in place of false and true to avoid VisualStudio 2012 build issues - * CMakeLists.txt, ChangeLog: Update RC number to 12, and updated - ChangeLog +Tue, 15 Aug 2017 15:42:22 +0100 +Checked in by : Uwe Woessner +Extension to the PLY plugin to read files with textures. -2015-08-10 19:40 robert +Mon, 31 Jul 2017 16:47:10 +0100 +Checked in by : OpenSceneGraph git repository +Merge pull request #291 from eligovision/OpenSceneGraph-3.4_animationosgAnimation: classes UpdateVec2fUniform and UpdateVec4fUniform added - * CMakeLists.txt: Fixed line endings +Sun, 30 Jul 2017 20:00:12 +0300 +Checked in by : konstantin.matveyev +[*] osgDB::OutputStream fix -2015-08-10 19:39 robert +Sun, 30 Jul 2017 19:55:56 +0300 +Checked in by : konstantin.matveyev +[+] Two classes added: osgAnimation::UpdateVec2fUniform, osgAnimation::UpdateVec4fUniform - * src/osgVolume/Shaders/volume_frag.cpp, - src/osgVolume/Shaders/volume_iso_frag.cpp, - src/osgVolume/Shaders/volume_lit_frag.cpp, - src/osgVolume/Shaders/volume_lit_tf_frag.cpp, - src/osgVolume/Shaders/volume_mip_frag.cpp, - src/osgVolume/Shaders/volume_tf_frag.cpp, - src/osgVolume/Shaders/volume_tf_iso_frag.cpp, - src/osgVolume/Shaders/volume_tf_mip_frag.cpp: Updated built-in - shaders from OpenSceneGraph-Data vesion that introduce - #pragma(tic) shaders that resolve the NVidia loop iteration bug. +Mon, 31 Jul 2017 15:06:57 +0100 +Checked in by : OpenSceneGraph git repository +Merge pull request #289 from eligovision/OpenSceneGraph-3.4_appleIMAGEIO plugin tweak -2015-08-10 19:19 robert +Mon, 31 Jul 2017 15:05:26 +0100 +Checked in by : OpenSceneGraph git repository +Merge pull request #290 from eligovision/OpenSceneGraph-3.4_apple_iososgViewer::GraphicsWindowIOS fixes - * src/osg/Shader.cpp: Quietened down #pragma(tic) shader - composition messages +Sun, 30 Jul 2017 20:03:56 +0300 +Checked in by : konstantin.matveyev +[*] imageio changed: more methods of storing image supported; tested on macOS (compatibility profile) and iOS(GLES2/3) -2015-08-10 05:04 robert +Sun, 30 Jul 2017 19:58:56 +0300 +Checked in by : konstantin.matveyev +[*] osgViewer::GraphicsWindowIOS fixes - * include/osg/Types, src/osg/CMakeLists.txt: Build fix for VS and - installing TYpes +Mon, 31 Jul 2017 12:44:47 +0100 +Checked in by : Robert Osfield +Fixed indectation -2015-08-09 10:20 robert +Mon, 31 Jul 2017 12:42:15 +0100 +Checked in by : OpenSceneGraph git repository +Merge pull request #288 from eligovision/OpenSceneGraph-3.4_pragmaticpragma(tic) shader composing fixes in the State - * AUTHORS.txt, ChangeLog: Update ChangeLog and AUTHORS for rc11 +Mon, 31 Jul 2017 00:53:24 +0300 +Checked in by : konstantin.matveyev +[**] pragma(tic) fix: 'defineMap.changed flag' condition changed in State::push/popDefineList -2015-08-09 10:16 robert +Fri, 28 Jul 2017 17:57:02 +0100 +Checked in by : Robert Osfield +Updated AUTHORS and CHangeLog for 3.4.1-rc1 - * CMakeLists.txt: Updated RC number to 11. +Fri, 28 Jul 2017 17:43:34 +0100 +Checked in by : Robert Osfield +Updated 3.4 branch to 3.4.1-rc1 version -2015-08-09 10:16 robert +Fri, 5 Aug 2016 13:16:07 +0100 +Checked in by : James Turner +Attempt to fix broken DLL exports from osgDBOnly export the osgDB method implementations, instead of the entire +class, and hence avoid exporting symbols from the base class, which +then conflict with other compilation units when linking. - * src/osg/GL.in: Changed GLint64 and GLuint64 to use int64_t and - uint64_t (pulled in via include/osg/Types) to avoid conflict with - Qt5 definitions +This avoids the need for /FORCE:MULTIPLE linker option with MSVC. -2015-08-09 09:40 robert +Thu, 27 Jul 2017 10:43:33 +0100 +Checked in by : Robert Osfield +Adopted FindFreetype.cmake from master - * include/osgViewer/api/X11/PixelBufferX11, - src/osgViewer/PixelBufferX11.cpp: Added #idef guards for SGIX - usage +Wed, 26 Jul 2017 11:12:11 +0100 +Checked in by : Robert Osfield +Replaced State::_glExtensions initialization to be consistent with master, enabling sharing of GLExtension data structure. -2015-08-08 08:49 robert +Wed, 26 Jul 2017 11:08:46 +0100 +Checked in by : Robert Osfield +Moved State::initializeExtensionProcs() nearer top of source file to make the position consistent with change in position in master, making it easier to diff between them. - * src/osgPlugins/zip/ZipArchive.cpp: From Glenn Waldron, fix error - in ZIP plugin handling of memory buffer +Tue, 25 Jul 2017 15:58:27 +0100 +Checked in by : Robert Osfield +Merged GLExtension deletion mechanism from master to avoid GLEXtension being deleted when shared contexts are used and osg::State is deleted when a context is deleted. -2015-08-06 15:10 robert +Tue, 25 Jul 2017 14:45:20 +0100 +Checked in by : OpenSceneGraph git repository +Merge pull request #272 from psyinf/msvc_static_buildMsvc static build - * CMakeLists.txt, ChangeLog: Updated rc number and ChangeLog for - 3.4.0-rc10 +Fri, 21 Jul 2017 13:12:38 +0200 +Checked in by : Sebastian Messerschmidt +FIX: missing change in ENDIF -2015-08-06 15:04 robert +Fri, 21 Jul 2017 11:06:22 +0200 +Checked in by : Sebastian Messerschmidt +FIX: attempting to install pdb-files for static targets caused failing INSTALL - * src/osgVolume/Shaders/volume_frag.cpp, - src/osgVolume/Shaders/volume_iso_frag.cpp, - src/osgVolume/Shaders/volume_lit_frag.cpp, - src/osgVolume/Shaders/volume_lit_tf_frag.cpp, - src/osgVolume/Shaders/volume_mip_frag.cpp, - src/osgVolume/Shaders/volume_tf_frag.cpp, - src/osgVolume/Shaders/volume_tf_iso_frag.cpp, - src/osgVolume/Shaders/volume_tf_mip_frag.cpp: Merged workaround - for NVidia driver/GPU bug by updating shaders from svn/trunk that - change float to int usage. +Mon, 17 Jul 2017 16:46:16 +0100 +Checked in by : Anna Sokol +Since version 2.5.1 freetype has supported the WOFF extension format. In the attached ReaderWriterFreeType.cpp file I added the following line: supportsExtension("woff","web open font format"); -2015-08-06 15:03 robert - * src/osgText/Text.cpp: Added checks for the validity of chached - coordinate arrays. +Tue, 20 Jun 2017 09:35:49 +0100 +Checked in by : Robert Osfield +Pulled in .gitignore from master -2015-08-03 19:38 robert +Tue, 16 May 2017 15:40:10 +0100 +Checked in by : Robert Osfield +Backported GLES compatible shaders into ShaderGen - * AUTHORS.txt, CMakeLists.txt, ChangeLog: Updated rc number to 9, - and updated ChangeLog and AUTHORS.txt +Tue, 16 May 2017 15:04:59 +0100 +Checked in by : Robert Osfield +Backported GL2/3, GLES2/3 compatible Text and StatsHandler shaders to OSG-3.4 -2015-08-03 19:14 robert +Mon, 29 May 2017 12:20:31 +0100 +Checked in by : Robert Osfield +Added TimeMultiplier and LoopingMode to ImageSequence .osg serializer - * include/osgViewer/api/X11/PixelBufferX11, - src/osgViewer/PixelBufferX11.cpp: From Andy Skinner, "Someone was - using our code on a system that does not seem to have the SGIX - symbols used in osgViewer.cpp. - - - - I used osgSetGLExtensionsFuncPtr to remove the symbols. I don't - know how to test this path, but it did remove the symbols from - libosgViewer.so. I have also not been able yet to see if that was - sufficient for our customer. - - - - I did this by looking at other cases, and I tried to follow some - of the same practices in PixelBufferX11, like using _useSGIX in a - similar way to the previous _useGLX1_3." +Thu, 25 May 2017 13:29:42 +0100 +Checked in by : Robert Osfield +Improved the DrawElements selction -2015-07-31 15:12 robert +Thu, 25 May 2017 10:53:00 +0100 +Checked in by : Robert Osfield +Added handlng of Text with large number of characters - * AUTHORS.txt, ChangeLog: Update ChangeLog and AUTHORS +Thu, 25 May 2017 10:41:12 +0100 +Checked in by : Robert Osfield +Replaced osg::DrawElementeUInt usage for a more flexible DrawElements base class approach with the default set to DrawElementUShort to ensure compatibility with GLES2 implementes that don't support uint for glDrawElements. -2015-07-31 15:01 robert +Tue, 16 May 2017 12:32:41 +0100 +Checked in by : Robert Osfield +Addded a GLES2 compatible osgmovie shader - * CMakeLists.txt: Updated rc number to 8 for 3.4.9-rc8 +Wed, 10 May 2017 11:08:27 +0100 +Checked in by : OpenSceneGraph git repository +Merge pull request #251 from emminizer/OpenSceneGraph-3.4osgText::Glyph: Explicitly set GL_TEXTURE_MIN_FILTER to address disap… -2015-07-31 13:47 robert +Tue, 25 Apr 2017 07:22:16 -0400 +Checked in by : Daniel Emminizer +osgText::Glyph: Explicitly set GL_TEXTURE_MIN_FILTER to address disappearing glyphs on some Intel cards. - * CMakeModules/OsgAndroidMacroUtils.cmake: From Terry Welsh, "I - downloaded the Android 3rdparty deps from here - http://www.openscenegraph.org/index.php/download-section/dependencies - but was not able to use them for a while. Attached are changes to - OsgAndroidMacroUtils.cmake that allow the deps to be found by - cmake. - - Specifically, all FIND_PATH commands require the - NO_CMAKE_FIND_ROOT_PATH option to actually find paths. This is - odd - because if you inspect CMAKE_FIND_ROOT_PATH it appears to be - empty. I - would expect it to have no effect at all. - - I also needed to remove quotes from this line in order for - headers to be found: - - set(FREETYPE_INCLUDE_DIRS "${FREETYPE_DIR}/include - ${FREETYPE_DIR}/include/freetype/config") - - Assuming this script worked in the past, it seems like cmake - behavior - may have changed at some point. I'm using cmake version - 2.8.12.2." +Mon, 24 Apr 2017 10:38:02 +0100 +Checked in by : Alexander Roan +GLExtenstions: fix checking of isFrameBufferObjectSupported flag for GLES2 -2015-07-31 13:44 robert +Tue, 18 Apr 2017 15:53:48 +0100 +Checked in by : Konstantin S. Matveyev +Fixes glyphs's MODELVIEW matrices (positions, scales etc.) if state.getUseModelViewAndProjectionUniforms() is true - * src/osg/GLExtensions.cpp: From Jannik Heller, "Here is a patch - for the S3TC capability check. - - On a Intel HD graphics Linux system with Mesa 10.1.3, I found - that osg's Extensions::isTextureCompressionS3TCSupported() - returned false, even though S3TC compressed textures *are* in - fact working. I tested this by loading and rendering various - DXT1, DXT3 and DXT5 compressed textures in the OSG. - - "glxinfo | grep s3tc" gives: - GL_S3_s3tc - - Note, if I install the package "libtxc-dxtn-s2tc0", I get in - addition: - - glxinfo | grep s3tc - GL_EXT_texture_compression_s3tc - GL_S3_s3tc - - However, S3TC compressed textures worked correctly within the OSG - even without libtxc-dxtn-s2tc0 installed. - - I'm not sure what the differences between these extensions are, - but based on the description at - https://www.opengl.org/registry/specs/S3/s3tc.txt I would assume - that both will work for OSG's purposes. The attached patch - changes isTextureCompressionS3TCSupported() to accept either - extension." +Mon, 13 Mar 2017 14:27:08 +0000 +Checked in by : OpenSceneGraph git repository +Merge pull request #214 from LaurensVoerman/submit-3.4serializerParticlefix bug in osgb/osgt/osgx readerwriter osgParticle -2015-07-31 10:59 robert +Sat, 11 Mar 2017 11:38:18 +0000 +Checked in by : OpenSceneGraph git repository +Merge pull request #210 from scrawl/programfix_backportBackport state leak fix to 3.4 branch - * include/osgText/Text: Warning fix +Tue, 21 Feb 2017 21:55:05 +0100 +Checked in by : Nico Kruithof +Fixed typoosg_ModeViewMatrix -> osg_ModelViewMatrix -2015-07-31 10:54 robert - * src/osg/Image.cpp, src/osgPlugins/3ds/ReaderWriter3DS.cpp, - src/osgPlugins/lua/LuaScriptEngine.cpp, - src/osgViewer/ViewerEventHandlers.cpp: From Kristofer Tingdahl, - warning fixes. +Mon, 6 Mar 2017 15:33:22 +0100 +Checked in by : Laurens Voerman +fix bug in osgb/osgt/osgx readerwriter causing the osgParticle-SizeInterpolator and -ColorInterpolator to dissapear -2015-07-31 10:27 robert +Wed, 21 Dec 2016 11:02:29 +0000 +Checked in by : Robert Osfield +Changed Program::apply() to Program::compileGLObjects() to avoid the Program::apply() setting of setLastAppliedProgramObjects for affect current state. - * src/osg/GL.in: Compile fix for Mingw. +Wed, 8 Feb 2017 14:54:08 +0000 +Checked in by : OpenSceneGraph git repository +Merge pull request #199 from scrawl/statefix_backportBackport State fix to 3.4 branch -2015-07-23 21:32 robert +Wed, 29 Jun 2016 16:53:26 +0200 +Checked in by : Julien Valentin +fix in StateSet.cpp the State::DefineMap::changed flag is not resetted to false after currentDefines are updated - * AUTHORS.txt, CMakeLists.txt, ChangeLog: Update version and rc - number of 3.4.0-rc7. +Tue, 24 Jan 2017 17:36:36 +0000 +Checked in by : Robert Osfield +Fixed linking bug caused by repeated Program::addShader()/removeShader() operations invalidating the internal attach/dettech lists. -2015-07-23 15:46 robert +Fri, 20 Jan 2017 17:31:09 +0000 +Checked in by : Robert Osfield +Quitened down verbose debug messages - * examples/osganalysis/osganalysis.cpp, - examples/osgcatch/osgcatch.cpp, - examples/osggraphicscost/osggraphicscost.cpp, - examples/osgmotionblur/osgmotionblur.cpp, - examples/osgshaderterrain/osgshaderterrain.cpp, - examples/osgtext/osgtext.cpp, - examples/osgthreadedterrain/osgthreadedterrain.cpp, - examples/osgvolume/osgvolume.cpp, include/osg/GraphicsThread, - include/osg/OperationThread, src/osg/GraphicsThread.cpp, - src/osg/OperationThread.cpp, src/osgUtil/GLObjectsVisitor.cpp, - src/osgUtil/IncrementalCompileOperation.cpp, - src/osgUtil/RenderStage.cpp, src/osgViewer/Renderer.cpp: Added - explicit initialization of osg::Referenced(true) to - osg::Operation subclasses as it uses virtual inhertiance from - osg::Referenced. +Fri, 20 Jan 2017 17:06:55 +0000 +Checked in by : Robert Osfield +Quietened down some verbose debug messages -2015-07-23 14:37 robert +Thu, 19 Jan 2017 15:56:17 +0000 +Checked in by : Robert Osfield +Fixed indentation of comment - * include/osg/Types, include/osgViewer/ViewerBase: From Pjotr - Svetachov, buid fixes for VS2015. +Wed, 4 Jan 2017 12:55:15 +0000 +Checked in by : Robert Osfield +Fixed unitialized variable access to premature calling of computeMatrix(). -2015-07-23 14:30 robert +Fri, 23 Dec 2016 17:16:16 +0000 +Checked in by : Robert Osfield +From Hartwig Wiesmann, "ScalarsToColors returns a wrong color in case a value larger max is passed to getColor" - * src/osgPlugins/osc/osc/OscOutboundPacketStream.cpp: Fixed - indentation +Wed, 21 Dec 2016 17:02:05 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, build updates for NVTT. -2015-07-23 14:03 robert +Wed, 21 Dec 2016 16:35:10 +0000 +Checked in by : Robert Osfield + From Torben Dannahauer, updates to track changes to Winddows 3rd party package - * src/osgPlugins/osc/osc/OscOutboundPacketStream.cpp: +Wed, 21 Dec 2016 15:33:02 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, "When compiling OSG with DCMTK on windows, it throws an compiler error due to a missing ws2_32.lib in the linker settings." -2015-07-23 11:14 robert +Wed, 21 Dec 2016 11:40:16 +0000 +Checked in by : Robert Osfield +From Andreas Ekstrand, "he attached ESRIShape.cpp contains a small fix in parsing of PointZ features, now correctly comparing with header content length which is defined in 16-bit words.This should have been fixed in my old submission from 2012 but was probably overlooked due to an alternative way of comparing to a fix number for this feature type. - * examples/osgSSBO/osgSSBO.cpp, examples/osgcluster/osgcluster.cpp, - examples/osggpucull/AggregateGeometryVisitor.h, - examples/osgoit/DepthPeeling.cpp, examples/osgoit/DepthPeeling.h, - examples/osgparticleeffects/osgparticleeffects.cpp, - examples/osgshadow/osgshadow.cpp, - examples/osgspotlight/osgspotlight.cpp, - examples/osgwidgetnotebook/osgwidgetnotebook.cpp, - src/osg/glu/libutil/mipmap.cpp, src/osgDB/ConvertBase64.cpp, - src/osgPlugins/3ds/WriterNodeVisitor.cpp, - src/osgPlugins/OpenFlight/FltExportVisitor.cpp, - src/osgPlugins/OpenFlight/LightSourcePaletteManager.cpp, - src/osgPlugins/OpenFlight/LightSourcePaletteManager.h, - src/osgPlugins/OpenFlight/PrimaryRecords.cpp, - src/osgPlugins/OpenFlight/expPrimaryRecords.cpp, - src/osgPlugins/freetype/FreeTypeLibrary.cpp, - src/osgPlugins/osc/OscReceivingDevice.cpp, - src/osgPlugins/osc/osc/OscHostEndianness.h, - src/osgPlugins/osga/OSGA_Archive.h, - src/osgShadow/ConvexPolyhedron.cpp, - src/osgShadow/DebugShadowMap.cpp, - src/osgShadow/OccluderGeometry.cpp, src/osgShadow/ShadowMap.cpp, - src/osgSim/SphereSegment.cpp, - src/osgUtil/DelaunayTriangulator.cpp, src/osgUtil/Optimizer.cpp, - src/osgUtil/SceneView.cpp, src/osgViewer/View.cpp, - src/osgWrappers/deprecated-dotosg/osg/NodeCallback.cpp: Warning - fixes for Clang-3.6 +Without this fix, the plugin will only read one PointZ feature even if multiple features exist." -2015-07-23 09:23 robert - * src/osgFX/BumpMapping.cpp, src/osgFX/Cartoon.cpp: Added missing - handling of lightnumber and associate lights +Wed, 21 Dec 2016 09:10:50 +0000 +Checked in by : Robert Osfield +Added StateSet::setGlobalDefaults() to fix bug when osgViewer has stats on but no scene graph assigned -2015-07-23 07:39 robert +Mon, 31 Oct 2016 16:11:20 +0000 +Checked in by : Robert Osfield +Fixed handling of #define's that are used as functions - * src/osg/GL.in: Changed the GL_HEADER_HAS_GLINT64 and - GL_HEADER_HAS_GLUINT64 to use cmakedefine to improve handling of - when cmake doesn't find GLint64 and GLuint64. +Wed, 30 Nov 2016 17:15:06 +0000 +Checked in by : Robert Osfield +Added GL_EXT_texture_border_clamp support for GLES -2015-07-22 14:55 robert +Sat, 26 Nov 2016 01:09:13 +0100 +Checked in by : scrawl +Fix typo in StateSet::compileGLObjects, causing compilation of attributes to not be executed unless checkForGLErrors is true. - * applications/osgversion/Contributors.cpp: Fixed Contributors list +Wed, 23 Nov 2016 19:18:14 +0000 +Checked in by : Robert Osfield +Fixed crash in handling of osg::Callback attached as Drawable update callback. Added handling of osg::Callback as a Drawable cull callback -2015-07-22 14:51 robert +Fri, 11 Nov 2016 17:16:40 +0000 +Checked in by : Robert Osfield +Added Dragger::applyAppropriateFrontFace(StateSet*) to make it easy to handle inverted matrices by toggling the FrontFace to sure the correct face is visible. - * ChangeLog: Updated ChangeLog +Fri, 11 Nov 2016 13:54:54 +0000 +Checked in by : Robert Osfield +Merge branch 'OpenSceneGraph-3.4' of https://github.com/openscenegraph/OpenSceneGraph into OpenSceneGraph-3.4 -2015-07-22 14:41 robert +Fri, 11 Nov 2016 13:54:15 +0000 +Checked in by : Robert Osfield +Fixed handling of Locator's with negative extents - * CMakeLists.txt: Update rc to 6. +Thu, 3 Nov 2016 11:31:07 +0000 +Checked in by : Robert Osfield +Added check against binding type of array to decide whether it's appropriate to assign array to VBO. -2015-07-22 14:30 robert +Wed, 12 Oct 2016 17:23:19 +0100 +Checked in by : Robert Osfield +Changed appending of \n to be to the version line. - * include/osg/AlphaFunc, include/osg/GLDefines: Moved from - svn/trunk, moved GL_ALPHA_TEST from AlphaFunc to GLDefines +Mon, 10 Oct 2016 11:21:28 +0100 +Checked in by : Robert Osfield +From Torben Dannhauer, added freetype27 (2.7) to search list -2015-07-22 14:27 robert +Thu, 6 Oct 2016 17:15:25 +0200 +Checked in by : Laurens Voerman +remove CMAKE_BUILD_TYPE STREQUAL "Release" (cmake configure time varable) to select pdb install - select CONFIGURATIONS RelWithDebInfo Debug - * CMakeLists.txt, src/osg/GL.in: From svn/trunk merged automatic - detection of GLint64 + GLuint64 in GL headers +Thu, 6 Oct 2016 14:21:07 +0200 +Checked in by : Laurens Voerman +fix bug in SmoothingVisitor tripped by bunny.ply -2015-07-21 14:22 robert +Thu, 22 Sep 2016 14:33:03 +0100 +Checked in by : Robert Osfield +Replaced local static usage to avoid threading and mulit-context issues - * src/osgPlugins/OpenFlight/PaletteRecords.cpp: Added check for - validity of OpenFlight shininess value. +Wed, 10 Aug 2016 14:12:27 +0100 +Checked in by : Anish Thomas +GLSL 1.3 support for vertex-attrib aliasing -2015-07-21 13:42 robert +Mon, 15 Aug 2016 12:56:57 +0100 +Checked in by : Robert Osfield +Fixed handling in osgUtil::IncrementalCompileOperation/CompileSet/StateToCompile when the _markerObject is NULL. - * include/osg/BoundsChecking: Fixed typo +Sun, 31 Jul 2016 14:57:11 +0100 +Checked in by : Robert Osfield +Merge branch 'OpenSceneGraph-3.4' of https://github.com/openscenegraph/OpenSceneGraph into OpenSceneGraph-3.4 -2015-07-20 13:23 robert +Sun, 31 Jul 2016 14:00:30 +0100 +Checked in by : Robert Osfield +Added FT_LOAD_NO_HINTING - * src/osgViewer/CompositeViewer.cpp, src/osgViewer/Viewer.cpp: - Reduced debug message verbosity. +Tue, 28 Jun 2016 18:39:12 +0100 +Checked in by : Robert Osfield +Revert "corrected syntax error in src/osgPlugins/fbx/ReaderWriterFBX.cpp"This reverts commit 7a1324800ffe3e4ddd9d7fb475f0323da6fe2f43. -2015-07-20 07:53 robert - * CMakeLists.txt: Updated RC to 5 for 3.4.0-rc5 release +Sun, 31 Jul 2016 11:06:51 +0100 +Checked in by : Robert Osfield +Fixed build error reported on gcc 4.6.4/Ubuntu 12.04 32bit, issue #108 -2015-07-20 07:46 robert +Sun, 19 Jun 2016 21:07:37 +0700 +Checked in by : Thao Le +corrected syntax error in src/osgPlugins/fbx/ReaderWriterFBX.cpp - * ChangeLog: Updated ChangeLog for rc +Fri, 10 Jun 2016 12:44:26 +0100 +Checked in by : Robert Osfield +Fixed invalidated iterator bug pick up by Coverity. -2015-07-20 07:42 robert +Thu, 9 Jun 2016 14:33:05 +0100 +Checked in by : Robert Osfield +Copied over .travis.yml file to 3.4 branch to add build testing - * src/osgPlugins/osgjs/json_stream: Changed the _MSC_VER check to - <= 1700 to support VS2012. +Thu, 9 Jun 2016 14:10:02 +0100 +Checked in by : Mathieu MARACHE +Build fix for VS. -2015-07-19 09:51 robert +Thu, 9 Jun 2016 12:08:47 +0100 +Checked in by : Robert Osfield +Rewrote Window::setNextFocusable() to address a bug in the management of the search iterator. Covertiy reported bug "Undefined behavior may result; the program may crash or subtly misbehave. In osgWidget::​Window::​setNextFocusable(): An invalid or past-the-end iterator is being used." - * src/osgPlugins/tiff/ReaderWriterTIFF.cpp: Reinstated the - TIFFSetField(image, TIFFTAG_ROWSPERSTRIP, rowsperstrip); +Thu, 9 Jun 2016 11:41:14 +0100 +Checked in by : Robert Osfield +Fixed "Using invalid iterator" bug in getTile() methods, detected by Covertity. -2015-07-17 18:31 robert +Fri, 3 Jun 2016 17:57:04 +0100 +Checked in by : Julien Valentin +Fixed little bug in DrawArraysLength (instancing not supported). Corrected PrimitiveSet.cpp in order DrawArraysLength can be instanced. It's the only pr missing code if (_numInstances>=1) glDrawXXXInstanced(...,_numInstances); else glDrawXXX(); - * CMakeModules/FindGStreamer.cmake: From KOS, "I've mentioned in - the "osg-users" ML about build error with the newest GStreamer - 1.5 - - Please, have a look at the attached patch." - - CMakeModules/FindGStreamer.cmake +Wed, 1 Jun 2016 12:49:55 +0100 +Checked in by : Robert Osfield +Fixed missing " -2015-07-17 09:16 robert +Wed, 1 Jun 2016 11:41:10 +0100 +Checked in by : Robert Osfield +Added macosx10.11 to the list of supported OSX SDK's - * CMakeLists.txt: Updated release candidate number +Wed, 1 Jun 2016 11:25:31 +0100 +Checked in by : Robert Osfield +Added in extra search paths for FBX -2015-07-17 09:06 robert +Wed, 1 Jun 2016 10:32:35 +0100 +Checked in by : Andreas Cadhalpun +Replace deprecated FFmpeg API to fix build with ffmpeg-3.0.x - * AUTHORS.txt, ChangeLog: Updated ChangeLog and AUTHORS +Wed, 6 Mar 2013 09:38:48 +0100 +Checked in by : Stephan van Alste +Do not install non existant pdb file in release build mode -2015-07-17 08:21 robert +Tue, 12 Feb 2013 13:09:00 +0100 +Checked in by : Ralf Habacker +Install msvc debug files along with the binaries - * CMakeLists.txt: Added cmake version checked for cmake_policy - setting +Tue, 31 May 2016 16:14:51 +0100 +Checked in by : Ralf Habacker +Fixed bug not detecting unc pathes in osgDB::isAbsolutePath() -2015-07-17 08:12 robert +Tue, 31 May 2016 12:58:57 +0100 +Checked in by : Alberto Luaces +defines for building on Hurd and BSD kernels - * src/osgPlugins/tiff/ReaderWriterTIFF.cpp: From Patrick Neary, "To - the tiff plugin, add the capability to write tiff images with - unsigned short data" +Tue, 31 May 2016 11:27:30 +0100 +Checked in by : Pjotr Svetachov +small optimization to the osgb/t serializers. -2015-07-16 19:16 robert +Mon, 30 May 2016 13:43:09 +0100 +Checked in by : Jannik Heller +Fixed typo of method name - * src/osg/Image.cpp: From Patrick Neary, "Added some lesser used - tokens that we use from GL_ARB_texture_rg to - computeFormatDataType(), and computeNumComponents() in - src/osg/Image.cpp" +Mon, 30 May 2016 12:41:25 +0100 +Checked in by : Tony Vasile +OpenFlight-plugin with Surface Material Codes. There is one additional field that may be required by an existing application in addition to the IR Code is the IR Material. I have a small fix to include the IR Material as the User Value -2015-07-16 15:56 robert +Thu, 26 May 2016 18:07:46 +0100 +Checked in by : Robert Osfield +From Wee See, "attached a small submission, which makes the option "readObjectRecordData" of OpenFlight-plugin working like documented in the Knowledge Base of OSG (52-using-the-openflight-plugin).Actually, if the option "readObjectRecordData" is set, ObjectRecordData will not be read and set. +With this submission, if the option "readObjectRecordData" is set, ObjectRecordData will be read and set." - * src/osgQt/GraphicsWindowQt.cpp: From Cory Slep and Robert - Osfield, "When using Open Scene Graph and Qt on Android, the - resulting thread that an application developer’s Q*Application is - run on is different than what Qt considers the “main” thread, - which can cause subtle problems. This is because Qt loads native - libraries in one thread, and later runs the application in a - different thread. They delay running in the second thread as long - as possible as they have a nontrivial bootstrapping process. The - motivation for Qt having this second thread is to allow them to - remain responsive to both Java and native events, and capture - events that would otherwise be “missed” -2015-07-16 11:01 robert +Thu, 26 May 2016 17:49:06 +0100 +Checked in by : Robert Osfield +From Philippe Renon and Robert Osfield, osgViewer::Viewer::checkNeedToDoFrame should return true when only the root node has an update callback.Note, from Robert, I took Philippe modifications to Viewer.cpp and reformated them slightly to avoid a double check against getSceneData()!=0 and then rolled +the changes out to CompositeViewer::checkNeedToDoFrame() to ensure that both implementations work the same. - * src/osgText/Text.cpp: Added check to catch cases where the - backdrop coordinate cache is too small for the number of contexts - being computed. -2015-07-15 10:02 robert +Tue, 24 May 2016 20:46:44 +0100 +Checked in by : Robert Osfield +Fixed RenderStageCache's handling of Observer functionality that was causing a crashing on exit in osgoit and osgprerender examples. - * src/osgPlugins/ive/DataInputStream.cpp: Added initializers and - reverted OSX workaround from 2013. +Fri, 6 May 2016 19:55:04 +0100 +Checked in by : Robert Osfield +Added GLES3 path for setting up with EGL -2015-07-14 16:55 robert +Fri, 6 May 2016 17:49:01 +0100 +Checked in by : Robert Osfield +Added 3.4 press release to NEWS.txt - * CMakeLists.txt: Fixed source of 3.4.0-rc tags to branches so that - release candidates are made from the correct 3.4 branch. +Wed, 27 Apr 2016 08:40:35 +0100 +Checked in by : Robert Osfield +Added non const releaseGLObjects(osg::State* state) for backwards compatibility -2015-07-14 16:37 robert +Thu, 21 Apr 2016 14:07:22 +0100 +Checked in by : Robert Osfield +Fixed copy _readBuffer bug. - * CMakeLists.txt, ChangeLog: Updated ChangeLog and Release - Candidate number of 3.4-rc2 +Mon, 18 Apr 2016 20:46:45 +0100 +Checked in by : Robert Osfield +Fixed ShaderComposer::releaseGLObjects(State*) const method as it's const was missing. Rewrote the ShaderComposer::releaseGLObjects() const method to pass on the releaseGLObjects() calls to any associated Program or Shader objects. -2015-07-14 13:33 robert +Thu, 14 Apr 2016 17:46:27 +0100 +Checked in by : Robert Osfield +From Vladimir Chebaev, fixed handling of outline orientiation - * CMakeLists.txt: Moved the cmake_policy(SET CMP0043 NEW) to work - for all script paths that Qt5 usage could pass through. +Thu, 14 Apr 2016 17:46:27 +0100 +Checked in by : Robert Osfield +From Vladimir Chebaev, fixed handling of outline orientiation -2015-07-14 13:26 robert +Tue, 29 Mar 2016 20:24:05 +0100 +Checked in by : Robert Osfield +Changed the default value paramter to be consistent with the non templated version of StateSet::setTextureAttributeAndModes(..) - * CMakeLists.txt: Added cmake_policy(SET CMP0043 NEW) usage when - compiling against Qt5 as it was causing a warning we couldn't fix - on the OSG side otherwise. +Thu, 31 Mar 2016 19:26:51 +0100 +Checked in by : Robert Osfield +Merge branch 'OpenSceneGraph-3.4' of https://github.com/openscenegraph/OpenSceneGraph into OpenSceneGraph-3.4 -2015-07-14 08:25 robert +Thu, 31 Mar 2016 17:52:29 +0100 +Checked in by : Robert Osfield +added assignment of mipmap levels from source image. - * src/osg/StateSet.cpp: Added _defineList into the - osg::StateSet::compare() implementation to address issues with - osgUtil::Optimizer ignoring defines. +Thu, 31 Mar 2016 17:52:29 +0100 +Checked in by : Robert Osfield +From Sherman Wilcox, added assignment of mipmap levels from source image. -2015-07-13 16:09 robert +Fri, 11 Mar 2016 15:35:07 +0000 +Checked in by : Robert Osfield +From Jannik Heller, Wrong function call in setTextureAttributeAndModes "From I think that this piece of code in StateSet::setTextureAttributeAndModes is a copy&paste mistake: OSG_NOTICE<<"Warning: non texture attribute '"<className()<<"' passed to setTextureAttributeAndModes(unit,attr,value), "<resizeGLObjects(). +Wed, 2 Mar 2016 09:18:26 +0000 +Checked in by : Robert Osfield +From Joe Thompson, "OpenSceneGraph cannot be built with Visual Studio 2008. The file osg-OpenSceneGraph-3.4.0\include\osg\Types typedefs int8_t, int16_t, int32_t and int64_t These are typedefed as signed __intX in several other places. With VS2008, this causes an error "int8_t redifined, different basic types" Explicitly declaring them signed fixes the error." -2015-07-13 08:48 robert +Tue, 1 Mar 2016 20:37:07 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * include/osg/GLDefines: From Terry Welsh, "fThis fixes problem - where new glClipControl feature would not compile for GLES2 - profile" +Tue, 1 Mar 2016 20:34:18 +0000 +Checked in by : Robert Osfield +Removed redundent CMake vars -2015-07-03 06:50 robert +Tue, 1 Mar 2016 20:24:19 +0000 +Checked in by : Robert Osfield +Fixed the make tag-run and branch-run - * AUTHORS.txt, ChangeLog: Updated ChangeLog and AUTHORS for 3.4-rc1 +Tue, 1 Mar 2016 19:54:36 +0000 +Checked in by : Robert Osfield +Updated AUTHORS and ChangeLog -2015-07-03 06:30 robert +Tue, 1 Mar 2016 19:44:32 +0000 +Checked in by : Robert Osfield +Refactored the make tag-test, tag-run, branch-test, branch-run and ChangeLog features of the CMakeLists build system so it now supports working off git instead of subversion - * .: Branch OpenSceneGraph-3.4 +Tue, 1 Mar 2016 11:45:20 +0000 +Checked in by : Robert Osfield +Within the #pragmatic shader composition code added platform specific line endings for WIN32 vs all other platforms to "\r\n" and "\n" respectively. -2015-07-03 06:28 robert +Mon, 29 Feb 2016 15:57:01 +0000 +Checked in by : Robert Osfield +Merged improved parsing of #pragma from master. - * Updated for 3.4 branch. +Wed, 24 Feb 2016 16:00:12 +0000 +Checked in by : Robert Osfield +Fixed debug build -2015-07-02 11:58 robert +Tue, 23 Feb 2016 10:12:31 +0000 +Checked in by : Robert Osfield +From Jannik Heller, osgParticle freeze on cull fix, ammended by Robert Osfield to make if statements a little more readable. - * Fixed repeated name in SETUP_PLUGIN. +Mon, 22 Feb 2016 09:19:51 +0000 +Checked in by : Robert Osfield +From Anish Thomas, "Underflow bug in BufferObject pool usage" -2015-07-02 10:25 robert +Fri, 19 Feb 2016 15:01:27 +0000 +Checked in by : Robert Osfield +From Bjorn Blissing, "I stumbled upon a strange ifdef-case inside Geometry.cppCurrently the code looks like this: - * Updated ChangeLog and AUTHORS file in prep for 3.4 branch. +Code: + DrawElementsUByte* elems = new DrawElementsUByte(PrimitiveSet::TRIANGLES); + elems->push_back(0); + elems->push_back(1); + elems->push_back(2); -2015-07-02 08:57 robert + elems->push_back(2); + elems->push_back(3); + elems->push_back(0); + geom->addPrimitiveSet(elems); + geom->addPrimitiveSet(new DrawArrays(PrimitiveSet::QUADS,0,4)); - * Build fix +The second condition looked really strange (note the ! sign), and results in pretty much all code paths uses the first code. The correct version should probably be that only people with GLES1 or GLES2 should use GL_TRIANGLES to simulate quads. And all others should use the native support for GL_QUADS. +" -2015-07-02 08:52 robert - * Moved the defination of GL_MAX_VARYING_COMPONENTS to GL_3_0 block - to avoid warnings of redefinition. +Fri, 19 Feb 2016 12:19:12 +0000 +Checked in by : Robert Osfield +To the COLLADA_INCLUDE_DIR search paths added the directories: /usr/local/include/collada-dom2.4 + /usr/local/include/collada-dom2.2 + /opt/local/include/collada-dom2.4 + /opt/local/include/collada-dom2.2 + /usr/include/collada-dom2.4 + /usr/include/collada-dom2.2 -2015-07-01 05:32 robert +To enable recent versions of the DOM to be found in their new install locations. - * Updated ChangeLog -2015-07-01 05:10 robert +Thu, 18 Feb 2016 19:53:36 +0000 +Checked in by : Robert Osfield +Updated the AuthenticationDetails::HttpAuthentication enum to reflect current libcurl values - * From Mathias Froehlich, added seriliazers for new - osg::ClipControl +Thu, 18 Feb 2016 10:57:19 +0000 +Checked in by : Robert Osfield +Replaced (long int) with more portable (GLint64) -2015-06-30 09:51 robert +Thu, 18 Feb 2016 10:04:04 +0000 +Checked in by : Robert Osfield +From Tony Vasile, "This is a fix for the handling of OpenFlight files with switches whose children have a transformation matrix on them. It may break other things and I have only tested this with one of my models." - * Updated ChangeLog and AUTHORS files +Thu, 18 Feb 2016 09:25:48 +0000 +Checked in by : Robert Osfield +From Mourad Boufarguine, "This submission fixes typos in Uniform::getTypename() method in Uniform.cpp (missing "r" in usampler names)." -2015-06-30 09:11 robert +Thu, 18 Feb 2016 08:50:06 +0000 +Checked in by : Robert Osfield +Renamed zero and one to transparentCount and opaqueCount to avoid confusion in their meaning and usage. - * From Mathias Froehlich, "Attached a new state attribute - implementing the glClipControl that appeared with GL4.5." +Wed, 17 Feb 2016 17:36:10 +0000 +Checked in by : Robert Osfield +Fixed warning -2015-06-30 08:39 robert +Wed, 17 Feb 2016 17:08:07 +0000 +Checked in by : Robert Osfield +Commented out unused functions and variable. - * Quitened down debug for ViewConfig argument parsing +Wed, 17 Feb 2016 15:59:13 +0000 +Checked in by : Robert Osfield +Introduced a separate GLuint64 one variable to get around a 32bit build timer issue under Windows. -2015-06-30 08:38 robert +Wed, 27 Jan 2016 10:06:33 +0000 +Checked in by : Robert Osfield +Fixed check against Drawable::isCullingActive().Removed old code intended to check the Geode parent of a Drawable to see if it's CullingActive is true as this was broken by the change osg::Drawable being derived from osg::Node rather than osg::Object. - * Build fix for GLDAL>=2 -2015-06-26 09:40 robert +Mon, 25 Jan 2016 19:38:44 +0000 +Checked in by : Robert Osfield +Added .gitignore to queiten down git status reports - * From Christian Kehl, added Vec2::set(const Vec2) method +Mon, 25 Jan 2016 12:18:32 +0000 +Checked in by : Robert Osfield +Revert "From Jannik Heller and Robert Osfield, introduced ReadResult/WriteResult::statusMessage() method that creates a std::string from the stutus value and message string." as this submission was meant for the master only, not the binary compatible 3.4 branch.This reverts commit df97a18a5754ed39ac43044ad9557e8409790ff3. -2015-06-19 09:51 robert - * From Jannik Heller, fixed clearReferencesToDependentCameras() - calls +Mon, 25 Jan 2016 10:45:07 +0000 +Checked in by : Robert Osfield +From John Farrier, "Best I can tell, there is an enumeration for NEVER_CHECK_GL_ERRORS in CheckForGLErrors, defined in State. State.cpp does check to see if you want MORE error checking, but there is no way to turn OFF error checking. This change allows disabling of OpenGL error checking." -2015-06-17 16:25 robert +Mon, 25 Jan 2016 10:25:15 +0000 +Checked in by : Robert Osfield +From Patrick Neary, "In ShaderComposer::getOrCreateProgram(), tesselation control and evaluation shaders are processed but not added to the shader program." - * Fixed handling of use GLObjectsVisitor for modifying scene graph - state without compiling to OpenGL so that the visitor can be run - safely without a graphics context being current. +Fri, 22 Jan 2016 10:09:00 +0000 +Checked in by : Robert Osfield +Changed the prototype from NULL to osg::DummyObject to address a bug in reading .osgt + .osgx where an image is written out but fails to read the file causes subsequent parts of the file to be mis-read -2015-06-16 17:18 robert +Thu, 21 Jan 2016 08:32:57 +0000 +Checked in by : Robert Osfield +Fixed typo View::setImagePager(..) template method - * Small tidy up to make script more readable. +Mon, 18 Jan 2016 13:10:14 +0000 +Checked in by : Robert Osfield +From Jannik Heller, "This submission fixes a bug introduced in commit https://github.com/openscenegraph/osg/commit/5b17e3bc2a0c02cf84d891bfdccf14f170ee0ec8 "Introduced CMake option OSG_PROVIDE_READFILE option...". The added overload for StateSet::setAttributeAndModes was ignoring the mode setting. " -2015-06-16 17:17 robert +Tue, 19 Jan 2016 17:39:03 +0000 +Checked in by : Robert Osfield +From Jannik Heller and Robert Osfield, introduced ReadResult/WriteResult::statusMessage() method that creates a std::string from the stutus value and message string. - * Added QT_QTCORE_INCLUDE_DIR entry to qfont plugin build to fix - Qt4 build under Linux +Tue, 19 Jan 2016 15:39:46 +0000 +Checked in by : Robert Osfield +From Ravi Mathur, OSX/Clang 7.0.0 build fix -2015-06-15 19:59 robert +Mon, 14 Dec 2015 17:59:45 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, Visual Studio 2008 compatibility fixTwo fixed files: - * From Jannik Heller, "I've added the check for Qt version - mismatches into osgQt as suggested in - http://forum.openscenegraph.org/viewtopic.php?t=14999. - - When an application is built with Qt4, but osgQt was built with - Qt5 (or vice versa), upon #includeing osgQt users will receive an - #error aborting the build. - - This at least provides a proper error message rather than a - crash, while we are working on better fixes for the problem." +osgPlugins/osgjs/JSON_Objects +osgPlugins/stl/ReaderWriterSTL.cpp. -2015-06-15 13:51 robert +They did not compile with VS 2008 (recent master from Github). It looks like they defined stdint types (missing in VS 2008) but code using them also included header. Errors were caused by minor differences in signed int definitions. I just removed own definitions and added include instead. It solves the problem and makes the code clearer now. - * Experiment with how to define GLsizeiptr. -2015-06-15 13:51 robert +Mon, 23 Nov 2015 13:15:05 +0000 +Checked in by : Robert Osfield +From Jordi Torres, Fix for missing header file in distributionosg/TriangleLinePointIndexFunctor was not being installed because it was not added to the CMakeLists.txt - * Upated version number -2015-06-12 20:23 robert +Mon, 23 Nov 2015 11:45:01 +0000 +Checked in by : Robert Osfield +Added support for copying include/osgViewer/config headers on make install. - * Removed old and unused windows code path to avoid confusion +Mon, 9 Nov 2015 15:14:07 +0000 +Checked in by : Robert Osfield +Fixed warning messagegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15179 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-12 11:28 robert - * Updated ChangeLog +Sun, 8 Nov 2015 11:59:23 +0000 +Checked in by : Robert Osfield +From Jannik Heller, fixed typo of OSG_COMPIlE_CONTEXTS env vargit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15175 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-12 08:04 robert - * From Farshid Lashkari, "I've modified some setter methods of - TextBase to avoid unnecessary calls to - computeGlyphRepresentation() if the value has not changed." +Thu, 5 Nov 2015 14:38:19 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Avoid per frame X11 roundtrips"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15174 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-11 08:44 robert - * Reverted the typdef GLfloat GLdouble for Andoid as this was - causing conflicts. +Mon, 26 Oct 2015 11:43:28 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, "here are two minimal capitalization fixes for mingw cross-compilation, where case sensitivity matters."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15172 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-10 18:22 robert - * Updated ChangeLog and AUTHORS file for 3.3.8 dev release +Mon, 26 Oct 2015 11:41:44 +0000 +Checked in by : Robert Osfield +Restructed the setting of the RenderStage ClearColor/ClearMask to make the code more readable and to avoid double setting of the ClearMask.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15170 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-10 16:48 robert - * From Laurens Voerman, "attached is a zip with the files: - - OpenSceneGraph\CMakeModules\FindOpenEXR.cmake - - I introduced a bug in the previous submission pointed out by - Dmitry Marakasov: - looking for IlmIlf instead of IlmImf (as the previous version did - - but using variable OPENEXR_IlmIlf_LIBRARY) - - For some reason google decided his message was spam, so I just - noticed it, and I reply to confirm his remarks and attach a full - file. - - " +Fri, 23 Oct 2015 11:07:30 +0000 +Checked in by : Robert Osfield +From Sebastian Messershmidt, "The uncommented pointer type QTimerEvent */*event*/ leads to a compiler error under visual studio 2010"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15168 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-10 16:47 robert - * From Colin McDonald, "An earlier fix in OSG 3.2 has been - inadvertently lost in 3.3.x. The glGenerateMipMap function is - part of the GL_EXT_framebuffer_object extension. Just checking if - the function is present before using it for texture mipmaps is - not sufficient, as on remote X-windows displays the client side - capability may be different from the display server. This can - lead to mipmapped textures failing to render. I've restored a fbo - extension check. I've also tided up the GL version checking a - little." +Thu, 22 Oct 2015 14:14:53 +0000 +Checked in by : Robert Osfield +Introduced CMake option OSG_PROVIDE_READFILE option that defaults to ON, but when switched to OFF disables the building of the osgDB::read*File() methods, forcing users to use osgDB::readRef*File() methods. The later is preferable as it closes a potential threading bug when using paging databases in conjunction with the osgDB::Registry Object Cache. This threading bug occurs when one thread gets an object from the Cache via an osgDB::read*File() call where only a pointer to the object is passed back, so taking a reference to the object is delayed till it gets reassigned to a ref_ptr<>, but at the same time another thread calls a flush of the Object Cache deleting this object as it's referenceCount is now zero. Using osgDB::readREf*File() makes sure the a ref_ptr<> is passed back and the referenceCount never goes to zero.To ensure the OSG builds when OSG_PROVIDE_READFILE is to OFF the many cases of osgDB::read*File() usage had to be replaced with a ref_ptr<> osgDB::readRef*File() +usage. The avoid this change causing lots of other client code to be rewritten to handle the use of ref_ptr<> in place of C pointer I introduced a serious of +templte methods in various class to adapt ref_ptr<> to the underly C pointer to be passed to old OSG API's, example of this is found in include/osg/Group: -2015-06-10 10:00 robert + bool addChild(Node* child); // old method which can only be used with a Node* - * From Philippe Renon, "Fixed potential divide by zero in - NodeTrackerManipulator : The divide by zero happens when throwing - a NodeTrackerManipulator. - The infinite result trickles down and later causes NaN in - culling. - - The fix was to use getThrowScale() as done everywhere else." + tempalte bool addChild(const osg::ref_ptr& child) { return addChild(child.get()); } // adapter template method -2015-06-09 16:49 robert +These changes together cover 149 modified files, so it's a large submission. This extent of changes are warrent to make use of the Object Cache +and multi-threaded loaded more robust. - * Added supoort for - osg::CullSettings/Camera::InheritanceMaskActionOnAttributeSetting - and InheritanceMask properties. -2015-06-09 12:51 robert - * Added namespace around typedef to avoid conflict issues +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15165 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-09 10:49 robert - * Introduce osg::Object::asNode(), asNodeVisitor(), - asStateAttribute() and asUniform() to replace dynamic_cast<> - usage in Callback.cpp. +Thu, 8 Oct 2015 15:58:22 +0000 +Checked in by : Robert Osfield +Added osg::flushAllDeletedGLObjects to clean up of graphics context after the existing osg::deleteAllGLObjects() to catch any cases where delete doesn't flush GL objects.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15149 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-09 09:44 robert - * Added output of HUD scene graph to hud.osgt and hud.osgb for - testing purposes. +Mon, 5 Oct 2015 11:18:46 +0000 +Checked in by : Robert Osfield +OSG_INIT_SINGLETON_PROXY into DatabasePager::prototype() and Registry::instance(), removing the InitRegistry proxy object in src/osgViewer/ViewerBase.cpp.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15148 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-08 11:33 robert - * Updated AUTHORS and ChangeLog for dev release +Fri, 25 Sep 2015 15:20:32 +0000 +Checked in by : Robert Osfield +From Kristofer Tingdahl, "we had a minor shadow problem with the osg-3.4 that pollutes our continuous integration"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15144 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-08 11:18 robert - * From Mike Connell, "Give ReadFileCallback access to parent - location : These small changes to the database pager allow user - code in the ReadFileCallback to safely determine where the file - being loaded is destined to be inserted into the scenegraph. - " +Fri, 25 Sep 2015 11:15:09 +0000 +Checked in by : Robert Osfield +Added fix for case when Renderer is assigned to a Camera that has now Viewgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15142 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-08 10:20 robert - * Addressed race condition where SceneView::setLightingMode() was - setting a shread Master Camera's StateSet. +Fri, 25 Sep 2015 10:10:10 +0000 +Checked in by : Robert Osfield +Refactored osgViewer::Renderer's handled of FrameStamp to avoid threading conflictsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15139 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-07 11:13 robert - * Fixed setReferenceTime() bug where a * eather than the correct / - was being used. Bug and fix suggested Benjamin Richter. +Thu, 24 Sep 2015 14:14:43 +0000 +Checked in by : Robert Osfield +From John Hedström,"Texture2DArray support for the .osg serializer"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15137 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-04 09:35 robert - * Updated AUTHORS for dev release +Thu, 24 Sep 2015 09:29:15 +0000 +Checked in by : Robert Osfield +Fixed line endingsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15133 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-04 09:13 robert - * From Jannik Heller, Transform::computeBound() optimization. +Fri, 4 Sep 2015 15:35:14 +0000 +Checked in by : Robert Osfield +From Jannik Heller, "I've hit what I believe to be a bug (or at the very least, an unintuitive behaviour) in the osg::Geometry copy constructor. I noticed it when using osg::clone on a Geometry with vertex buffer objects, and the copy flags DEEP_COPY_ARRAYS. To be precise, I add a Geometry to an osgUtil::IncrementalCompileOperation, then osg::clone the Geometry. I was getting reports from users of random crashes happening.I believe the offending lines are in the osg::Geometry copy constructor: -2015-06-04 09:05 robert + if ((copyop.getCopyFlags() & osg::CopyOp::DEEP_COPY_ARRAYS)) + { + if (_useVertexBufferObjects) + { + // copying of arrays doesn't set up buffer objects so we'll need to force + // Geometry to assign these, we'll do this by switching off VBO's then renabling them. + setUseVertexBufferObjects(false); + setUseVertexBufferObjects(true); + } + } - * From Jannik Heller, Removed unused - StatsHandler::_keyEventToggleVsync +Toggling the vertex buffer objects off then on again actually touches not only the arrays controlled by DEEP_COPY_ARRAYS, but also the PrimitiveSets which are controlled by DEEP_COPY_PRIMITIVES. This means if the user has copyflags of only DEEP_COPY_ARRAYS, we are modifying arrays that belong to the original const Geometry& we are copying from. I believe this shouldn't be allowed to happen because we are using a const& specifier for the original Geometry. -2015-06-04 09:00 robert +In my case the osgUtil::IncrementalCompileOperation was trying to compile the geometry, while in the main thread a clone operation toggled the VBO's off and on, a crash ensues. - * From Jannik Heller, "In the attachment you will find a build fix - for the latest trunk. osgAnimation failed to compile when using - OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION=OFF ." +In the attached patch, you will find a more efficient handling of VBO's in the osg::Geometry copy constructor, so that only the Arrays that were actually deep copied have their VBO assigned, and no changes are made to Arrays that already had a valid VBO assigned. In addition, the DEEP_COPY_PRIMITIVES flag is now honored so that VBO's are set up correctly should a user copy a Geometry with only that flag. +" -2015-06-03 10:28 robert - * Removed export that was breaking windows build +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15128 16af8721-9629-0410-8352-f15c8da7e697 -2015-06-03 09:14 robert - * From KOS, "New classes for osgAnimation presented: - UpdateFloatUniform, UpdateVec3fUniform and UpdateMatrixfUniform - (based on UpdateUniform template) - - - Classes operate like osgAnimation::UpdateMaterial for Material's - diffuse component, but change Uniform." +Fri, 4 Sep 2015 15:05:06 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "I found that using an ImageSequence with mode PAGE_AND_DISCARD_USED_IMAGES triggers the (3) imageThreads to run and never stop, even when no more work is to be done. This is due to a bug in the stop condition currently setting the thread to stop and wait for a signal only when no work needs to be done AND the databasepager is paused. It should stop and wait for a signal on either of those two. Due to a few logical inversions it boils down to replacing || with &&OLD _block->set((!_requestList.empty() || !_pager->_databasePagerThreadPaused)); +NEW _block->set((!_requestList.empty() && !_pager->_databasePagerThreadPaused));//release the threads to run IF (work_to_be_done && not_paused) -2015-06-03 09:07 robert +This bug is present since svn rev 8663 (just before 2.6.0 release) - * From KOS, build fix for osg::Uniform::Callback to - osg::UniformCallback change -2015-06-03 09:06 robert +attached is a zip with the files: - * Added doxygen comment for typedef +OpenSceneGraph\include\osgDB\ImagePager -2015-06-03 08:38 robert - * Build fix for when Uniform::Callback isn't defined -2015-06-02 10:25 robert +This file is valid for svn branch and stable 3.2 and 3.4 +branches 2.6 - 3.0 have the same bug, but other differences in the file." - * From Konstantin Matveyev, serializer support for UniformCallback -2015-06-02 09:33 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15126 16af8721-9629-0410-8352-f15c8da7e697 - * From Konstantin Matveyev, "I've changed osg::Uniform::Callback to - osg::UniformCallback. - osg::UniformCallback inherits osg::Callback now. - - I don't really now if this class should be inside - osgWrappers/serializers - because StateAttributeCallback is not presented there, but i've - included it in the patch. - - - Please see archive in the attachment. - - - PS - DEEP_COPY_UNIFORMS works for me. - " - Note from Robert Osfield, added typedef UniformCallback Callback - for backwards compatibility. -2015-06-02 09:18 robert +Fri, 4 Sep 2015 14:50:27 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "I crashed osgconv while compressing textures:osgconv --compressed-dxt1 cow.osg cow.ive - * Changed name of UniformCallback to UniformBufferCallback to avoid - conflict with changes to come to the osg::Uniform::Callback -> - osg::UniformCallback. +due to different handling of the extentions in osg 3.4 and up. -2015-06-01 13:40 robert +attached is a zip with the files: - * From Albert Luaces, typo fixes. +OpenSceneGraph\applications\osgconv\osgconv.cpp -2015-06-01 13:11 robert - * From Jannik Heller, typo fixes -2015-06-01 12:14 robert +This file is valid for svn branch and stable3.4." - * From Jannik Heller, "This patch adds a missing initialization of - osgParticle::ParticleProcessor::_frameNumber in the copy - constructor. - I noticed this because valgrind was complaining about use of - uninitialized memory." -2015-06-01 12:07 robert - * From Frashud Lashkari, "I was getting "Unsupported wrapper - class..." error messages when attempting to load osgb models - simultaneously from multiple threads. I believe the problem is - caused by un-synchronized access to the global - osgDB::ObjectWrapperManager class. I've attached a change that - adds a mutex to the class and uses it when accessing the internal - wrapper/compress maps. This appears to fix the issues I was - having." -2015-06-01 10:50 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15123 16af8721-9629-0410-8352-f15c8da7e697 - * From Jannik Heller, "I have added new functions - Texture::generateAndAssignTextureObject mirroring the - Texture::generateTextureObject functions. - - I have left the Texture::generateTextureObject functions intact - as I'm not sure if/how it's used outside the core OSG. If you - feel that compatibility isn't important in that area feel free to - drop it. - - While testing the build with - OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION=OFF I found a compile - error in GlyphGeometry.cpp that was entirely unrelated to the - changes I've made. The fix is included in the patch. - - There is one thing left to fix and that is - Texture2D::SubloadCallback: - - class OSG_EXPORT SubloadCallback : public Referenced - { - public: - .... - virtual TextureObject* generateTextureObject(const Texture2D& - texture, State& state) const - { - return osg::Texture::generateTextureObject(&texture, - state.getContextID(), GL_TEXTURE_2D); - } - ... - }" - -2015-06-01 10:41 robert +Fri, 4 Sep 2015 14:35:03 +0000 +Checked in by : Robert Osfield +From Julien Valentin, "Serializing custom geometry i ran into a crash due to a setVertexAttribArrayList(array) with array containing NULL vertexAttrib. I added a test in order to avoid itCode: +void Geometry::setVertexAttribArrayList(const ArrayList& arrayList) +{ + _vertexAttribList = arrayList; - * From Jannik Heller, build fix + dirtyDisplayList(); -2015-05-29 07:52 robert + if (_useVertexBufferObjects) + { + for(ArrayList::iterator itr = _vertexAttribList.begin(); + itr != _vertexAttribList.end(); + ++itr) + { +if(itr->get())//ADDED + addVertexBufferObjectIfRequired(itr->get()); + } + } +} +" - * From Jannik Heller, fix for race condition in orphanded - BufferObject handling. +and -2015-05-26 17:24 robert +"The bug i ran into is a crash reading osgt Geometry with null vertexattribs. +The only thing i added is a not nul check on array passed to setVertexAttribArrayList." - * From Colin McDonald, "rc/osgUtl/MeshOptimizers.cpp won't compile - on some systems due to a missing std:: namespace prefix." -2015-05-26 17:22 robert - * From Farshid Lashkari, "attached a small change to - osgUtil::SceneView that prevents unnecessary calls to glClear - when the split stereo separation is 0." -2015-05-26 17:17 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15122 16af8721-9629-0410-8352-f15c8da7e697 - * From Thomas Hogarth, "Little fix for - ClassInterface::getSupportedProperties, before if you set - searchAssociates to false then it would return the same - BaseSerialiser::Type for every entry in the PropertyMap as i was - not being incremented on line 539. Fix attached." -2015-05-26 17:12 robert +Wed, 12 Aug 2015 11:13:17 +0000 +Checked in by : Robert Osfield +Updated ChangeLoggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15114 16af8721-9629-0410-8352-f15c8da7e697 - * From We See, "I found a small bug in osgUtil::RenderStage::draw() - (osg 3.3.7), which crashes osg. The problem was caused by an - access to the object _camera without checking whether the object - is valid. So I changed the line: - - Code: - if (_cameraRequiresSetUp || - (_cameraAttachmentMapModifiedCount!=_camera->getAttachmentMapModifiedCount())) - - to - - Code: - if (_cameraRequiresSetUp || (_camera.valid() && - _cameraAttachmentMapModifiedCount!=_camera->getAttachmentMapModifiedCount())) - " -2015-05-26 17:09 robert +Wed, 12 Aug 2015 10:44:20 +0000 +Checked in by : Robert Osfield +Added initializergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15113 16af8721-9629-0410-8352-f15c8da7e697 - * From Farshid Lashkari and Robert Osfield, "a small change to the - CullVisitor class, which will use cloneType() on the root render - stage when creating children render stages. This allows us to - pass a custom RenderStage object to the SceneView and have it - used for all sub-stages." -2015-05-26 10:05 robert +Wed, 12 Aug 2015 10:30:18 +0000 +Checked in by : Robert Osfield +Updated ChangeLoggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15112 16af8721-9629-0410-8352-f15c8da7e697 - * Rewrote the Text3D bevel implementation to automatically adjust - bevel thickness to avoid overalapping and erronous tesselation. - - Added osgText::Bevel::s/getRoundedConcaveJunctions(bool) to - control how the bevel should be tessellated around concave - junctions on the glyph boundary. -2015-05-26 08:48 robert +Wed, 12 Aug 2015 10:19:15 +0000 +Checked in by : Robert Osfield +Merged shaders from svn/trunk that refactor the workaround to the NVidia driver buggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15111 16af8721-9629-0410-8352-f15c8da7e697 - * Added use of ref_ptr<> -2015-05-25 12:39 robert +Wed, 12 Aug 2015 10:06:58 +0000 +Checked in by : Robert Osfield +Update ChangeLoggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15108 16af8721-9629-0410-8352-f15c8da7e697 - * Changed the EventQueue::frame() event generation to use the - generatePointerData/reprojectPointerData() methods in the same - way that other events are handled. -2015-05-25 11:33 robert +Wed, 12 Aug 2015 06:38:59 +0000 +Checked in by : Robert Osfield +Change RC number to 0 for 3.4.0 stable release. Updated ChangeLog Updated the release data in the READMEgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15099 16af8721-9629-0410-8352-f15c8da7e697 - * Added osgGA::GUIEventAdapter* returns from various EventQueue - event generation methods. -2015-05-21 14:11 robert +Tue, 11 Aug 2015 20:12:02 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and RC nubmer to 13, and added GL1 to the docs on the GL_PROFILE usagegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15098 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed memory error associated with reading over the end of - container due to an unbounded while loop. -2015-05-06 18:39 robert +Tue, 11 Aug 2015 20:08:07 +0000 +Checked in by : Robert Osfield +Refactored workaround of NVidia nan length bug.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15097 16af8721-9629-0410-8352-f15c8da7e697 - * Update ChangeLog and AUTHORS file -2015-05-05 11:05 robert +Tue, 11 Aug 2015 08:44:46 +0000 +Checked in by : Robert Osfield +Moved the FIND_PACKAGE(Boost) from the root CMakeLists.txt into the local Find scripts to avoid Boost check when not neccessary.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15094 16af8721-9629-0410-8352-f15c8da7e697 - * Changed the CMP0020 check to > 2.8.10 - Updated SO version number -2015-04-30 14:04 robert +Mon, 10 Aug 2015 19:58:22 +0000 +Checked in by : Robert Osfield +Updated ChangeLoggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15090 16af8721-9629-0410-8352-f15c8da7e697 - * From Christian Kehl, changes for making osgAndroid working with - GLES1 enabled -2015-04-30 13:59 robert +Mon, 10 Aug 2015 19:56:53 +0000 +Checked in by : Robert Osfield +From svn/trunk merged support for passing the GL_VENDOR string into the #pragma(tic) shader compositions definesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15089 16af8721-9629-0410-8352-f15c8da7e697 - * From Dmitriy Ogalcev, fix for crash when calling setCursor from a - non GUI thread -2015-04-28 16:12 robert +Mon, 10 Aug 2015 19:46:19 +0000 +Checked in by : Robert Osfield +Update RC number to 12, and updated ChangeLoggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15086 16af8721-9629-0410-8352-f15c8da7e697 - * Replaced attempt at passing NULL Matrix with two specialized - methods. -2015-04-27 19:31 robert +Mon, 10 Aug 2015 19:40:25 +0000 +Checked in by : Robert Osfield +Fixed line endingsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15084 16af8721-9629-0410-8352-f15c8da7e697 - * Renamed LineSegment::intersect(BoundingSphere/Box, double/float&, - double/float&) methods to - LineSegment::intersectAndComputeRations(..) to avoid confusion - with the change in convention for - the old intersect(BoundingBox&, float/double&, float/double&) - method as it was inconsitent with the rest of the OSG including - the intersect(BoundingSphere) method in how the ratio for the - second intersection was measure from - original from the end - point, but now made consistent with other places in the OSG so be - based on ration from start to end of segment. -2015-04-23 14:44 robert +Mon, 10 Aug 2015 19:39:18 +0000 +Checked in by : Robert Osfield +Updated built-in shaders from OpenSceneGraph-Data vesion that introduce #pragma(tic) shaders that resolve the NVidia loop iteration bug.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15082 16af8721-9629-0410-8352-f15c8da7e697 - * Refactoring GlyphGeometry Boundary class to facilate better bevel - overlap detection -2015-04-23 12:58 robert +Mon, 10 Aug 2015 19:19:03 +0000 +Checked in by : Robert Osfield +Quietened down #pragma(tic) shader composition messagesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15080 16af8721-9629-0410-8352-f15c8da7e697 - * Comment out debug notification -2015-04-23 09:49 robert +Mon, 10 Aug 2015 05:04:39 +0000 +Checked in by : Robert Osfield +Build fix for VS and installing TYpesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15076 16af8721-9629-0410-8352-f15c8da7e697 - * Removed unused method -2015-04-22 14:25 robert +Sun, 9 Aug 2015 10:20:51 +0000 +Checked in by : Robert Osfield +Update ChangeLog and AUTHORS for rc11git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15074 16af8721-9629-0410-8352-f15c8da7e697 - * From Giampaolo Vigano, "please find attached a further fix for - 3ds plugin: now reflection map works also with transparent - objects (I also removed a redundant setting of BlendFunc)." -2015-04-21 17:29 robert +Sun, 9 Aug 2015 10:16:48 +0000 +Checked in by : Robert Osfield +Updated RC number to 11.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15073 16af8721-9629-0410-8352-f15c8da7e697 - * From Chris Denham, "I found a couple of memory leaks in 3DS - reader plugin and I have attached corrected files. I have - attached an example 3DS file I used to test the leaks/fixes using - osgviewer for trunk at rev [14853] and the tagged version 3.2.1. - - The first leak is in the lib3ds module (yeah, I know that - probably should be corrected at http://code.google.com/p/lib3ds/ - but I'm assuming that as no commits have happened there since - 2011 that it may be better to fix the copy we have in the OSG of - that project) The leak is caused by lib3d's use of realloc(ptr, - 0) to free up memory allocations, but realloc, when ptr==NULL - returns malloc(0) rather than NULL and thus leaks a zero byte - allocation. The solution here was to adjust the - 'lib3ds_util_reserve_array' function so that it realloc is not - used to release a NULL pointer. - - The second leak is in ReaderWriter3DS.cpp and arises when any of - the created StateSet objects added to the StateSetMap don't - subsequently get applied to a Node. The solution here was just to - simply use the osg::ref_ptr around the raw StateSet pointer that - was used in the locally defined StateSetInfo struct." -2015-04-20 10:41 robert +Sun, 9 Aug 2015 10:16:03 +0000 +Checked in by : Robert Osfield +Changed GLint64 and GLuint64 to use int64_t and uint64_t (pulled in via include/osg/Types) to avoid conflict with Qt5 definitionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15072 16af8721-9629-0410-8352-f15c8da7e697 - * Updated AUTHORS -2015-04-20 10:36 robert +Sun, 9 Aug 2015 09:40:59 +0000 +Checked in by : Robert Osfield +Added #idef guards for SGIX usagegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15070 16af8721-9629-0410-8352-f15c8da7e697 - * Build fix -2015-04-20 10:19 robert +Sat, 8 Aug 2015 08:49:53 +0000 +Checked in by : Robert Osfield +From Glenn Waldron, fix error in ZIP plugin handling of memory buffergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15068 16af8721-9629-0410-8352-f15c8da7e697 - * Build fix -2015-04-20 09:39 robert +Thu, 6 Aug 2015 15:10:55 +0000 +Checked in by : Robert Osfield +Updated rc number and ChangeLog for 3.4.0-rc10git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15063 16af8721-9629-0410-8352-f15c8da7e697 - * Moved uniform substitution to infront of vertex attribute - substituion to make sure gl_Vertex usage is replaced when - required. -2015-04-20 09:08 robert +Thu, 6 Aug 2015 15:04:36 +0000 +Checked in by : Robert Osfield +Merged workaround for NVidia driver/GPU bug by updating shaders from svn/trunk that change float to int usage.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15062 16af8721-9629-0410-8352-f15c8da7e697 - * From Tim Moore, "The order_by_primitive_mode comparer was not - providing a strict weak - ordering, which was causing a crash in the sort() call in - VertexAccessOrderVisitor::optimizeOrder (gcc 4.9, Fedora 21)." -2015-04-17 14:36 robert +Thu, 6 Aug 2015 15:03:50 +0000 +Checked in by : Robert Osfield +Added checks for the validity of chached coordinate arrays.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15061 16af8721-9629-0410-8352-f15c8da7e697 - * Updated dev release number -2015-04-17 13:33 robert +Mon, 3 Aug 2015 19:38:37 +0000 +Checked in by : Robert Osfield +Updated rc number to 9, and updated ChangeLog and AUTHORS.txtgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15043 16af8721-9629-0410-8352-f15c8da7e697 - * Added implementations for the libraryName and className for the - AntiSquish node. -2015-04-17 13:24 robert +Mon, 3 Aug 2015 19:14:11 +0000 +Checked in by : Robert Osfield +From Andy Skinner, "Someone was using our code on a system that does not seem to have the SGIX symbols used in osgViewer.cpp.I used osgSetGLExtensionsFuncPtr to remove the symbols. I don't know how to test this path, but it did remove the symbols from libosgViewer.so. I have also not been able yet to see if that was sufficient for our customer. - * Fixed CollectParentPaths visitor so that it sets the - setNodeMaskOverride(0xffffffff) to make sure all parents are - traversed to find parents, even ones that have their NodeMask set - to 0x0. + -2015-04-17 13:22 robert +I did this by looking at other cases, and I tried to follow some of the same practices in PixelBufferX11, like using _useSGIX in a similar way to the previous _useGLX1_3." - * Added --test-NodeMask option to test crash when a parent of - osgmanipulator::AntiSquish node has a NodeMask set to 0x0. -2015-04-16 11:19 robert - * Changed MSVC version test to <= to enable fallback for VS2010. -2015-04-16 10:07 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15042 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed crash when AntiSquish node is the root of the scene graph. -2015-04-15 18:34 robert +Fri, 31 Jul 2015 15:12:10 +0000 +Checked in by : Robert Osfield +Update ChangeLog and AUTHORSgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15039 16af8721-9629-0410-8352-f15c8da7e697 - * Updated ChangeLog -2015-04-15 18:05 robert +Fri, 31 Jul 2015 15:01:34 +0000 +Checked in by : Robert Osfield +Updated rc number to 8 for 3.4.9-rc8git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15038 16af8721-9629-0410-8352-f15c8da7e697 - * Updated version number of dev release -2015-04-15 17:12 robert +Fri, 31 Jul 2015 13:47:03 +0000 +Checked in by : Robert Osfield +From Terry Welsh, "I downloaded the Android 3rdparty deps from here http://www.openscenegraph.org/index.php/download-section/dependencies but was not able to use them for a while. Attached are changes to OsgAndroidMacroUtils.cmake that allow the deps to be found by cmake.Specifically, all FIND_PATH commands require the +NO_CMAKE_FIND_ROOT_PATH option to actually find paths. This is odd +because if you inspect CMAKE_FIND_ROOT_PATH it appears to be empty. I +would expect it to have no effect at all. - * Added missing const to find VS2005 build +I also needed to remove quotes from this line in order for headers to be found: -2015-04-14 18:16 robert +set(FREETYPE_INCLUDE_DIRS "${FREETYPE_DIR}/include +${FREETYPE_DIR}/include/freetype/config") - * Added check for changes to window size during - GraphicsWindowWin32::init() to fix bug that occurs when the - window manage resizes the window automatically on creation. +Assuming this script worked in the past, it seems like cmake behavior +may have changed at some point. I'm using cmake version 2.8.12.2." -2015-04-14 15:50 robert - * From Philippe Renon, MingW build fix +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15037 16af8721-9629-0410-8352-f15c8da7e697 -2015-04-13 11:48 robert - * Fixed typo of SEPARATE enums +Fri, 31 Jul 2015 13:44:36 +0000 +Checked in by : Robert Osfield +From Jannik Heller, "Here is a patch for the S3TC capability check.On a Intel HD graphics Linux system with Mesa 10.1.3, I found that osg's Extensions::isTextureCompressionS3TCSupported() returned false, even though S3TC compressed textures *are* in fact working. I tested this by loading and rendering various DXT1, DXT3 and DXT5 compressed textures in the OSG. -2015-04-13 10:43 robert +"glxinfo | grep s3tc" gives: + GL_S3_s3tc - * From Jannik Heller, typo fixes +Note, if I install the package "libtxc-dxtn-s2tc0", I get in addition: -2015-04-13 10:11 robert +glxinfo | grep s3tc + GL_EXT_texture_compression_s3tc + GL_S3_s3tc - * From Konstantin Matveyev, "I've added GLES3 profile, which also - enables GLES2 features (OSG_GLES3_AVAILABLE=true => - OSG_GLES2_AVAILABLE=true). - - If OSG_OPENGL_PROFILE="GLES3" => - GraphicsWindowIOS will create gles3 context. - If failed, GraphicsWindowIOS will create gles2 context. - Multisampling also working. - - " +However, S3TC compressed textures worked correctly within the OSG even without libtxc-dxtn-s2tc0 installed. -2015-04-13 09:50 robert +I'm not sure what the differences between these extensions are, but based on the description at https://www.opengl.org/registry/specs/S3/s3tc.txt I would assume that both will work for OSG's purposes. The attached patch changes isTextureCompressionS3TCSupported() to accept either extension." - * From Laurens Voerman, I have modified the FindOpenEXR.cmake to - find the debug libraries, and to define a variable - (OPENEXR_LIBRARIES_VARS) with the variable names that might have - a _DEBUG version defined. -2015-04-13 08:55 robert - * Added passing of command line arguments to viewer construction to - allow one to specify extra controls for the viewer such as window - size etc. +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15034 16af8721-9629-0410-8352-f15c8da7e697 -2015-04-09 18:42 robert - * Refactored AntiSquish::computeUnSquishedMatrix() method to use - the parent node path of the AntiSquish node - to compute the required matrix rather than using the NodePath - provided by the NodeVistor. This is required - as in osg::computeLocalToWorld() usage case the NodeVisitor - pointer is NULL, so the correct matrix isn't possible to compute. +Fri, 31 Jul 2015 10:59:23 +0000 +Checked in by : Robert Osfield +Warning fixgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15033 16af8721-9629-0410-8352-f15c8da7e697 -2015-04-09 18:38 robert - * Added WindowSizeHandler to osgmanipulator example +Fri, 31 Jul 2015 10:54:17 +0000 +Checked in by : Robert Osfield +From Kristofer Tingdahl, warning fixes.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15031 16af8721-9629-0410-8352-f15c8da7e697 -2015-04-07 18:01 robert - * From Jannik Heller, typo fixes +Fri, 31 Jul 2015 10:27:08 +0000 +Checked in by : Robert Osfield +Compile fix for Mingw.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15028 16af8721-9629-0410-8352-f15c8da7e697 -2015-04-07 16:58 robert - * From Giampaolo Viganò, "you can find in the attached ZIP archive - a fix for 3ds plugin transparent/diffuse textures and opacity - maps and the support for reflection map" +Thu, 23 Jul 2015 21:32:17 +0000 +Checked in by : Robert Osfield +Update version and rc number of 3.4.0-rc7.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15026 16af8721-9629-0410-8352-f15c8da7e697 -2015-04-07 15:53 robert - * From Janik Heller, clean up of drawable/node usage +Thu, 23 Jul 2015 15:46:39 +0000 +Checked in by : Robert Osfield +Added explicit initialization of osg::Referenced(true) to osg::Operation subclasses as it uses virtual inhertiance from osg::Referenced.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15024 16af8721-9629-0410-8352-f15c8da7e697 -2015-04-07 15:52 robert - * Removed unused ShapesToGeometriesVisitor. +Thu, 23 Jul 2015 14:37:24 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, buid fixes for VS2015.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15022 16af8721-9629-0410-8352-f15c8da7e697 -2015-04-07 15:49 robert - * Cleaned up handling of Drawables so it utilizes the Node - inheritance properly. +Thu, 23 Jul 2015 14:30:39 +0000 +Checked in by : Robert Osfield +Fixed indentationgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15019 16af8721-9629-0410-8352-f15c8da7e697 -2015-04-03 15:43 robert - * Build fix for VS2005. +Thu, 23 Jul 2015 14:03:15 +0000 +Checked in by : Robert Osfield +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15018 16af8721-9629-0410-8352-f15c8da7e697 -2015-04-03 13:34 robert +Thu, 23 Jul 2015 11:14:00 +0000 +Checked in by : Robert Osfield +Warning fixes for Clang-3.6git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15017 16af8721-9629-0410-8352-f15c8da7e697 - * Improved the doxygen comment for the new - createImageWithOrientationConversion(..) function. -2015-04-03 13:29 robert +Thu, 23 Jul 2015 09:23:32 +0000 +Checked in by : Robert Osfield +Added missing handling of lightnumber and associate lightsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15014 16af8721-9629-0410-8352-f15c8da7e697 - * Added automatic rotation of jpeg image based on EXIF rotation - information provided in the header. -2015-04-03 13:19 robert +Thu, 23 Jul 2015 07:39:01 +0000 +Checked in by : Robert Osfield +Changed the GL_HEADER_HAS_GLINT64 and GL_HEADER_HAS_GLUINT64 to use cmakedefine to improve handling of when cmake doesn't find GLint64 and GLuint64.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15012 16af8721-9629-0410-8352-f15c8da7e697 - * Implemented an osg::createImageWithOrientationConversion(...) - method to aid for changing orientation of images. -2015-04-02 16:11 robert +Wed, 22 Jul 2015 14:55:26 +0000 +Checked in by : Robert Osfield +Fixed Contributors listgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15008 16af8721-9629-0410-8352-f15c8da7e697 - * Added reading of EXIF_Orientation tags when present in a jpeg - file. -2015-04-02 10:12 robert +Wed, 22 Jul 2015 14:51:58 +0000 +Checked in by : Robert Osfield +Updated ChangeLoggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15006 16af8721-9629-0410-8352-f15c8da7e697 - * From Wojciech Lewandowski, Windows build fixes, "These are the - tweaks I had to make. JSON_Objects / json_stream headers - attached. I am not sure how these will behave on VS 2010. Someone - with VS 2010 should test it. Should be okay on VS 2008 and below - + VS 2012 and above, though." -2015-04-01 09:37 robert +Wed, 22 Jul 2015 14:41:55 +0000 +Checked in by : Robert Osfield +Update rc to 6.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15005 16af8721-9629-0410-8352-f15c8da7e697 - * From Lionel Largarde, "fix for the - Image::computeNumberOfMipmapLevels method. The method did use the - float version of the log function and the / operator. - It works for most of the input sizes, but fails for 8192, - 32768... - For 8192, the method returns 13 instead of 14." -2015-03-31 19:31 robert +Wed, 22 Jul 2015 14:30:01 +0000 +Checked in by : Robert Osfield +Moved from svn/trunk, moved GL_ALPHA_TEST from AlphaFunc to GLDefinesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15004 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed crash when using a subload callback, where the _images - array is empty by _images[0] was still being accessed. -2015-03-31 19:29 robert +Wed, 22 Jul 2015 14:27:36 +0000 +Checked in by : Robert Osfield +From svn/trunk merged automatic detection of GLint64 + GLuint64 in GL headersgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@15003 16af8721-9629-0410-8352-f15c8da7e697 - * Added --subload command line option and test subload callback for - testing purposes -2015-03-31 16:23 robert +Tue, 21 Jul 2015 14:22:01 +0000 +Checked in by : Robert Osfield +Added check for validity of OpenFlight shininess value.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14999 16af8721-9629-0410-8352-f15c8da7e697 - * Introduced osg::Camera::resize(..) method and associated enum - thus: - - enum ResizeMask - { - RESIZE_VIEWPORT=1, - RESIZE_ATTACHMENTS=2, - RESIZE_PROJECTIONMATRIX=4, - RESIZE_DEFAULT=RESIZE_VIEWPORT|RESIZE_ATTACHMENTS - }; - - /** Resize, to the specified width and height, the viewport, - attachments and projection matrix according to the resizeMask - provided. - * Note, the adjustment of the projection matrix is done if the - RESIZE_PROJECTIONMATRIX mask to set and according to the rules - specified in the ProjectionResizePolicy. */ - void resize(int width, int height, int - resizeMask=RESIZE_DEFAULT); -2015-03-31 15:08 robert +Tue, 21 Jul 2015 13:42:22 +0000 +Checked in by : Robert Osfield +Fixed typogit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14996 16af8721-9629-0410-8352-f15c8da7e697 - * Introduced Camera::resizeAttachments(int width, int height) to - resize all the Texture and Image assigned the the Camera - attachments. -2015-03-31 10:41 robert +Mon, 20 Jul 2015 13:23:50 +0000 +Checked in by : Robert Osfield +Reduced debug message verbosity.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14994 16af8721-9629-0410-8352-f15c8da7e697 - * Refactor the RTT Camera resize code into a seperate Callback - method in prep for this all being done by a single Camera API - call. -2015-03-31 10:36 robert +Mon, 20 Jul 2015 07:53:18 +0000 +Checked in by : Robert Osfield +Updated RC to 5 for 3.4.0-rc5 releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14991 16af8721-9629-0410-8352-f15c8da7e697 - * Added Camera::dirtyAttachmentMap(), - Camera::s/getAttachmentMapModified() value and usage of this in - RenderStage as a new mechanism - for telling the rendering backend to update itself to reflect new - values in the attachments such as new texture or image sizes. -2015-03-23 11:36 robert +Mon, 20 Jul 2015 07:46:58 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for rcgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14990 16af8721-9629-0410-8352-f15c8da7e697 - * Added StatsHandler to osgtessellationshaders example to test out - rendering bug associated with stats rendering. -2015-03-20 17:58 robert +Mon, 20 Jul 2015 07:42:00 +0000 +Checked in by : Robert Osfield +Changed the _MSC_VER check to <= 1700 to support VS2012.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14988 16af8721-9629-0410-8352-f15c8da7e697 - * Added event handle to alter the RTT Camera's dimensions to follow - the windows resizes. -2015-03-20 15:49 robert +Sun, 19 Jul 2015 09:51:17 +0000 +Checked in by : Robert Osfield +Reinstated the TIFFSetField(image, TIFFTAG_ROWSPERSTRIP, rowsperstrip);git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14986 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed resize dimensions of X11 window -2015-03-20 11:48 robert +Fri, 17 Jul 2015 18:31:19 +0000 +Checked in by : Robert Osfield +From KOS, "I've mentioned in the "osg-users" ML about build error with the newest GStreamer 1.5Please, have a look at the attached patch." - * From Jannik Heller, "Fix for Qt4 multi-threaded crash. This patch - adds the AA_X11InitThreads flag to the QApplication setup, - meaning QT will call XInitThreads for us. This also bumps the - required QT version to 4.8+, because the AA_X11InitThreads flag - was introduced in that version. If that is not acceptable, we - could add a QT_VERSION >= 0x040800 guard, or manually call - XInitThreads() instead. Let me know what you think." +CMakeModules/FindGStreamer.cmake -2015-03-19 10:49 robert - * Added Texture wrap setting to CLAMP_TO_EDGE to fix rendering - problem when running the default osgdistortion example +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14983 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-17 18:10 robert - * Fixed VisualStudio warning +Fri, 17 Jul 2015 09:16:06 +0000 +Checked in by : Robert Osfield +Updated release candidate numbergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14980 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-17 14:50 robert - * From Konstantin Matveyev, "Added ComputeBoundingBoxCallback, - ComputeBoundingSphereCallback and UpdateCallback implmenentations - to serializers" +Fri, 17 Jul 2015 09:06:03 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORSgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14978 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-17 09:40 robert - * Updated ChangeLog and AUTHORS file for dev release +Fri, 17 Jul 2015 08:21:28 +0000 +Checked in by : Robert Osfield +Added cmake version checked for cmake_policy settinggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14974 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-17 09:09 robert - * Fixed library wrapper +Fri, 17 Jul 2015 08:12:51 +0000 +Checked in by : Robert Osfield +From Patrick Neary, "To the tiff plugin, add the capability to write tiff images with unsigned short data"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14970 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-17 08:25 robert - * Added ComputeBoundingSphereCallback reference +Thu, 16 Jul 2015 19:16:54 +0000 +Checked in by : Robert Osfield +From Patrick Neary, "Added some lesser used tokens that we use from GL_ARB_texture_rg to computeFormatDataType(), and computeNumComponents() in src/osg/Image.cpp"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14966 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-17 08:24 robert - * From Konstantin Matveyev, "More "LibraryWrapper" fixes for osg - and osgAnimation NodeKits - in the attachment (for 3.3.6 version :) - - Fixes: - - osg: - Unsupported associated class osg::UpdateCallback - (osg_Drawable_UpdateCallback); - ComputeBoundingBoxCallback - - osgAnimation: - Unsupported wrapper class - osgAnimation::RigComputeBoundingBoxCallback - " +Thu, 16 Jul 2015 15:56:40 +0000 +Checked in by : Robert Osfield +From Cory Slep and Robert Osfield, "When using Open Scene Graph and Qt on Android, the resulting thread that an application developer’s Q*Application is run on is different than what Qt considers the “main” thread, which can cause subtle problems. This is because Qt loads native libraries in one thread, and later runs the application in a different thread. They delay running in the second thread as long as possible as they have a nontrivial bootstrapping process. The motivation for Qt having this second thread is to allow them to remain responsive to both Java and native events, and capture events that would otherwise be “missed”git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14964 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-17 08:19 robert - * Changed to using osgDB::ofstream to work around Windows build - issue +Thu, 16 Jul 2015 11:01:50 +0000 +Checked in by : Robert Osfield +Added check to catch cases where the backdrop coordinate cache is too small for the number of contexts being computed.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14962 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-16 17:01 robert - * Removed unneccessary library link line. +Wed, 15 Jul 2015 10:02:31 +0000 +Checked in by : Robert Osfield +Added initializers and reverted OSX workaround from 2013.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14960 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-16 14:16 robert - * Removed the using namespace std and replaced with local std:: to - make the code clearer +Tue, 14 Jul 2015 16:55:27 +0000 +Checked in by : Robert Osfield +Fixed source of 3.4.0-rc tags to branches so that release candidates are made from the correct 3.4 branch.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14957 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-16 12:13 robert - * Refactored the command line setup to enable better control of set - up. - Added WindowSizeHandler to allow for adjustment of window size. +Tue, 14 Jul 2015 16:37:31 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and Release Candidate number of 3.4-rc2git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14955 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-16 10:30 robert - * From Konstantin Matveyev, "Last update in the - osgAnimation::Animation ONCE mode bug fix" +Tue, 14 Jul 2015 13:33:17 +0000 +Checked in by : Robert Osfield +Moved the cmake_policy(SET CMP0043 NEW) to work for all script paths that Qt5 usage could pass through.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14954 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-16 10:07 robert - * Added --play-mode [ONCE, STAY, LOOP, PPONG] to help with testing. +Tue, 14 Jul 2015 13:26:34 +0000 +Checked in by : Robert Osfield +Added cmake_policy(SET CMP0043 NEW) usage when compiling against Qt5 as it was causing a warning we couldn't fix on the OSG side otherwise.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14951 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-13 08:12 robert - * From Konstantin Matveyev, "Small fix for OSG 3.3.6.119 in the - attachment. - - One line added in osg/LibraryWrapper.cpp - - USE_SERIALIZER_WRAPPER(Callback) - " +Tue, 14 Jul 2015 08:25:20 +0000 +Checked in by : Robert Osfield +Added _defineList into the osg::StateSet::compare() implementation to address issues with osgUtil::Optimizer ignoring defines.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14949 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-12 17:11 robert - * Refactored how the callbacks for updating geometry are managed in - MorphGeometry and RigGeometry to address bugs in serialization. +Mon, 13 Jul 2015 16:09:40 +0000 +Checked in by : Robert Osfield +Added Text::GlyphQuads::release/resizeGLObjects() and handling of inconsistent contextID sizes to avoid crashes when viewers and scene graphs aren't initialized correctly to the right number of contexts.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14946 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-12 15:12 robert - * From Laurens Voerman, "attached is a zip with a modified version - of: - OpenSceneGraph\CMakeModules\FindFBX.cmake - - This version can find fbx sdk 2015.1 and will prefer it over - older versions. - - Tested with Visual Studio Express 2013 on 64bit windows 7" +Mon, 13 Jul 2015 16:04:38 +0000 +Checked in by : Robert Osfield +Standardize the call to setUpThreading() in CompositeViewer/Viewer::realize().Standardize the call to scene->resizeGLObjects(). -2015-03-12 13:41 robert - * From Mattias Helsing, add copyright notice from other osgjs - header to the json_stream header +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14945 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-12 13:37 robert - * Added using namespace std and removed the std:: prefixes before - the std::isfinte and std::isinf function calls to avoid problems - with Android builds against older NDK's. +Mon, 13 Jul 2015 08:48:41 +0000 +Checked in by : Robert Osfield +From Terry Welsh, "fThis fixes problem where new glClipControl feature would not compile for GLES2 profile"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14942 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-11 17:47 robert - * From Laurens Voerman, warning fixes +Fri, 3 Jul 2015 06:50:25 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS for 3.4-rc1git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14939 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-11 17:36 robert - * From Laurens Voerman, "The current version will not compile with - SDL version 2, error - OpenSceneGraph\src\osgPlugins\sdl\JoystickDevice.cpp(42): error - C2664: 'const char *SDL_JoystickName(SDL_Joystick *)' : cannot - convert argument 1 from 'int' to 'SDL_Joystick *' - due to changes in the SDL api. - - Tested with Visual Studio Express 2013; SDL 2.0.1" +Fri, 3 Jul 2015 06:30:28 +0000 +Checked in by : Robert Osfield +Branch OpenSceneGraph-3.4git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14938 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-11 17:27 robert - * Completed support for assigning 3D osg::Image to - osg::Texture2DArray. - - Improved the osgtexture2DArray example to add --mipmap and - --packed command line options to help with testing. +Fri, 3 Jul 2015 06:28:05 +0000 +Checked in by : Robert Osfield +Updated for 3.4 branch.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14937 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-11 15:44 robert - * Updated the comments to be more relevant +Thu, 2 Jul 2015 11:58:49 +0000 +Checked in by : Robert Osfield +Fixed repeated name in SETUP_PLUGIN.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14936 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-10 18:15 robert - * Work in progress to allow osg::Texture2DArray to be set up with a - single osg::Image containing 3D image data. +Thu, 2 Jul 2015 10:25:14 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file in prep for 3.4 branch.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14935 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-10 18:07 robert - * Work in progress on new osgtexture2DArray example +Thu, 2 Jul 2015 08:57:08 +0000 +Checked in by : Robert Osfield +Build fixgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14934 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-09 11:27 robert - * From Cedric Pinson, gles and osgjs plugins that support - conversion of OSG loaded models into a form that can be used with - osgjs JavaScript library +Thu, 2 Jul 2015 08:52:55 +0000 +Checked in by : Robert Osfield +Moved the defination of GL_MAX_VARYING_COMPONENTS to GL_3_0 block to avoid warnings of redefinition.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14933 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-05 19:53 robert - * Update AUTHORS file for 3.3.6 dev release +Wed, 1 Jul 2015 05:32:40 +0000 +Checked in by : Robert Osfield +Updated ChangeLoggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14931 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-05 19:33 robert - * Updated dev release number +Wed, 1 Jul 2015 05:10:20 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, added seriliazers for new osg::ClipControlgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14930 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-05 19:26 robert - * Updated ChangeLog for dev release +Tue, 30 Jun 2015 09:51:05 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS filesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14929 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-05 10:53 robert - * Added check for newline at end of version line, and of it's not - add a '\n' +Tue, 30 Jun 2015 09:11:00 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Attached a new state attribute implementing the glClipControl that appeared with GL4.5."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14928 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-04 18:39 robert - * Updated SO_VERSION after changes to osgPresentation +Tue, 30 Jun 2015 08:39:33 +0000 +Checked in by : Robert Osfield +Quitened down debug for ViewConfig argument parsinggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14927 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-04 18:36 robert - * Restructed the osgPresentation and present3D directories back to - the structure that was present in OSG-3.2 +Tue, 30 Jun 2015 08:38:01 +0000 +Checked in by : Robert Osfield +Build fix for GLDAL>=2git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14925 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-04 17:42 robert - * Removed the experiemental osgPresentation classes. These are only - partially functional and not appropriate for the stable OSG-3.4 - release +Fri, 26 Jun 2015 09:40:37 +0000 +Checked in by : Robert Osfield +From Christian Kehl, added Vec2::set(const Vec2) methodgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14924 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-03 15:26 robert - * Updated AUTHORS for 3.3.5 dev release +Fri, 19 Jun 2015 09:51:30 +0000 +Checked in by : Robert Osfield +From Jannik Heller, fixed clearReferencesToDependentCameras() callsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14922 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-03 14:59 robert - * Fixed ClusterCullingCallback parser problem due to osg::Callback - not being included in inheritance list +Wed, 17 Jun 2015 16:25:47 +0000 +Checked in by : Robert Osfield +Fixed handling of use GLObjectsVisitor for modifying scene graph state without compiling to OpenGL so that the visitor can be run safely without a graphics context being current.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14921 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-03 12:56 robert - * Restructed the checks in the - CollectLowestTransformsVisitor::removeTransforms() to avoid - benign case being flagged as warning. +Tue, 16 Jun 2015 17:18:11 +0000 +Checked in by : Robert Osfield +Small tidy up to make script more readable.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14920 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-03 12:03 robert - * From Miha Ravselj, "Regarding previous submission it was only - partial solution. After further testing I found similar bug also - in ClearNode serializer. - - //GLbitfield mask = GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT; - This line was problematic since it produced incorrect result when - let's say COLOR flag is serialized - it should be null as in Camera serializer or in a proposed - BitFlagsSerializer - - - This line of code caused that whenever only GL_COLOR_BUFFER_BIT - bit was written and on value read - GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT was restored instead of - GL_COLOR_BUFFER_BIT only. - - //GLbitfield mask = 0; //this resolves the issue same as in - camera - Also same bit-wise comparison bug was also present in write - method. - ------------------------------------------------------------------------------------- - - As you can see there are total 3 bit mask serializers in OSG and - all 3 had bugs so I decided to add ADD_BITFLAGS_SERIALIZER and - replace USER serializers in osg::Camera, osg::ClearNode and - osgText::TextBase. I have made sure that bitflags serializer does - not break backwards-compatibility since it uses same code as user - serializer does in all 3 cases. (see tester.cpp on how - compatibility test was performed)" +Tue, 16 Jun 2015 17:17:50 +0000 +Checked in by : Robert Osfield +Added QT_QTCORE_INCLUDE_DIR entry to qfont plugin build to fix Qt4 build under Linuxgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14919 16af8721-9629-0410-8352-f15c8da7e697 -2015-03-03 12:00 robert - * Re-organized the #ifdef's to avoid usage of glPolyginMode under - GLES +Mon, 15 Jun 2015 19:59:01 +0000 +Checked in by : Robert Osfield +From Jannik Heller, "I've added the check for Qt version mismatches into osgQt as suggested in http://forum.openscenegraph.org/viewtopic.php?t=14999.When an application is built with Qt4, but osgQt was built with Qt5 (or vice versa), upon #includeing osgQt users will receive an #error aborting the build. -2015-03-02 14:38 robert +This at least provides a proper error message rather than a crash, while we are working on better fixes for the problem." - * Updated SO_VERSION to take account of API changes in osgDB -2015-03-02 12:11 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14918 16af8721-9629-0410-8352-f15c8da7e697 - * From Johannes Scholz, "Attached you find a patch for - osgDB::OutputStream and osgDB::InputStream to include - osg::Image::data() using Base64 encoding inside the ASCII OSGT, - if WriteImageHint=IncludeData is set, only." -2015-03-02 12:09 robert +Mon, 15 Jun 2015 13:51:29 +0000 +Checked in by : Robert Osfield +Experiment with how to define GLsizeiptr.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14917 16af8721-9629-0410-8352-f15c8da7e697 - * From Michael McDonnel, "The tessellation shader example has a - small bug.The middle of the - geometry is clipped as soon as it is tessellated. The clipping is - probably caused by rounding errors because it is only in one - spot. The - clipping disappears when the camera is moved, and reappears when - it is - moved back. Expanding the the bounding box fixed the clipping - bug." - - Tweaked by Robert Osfield to expand it to a -1 to 1 unit box. - Actual clipping bug is not due to rounding errors but the shaders - creating vertices outside the bounding box of the original input - vertices -2015-03-01 15:20 robert +Mon, 15 Jun 2015 13:51:09 +0000 +Checked in by : Robert Osfield +Upated version numbergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14916 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed StateSet::Define names to match - OpenSceneGraph-Data/shaders. -2015-03-01 11:08 robert +Fri, 12 Jun 2015 20:23:15 +0000 +Checked in by : Robert Osfield +Removed old and unused windows code path to avoid confusiongit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14915 16af8721-9629-0410-8352-f15c8da7e697 - * From Jannik Heller, "I noticed the rotation in the - OrbitManipulator depends on the framerate. To reproduce this - issue, start the osganimate example, rotate the model with the - left mouse button, then let go of the mouse button while still - moving. You will notice that with V-Sync enabled, the model - rotates slower. - - The OrbitManipulator calculates a scale to counteract the - framerate dependency, but it turns out this scale wasn't used for - the rotation yet." -2015-02-27 10:01 robert +Fri, 12 Jun 2015 11:28:54 +0000 +Checked in by : Robert Osfield +Updated ChangeLoggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14913 16af8721-9629-0410-8352-f15c8da7e697 - * Updated version number after dev release. -2015-02-27 09:47 robert +Fri, 12 Jun 2015 08:04:42 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've modified some setter methods of TextBase to avoid unnecessary calls to computeGlyphRepresentation() if the value has not changed."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14912 16af8721-9629-0410-8352-f15c8da7e697 - * Updated ChangeLog and Contributors to fix trailing spaces -2015-02-27 09:05 robert +Thu, 11 Jun 2015 08:44:26 +0000 +Checked in by : Robert Osfield +Reverted the typdef GLfloat GLdouble for Andoid as this was causing conflicts.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14910 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed Windows warnings -2015-02-27 04:29 robert +Wed, 10 Jun 2015 18:22:09 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file for 3.3.8 dev releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14909 16af8721-9629-0410-8352-f15c8da7e697 - * Fixes for warnings -2015-02-26 20:15 robert +Wed, 10 Jun 2015 16:48:28 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "attached is a zip with the files:OpenSceneGraph\CMakeModules\FindOpenEXR.cmake - * Fixed build with auto ptr conversion switched off +I introduced a bug in the previous submission pointed out by Dmitry Marakasov: +looking for IlmIlf instead of IlmImf (as the previous version did - but using variable OPENEXR_IlmIlf_LIBRARY) -2015-02-26 19:51 robert +For some reason google decided his message was spam, so I just noticed it, and I reply to confirm his remarks and attach a full file. - * Updated AUTHORS +" -2015-02-26 19:14 robert - * From Bradley Baker Searles, "We had someone replace a DDS texture - with a GL_RGB/GL_UNSIGNED_SHORT_5_6_6 image, which would trigger - a crash in Image.cpp while flipping the mipmap chain. The code - was trying to flip the mipmaps using the rowStep for the - full-size image (we have "dds_flip" set in the - osgDB::ReaderWriter::Options in the osgDB::Registry)." +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14908 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-26 18:06 robert - * From Bradley Baker Searles, "Small patch attached to handle DDS - flip when s=4. Currently it will omit flipping and generate a - warning: "Vertical flip was skipped. Image dimensions have to be - multiple of 4." +Wed, 10 Jun 2015 16:47:15 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "An earlier fix in OSG 3.2 has been inadvertently lost in 3.3.x. The glGenerateMipMap function is part of the GL_EXT_framebuffer_object extension. Just checking if the function is present before using it for texture mipmaps is not sufficient, as on remote X-windows displays the client side capability may be different from the display server. This can lead to mipmapped textures failing to render. I've restored a fbo extension check. I've also tided up the GL version checking a little."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14907 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-26 17:49 robert - * From Julien Valentin and Alberto Luaces, added support for - transform feedback extensions +Wed, 10 Jun 2015 10:00:27 +0000 +Checked in by : Robert Osfield +From Philippe Renon, "Fixed potential divide by zero in NodeTrackerManipulator : The divide by zero happens when throwing a NodeTrackerManipulator. The infinite result trickles down and later causes NaN in culling.The fix was to use getThrowScale() as done everywhere else." -2015-02-26 17:18 robert - * Update AUTHORS file +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14905 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-26 14:16 robert - * Fixed typo +Tue, 9 Jun 2015 16:49:20 +0000 +Checked in by : Robert Osfield +Added supoort for osg::CullSettings/Camera::InheritanceMaskActionOnAttributeSetting and InheritanceMask properties.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14904 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-26 13:52 robert - * Regenerated AUTHORS.txt to fix missing special characters +Tue, 9 Jun 2015 12:51:38 +0000 +Checked in by : Robert Osfield +Added namespace around typedef to avoid conflict issuesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14903 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-25 19:59 robert - * Updated AUTHORS file +Tue, 9 Jun 2015 10:49:34 +0000 +Checked in by : Robert Osfield +Introduce osg::Object::asNode(), asNodeVisitor(), asStateAttribute() and asUniform() to replace dynamic_cast<> usage in Callback.cpp.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14902 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-25 19:52 robert - * Updated ChangeLog +Tue, 9 Jun 2015 09:44:37 +0000 +Checked in by : Robert Osfield +Added output of HUD scene graph to hud.osgt and hud.osgb for testing purposes.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14901 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-25 19:38 robert - * From Aitor Moreno, "Attached you will find the modified file - without the lines which raises the exception. " +Mon, 8 Jun 2015 11:33:49 +0000 +Checked in by : Robert Osfield +Updated AUTHORS and ChangeLog for dev releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14900 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-25 19:31 robert - * From Jamie Robertson, "I've been using osgSim::ScalarBar to - display fixed range color values (e.g. red from 1-2, green from - 3-4 etc), by setting the _numColors the same as the number of - actual colors in the ColorRange. - - Currently if you do this you get strange looking results as the - colors are calculated for values in the centre of each color - step, so if your steps are large, the colors are interpolated - sigificantly (see screen grab of red, green and blue colors for - illustration). - - I've attached a fix which just uses the original color values - whenever _numColors equals the number of actual defined colors in - the ColorRange. I doubt anyone would want interpolated colors in - these circumstances." +Mon, 8 Jun 2015 11:18:24 +0000 +Checked in by : Robert Osfield +From Mike Connell, "Give ReadFileCallback access to parent location : These small changes to the database pager allow user code in the ReadFileCallback to safely determine where the file being loaded is destined to be inserted into the scenegraph. "git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14899 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-25 19:25 robert - * From Dmitry Marakasov, "While packaging osg-3.3.3 I've discovered - that gstreamer detection is - broken: - - -- Could NOT find GStreamer (missing: GSTREAMER_BASE_INCLUDE_DIRS - GSTREAMER_BASE_LIBRARIES GSTREAMER_GSTREAMER-APP_INCLUDE_DIRS - GSTREAMER_GSTREAMER-APP_LIBRARIES - GSTREAMER_GSTREAMER-PBUTILS_INCLUDE_DIRS - GSTREAMER_GSTREAMER-PBUTILS_LIBRARIES) (found version "1.4.5") - - though all required modules are installed. - - There are two problems: first, module names are spelled - incorrectly in root - CMakeLists.txt (e.g. gstreamer-app instead of app), so variables - expected - for them are e.g. GSTREAMER_GSTREAMER-APP_INCLUDE_DIRS instead of - GSTREAMER_APP_INCLUDE_DIRS. - - Second, gstreamer base component is detected as GSTREAMER while - checked - later as GSTREAMER_BASE. I've uncommented the detection as - GSTREAMER_BASE, but obviously that should be revisited and only - one - detection left. With this patch, gstreamer is detected properly - and - the plugins is successfully built and installed." +Mon, 8 Jun 2015 10:20:53 +0000 +Checked in by : Robert Osfield +Addressed race condition where SceneView::setLightingMode() was setting a shread Master Camera's StateSet.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14898 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-25 19:19 robert - * From Jonathan Greig, "I was testing out the example and it works - fine as a standalone example, but I found that it didn't work as - expected when adding the class to some existing code I have to - test it out. The osg widget was appearing but it didn't appear to - be updating. After tweaking it to pass on the parent QWidget - pointer from my code, it worked as expected. I added the - WindowFlags to the attached file for good measure. If you look at - the Qt Documentation for QWidget ( - http://doc.qt.io/qt-5/qwidget.html#QWidget ), you'll see that is - exactly where I got this from. When subclassing a widget as such, - you should allow the user to pass in the parent at least, - considering that has a major effect on how or if Qt may clean up - the memory." +Sun, 7 Jun 2015 11:13:02 +0000 +Checked in by : Robert Osfield +Fixed setReferenceTime() bug where a * eather than the correct / was being used. Bug and fix suggested Benjamin Richter.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14896 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-25 18:56 robert - * From Andreas Henne, Support for GL3 core profile in osgText +Thu, 4 Jun 2015 09:35:19 +0000 +Checked in by : Robert Osfield +Updated AUTHORS for dev releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14895 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-25 16:59 robert - * From Michael McDonnell, "I have changed the code so that the plus - key increases both the inner - and outer tessellation. The minus key decrease both the inner and - outer tessellation. You can still use the arrow keys to control - inner - and outer tessellation separately." - - From Robert Osfield, clean up the code to fix warnings and make - the coding style more consistent with the rest of the OSG. +Thu, 4 Jun 2015 09:13:05 +0000 +Checked in by : Robert Osfield +From Jannik Heller, Transform::computeBound() optimization.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14894 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-25 14:55 robert - * Fixed handling of NULL entries in osg::Geometry TexCoordArrayList - and VertexAttribArrayList. +Thu, 4 Jun 2015 09:05:24 +0000 +Checked in by : Robert Osfield +From Jannik Heller, Removed unused StatsHandler::_keyEventToggleVsyncgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14893 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-24 11:06 robert - * Fixed matrix setup. +Thu, 4 Jun 2015 09:00:17 +0000 +Checked in by : Robert Osfield +From Jannik Heller, "In the attachment you will find a build fix for the latest trunk. osgAnimation failed to compile when using OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION=OFF ."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14892 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-23 20:28 robert - * Fixed image allocation operations. +Wed, 3 Jun 2015 10:28:34 +0000 +Checked in by : Robert Osfield +Removed export that was breaking windows buildgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14891 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-23 11:43 robert - * From Miha Ravšelj and Robert Osfield, fix for serializer bug in - osgText::TextBase and osg::Camera +Wed, 3 Jun 2015 09:14:35 +0000 +Checked in by : Robert Osfield +From KOS, "New classes for osgAnimation presented: UpdateFloatUniform, UpdateVec3fUniform and UpdateMatrixfUniform (based on UpdateUniform template)Classes operate like osgAnimation::UpdateMaterial for Material's diffuse component, but change Uniform." -2015-02-23 11:07 robert - * From Arjun Ramamurthy, fix for use of StatsHandler in - multipleviews/windows +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14890 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-20 15:12 robert - * Changed the toggle of defines so that it works with assumed - defaults now set up by the GeometryPool so that when toggling it - doesn't have a delay in what the user would expect +Wed, 3 Jun 2015 09:07:41 +0000 +Checked in by : Robert Osfield +From KOS, build fix for osg::Uniform::Callback to osg::UniformCallback changegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14889 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-20 15:04 robert - * Removed redudent shaders, and updated remaining shaders to match - OpenSceneGraph-Data/shaders +Wed, 3 Jun 2015 09:06:44 +0000 +Checked in by : Robert Osfield +Added doxygen comment for typedefgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14888 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-20 15:02 robert - * First step of refactoring the osg::Program management in - osgTerrain::GeometryPool for better performance by placing - default osg::Program and shader defines on a single StateSet - below the osgTerrain::Terrain +Wed, 3 Jun 2015 08:38:18 +0000 +Checked in by : Robert Osfield +Build fix for when Uniform::Callback isn't definedgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14887 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-18 10:52 robert - * Moved osgTerrain::GeometryPool from - osgTerrain::DisplacementMappingTechnique to the - osgTerrain::Terrain +Tue, 2 Jun 2015 10:25:13 +0000 +Checked in by : Robert Osfield +From Konstantin Matveyev, serializer support for UniformCallbackgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14886 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-18 10:23 robert - * From Sebastian Messerschmidt, "Attached you find a version of the - ReaderWriterDDS with info outputs set to OSG_INFO instead of - OSG_NOTICE. The old version spams the console for each loaded DDS - file." +Tue, 2 Jun 2015 09:33:22 +0000 +Checked in by : Robert Osfield +From Konstantin Matveyev, "I've changed osg::Uniform::Callback to osg::UniformCallback. osg::UniformCallback inherits osg::Callback now.I don't really now if this class should be inside osgWrappers/serializers +because StateAttributeCallback is not presented there, but i've included it in the patch. -2015-02-17 20:42 robert - * Added support for DefineList to StateSet::merge(..) +Please see archive in the attachment. -2015-02-17 19:40 robert - * From Stephan Wenglorz, "the attached fix corrects a small bug in - OperationThread::setDone(bool), calling it had the opposite - effect of what was intended, i.e. setting done to false actually - finished the thread. The effect was that VPB threads would exit - before starting osgdem when a task had been enqueued, because - they initially set done to false." +PS +DEEP_COPY_UNIFORMS works for me. +" +Note from Robert Osfield, added typedef UniformCallback Callback for backwards compatibility. -2015-02-17 19:22 robert - * Removed GL_ usage in defines -2015-02-17 19:21 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14885 16af8721-9629-0410-8352-f15c8da7e697 - * Removed commented out lines -2015-02-17 10:36 robert +Tue, 2 Jun 2015 09:18:19 +0000 +Checked in by : Robert Osfield +Changed name of UniformCallback to UniformBufferCallback to avoid conflict with changes to come to the osg::Uniform::Callback -> osg::UniformCallback.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14884 16af8721-9629-0410-8352-f15c8da7e697 - * Cleaned up warning generated when compiling osgocculusviewer -2015-02-13 12:50 robert +Mon, 1 Jun 2015 13:40:20 +0000 +Checked in by : Robert Osfield +From Albert Luaces, typo fixes.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14883 16af8721-9629-0410-8352-f15c8da7e697 - * Improvements to the #pragma(tic) shader composition support -2015-02-13 10:56 robert +Mon, 1 Jun 2015 13:11:49 +0000 +Checked in by : Robert Osfield +From Jannik Heller, typo fixesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14882 16af8721-9629-0410-8352-f15c8da7e697 - * Deprecated the old ShaderComposition example code so that it's - now only invoked if you add a --old to the osgshadercomposition - command line. - - Introduced a new shader composition example based on the new - #pragama and #define based GLSL shader/osg::StateSet::setDefine() - functionality now built into the core OSG. -2015-02-13 07:45 robert +Mon, 1 Jun 2015 12:14:53 +0000 +Checked in by : Robert Osfield +From Jannik Heller, "This patch adds a missing initialization of osgParticle::ParticleProcessor::_frameNumber in the copy constructor. I noticed this because valgrind was complaining about use of uninitialized memory."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14881 16af8721-9629-0410-8352-f15c8da7e697 - * From Farshid Lashkari, "I've attached a fix for some internal glu - functions so that they use size_t for computing allocation sizes - instead of GLint. I encountered some large images that were - triggering integer overflows with the current code." -2015-02-11 19:21 robert +Mon, 1 Jun 2015 12:07:04 +0000 +Checked in by : Robert Osfield +From Frashud Lashkari, "I was getting "Unsupported wrapper class..." error messages when attempting to load osgb models simultaneously from multiple threads. I believe the problem is caused by un-synchronized access to the global osgDB::ObjectWrapperManager class. I've attached a change that adds a mutex to the class and uses it when accessing the internal wrapper/compress maps. This appears to fix the issues I was having."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14880 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed warning -2015-02-11 16:41 robert +Mon, 1 Jun 2015 10:50:44 +0000 +Checked in by : Robert Osfield +From Jannik Heller, "I have added new functions Texture::generateAndAssignTextureObject mirroring the Texture::generateTextureObject functions.I have left the Texture::generateTextureObject functions intact as I'm not sure if/how it's used outside the core OSG. If you feel that compatibility isn't important in that area feel free to drop it. - * Added reassignment of the #version line to the first entry in the - source list. +While testing the build with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION=OFF I found a compile error in GlyphGeometry.cpp that was entirely unrelated to the changes I've made. The fix is included in the patch. -2015-02-11 09:41 robert +There is one thing left to fix and that is Texture2D::SubloadCallback: - * Added GL #define for Windows build + class OSG_EXPORT SubloadCallback : public Referenced + { + public: + .... + virtual TextureObject* generateTextureObject(const Texture2D& texture, State& state) const + { + return osg::Texture::generateTextureObject(&texture, state.getContextID(), GL_TEXTURE_2D); + } + ... + }" + -2015-02-10 21:13 robert - * Windows build fix +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14879 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-10 18:01 robert - * Added GL_LINES_ADJACENCY_EXT variants back into ObjectWraper to - enable backwards compatibility. +Mon, 1 Jun 2015 10:41:43 +0000 +Checked in by : Robert Osfield +From Jannik Heller, build fixgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14878 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-10 17:53 robert - * Change for new Program API +Fri, 29 May 2015 07:52:27 +0000 +Checked in by : Robert Osfield +From Jannik Heller, fix for race condition in orphanded BufferObject handling.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14877 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-10 17:20 robert - * Added support for new #pragam(atic) shader composition to new - displacement mapping technique +Tue, 26 May 2015 17:24:48 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "rc/osgUtl/MeshOptimizers.cpp won't compile on some systems due to a missing std:: namespace prefix."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14876 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-10 17:04 robert - * Introduced new shader composition approach that utilizes #pragma - requires(), #pragma import_defines() and #ifdef in GLSL to enable - multiple different versions of shaders based - on defines passed in from osg::StateSet::setDefine(..). +Tue, 26 May 2015 17:22:05 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "attached a small change to osgUtil::SceneView that prevents unnecessary calls to glClear when the split stereo separation is 0."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14875 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-04 15:11 robert - * Fixed typo. +Tue, 26 May 2015 17:17:26 +0000 +Checked in by : Robert Osfield +From Thomas Hogarth, "Little fix for ClassInterface::getSupportedProperties, before if you set searchAssociates to false then it would return the same BaseSerialiser::Type for every entry in the PropertyMap as i was not being incremented on line 539. Fix attached."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14874 16af8721-9629-0410-8352-f15c8da7e697 -2015-02-03 16:36 robert - * Removed unncessary _EXT +Tue, 26 May 2015 17:12:05 +0000 +Checked in by : Robert Osfield +From We See, "I found a small bug in osgUtil::RenderStage::draw() (osg 3.3.7), which crashes osg. The problem was caused by an access to the object _camera without checking whether the object is valid. So I changed the line:Code: +if (_cameraRequiresSetUp || (_cameraAttachmentMapModifiedCount!=_camera->getAttachmentMapModifiedCount())) -2015-02-02 09:53 robert +to - * Commented out the experimental V8 and Python plugins as these - plugins only existed as a proof of concept test linkage with - these dependenices, and have no functionality beyond this. +Code: +if (_cameraRequiresSetUp || (_camera.valid() && _cameraAttachmentMapModifiedCount!=_camera->getAttachmentMapModifiedCount())) +" -2015-01-27 15:07 robert - * Replaced _EXT defines with GL-3.2 versions +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14873 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-23 17:15 robert - * From Javier Taibo, - "I have found a "bug" in the new audio decoding code (actually I - think the bug is in ffmpeg, but anyway it should be wise to - protect the OSG plug-in about it). I am attaching a security - check in FFmpegDecoderAudio.cpp. - - If anybody is curious about the problem, it happens sometimes - when decoding an AAC audio stream. It eventually includes a PCE - block inside the AAC audio frame and then ffmpeg audio decoding - function signals a "new_frame" with 1024 samples, but a null - pointer instead of the audio data. It can be easily detected - because in these cases number of channels is 0. Maybe this is the - intended behaviour for ffmpeg, but I find it quite weird. - " - - " It seems that libav does not have a channels attribute in - AVFrame structure. This new version should do." +Tue, 26 May 2015 17:09:25 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari and Robert Osfield, "a small change to the CullVisitor class, which will use cloneType() on the root render stage when creating children render stages. This allows us to pass a custom RenderStage object to the SceneView and have it used for all sub-stages."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14872 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-23 13:51 robert - * Changed osgFX::MultiTextureControl so that it uses an - osg::FloatArray internally to enable sharing with osg::Uniform. +Tue, 26 May 2015 10:05:47 +0000 +Checked in by : Robert Osfield +Rewrote the Text3D bevel implementation to automatically adjust bevel thickness to avoid overalapping and erronous tesselation.Added osgText::Bevel::s/getRoundedConcaveJunctions(bool) to control how the bevel should be tessellated around concave junctions on the glyph boundary. -2015-01-23 13:50 robert - * Added MultiTextureControl event handling of shift 012 i.e. ')', - '!', '"' and 'A' to toggle full on for each of the respective or - all texture units. +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14871 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-22 16:49 robert - * Added #define GL_SEPARATE_ATTRIBS and correcte - GL_INTERLEAVED_ATTRIBS +Tue, 26 May 2015 08:48:33 +0000 +Checked in by : Robert Osfield +Added use of ref_ptr<>git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14870 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-22 16:41 robert - * From Alexey Pavlov, "Export fix for Windows platform" +Mon, 25 May 2015 12:39:18 +0000 +Checked in by : Robert Osfield +Changed the EventQueue::frame() event generation to use the generatePointerData/reprojectPointerData() methods in the same way that other events are handled.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14869 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-22 15:08 robert - * Added GL_INTERLEAVED_ATTRIBS for windows build +Mon, 25 May 2015 11:33:04 +0000 +Checked in by : Robert Osfield +Added osgGA::GUIEventAdapter* returns from various EventQueue event generation methods.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14868 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-22 15:07 robert - * Fixed warning +Thu, 21 May 2015 14:11:32 +0000 +Checked in by : Robert Osfield +Fixed memory error associated with reading over the end of container due to an unbounded while loop.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14866 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-21 15:35 robert - * From Andreas Henne, OpenGL core profile fixes required for OSX. +Wed, 6 May 2015 18:39:44 +0000 +Checked in by : Robert Osfield +Update ChangeLog and AUTHORS filegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14865 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-21 11:09 robert - * Added TextureWeights uniform support and controls to - osgFX::MultiTextureControl to support usage with shaders. +Tue, 5 May 2015 11:05:09 +0000 +Checked in by : Robert Osfield +Changed the CMP0020 check to > 2.8.10 Updated SO version numbergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14864 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-20 18:01 robert - * Re-enabled texturing and fixed runtime warning +Thu, 30 Apr 2015 14:04:51 +0000 +Checked in by : Robert Osfield +From Christian Kehl, changes for making osgAndroid working with GLES1 enabledgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14862 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-20 17:58 robert - * Added hardwired geometry shaders +Thu, 30 Apr 2015 13:59:24 +0000 +Checked in by : Robert Osfield +From Dmitriy Ogalcev, fix for crash when calling setCursor from a non GUI threadgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14861 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-20 17:40 robert - * Updated shaders +Tue, 28 Apr 2015 16:12:57 +0000 +Checked in by : Robert Osfield +Replaced attempt at passing NULL Matrix with two specialized methods.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14860 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-20 15:23 robert - * Added key osgTerrain::GeometryPool methods virtual to make it - easier to override the shaders +Mon, 27 Apr 2015 19:31:13 +0000 +Checked in by : Robert Osfield +Renamed LineSegment::intersect(BoundingSphere/Box, double/float&, double/float&) methods to LineSegment::intersectAndComputeRations(..) to avoid confusion with the change in convention for the old intersect(BoundingBox&, float/double&, float/double&) method as it was inconsitent with the rest of the OSG including the intersect(BoundingSphere) method in how the ratio for the second intersection was measure from - original from the end point, but now made consistent with other places in the OSG so be based on ration from start to end of segment.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14859 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-20 11:24 robert - * Changed the reset of the GLExtensions::Set() in the State - destructor so that it checks to see if the local _glExtensions - pointer has been set up and taken ownership of the - GLExtensions::Set() value +Thu, 23 Apr 2015 14:44:06 +0000 +Checked in by : Robert Osfield +Refactoring GlyphGeometry Boundary class to facilate better bevel overlap detectiongit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14858 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-19 11:29 robert - * Added GeometryPool::s/getUseGeometryShader() hint, and - OSG_TERRAIN_USE_GEOMETRY_SHADER env var for setting the default - value. +Thu, 23 Apr 2015 12:58:27 +0000 +Checked in by : Robert Osfield +Comment out debug notificationgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14857 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-16 11:03 robert - * Added support for using geometry shaders to align the quad - diagonals with the local terrain +Thu, 23 Apr 2015 09:49:16 +0000 +Checked in by : Robert Osfield +Removed unused methodgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14856 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-12 10:31 robert - * Added a local Vec3Array cache to the HeightFieldDrawable to - facilitate efficient intersection testing +Wed, 22 Apr 2015 14:25:34 +0000 +Checked in by : Robert Osfield +From Giampaolo Vigano, "please find attached a further fix for 3ds plugin: now reflection map works also with transparent objects (I also removed a redundant setting of BlendFunc)."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14855 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-12 10:30 robert - * Added ability to populate a local vertex cache for when one - computes final vertex position in a vertex shader but still want - to the Primitive functors to work with the transformed positions. +Tue, 21 Apr 2015 17:29:15 +0000 +Checked in by : Robert Osfield +From Chris Denham, "I found a couple of memory leaks in 3DS reader plugin and I have attached corrected files. I have attached an example 3DS file I used to test the leaks/fixes using osgviewer for trunk at rev [14853] and the tagged version 3.2.1.The first leak is in the lib3ds module (yeah, I know that probably should be corrected at http://code.google.com/p/lib3ds/ but I'm assuming that as no commits have happened there since 2011 that it may be better to fix the copy we have in the OSG of that project) The leak is caused by lib3d's use of realloc(ptr, 0) to free up memory allocations, but realloc, when ptr==NULL returns malloc(0) rather than NULL and thus leaks a zero byte allocation. The solution here was to adjust the 'lib3ds_util_reserve_array' function so that it realloc is not used to release a NULL pointer. -2015-01-07 14:14 robert +The second leak is in ReaderWriter3DS.cpp and arises when any of the created StateSet objects added to the StateSetMap don't subsequently get applied to a Node. The solution here was just to simply use the osg::ref_ptr around the raw StateSet pointer that was used in the locally defined StateSetInfo struct." - * From Javier Taibo, "I have found that since version 1.1, FFMPEG - changed the way audio streams are retrieved, from packed to - planar format. SDL interprets packed audio, as is used in the - osgmovie example. To make the audio work when the OSGffmpeg - plug-in is compiled against recent FFMPEG versions, - FFmpegDecoderAudio must check for planar formats and in these - cases request the samples as packed. This way all works as - before. It can be checked with osgmovie example application. - - $ osgmovie --audio movie.avi.ffmpeg - FFmpegImageStream::open audio failed, audio stream will be - disabled: unknown audio format - - With the attached FFmpegDecoderAudio.cpp, audio sounds correctly. - - I am also attaching a modified version of FindFFmpeg.cmake that - allows to set as FFMPEG_DIR the ffmpeg compiled in the source - directory structure. It should not break anything as it only adds - some additional search paths. - " -2015-01-07 10:36 robert - * From Farshid Lashkari, "small change to - osg::Image::readImageFromCurrentTexture to allow reading data - from compressed cubemap textures." +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14854 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-06 17:23 robert - * Cleaned up GL_TEXTURE_BUFFER_*ARB usage as include/osg/GLDefines - now provides the non ARB variants +Mon, 20 Apr 2015 10:41:45 +0000 +Checked in by : Robert Osfield +Updated AUTHORSgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14851 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-06 17:12 robert - * From Julien Valentin, "To sum up changes, I had: - -some extensions in GLExtensions - - GL_TEXTURE_BUFFER as target in osg::StateSet - - a VBO based transform feed back example - " +Mon, 20 Apr 2015 10:36:42 +0000 +Checked in by : Robert Osfield +Build fixgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14850 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-06 17:09 robert - * Updates SO_VERSION in prep for API modifications since the 3.3.3 - dev release +Mon, 20 Apr 2015 10:19:04 +0000 +Checked in by : Robert Osfield +Build fixgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14849 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-06 14:55 robert - * From Julien Valentin, added missing initializer +Mon, 20 Apr 2015 09:39:00 +0000 +Checked in by : Robert Osfield +Moved uniform substitution to infront of vertex attribute substituion to make sure gl_Vertex usage is replaced when required.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14848 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-06 14:41 robert - * From Julien Valentin, typo fix +Mon, 20 Apr 2015 09:08:56 +0000 +Checked in by : Robert Osfield +From Tim Moore, "The order_by_primitive_mode comparer was not providing a strict weak ordering, which was causing a crash in the sort() call in VertexAccessOrderVisitor::optimizeOrder (gcc 4.9, Fedora 21)."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14846 16af8721-9629-0410-8352-f15c8da7e697 -2015-01-05 17:39 robert - * From Jason Beverage, "Here is a fix to the STL plugin that fixes - build errors introduced in the last commit. It's just a simple - addition of the stdint.h header." +Fri, 17 Apr 2015 14:36:05 +0000 +Checked in by : Robert Osfield +Updated dev release numbergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14845 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-24 11:56 robert - * Updated ChangeLog and AUTHORS +Fri, 17 Apr 2015 13:33:08 +0000 +Checked in by : Robert Osfield +Added implementations for the libraryName and className for the AntiSquish node.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14844 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-24 11:43 robert - * Removed debug message +Fri, 17 Apr 2015 13:24:44 +0000 +Checked in by : Robert Osfield +Fixed CollectParentPaths visitor so that it sets the setNodeMaskOverride(0xffffffff) to make sure all parents are traversed to find parents, even ones that have their NodeMask set to 0x0.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14843 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-24 11:25 robert - * From Marc Helbling, ClĂ©ment LĂ©ger, AurĂ©lien Chatelain, Paul - Cheyrou-Lagrèze : - "a last submission for the obj plugin - * supports vertex color definition after vertex position by - ClĂ©ment LĂ©ger - * supports zbrush vertex color definition (as #MRGB comment) by - AurĂ©lien Chatelain - * adds a noReverseFace option to not mess with face definition by - AurĂ©lien Chatelain - * makes material parsing case insensitive (by Paul - Cheyrou-Lagrèze and me) - * makes the plugin resilient to faulty vertex uv/normal - definition (i.e. when a too big index is referenced) by AurĂ©lien - hatelain - " +Fri, 17 Apr 2015 13:22:07 +0000 +Checked in by : Robert Osfield +Added --test-NodeMask option to test crash when a parent of osgmanipulator::AntiSquish node has a NodeMask set to 0x0.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14842 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-24 11:02 robert - * From AurĂ©lien Chatelain, "adds support for - * quad primitives - * face definition with the "vertex_index" label (previously only - "vertex_indices" was supported) - * replaces normal computation by the SmoothingVisitor to avoid - code duplication - " - - Submitted by Marc Helbling. +Thu, 16 Apr 2015 11:19:50 +0000 +Checked in by : Robert Osfield +Changed MSVC version test to <= to enable fallback for VS2010.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14841 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-24 10:55 robert - * From AurĂ©lien Chatelain, "the smoothing visitor did not handle - shared arrays. It may leads to bad geometry arrays when a shared - array is involved in the scene. - This submission adds shared array duplication (and moves the - SharedArrayOptimizer declaration in MeshOptimizer to make it - callable from the SmoothingVisitor)." - - Submitted by Marc Helbling. - Edited by Robet Osfield to retain the usual OSG coding style. +Thu, 16 Apr 2015 10:07:23 +0000 +Checked in by : Robert Osfield +Fixed crash when AntiSquish node is the root of the scene graph.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14840 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-24 10:47 robert - * From AurĂ©lien Chatelain, "updates the STL plugin: - * fixes vertex color support - * adds 'magics' color definition - * cleans options to make the plugin more consistent with other - plugins - * adds options to not tristrip geometries" - - Submitted by Marc Helbling. +Wed, 15 Apr 2015 18:34:16 +0000 +Checked in by : Robert Osfield +Updated ChangeLoggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14839 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-24 10:14 robert - * Aded shaders for various combinations of layers. +Wed, 15 Apr 2015 18:05:43 +0000 +Checked in by : Robert Osfield +Updated version number of dev releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14837 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-24 10:13 robert - * Added osgDB::readShaderFileWithFallback(..) convinience functions - to make it easier to set up reading external shader files with a - built in fallback. +Wed, 15 Apr 2015 17:12:52 +0000 +Checked in by : Robert Osfield +Added missing const to find VS2005 buildgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14836 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-23 14:20 robert - * Added support for reading Vec3 colour arrays +Tue, 14 Apr 2015 18:16:32 +0000 +Checked in by : Robert Osfield +Added check for changes to window size during GraphicsWindowWin32::init() to fix bug that occurs when the window manage resizes the window automatically on creation.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14835 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-23 12:10 robert - * Changes to allow the COLLADA plugin to compile against the latest - COLLADA DOM version 2.4 as well as retaining compatibility with - the old 2.2 DOM. +Tue, 14 Apr 2015 15:50:51 +0000 +Checked in by : Robert Osfield +From Philippe Renon, MingW build fixgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14834 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-22 10:35 robert - * Added comment about using -DCMAKE_DISABLE_FINDPACKAGE_* command - line. +Mon, 13 Apr 2015 11:48:28 +0000 +Checked in by : Robert Osfield +Fixed typo of SEPARATE enumsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14833 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-22 09:50 robert - * Added doxygen comment for ref_ptr<>::release(). +Mon, 13 Apr 2015 10:43:56 +0000 +Checked in by : Robert Osfield +From Jannik Heller, typo fixesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14832 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-22 09:49 robert - * Updated version number after dev release +Mon, 13 Apr 2015 10:11:32 +0000 +Checked in by : Robert Osfield +From Konstantin Matveyev, "I've added GLES3 profile, which also enables GLES2 features (OSG_GLES3_AVAILABLE=true => OSG_GLES2_AVAILABLE=true).If OSG_OPENGL_PROFILE="GLES3" => +GraphicsWindowIOS will create gles3 context. +If failed, GraphicsWindowIOS will create gles2 context. +Multisampling also working. -2014-12-19 11:00 robert +" - * Windows build error and warning fixes -2014-12-19 10:25 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14831 16af8721-9629-0410-8352-f15c8da7e697 - * Updated ChangeLog and AUTHORS file for dev release -2014-12-19 08:27 robert +Mon, 13 Apr 2015 09:50:27 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, I have modified the FindOpenEXR.cmake to find the debug libraries, and to define a variable (OPENEXR_LIBRARIES_VARS) with the variable names that might have a _DEBUG version defined.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14830 16af8721-9629-0410-8352-f15c8da7e697 - * Added if () block to avoid script variables set to NOT-Found - being used in searching -2014-12-19 08:25 robert +Mon, 13 Apr 2015 08:55:08 +0000 +Checked in by : Robert Osfield +Added passing of command line arguments to viewer construction to allow one to specify extra controls for the viewer such as window size etc.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14829 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed script warnings -2014-12-18 17:47 robert +Thu, 9 Apr 2015 18:42:08 +0000 +Checked in by : Robert Osfield +Refactored AntiSquish::computeUnSquishedMatrix() method to use the parent node path of the AntiSquish node to compute the required matrix rather than using the NodePath provided by the NodeVistor. This is required as in osg::computeLocalToWorld() usage case the NodeVisitor pointer is NULL, so the correct matrix isn't possible to compute.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14828 16af8721-9629-0410-8352-f15c8da7e697 - * From Aitor Moreno, LAS plugin - depends upon boost and liblas and - liblas-c -2014-12-18 16:52 robert +Thu, 9 Apr 2015 18:38:53 +0000 +Checked in by : Robert Osfield +Added WindowSizeHandler to osgmanipulator examplegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14827 16af8721-9629-0410-8352-f15c8da7e697 - * From Adrian Clark, build fix for recent Android NDK using the old - Android build approach. -2014-12-18 15:59 robert +Tue, 7 Apr 2015 18:01:12 +0000 +Checked in by : Robert Osfield +From Jannik Heller, typo fixesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14826 16af8721-9629-0410-8352-f15c8da7e697 - * From Mattias Helsing, "CMake have release 3.0 and 3.1 and we have - some bad checks for cmake - major version when settings cmake policies in CMakeLists.txt. - This fixes it" -2014-12-18 11:36 robert +Tue, 7 Apr 2015 16:58:31 +0000 +Checked in by : Robert Osfield +From Giampaolo Viganò, "you can find in the attached ZIP archive a fix for 3ds plugin transparent/diffuse textures and opacity maps and the support for reflection map"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14825 16af8721-9629-0410-8352-f15c8da7e697 - * Updated AUTHORS -2014-12-18 11:19 robert +Tue, 7 Apr 2015 15:53:17 +0000 +Checked in by : Robert Osfield +From Janik Heller, clean up of drawable/node usagegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14824 16af8721-9629-0410-8352-f15c8da7e697 - * Updated ChangeLog in prep for dev release -2014-12-18 11:09 robert +Tue, 7 Apr 2015 15:52:02 +0000 +Checked in by : Robert Osfield +Removed unused ShapesToGeometriesVisitor.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14823 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed warning -2014-12-18 10:59 robert +Tue, 7 Apr 2015 15:49:06 +0000 +Checked in by : Robert Osfield +Cleaned up handling of Drawables so it utilizes the Node inheritance properly.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14822 16af8721-9629-0410-8352-f15c8da7e697 - * Added DisplaySettings::s/getNvOptimusEnablement() and - OSG_NvOptimusEnablement env var control to control the setting of - the NvOptimusEnablement variable -2014-12-18 09:24 robert +Fri, 3 Apr 2015 15:43:34 +0000 +Checked in by : Robert Osfield +Build fix for VS2005.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14821 16af8721-9629-0410-8352-f15c8da7e697 - * From Sukender, "Added options to the FBX writer: an ascii/binary - switch, and the ability to select FBX version as the SDK handles - it (Ex: "FBX201300"). - - This allows the user to achieve backward compatibility, and debug - format issues using text output." -2014-12-18 09:03 robert +Fri, 3 Apr 2015 13:34:13 +0000 +Checked in by : Robert Osfield +Improved the doxygen comment for the new createImageWithOrientationConversion(..) function.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14820 16af8721-9629-0410-8352-f15c8da7e697 - * From Mattias Helsing, "The addition of the GStreamer cmake find - script broke my build because - cmake vars weren't passed correctly to find_package_handler_args, - so - while the find script didn't find a single required GStreamer lib - or - include path it still reported GSTREAMER_FOUND=TRUE (and then - tried to - compile the new plugin). This fixes it and correctly reports - missing - components." -2014-12-17 19:21 robert +Fri, 3 Apr 2015 13:29:31 +0000 +Checked in by : Robert Osfield +Added automatic rotation of jpeg image based on EXIF rotation information provided in the header.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14819 16af8721-9629-0410-8352-f15c8da7e697 - * Added support for using SDL2 to the osgmovie to enable it to - handle floating point audio formats -2014-12-17 19:20 robert +Fri, 3 Apr 2015 13:19:32 +0000 +Checked in by : Robert Osfield +Implemented an osg::createImageWithOrientationConversion(...) method to aid for changing orientation of images.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14818 16af8721-9629-0410-8352-f15c8da7e697 - * From Javier Taibo, " I have found that since version 1.1, FFMPEG - changed the way audio streams are retrieved, from packed to - planar format. SDL interprets packed audio, as is used in the - osgmovie example. To make the audio work when the OSGffmpeg - plug-in is compiled against recent FFMPEG versions, - FFmpegDecoderAudio must check for planar formats and in these - cases request the samples as packed. This way all works as - before. It can be checked with osgmovie example application. - - $ osgmovie --audio movie.avi.ffmpeg - FFmpegImageStream::open audio failed, audio stream will be - disabled: unknown audio format - - With the attached FFmpegDecoderAudio.cpp, audio sounds correctly. - - I am also attaching a modified version of FindFFmpeg.cmake that - allows to set as FFMPEG_DIR the ffmpeg compiled in the source - directory structure. It should not break anything as it only adds - some additional search paths. - - " - - Note from Robert Osfield, I have found in testing that audio - quality is not good for planar floating point formats, even with - adding support for SDL2 to the osgmovie example. I haven't yet - tracked down the cause of these audio problems or a solution. -2014-12-17 10:19 robert +Thu, 2 Apr 2015 16:11:22 +0000 +Checked in by : Robert Osfield +Added reading of EXIF_Orientation tags when present in a jpeg file.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14817 16af8721-9629-0410-8352-f15c8da7e697 - * From Sukender, "FBX writer was writing an empty file when the - scene had a root node being a Geode. - This was caused be the change in Drawable (now derived from Node) - and Geode (now derived from Group). - This fix simply sticks with previous behaviour. Another change - could be to adapt WriterNodeVisitor. - " -2014-12-16 17:37 robert +Thu, 2 Apr 2015 10:12:22 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, Windows build fixes, "These are the tweaks I had to make. JSON_Objects / json_stream headers attached. I am not sure how these will behave on VS 2010. Someone with VS 2010 should test it. Should be okay on VS 2008 and below + VS 2012 and above, though."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14816 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed warnings and memmory leaks -2014-12-16 17:15 robert +Wed, 1 Apr 2015 09:37:44 +0000 +Checked in by : Robert Osfield +From Lionel Largarde, "fix for the Image::computeNumberOfMipmapLevels method. The method did use the float version of the log function and the / operator. It works for most of the input sizes, but fails for 8192, 32768... For 8192, the method returns 13 instead of 14."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14814 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed warnings -2014-12-16 17:08 robert +Tue, 31 Mar 2015 19:31:34 +0000 +Checked in by : Robert Osfield +Fixed crash when using a subload callback, where the _images array is empty by _images[0] was still being accessed.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14813 16af8721-9629-0410-8352-f15c8da7e697 - * Improved handling of invalid/unhandled files - Added support for ImageStream::LoopigMode variable - Fixed memory leak associtied with restarting videos - Changed Image::setData() to Image::dirty() to avoid resetting - data -2014-12-16 11:20 robert +Tue, 31 Mar 2015 19:29:02 +0000 +Checked in by : Robert Osfield +Added --subload command line option and test subload callback for testing purposesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14812 16af8721-9629-0410-8352-f15c8da7e697 - * From Julen Garcia, "Here there is a small plugin I use to play - video files. It is based on GStreamer - http://gstreamer.freedesktop.org and I have used the FFmpeg - plugin as inspiration." - - From Robert Osfield, fixed handled of row widths so that they are - padded to a 4 byte boundary as certain row widths were being - rendered incorrectly. -2014-12-16 09:34 robert +Tue, 31 Mar 2015 16:23:43 +0000 +Checked in by : Robert Osfield +Introduced osg::Camera::resize(..) method and associated enum thus: enum ResizeMask + { + RESIZE_VIEWPORT=1, + RESIZE_ATTACHMENTS=2, + RESIZE_PROJECTIONMATRIX=4, + RESIZE_DEFAULT=RESIZE_VIEWPORT|RESIZE_ATTACHMENTS + }; - * From Marc Helbling, "please find enclosed a submission that - should improve the VertexAccessOrderVisitor (pre-transform) - optimizer: - * it sorts primitives to keep "more complex" primitives first; - maybe you'll prefer to have this as an option (but usually it - should make more sense to pre-transform triangles before e.g. - lines) - * currently, the visitor rely on TriangleIndexFunctor and does - not take care of points and lines (see - https://github.com/openscenegraph/osg/blob/master/include/osg/TriangleIndexFunctor#L124-130). - This can lead to issues e.g. if you store the wireframe lines - along with some triangles: the triangles will be reindexed but - not the line. I've therefore added - osg/include/TriangleLinePointIndexFunctor to index triangles, - lines and points and derived VertexReorder from this class. - * to avoid issues, shared arrays are duplicated. However, in some - cases (e.g. an UV channel shared in the geometry only) this is - not required. I'm adding a SharedArrayOptimizer to optimize this: - it looks for duplicated UVs before the array duplication and - deduplicate arrays after. - " + /** Resize, to the specified width and height, the viewport, attachments and projection matrix according to the resizeMask provided. + * Note, the adjustment of the projection matrix is done if the RESIZE_PROJECTIONMATRIX mask to set and according to the rules specified in the ProjectionResizePolicy. */ + void resize(int width, int height, int resizeMask=RESIZE_DEFAULT); -2014-12-15 17:15 robert - * From Marc Helbling, "please find the mergeTriangleStrip code - merged in osgUtil::TriStripVisitor. - I've removed the references to DrawArrays as we should no longer - produce any. - - Note that: - * as the name suggest, it only works for triangle strips but - could probably be easily extended to quads - * the resulting primitive is not highly optimized; we could - probably sort the strips in order to minimize the number of - primitive restart - * as we may merge DrawElementsUInt and DrawElementUShort, the - code will only generate DrawElementsUInt" -2014-12-10 18:23 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14811 16af8721-9629-0410-8352-f15c8da7e697 - * Build fix -2014-12-10 13:05 robert +Tue, 31 Mar 2015 15:08:13 +0000 +Checked in by : Robert Osfield +Introduced Camera::resizeAttachments(int width, int height) to resize all the Texture and Image assigned the the Camera attachments.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14810 16af8721-9629-0410-8352-f15c8da7e697 - * Added OpenGL Transform Feedback extensions. -2014-12-10 12:23 robert +Tue, 31 Mar 2015 10:41:33 +0000 +Checked in by : Robert Osfield +Refactor the RTT Camera resize code into a seperate Callback method in prep for this all being done by a single Camera API call.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14809 16af8721-9629-0410-8352-f15c8da7e697 - * From Marcus Hein, Added support for OpenGL SSBO and SSBB via - osg::ShaderStorageBufferObject and - osg::ShaderStorageBufferBinding to core OSG library, and added - new osgSSBO example -2014-12-10 11:44 robert +Tue, 31 Mar 2015 10:36:38 +0000 +Checked in by : Robert Osfield +Added Camera::dirtyAttachmentMap(), Camera::s/getAttachmentMapModified() value and usage of this in RenderStage as a new mechanism for telling the rendering backend to update itself to reflect new values in the attachments such as new texture or image sizes.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14808 16af8721-9629-0410-8352-f15c8da7e697 - * Added GLDefines header -2014-12-10 11:29 robert +Mon, 23 Mar 2015 11:36:02 +0000 +Checked in by : Robert Osfield +Added StatsHandler to osgtessellationshaders example to test out rendering bug associated with stats rendering.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14807 16af8721-9629-0410-8352-f15c8da7e697 - * From Farshid Lashkari, "The Collada loader would crash while - processing textures on certain files. I've attached the fix." -2014-12-10 10:44 robert +Fri, 20 Mar 2015 17:58:34 +0000 +Checked in by : Robert Osfield +Added event handle to alter the RTT Camera's dimensions to follow the windows resizes.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14806 16af8721-9629-0410-8352-f15c8da7e697 - * Removed old GL2Extensions class, replacing it with a typedef to - GL2Extensions - Removed old includes to include/osg/GL2Extensions -2014-12-10 10:38 robert +Fri, 20 Mar 2015 15:49:12 +0000 +Checked in by : Robert Osfield +Fixed resize dimensions of X11 windowgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14805 16af8721-9629-0410-8352-f15c8da7e697 - * Moved GL2Extensions functionality into the - include/osg/GLExtensions header and new GLExtensions object. - Moved the #defines into new include/osg/GLDefines - Converted all GL2Extensions usage to GLExtensions usage -2014-12-10 09:11 robert +Fri, 20 Mar 2015 11:48:21 +0000 +Checked in by : Robert Osfield +From Jannik Heller, "Fix for Qt4 multi-threaded crash. This patch adds the AA_X11InitThreads flag to the QApplication setup, meaning QT will call XInitThreads for us. This also bumps the required QT version to 4.8+, because the AA_X11InitThreads flag was introduced in that version. If that is not acceptable, we could add a QT_VERSION >= 0x040800 guard, or manually call XInitThreads() instead. Let me know what you think."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14804 16af8721-9629-0410-8352-f15c8da7e697 - * Streamlined the extension functions -2014-12-09 21:33 robert +Thu, 19 Mar 2015 10:49:17 +0000 +Checked in by : Robert Osfield +Added Texture wrap setting to CLAMP_TO_EDGE to fix rendering problem when running the default osgdistortion examplegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14803 16af8721-9629-0410-8352-f15c8da7e697 - * Added #ifdef's around GLsync typedef -2014-12-09 20:09 robert +Tue, 17 Mar 2015 18:10:21 +0000 +Checked in by : Robert Osfield +Fixed VisualStudio warninggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14802 16af8721-9629-0410-8352-f15c8da7e697 - * Windows build fixes -2014-12-09 19:31 robert +Tue, 17 Mar 2015 14:50:34 +0000 +Checked in by : Robert Osfield +From Konstantin Matveyev, "Added ComputeBoundingBoxCallback, ComputeBoundingSphereCallback and UpdateCallback implmenentations to serializers"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14801 16af8721-9629-0410-8352-f15c8da7e697 - * Added new examples to runexamples.bat script -2014-12-09 19:22 robert +Tue, 17 Mar 2015 09:40:31 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file for dev releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14800 16af8721-9629-0410-8352-f15c8da7e697 - * Quietened down debug messages -2014-12-09 19:20 robert +Tue, 17 Mar 2015 09:09:10 +0000 +Checked in by : Robert Osfield +Fixed library wrappergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14798 16af8721-9629-0410-8352-f15c8da7e697 - * From Wand Rui, "I've rewritten the osgblenddrawbuffers example to - use the new BlendFunci and Capability classes. Hope it will tell - others how to make use of the new functionality and why they are - important in modern MRT-based applications." -2014-12-09 18:30 robert +Tue, 17 Mar 2015 08:25:49 +0000 +Checked in by : Robert Osfield +Added ComputeBoundingSphereCallback referencegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14796 16af8721-9629-0410-8352-f15c8da7e697 - * Moved FBO Extensions into GL2Extensions. -2014-12-09 14:58 robert +Tue, 17 Mar 2015 08:24:01 +0000 +Checked in by : Robert Osfield +From Konstantin Matveyev, "More "LibraryWrapper" fixes for osg and osgAnimation NodeKits in the attachment (for 3.3.6 version :)Fixes: - * Removed no longer used Extension definition +osg: +Unsupported associated class osg::UpdateCallback (osg_Drawable_UpdateCallback); +ComputeBoundingBoxCallback -2014-12-09 14:57 robert +osgAnimation: +Unsupported wrapper class osgAnimation::RigComputeBoundingBoxCallback +" - * Moved local Extensions structs into GL2Extensions -2014-12-09 11:14 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14795 16af8721-9629-0410-8352-f15c8da7e697 - * Moveved Stencil/StencilTwoSided::Extensions into GL2Extensions -2014-12-09 10:37 robert +Tue, 17 Mar 2015 08:19:05 +0000 +Checked in by : Robert Osfield +Changed to using osgDB::ofstream to work around Windows build issuegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14794 16af8721-9629-0410-8352-f15c8da7e697 - * Moved local Extensions objects to GL2Extensions -2014-12-09 10:05 robert +Mon, 16 Mar 2015 17:01:57 +0000 +Checked in by : Robert Osfield +Removed unneccessary library link line.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14793 16af8721-9629-0410-8352-f15c8da7e697 - * Moved Texture*::Extensions functionality into GL2Extensions -2014-12-08 16:08 robert +Mon, 16 Mar 2015 14:16:52 +0000 +Checked in by : Robert Osfield +Removed the using namespace std and replaced with local std:: to make the code clearergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14792 16af8721-9629-0410-8352-f15c8da7e697 - * MOved VertexProgram and FragmentProgram::Extensions into - GL2Extensions. -2014-12-08 11:08 robert +Mon, 16 Mar 2015 12:13:44 +0000 +Checked in by : Robert Osfield +Refactored the command line setup to enable better control of set up. Added WindowSizeHandler to allow for adjustment of window size.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14791 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed memory leak in RenderStageCache. -2014-12-07 17:31 robert +Mon, 16 Mar 2015 10:30:18 +0000 +Checked in by : Robert Osfield +From Konstantin Matveyev, "Last update in the osgAnimation::Animation ONCE mode bug fix"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14789 16af8721-9629-0410-8352-f15c8da7e697 - * MOved SampleMaski::Extensions into osg::GL2Extensions -2014-12-05 20:05 robert +Mon, 16 Mar 2015 10:07:13 +0000 +Checked in by : Robert Osfield +Added --play-mode [ONCE, STAY, LOOP, PPONG] to help with testing.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14788 16af8721-9629-0410-8352-f15c8da7e697 - * Moved TextureCubeMap::Extension functionality into GL2Extensions -2014-12-05 17:26 robert +Fri, 13 Mar 2015 08:12:26 +0000 +Checked in by : Robert Osfield +From Konstantin Matveyev, "Small fix for OSG 3.3.6.119 in the attachment.One line added in osg/LibraryWrapper.cpp - * Moved osg::Drawable::Extensions into osg::GL2Extensions +USE_SERIALIZER_WRAPPER(Callback) +" -2014-12-05 10:37 robert - * Fixed windows build warnings -2014-12-05 09:52 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14786 16af8721-9629-0410-8352-f15c8da7e697 - * Windows build fix -2014-12-05 08:58 robert +Thu, 12 Mar 2015 17:11:11 +0000 +Checked in by : Robert Osfield +Refactored how the callbacks for updating geometry are managed in MorphGeometry and RigGeometry to address bugs in serialization.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14784 16af8721-9629-0410-8352-f15c8da7e697 - * From the GLintptr + GLsizeiptr defintions to GL2Extensions header -2014-12-04 19:03 robert +Thu, 12 Mar 2015 15:12:29 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "attached is a zip with a modified version of: OpenSceneGraph\CMakeModules\FindFBX.cmakeThis version can find fbx sdk 2015.1 and will prefer it over older versions. - * Moved osg::BlenFunc::Extensions into osg::GL2Extensions +Tested with Visual Studio Express 2013 on 64bit windows 7" -2014-12-04 18:13 robert - * Moved GLBufferObject::Extensions structure into - osg::GL2Extensions +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14782 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-04 18:12 robert - * Removed redundent spaces +Thu, 12 Mar 2015 13:41:00 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, add copyright notice from other osgjs header to the json_stream headergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14781 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-04 17:12 robert - * Added glMemoryBarrier, glMapBufferRange and glBindBufferBase to - GL2Extensions +Thu, 12 Mar 2015 13:37:08 +0000 +Checked in by : Robert Osfield +Added using namespace std and removed the std:: prefixes before the std::isfinte and std::isinf function calls to avoid problems with Android builds against older NDK's.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14780 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-04 16:28 robert - * Moved old GL2Extensions::Get(..) usage across to new - osg::State::get() usage +Wed, 11 Mar 2015 17:47:08 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, warning fixesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14778 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-04 16:22 robert - * Ported GL2Extentions across to using the new GL extensions - approach - cutting code count by 3000 lines! +Wed, 11 Mar 2015 17:36:45 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "The current version will not compile with SDL version 2, error OpenSceneGraph\src\osgPlugins\sdl\JoystickDevice.cpp(42): error C2664: 'const char *SDL_JoystickName(SDL_Joystick *)' : cannot convert argument 1 from 'int' to 'SDL_Joystick *' due to changes in the SDL api.Tested with Visual Studio Express 2013; SDL 2.0.1" -2014-12-04 15:10 robert - * Build fix for when ref_ptr<> auto conversion is disabled +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14776 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-03 17:31 robert - * Added osg::Capability and Cabibilityi base classes to wrap up - glEnable/glDisable + glEnablei/glDisablei functionality, with - osg::Enablei and osg::Disablei concrete implementations. +Wed, 11 Mar 2015 17:27:08 +0000 +Checked in by : Robert Osfield +Completed support for assigning 3D osg::Image to osg::Texture2DArray.Improved the osgtexture2DArray example to add --mipmap and --packed command line options to help with testing. -2014-12-02 17:12 robert - * Added osg::BlendFunci, osg::BlendEquationi and osg::ColorMaski - StateAttrirbutes that wrap the glBlendFunci, glBlendEquationi and - glColorMaski functions +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14775 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-02 15:37 robert - * Moved BlendEquation across to using the new GL extension setup - approach. +Wed, 11 Mar 2015 15:44:23 +0000 +Checked in by : Robert Osfield +Updated the comments to be more relevantgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14774 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-02 15:21 robert - * Fixed typo +Tue, 10 Mar 2015 18:15:02 +0000 +Checked in by : Robert Osfield +Work in progress to allow osg::Texture2DArray to be set up with a single osg::Image containing 3D image data.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14773 16af8721-9629-0410-8352-f15c8da7e697 -2014-12-02 11:10 robert - * Added a template get and get_exisiting method into osg::State - that implements a new mechanism for managing OpenGL extensions. - - Refactored the BendFunc::Extensions usage to simplify it - utilizing the new osg::State extension mechanism. +Tue, 10 Mar 2015 18:07:17 +0000 +Checked in by : Robert Osfield +Work in progress on new osgtexture2DArray examplegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14772 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-28 16:20 robert - * From Rafa Gaitan, "I'm attaching also a new version of the - toolchain with support for the r10c ndk. This fixes some CMake - Warnings and allows to use the toolchain in macosx." +Mon, 9 Mar 2015 11:27:26 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, gles and osgjs plugins that support conversion of OSG loaded models into a form that can be used with osgjs JavaScript librarygit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14770 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-28 16:10 robert - * Removed include/osg/Version and include/OpenThreads/Version - headers as these are autogenerated. - - Changed the paths for the OpenThreads/osg Version headers to be - placed in the PROJECT_BINARY_DIR. +Thu, 5 Mar 2015 19:53:17 +0000 +Checked in by : Robert Osfield +Update AUTHORS file for 3.3.6 dev releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14768 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-28 10:54 robert - * Standardized on defined(__ANDROID__) +Thu, 5 Mar 2015 19:33:17 +0000 +Checked in by : Robert Osfield +Updated dev release numbergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14767 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-28 10:52 robert - * Added getlocaledecpoint() workaround for Android build of lua - plugin +Thu, 5 Mar 2015 19:26:08 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for dev releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14765 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-27 15:54 robert - * Added in source shaders +Thu, 5 Mar 2015 10:53:28 +0000 +Checked in by : Robert Osfield +Added check for newline at end of version line, and of it's not add a '\n'git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14761 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-27 15:39 robert - * Changed the name of shader files +Wed, 4 Mar 2015 18:39:04 +0000 +Checked in by : Robert Osfield +Updated SO_VERSION after changes to osgPresentationgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14760 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-26 20:40 robert - * From Jason Beverage, "It looks like the Callback header got - accidentally removed from the CMakeLists.txt in the submission - yesterday for the geometry instancing example." +Wed, 4 Mar 2015 18:36:44 +0000 +Checked in by : Robert Osfield +Restructed the osgPresentation and present3D directories back to the structure that was present in OSG-3.2git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14759 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-26 19:05 robert - * Windows build fix +Wed, 4 Mar 2015 17:42:30 +0000 +Checked in by : Robert Osfield +Removed the experiemental osgPresentation classes. These are only partially functional and not appropriate for the stable OSG-3.4 releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14758 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-26 17:08 robert - * Fixed warnings +Tue, 3 Mar 2015 15:26:15 +0000 +Checked in by : Robert Osfield +Updated AUTHORS for 3.3.5 dev releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14756 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-26 17:04 robert - * Fixed warnings +Tue, 3 Mar 2015 14:59:37 +0000 +Checked in by : Robert Osfield +Fixed ClusterCullingCallback parser problem due to osg::Callback not being included in inheritance listgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14755 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-26 16:29 robert - * Fixed deprecated warnings +Tue, 3 Mar 2015 12:56:09 +0000 +Checked in by : Robert Osfield +Restructed the checks in the CollectLowestTransformsVisitor::removeTransforms() to avoid benign case being flagged as warning.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14753 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-26 16:15 robert - * Fixed warning +Tue, 3 Mar 2015 12:03:23 +0000 +Checked in by : Robert Osfield +From Miha Ravselj, "Regarding previous submission it was only partial solution. After further testing I found similar bug also in ClearNode serializer.//GLbitfield mask = GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT; +This line was problematic since it produced incorrect result when let's say COLOR flag is serialized +it should be null as in Camera serializer or in a proposed BitFlagsSerializer -2014-11-26 16:04 robert - * Fixed warnings. +This line of code caused that whenever only GL_COLOR_BUFFER_BIT bit was written and on value read GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT was restored instead of GL_COLOR_BUFFER_BIT only. -2014-11-26 16:00 robert +//GLbitfield mask = 0; //this resolves the issue same as in camera +Also same bit-wise comparison bug was also present in write method. +------------------------------------------------------------------------------------- - * Fixed warning +As you can see there are total 3 bit mask serializers in OSG and all 3 had bugs so I decided to add ADD_BITFLAGS_SERIALIZER and replace USER serializers in osg::Camera, osg::ClearNode and osgText::TextBase. I have made sure that bitflags serializer does not break backwards-compatibility since it uses same code as user serializer does in all 3 cases. (see tester.cpp on how compatibility test was performed)" -2014-11-26 15:59 robert - * Fixed warning -2014-11-26 14:06 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14752 16af8721-9629-0410-8352-f15c8da7e697 - * Added osgTerrain::DisplacementMappingTechnique serializer -2014-11-26 14:04 robert +Tue, 3 Mar 2015 12:00:52 +0000 +Checked in by : Robert Osfield +Re-organized the #ifdef's to avoid usage of glPolyginMode under GLESgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14751 16af8721-9629-0410-8352-f15c8da7e697 - * Renamed ShaderTerrain to DisplacementMappingTechnique and moved - it from the osgterrain example testbed into the osgTerrain - NodeKit -2014-11-26 13:36 robert +Mon, 2 Mar 2015 14:38:17 +0000 +Checked in by : Robert Osfield +Updated SO_VERSION to take account of API changes in osgDBgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14749 16af8721-9629-0410-8352-f15c8da7e697 - * Moved osgTerrain::GeometryPool from osgterrain example into - osgTerrain NodeKit -2014-11-25 14:37 robert +Mon, 2 Mar 2015 12:11:43 +0000 +Checked in by : Robert Osfield +From Johannes Scholz, "Attached you find a patch for osgDB::OutputStream and osgDB::InputStream to include osg::Image::data() using Base64 encoding inside the ASCII OSGT, if WriteImageHint=IncludeData is set, only."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14748 16af8721-9629-0410-8352-f15c8da7e697 - * Removed GL header as it's already included via the - ${OPENSCENEGRAPH_OPENGL_HEADER} entry. -2014-11-25 10:58 robert +Mon, 2 Mar 2015 12:09:25 +0000 +Checked in by : Robert Osfield +From Michael McDonnel, "The tessellation shader example has a small bug.The middle of the geometry is clipped as soon as it is tessellated. The clipping is probably caused by rounding errors because it is only in one spot. The clipping disappears when the camera is moved, and reappears when it is moved back. Expanding the the bounding box fixed the clipping bug."Tweaked by Robert Osfield to expand it to a -1 to 1 unit box. +Actual clipping bug is not due to rounding errors but the shaders creating vertices outside the bounding box of the original input vertices - * From PawelKsiezopolski, "This submission contains a new example - for OSG : a geometry instancing rendering - algorithm consisting of two consequent phases : - - - first phase is a GLSL shader performing object culling and LOD - picking ( a culling shader ). - Every culled object is represented as GL_POINT in the input - osg::Geometry. - The output of the culling shader is a set of object LODs that - need to be rendered. - The output is stored in texture buffer objects. No pixel is drawn - to the screen - because GL_RASTERIZER_DISCARD mode is used. - - - second phase draws osg::Geometry containing merged LODs using - glDrawArraysIndirect() - function. Information about quantity of instances to render, its - positions and other - parameters is sourced from texture buffer objects filled in the - first phase. - - The example uses various OpenGL 4.2 features such as texture - buffer objects, - atomic counters, image units and functions defined in - GL_ARB_shader_image_load_store - extension to achieve its goal and thus will not work on graphic - cards with older OpenGL - versions. - - The example was tested on Linux and Windows with NVidia 570 and - 580 cards. - The tests on AMD cards were not conducted ( due to lack of it ). - The tests were performed using OSG revision 14088. - - The main advantages of this rendering method : - - instanced rendering capable of drawing thousands of different - objects with - almost no CPU intervention ( cull and draw times are close to 0 - ms ). - - input objects may be sourced from any OSG graph ( for example - - information about - object points may be stored in a PagedLOD graph. This way we may - cover the whole - countries with trees, buildings and other objects ). - Furthermore if we create osgDB plugins that generate data on the - fly, we may - generate information for every grass blade for that country. - - every object may have its own parameters and thus may be - distinct from other objects - of the same type. - - relatively low memory footprint ( single object information is - stored in a few - vertex attributes ). - - no GPU->CPU roundtrip typical for such methods ( method uses - atomic counters - and glDrawArraysIndirect() function instead of OpenGL queries. - This way - information about quantity of rendered objects never goes back to - CPU. - The typical GPU->CPU roundtrip cost is about 2 ms ). - - this example also shows how to render dynamic objects ( objects - that may change - its position ) with moving parts ( like car wheels or airplane - propellers ) . - The obvious extension to that dynamic method would be the - animated crowd rendering. - - rendered objects may be easily replaced ( there is no need to - process the whole - OSG graphs, because these graphs store only positional - information ). - - The main disadvantages of a method : - - the maximum quantity of objects to render must be known - beforehand - ( because texture buffer objects holding data between phases have - constant size ). - - OSG statistics are flawed ( they don't know anymore how many - objects are drawn ). - - osgUtil::Intersection does not work - - Example application may be used to make some performance tests, - so below you - will find some extended parameter description : - --skip-dynamic - skip rendering of dynamic objects if you only - want to - observe static object statistics - --skip-static - the same for static objects - --dynamic-area-size - size of the area for dynamic rendering. - Default = 1000 meters - ( square 1000m x 1000m ). Along with density defines - how many dynamic objects is there in the example. - --static-area-size - the same for static objects. Default = 2000 - meters - ( square 2000m x 2000m ). - - Example application defines some parameters (density, LOD ranges, - object's triangle count). - You may manipulate its values using below described modifiers: - --density-modifier - density modifier in percent. Default = 100%. - Density ( along with LOD ranges ) defines maximum - quantity of rendered objects. registerType() function - accepts maximum density ( in objects per square kilometer ) - as its parameter. - --lod-modifier - defines the LOD ranges. Default = 100%. - --triangle-modifier - defines the number of triangles in finally - rendered objects. - Default = 100 %. - --instances-per-cell - for static rendering the application - builds OSG graph using - InstanceCell class ( this class is a modified version of Cell - class - from osgforest example - it builds simple quadtree from a list - of static instances ). This parameter defines maximum number - of instances in a single osg::Group in quadtree. - If, for example, you modify it to value=100, you will see - really big cull time in OSG statistics ( because resulting - tree generated by InstanceCell will be very deep ). - Default value = 4096 . - --export-objects - write object geometries and quadtree of - instances to osgt files - for later analysis. - --use-multi-draw - use glMultiDrawArraysIndirect() instead of - glDrawArraysIndirect() in a - draw shader. Thanks to this we may render all ( different ) - objects - using only one draw call. Requires OpenGL version 4.3 and some - more - work from me, because now it does not work ( probably I - implemented - it wrong, or Windows NVidia driver has errors, because it hangs - the apllication at the moment ). - - This application is inspired by Daniel Rákos work : "GPU based - dynamic geometry LOD" that - may be found under this address : - http://rastergrid.com/blog/2010/10/gpu-based-dynamic-geometry-lod/ - There are however some differences : - - Daniel Rákos uses GL queries to count objects to render, while - this example - uses atomic counters ( no GPU->CPU roundtrip ) - - this example does not use transform feedback buffers to store - intermediate data - ( it uses texture buffer objects instead ). - - I use only the vertex shader to cull objects, whereas Daniel - Rákos uses vertex shader - and geometry shader ( because only geometry shader can send more - than one primitive - to transform feedback buffers ). - - objects in the example are drawn using glDrawArraysIndirect() - function, - instead of glDrawElementsInstanced(). - - Finally there are some things to consider/discuss : - - the whole algorithm exploits nice OpenGL feature that any GL - buffer - may be bound as any type of buffer ( in our example a buffer is - once bound - as a texture buffer object, and later is bound as - GL_DRAW_INDIRECT_BUFFER ). - osg::TextureBuffer class has one handy method to do that trick ( - bindBufferAs() ), - and new primitive sets use osg::TextureBuffer as input. - For now I added new primitive sets to example ( - DrawArraysIndirect and - MultiDrawArraysIndirect defined in - examples/osggpucull/DrawIndirectPrimitiveSet.h ), - but if Robert will accept its current implementations ( I mean - - primitive - sets that have osg::TextureBuffer in constructor ), I may add it - to - osg/include/PrimitiveSet header. - - I used BufferTemplate class writen and published by Aurelien in - submission forum - some time ago. For some reason this class never got into - osg/include, but is - really needed during creation of UBOs, TBOs, and possibly SSBOs - in the future. - I added std::vector specialization to that template class. - - I needed to create similar osg::Geometries with variable number - of vertices - ( to create different LODs in my example ). For this reason I've - written - some code allowing me to create osg::Geometries from osg::Shape - descendants. - This code may be found in ShapeToGeometry.* files. Examples of - use are in - osggpucull.cpp . The question is : should this code stay in - example, or should - it be moved to osgUtil ? - - this remark is important for NVidia cards on Linux and Windows - : if - you have "Sync to VBlank" turned ON in nvidia-settings and you - want to see - real GPU times in OSG statistics window, you must set the power - management - settings to "Prefer maximum performance", because when "Adaptive - mode" is used, - the graphic card's clock may be slowed down by the driver during - program execution - ( On Linux when OpenGL application starts in adaptive mode, clock - should work - as fast as possible, but after one minute of program execution, - the clock slows down ). - This happens when GPU time in OSG statistics window is shorter - than 3 ms. - " -2014-11-25 10:33 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14747 16af8721-9629-0410-8352-f15c8da7e697 - * Removed DrawArrays optimization to simplify the code and open the - door to adding primitive combining. -2014-11-25 10:11 robert +Sun, 1 Mar 2015 15:20:37 +0000 +Checked in by : Robert Osfield +Fixed StateSet::Define names to match OpenSceneGraph-Data/shaders.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14745 16af8721-9629-0410-8352-f15c8da7e697 - * Commented out State::setUpVertexAttribAlias(..) debug message. -2014-11-24 15:19 robert +Sun, 1 Mar 2015 11:08:58 +0000 +Checked in by : Robert Osfield +From Jannik Heller, "I noticed the rotation in the OrbitManipulator depends on the framerate. To reproduce this issue, start the osganimate example, rotate the model with the left mouse button, then let go of the mouse button while still moving. You will notice that with V-Sync enabled, the model rotates slower.The OrbitManipulator calculates a scale to counteract the framerate dependency, but it turns out this scale wasn't used for the rotation yet." - * From Jan Klimke, "i noticed, that there are a couple of - additional flaws when building osg for Mac OS X 10.10 Yosemite. - - The mac os sdk version is recognized by the current CMAKE script - as 10.1 instead of 10.10 since it cuts the version string from - the 4th place. I introduced a more reliable version checking - based on splitting the returned version code into MAJOR MINOR and - PATCH parts and reassemble the OSG sdk version afterwards. - - I replaced the existing CMake code against the following - (returning now version 10.10 as expected): - - # Determine the canonical name of the selected Platform SDK - EXECUTE_PROCESS(COMMAND "/usr/bin/sw_vers" "-productVersion" - OUTPUT_VARIABLE OSG_OSX_SDK_NAME - OUTPUT_STRIP_TRAILING_WHITESPACE) - STRING(REPLACE "." ";" MACOS_VERSION_LIST ${OSG_OSX_SDK_NAME}) - LIST(GET MACOS_VERSION_LIST 0 MACOS_VERSION_MAJOR) - LIST(GET MACOS_VERSION_LIST 1 MACOS_VERSION_MINOR) - LIST(GET MACOS_VERSION_LIST 2 MACOS_VERSION_PATCH) - - SET(OSG_OSX_SDK_NAME - "macosx${MACOS_VERSION_MAJOR}.${MACOS_VERSION_MINOR}") - - Also i added the check for the new Version to some more find - scripts. - - Additionally the nil object in Objective C now seems to be - equivalent with a null_ptr that cannot be passed as GLInt - anymore. So i switched this in the PixelBufferCocoa.mm to pass a - zero instead of nil. - " -2014-11-24 14:54 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14744 16af8721-9629-0410-8352-f15c8da7e697 - * Added VertexAttribDivisor class to wrap up glVertexAttribDivisor - function -2014-11-24 14:09 robert +Fri, 27 Feb 2015 10:01:56 +0000 +Checked in by : Robert Osfield +Updated version number after dev release.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14740 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed osgsimplegl3 example's set up of the main camera. -2014-11-24 14:01 robert +Fri, 27 Feb 2015 09:47:58 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and Contributors to fix trailing spacesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14738 16af8721-9629-0410-8352-f15c8da7e697 - * Added numTextureUnits parameter to the - osg::State::resetVertexAttributeAlias(bool, unit) method, and set - the default to 8. -2014-11-21 20:16 robert +Fri, 27 Feb 2015 09:05:04 +0000 +Checked in by : Robert Osfield +Fixed Windows warningsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14737 16af8721-9629-0410-8352-f15c8da7e697 - * From Alberto Luaces,"the current code uses the preprocessor for - generating the plugin path in - a way that when CMAKE_INSTALL_PREFIX contains something along the - lines - of - - /usr/x86_64-linux-gnu/ - - it gets substituted as - - /usr/x86_64-1-gnu/ - - that is, the string is preprocessed again, thereby making changes - to - anything that matches any defined symbol, as "linux" in this - example - (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763816). - - Quoting that path directly in CMake scripts solves that problem. - " -2014-11-21 20:15 robert +Fri, 27 Feb 2015 04:29:30 +0000 +Checked in by : Robert Osfield +Fixes for warningsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14736 16af8721-9629-0410-8352-f15c8da7e697 - * Added comment clarifying how Image::getColor(..) out of 0..1 - range texcoords are handled - now clamped to edge. -2014-11-21 17:22 robert +Thu, 26 Feb 2015 20:15:36 +0000 +Checked in by : Robert Osfield +Fixed build with auto ptr conversion switched offgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14735 16af8721-9629-0410-8352-f15c8da7e697 - * Implemented a clamp to edge policy for the - Image::g/setColor(color, texcoord). -2014-11-21 17:17 robert +Thu, 26 Feb 2015 19:51:56 +0000 +Checked in by : Robert Osfield +Updated AUTHORSgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14733 16af8721-9629-0410-8352-f15c8da7e697 - * Added testing for Drawables in the CopyOp::operator(Node*) to - replicate the old functionality. -2014-11-21 16:27 robert +Thu, 26 Feb 2015 19:14:28 +0000 +Checked in by : Robert Osfield +From Bradley Baker Searles, "We had someone replace a DDS texture with a GL_RGB/GL_UNSIGNED_SHORT_5_6_6 image, which would trigger a crash in Image.cpp while flipping the mipmap chain. The code was trying to flip the mipmaps using the rowStep for the full-size image (we have "dds_flip" set in the osgDB::ReaderWriter::Options in the osgDB::Registry)."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14732 16af8721-9629-0410-8352-f15c8da7e697 - * From Sebastian Messerschmidt, "Added setColor function to modify - an image based on texture coordinates, parallel to the getColor - functionality." -2014-11-21 14:46 robert +Thu, 26 Feb 2015 18:06:06 +0000 +Checked in by : Robert Osfield +From Bradley Baker Searles, "Small patch attached to handle DDS flip when s=4. Currently it will omit flipping and generate a warning: "Vertical flip was skipped. Image dimensions have to be multiple of 4."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14729 16af8721-9629-0410-8352-f15c8da7e697 - * Added --db-affinit cpuNum option to osgterrain example to - illustrate how to set the thead affinity of the DatabasePager - threads. -2014-11-21 10:44 robert +Thu, 26 Feb 2015 17:49:36 +0000 +Checked in by : Robert Osfield +From Julien Valentin and Alberto Luaces, added support for transform feedback extensionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14728 16af8721-9629-0410-8352-f15c8da7e697 - * From Sebastian Messerschmidt, "Attached you find a change adding - a getNumSamples() function to retrieve the value set via - setNumSamples." -2014-11-21 10:37 robert +Thu, 26 Feb 2015 17:18:31 +0000 +Checked in by : Robert Osfield +Update AUTHORS filegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14727 16af8721-9629-0410-8352-f15c8da7e697 - * From Rafa Gaitan, "I finally had some time to change the build - system for Android using a Toolchain, which, I think, will be - easier to maintain and uses cmake standard system to build it. - - My changes: - ------------------- - - I changed the cmake files and added a toolchain for building - OSG in Android. The toolchain is based on the one used at OpenCV. - For building OSG for android you just need to do: - - mkdir build_android_static_gles2 && cd build_android_static_gles2 - cmake .. -DANDROID_NDK= - -DCMAKE_TOOLCHAIN_FILE=../PlatformSpecifics/Android/android.toolchain.cmake - -DOPENGL_PROFILE="GLES2" - -DDYNAMIC_OPENTHREADS=OFF - -DDYNAMIC_OPENSCENEGRAPH=OFF - -DANDROID_NATIVE_API_LEVEL=15 # optional - -DANDROID_ABI=armeabim #optional - -DCMAKE_INSTALL_PREFIX= #optional - make -j 8 - make install - - The OPENGL_PROFILE works as expected, changing it to "GLES1" it - builds and links OSG using GLES1. - The DYNAMIC_OPENTHREADS/DYNAMIC_OPENSCENEGRAPH parameters also - allows to build the dynamic libraries - - - I also added some build fixes for android related to the - texture formats and added some missing USE_OSG_SERIALIZER_WRAPPER - in the osg serializer library to support loading osgb files in - static." -2014-11-21 10:21 robert +Thu, 26 Feb 2015 14:16:22 +0000 +Checked in by : Robert Osfield +Fixed typogit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14725 16af8721-9629-0410-8352-f15c8da7e697 - * From Björn Blissing, fix for ambiguous defines in Atomic.cpp when - compiling with MinGW and GCC -2014-11-20 17:37 robert +Thu, 26 Feb 2015 13:52:12 +0000 +Checked in by : Robert Osfield +Regenerated AUTHORS.txt to fix missing special charactersgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14724 16af8721-9629-0410-8352-f15c8da7e697 - * From Claus Steuer, "XCode 6, IOs 8.1 SDK Compile fix : There are - some undefined texture formats when compiling osg for IOs 8.1 - with XCode 6 and OpenGLES2 enabled." -2014-11-20 17:00 robert +Wed, 25 Feb 2015 19:59:01 +0000 +Checked in by : Robert Osfield +Updated AUTHORS filegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14723 16af8721-9629-0410-8352-f15c8da7e697 - * From Pjotr Svetachov, "I was experimenting with VBO's to try to - get them on par with display - lists when drawing lots of batches and noticed that my program - generated a lot of unneeded glClientActiveTexture calls. Digging - deeper I found out it came from State::disableTexCoordPointer - where - the function would call glClientActiveTexture but not - glDisableClientState because the geometry didn't have texture - coordinates for that channel. This is because in our scene there - are - some geometries that have move than one uv channels making - State::_texCoordArrayList grow. Then the method - State::applyDisablingOfVertexAttributes() will call - disableTexCoordPointer multiple times. - - I rearrange the method a little to combat this. Now the logic has - the - same ordering as disableTexCoordPointersAboveAndIncluding which - already combats this." -2014-11-20 16:38 robert +Wed, 25 Feb 2015 19:52:00 +0000 +Checked in by : Robert Osfield +Updated ChangeLoggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14722 16af8721-9629-0410-8352-f15c8da7e697 - * From Farshid Lashkari, "The obj loader was overriding the - existing database path list with the file path of the model, - instead of prepending the file path to the path list. The latter - seems to be more common behavior for most of the existing loader - plugins. Also, the local options weren't actually being used when - processing the scene graph for textures. I've attached the fix - for both issues." -2014-11-20 10:52 robert +Wed, 25 Feb 2015 19:38:43 +0000 +Checked in by : Robert Osfield +From Aitor Moreno, "Attached you will find the modified file without the lines which raises the exception. "git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14721 16af8721-9629-0410-8352-f15c8da7e697 - * From Marc Helbling, "here is a trivial fix in the Inventor - plugin. In one code path, the pointer validity is checked after - dereferencing a pointer that can be null (image->valid()) instead - of calling ref_ptr::valid (image.valid())." -2014-11-20 10:45 robert +Wed, 25 Feb 2015 19:31:20 +0000 +Checked in by : Robert Osfield +From Jamie Robertson, "I've been using osgSim::ScalarBar to display fixed range color values (e.g. red from 1-2, green from 3-4 etc), by setting the _numColors the same as the number of actual colors in the ColorRange.Currently if you do this you get strange looking results as the colors are calculated for values in the centre of each color step, so if your steps are large, the colors are interpolated sigificantly (see screen grab of red, green and blue colors for illustration). - * From Marc Helbling, "I've come across scenes that contains - geometries with initialized but empty vertex arrays and - primitives and that would make some optimizers crash. - - The submission therefore only contains a test on the size of the - vertex array for the VertexCacheMissVisitor and the - VertexAccessOrderVisitor visitors." +I've attached a fix which just uses the original color values whenever _numColors equals the number of actual defined colors in the ColorRange. I doubt anyone would want interpolated colors in these circumstances." -2014-11-20 10:05 robert - * From Christian Ruzicka, "while testing this commit on our OSG 3.2 - version, I observed that the changes for ETC2 brake ETC1 support. - Attached you'll find the changes to get ETC1 running again" -2014-11-20 09:55 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14720 16af8721-9629-0410-8352-f15c8da7e697 - * From Sukender, "Fix for 3DS reader, which may read wrong - triangles. Actually, indices may suffer a 'short int' overflow, - in two places." -2014-11-20 09:41 robert +Wed, 25 Feb 2015 19:25:34 +0000 +Checked in by : Robert Osfield +From Dmitry Marakasov, "While packaging osg-3.3.3 I've discovered that gstreamer detection is broken:-- Could NOT find GStreamer (missing: GSTREAMER_BASE_INCLUDE_DIRS GSTREAMER_BASE_LIBRARIES GSTREAMER_GSTREAMER-APP_INCLUDE_DIRS GSTREAMER_GSTREAMER-APP_LIBRARIES GSTREAMER_GSTREAMER-PBUTILS_INCLUDE_DIRS GSTREAMER_GSTREAMER-PBUTILS_LIBRARIES) (found version "1.4.5") - * Fixed segfalt in Texture2DArray copy constructor where it would - apply images to an uninitialzed vector. +though all required modules are installed. -2014-11-20 09:32 robert +There are two problems: first, module names are spelled incorrectly in root +CMakeLists.txt (e.g. gstreamer-app instead of app), so variables expected +for them are e.g. GSTREAMER_GSTREAMER-APP_INCLUDE_DIRS instead of +GSTREAMER_APP_INCLUDE_DIRS. - * From Marc Helbling, "patch adding support for ambient material in - the FBX plugin. It's a straightfoward adaptation of the emissive - support and has been tested on a proprietary model." +Second, gstreamer base component is detected as GSTREAMER while checked +later as GSTREAMER_BASE. I've uncommented the detection as +GSTREAMER_BASE, but obviously that should be revisited and only one +detection left. With this patch, gstreamer is detected properly and +the plugins is successfully built and installed." -2014-11-20 09:21 robert - * From Pjotr Svetachov, fix for build breakage with giflib 5.0. +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14719 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-20 08:26 robert - * From Per Nordqvist, "The README.txt is still somewhat confusing - so I have updated it" +Wed, 25 Feb 2015 19:19:37 +0000 +Checked in by : Robert Osfield +From Jonathan Greig, "I was testing out the example and it works fine as a standalone example, but I found that it didn't work as expected when adding the class to some existing code I have to test it out. The osg widget was appearing but it didn't appear to be updating. After tweaking it to pass on the parent QWidget pointer from my code, it worked as expected. I added the WindowFlags to the attached file for good measure. If you look at the Qt Documentation for QWidget ( http://doc.qt.io/qt-5/qwidget.html#QWidget ), you'll see that is exactly where I got this from. When subclassing a widget as such, you should allow the user to pass in the parent at least, considering that has a major effect on how or if Qt may clean up the memory."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14718 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-19 17:45 robert - * Removed configure script as it's no longer required as cmake . - will now default to Release +Wed, 25 Feb 2015 18:56:29 +0000 +Checked in by : Robert Osfield +From Andreas Henne, Support for GL3 core profile in osgTextgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14717 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-19 17:42 robert - * Added CMake script to set the default CMAKE_BUILD_TYPE to - Release. Approach taken from simgear. +Wed, 25 Feb 2015 16:59:43 +0000 +Checked in by : Robert Osfield +From Michael McDonnell, "I have changed the code so that the plus key increases both the inner and outer tessellation. The minus key decrease both the inner and outer tessellation. You can still use the arrow keys to control inner and outer tessellation separately."From Robert Osfield, clean up the code to fix warnings and make the coding style more consistent with the rest of the OSG. -2014-11-19 17:29 robert - * Fixed Contributors names +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14716 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-19 17:10 robert - * From Clement Boesch, "Fix remaining bit of Giflib5 usage" +Wed, 25 Feb 2015 14:55:59 +0000 +Checked in by : Robert Osfield +Fixed handling of NULL entries in osg::Geometry TexCoordArrayList and VertexAttribArrayList.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14715 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-19 11:37 robert - * From Laurens Voerman, "I found a new way to crach the osgviewer: - osgviewer "ProxyNode { FileNameList { cow.osgt } num_children 1 - }".osgs - - The proxy node reader wrongly assumes options to be non NULL. - - fixed in attached zip: - src\osgWrappers\deprecated-dotosg\osg\ProxyNode.cpp - - applies to both the 3.2 branch and svn trunk" +Tue, 24 Feb 2015 11:06:05 +0000 +Checked in by : Robert Osfield +Fixed matrix setup.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14714 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-19 11:30 robert - * From Wang Rui, "The submission includes some fixes for osgQt - library and osgQtWidgets example: (1) QTextEdit now works with - mouse/drag events, (2) scrollbars will change when OSG window is - resizing, (3) improve rendering efficiency of - QGraphicsViewAdapter so that it works with complex Qt UI, (4) add - new setBackgroundWidget() method to indicate a 'background - widget', which will ignore mouse/key events on it and pass them - to the 3D scene." +Mon, 23 Feb 2015 20:28:28 +0000 +Checked in by : Robert Osfield +Fixed image allocation operations.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14712 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-19 10:43 robert - * Changed the way that the cell size is passed to the shader +Mon, 23 Feb 2015 11:43:21 +0000 +Checked in by : Robert Osfield +From Miha Ravšelj and Robert Osfield, fix for serializer bug in osgText::TextBase and osg::Cameragit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14711 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-19 09:33 robert - * From James Turner, "Converting the loops to forward versions - fixed the issue. The problem is size_t is unsigned; at the limit - condition it doesn’t go negative but wraps around to - 0xffffffffffffffff …. and boom." +Mon, 23 Feb 2015 11:07:03 +0000 +Checked in by : Robert Osfield +From Arjun Ramamurthy, fix for use of StatsHandler in multipleviews/windowsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14709 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-17 15:43 robert - * Fixed typo +Fri, 20 Feb 2015 15:12:57 +0000 +Checked in by : Robert Osfield +Changed the toggle of defines so that it works with assumed defaults now set up by the GeometryPool so that when toggling it doesn't have a delay in what the user would expectgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14708 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-17 09:19 robert - * Fixed typo in comment +Fri, 20 Feb 2015 15:04:56 +0000 +Checked in by : Robert Osfield +Removed redudent shaders, and updated remaining shaders to match OpenSceneGraph-Data/shadersgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14705 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-14 17:44 robert - * Added use of GL_TRIANGLE_STRIP to cut down the size of the - primitive indices required. +Fri, 20 Feb 2015 15:02:43 +0000 +Checked in by : Robert Osfield +First step of refactoring the osg::Program management in osgTerrain::GeometryPool for better performance by placing default osg::Program and shader defines on a single StateSet below the osgTerrain::Terraingit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14704 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-14 16:47 robert - * Implemented skirt functionality +Wed, 18 Feb 2015 10:52:52 +0000 +Checked in by : Robert Osfield +Moved osgTerrain::GeometryPool from osgTerrain::DisplacementMappingTechnique to the osgTerrain::Terraingit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14703 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-13 09:40 robert - * Refactored the handling of use of the osgDB::ObjectCache in the - DatabasePager to use a local thread specific ObjectCache to - handle new additions and - then have these additions merged with the main Registry - ObjectCache during the main loop. +Wed, 18 Feb 2015 10:23:14 +0000 +Checked in by : Robert Osfield +From Sebastian Messerschmidt, "Attached you find a version of the ReaderWriterDDS with info outputs set to OSG_INFO instead of OSG_NOTICE. The old version spams the console for each loaded DDS file."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14701 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-11 18:28 robert - * Moved implementation of ObjectCache functionality out of Registry - into a dedicated osgDB::ObjectCache class. +Tue, 17 Feb 2015 20:42:12 +0000 +Checked in by : Robert Osfield +Added support for DefineList to StateSet::merge(..)git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14700 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-10 16:04 robert - * To handle thread safe paging and use of the osgDB::Registry - ObjectCache, moved the handling of cache into - osgDB::DatabasePager. +Tue, 17 Feb 2015 19:40:58 +0000 +Checked in by : Robert Osfield +From Stephan Wenglorz, "the attached fix corrects a small bug in OperationThread::setDone(bool), calling it had the opposite effect of what was intended, i.e. setting done to false actually finished the thread. The effect was that VPB threads would exit before starting osgdem when a task had been enqueued, because they initially set done to false."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14699 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-06 10:44 robert - * From Pjotr Svetachov, "I tried your fix and it exposed a bug in - my fix :) - The problem is that the readObjectFields method will add the - object to the _identifierMap. So all the other instances of that - image in the same file will be replaced by the created dummy - object. In my fix this was an dummy image and I didn't notice it - in our scene's, probably because it covered a small part of an - object. In your fix the dummy object was not an image and that - leads to a crash when something tries to use it as an image. I - have attached a small fix for this bug. - - " +Tue, 17 Feb 2015 19:22:37 +0000 +Checked in by : Robert Osfield +Removed GL_ usage in definesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14697 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-06 10:40 robert - * Introduced use of MarkerObject to - IncrmentalCompileOperation/DatabasePager as a way of marking - objects that have already been processed and compiled, - thus avoid potential threading conflicts when paged subgraphs are - reused. +Tue, 17 Feb 2015 19:21:29 +0000 +Checked in by : Robert Osfield +Removed commented out linesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14696 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-05 16:08 robert - * Added handling of the reading of field properties to a dummy - object for cached images to avoid threading issues associated - with reusing and modifying an active object. +Tue, 17 Feb 2015 10:36:41 +0000 +Checked in by : Robert Osfield +Cleaned up warning generated when compiling osgocculusviewergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14695 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-05 13:38 robert - * Reinstated the original mechanism for OperationThread::cancel() - that co-operatively releases blocks/barriers to make sure the - thread is able to exit correctly. +Fri, 13 Feb 2015 12:50:43 +0000 +Checked in by : Robert Osfield +Improvements to the #pragma(tic) shader composition supportgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14694 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-04 20:07 robert - * Improvements to the ShaderTerrain experiemental terrain rendering - technique. +Fri, 13 Feb 2015 10:56:59 +0000 +Checked in by : Robert Osfield +Deprecated the old ShaderComposition example code so that it's now only invoked if you add a --old to the osgshadercomposition command line.Introduced a new shader composition example based on the new #pragama and #define based GLSL shader/osg::StateSet::setDefine() functionality now built into the core OSG. -2014-11-04 20:07 robert - * Changed TerrainTile::setDirty() to use children needing update - traversal mechanism to address threadng issues. +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14692 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-04 20:06 robert - * Change isRunning variable to an Atomic to address possible race - condition asscoiated with reading and writing to the variable - from different threads. +Fri, 13 Feb 2015 07:45:49 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've attached a fix for some internal glu functions so that they use size_t for computing allocation sizes instead of GLint. I encountered some large images that were triggering integer overflows with the current code."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14690 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-04 16:29 robert - * Build fixes for ffmpeg LIBAVCODEC_VERSION_MAJOR >= 56 +Wed, 11 Feb 2015 19:21:27 +0000 +Checked in by : Robert Osfield +Fixed warninggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14689 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-04 11:18 robert - * Added an InitRegistry static intiialization and destrucion static - to help control the order of construction and destruction of the - osgDB::Registry. +Wed, 11 Feb 2015 16:41:31 +0000 +Checked in by : Robert Osfield +Added reassignment of the #version line to the first entry in the source list.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14688 16af8721-9629-0410-8352-f15c8da7e697 -2014-11-04 10:46 robert - * Replaced use of while(isRunning()) { YieldCurrentThread(); } - style loops with use of join() to avoid false positives being - reported by valgrind when using the helgrind tool for thread - debugging. +Wed, 11 Feb 2015 09:41:15 +0000 +Checked in by : Robert Osfield +Added GL #define for Windows buildgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14687 16af8721-9629-0410-8352-f15c8da7e697 -2014-10-21 15:08 robert - * Added experimental osgTerrain::ShaderTerrain TerrainTechnique to - osgterrain example to flesh out new shader based displacement - mapping approach to osgTerrain databases. - - Requires shader files place in OpenSceneGraph-Data/shaders from - OpenSceneGraph-Data's svn/trunk to function. - - Run osgterrain example with --shader command line option to - select displacement mapping shader approach. +Tue, 10 Feb 2015 21:13:16 +0000 +Checked in by : Robert Osfield +Windows build fixgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14686 16af8721-9629-0410-8352-f15c8da7e697 -2014-10-21 14:47 robert - * Removed --sync related code as it's now integrated into - osg::DisplaySettings and osgViewer +Tue, 10 Feb 2015 18:01:02 +0000 +Checked in by : Robert Osfield +Added GL_LINES_ADJACENCY_EXT variants back into ObjectWraper to enable backwards compatibility.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14685 16af8721-9629-0410-8352-f15c8da7e697 -2014-10-21 14:46 robert - * Added osg::SyncSwapBuffersCallback to include/osg/GraphicsContext - and support for enabling it to include/osg/DisplaySettings, and - to the Viewer/CompositeViewer::realize() methods. - - To enable the sync of swap buffers set the env var - OSG_SYNC_SWAP_BUFFERS to ON or 1, to switch off set to OFF or 0. - - One can also use the --sync command line option for application - that pass on command line options to the - osg::DisplaySettings::instance(). +Tue, 10 Feb 2015 17:53:29 +0000 +Checked in by : Robert Osfield +Change for new Program APIgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14684 16af8721-9629-0410-8352-f15c8da7e697 -2014-10-21 08:27 robert - * Removed checks against Drawable as these are no longer required. +Tue, 10 Feb 2015 17:20:26 +0000 +Checked in by : Robert Osfield +Added support for new #pragam(atic) shader composition to new displacement mapping techniquegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14683 16af8721-9629-0410-8352-f15c8da7e697 -2014-09-17 17:40 robert - * Added support for writing the file path of a script to the lua - package.path to help with loading scripts within lua. +Tue, 10 Feb 2015 17:04:02 +0000 +Checked in by : Robert Osfield +Introduced new shader composition approach that utilizes #pragma requires(), #pragma import_defines() and #ifdef in GLSL to enable multiple different versions of shaders based on defines passed in from osg::StateSet::setDefine(..).git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14681 16af8721-9629-0410-8352-f15c8da7e697 -2014-09-16 17:40 robert - * Changed osgvolume example to use the new tf plugin rather than - having local code for reading transfer function +Wed, 4 Feb 2015 15:11:00 +0000 +Checked in by : Robert Osfield +Fixed typo.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14680 16af8721-9629-0410-8352-f15c8da7e697 -2014-09-16 11:00 robert - * Added write support +Tue, 3 Feb 2015 16:36:19 +0000 +Checked in by : Robert Osfield +Removed unncessary _EXTgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14679 16af8721-9629-0410-8352-f15c8da7e697 -2014-09-15 17:53 robert - * Added .tf & .tf-255 plugin for reading ascii 1D transfer functon - files in support for volume rendering. +Mon, 2 Feb 2015 09:53:55 +0000 +Checked in by : Robert Osfield +Commented out the experimental V8 and Python plugins as these plugins only existed as a proof of concept test linkage with these dependenices, and have no functionality beyond this.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14678 16af8721-9629-0410-8352-f15c8da7e697 -2014-09-12 14:16 robert - * Added basic frame rendering for TabWidget +Tue, 27 Jan 2015 15:07:53 +0000 +Checked in by : Robert Osfield +Replaced _EXT defines with GL-3.2 versionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14677 16af8721-9629-0410-8352-f15c8da7e697 -2014-09-10 17:03 robert - * Improved the alignment and sizing of TabWidget tab headers +Fri, 23 Jan 2015 17:15:20 +0000 +Checked in by : Robert Osfield +From Javier Taibo, "I have found a "bug" in the new audio decoding code (actually I think the bug is in ffmpeg, but anyway it should be wise to protect the OSG plug-in about it). I am attaching a security check in FFmpegDecoderAudio.cpp.If anybody is curious about the problem, it happens sometimes when decoding an AAC audio stream. It eventually includes a PCE block inside the AAC audio frame and then ffmpeg audio decoding function signals a "new_frame" with 1024 samples, but a null pointer instead of the audio data. It can be easily detected because in these cases number of channels is 0. Maybe this is the intended behaviour for ffmpeg, but I find it quite weird. +" -2014-09-10 11:59 robert +" It seems that libav does not have a channels attribute in AVFrame structure. This new version should do." - * Implemented the selection of tabs by clicking, using mouse wheel - or arrow keys. -2014-09-09 16:12 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14676 16af8721-9629-0410-8352-f15c8da7e697 - * Improved the handling of the dialog title text -2014-09-09 15:14 robert +Fri, 23 Jan 2015 13:51:09 +0000 +Checked in by : Robert Osfield +Changed osgFX::MultiTextureControl so that it uses an osg::FloatArray internally to enable sharing with osg::Uniform.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14675 16af8721-9629-0410-8352-f15c8da7e697 - * Moved the diaglog title bar widgets into the - Widget::GraphicsSubgraph map to avoid them poluting the Dialog's - children list and to prevent them from being serialized. -2014-09-09 13:37 robert +Fri, 23 Jan 2015 13:50:12 +0000 +Checked in by : Robert Osfield +Added MultiTextureControl event handling of shift 012 i.e. ')', '!', '"' and 'A' to toggle full on for each of the respective or all texture units.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14674 16af8721-9629-0410-8352-f15c8da7e697 - * Introduced Widget::WidgetStateSet to help localize the StateSet - set up by Widget implementations from being serialized or - affecting what end users apply via the standard - Node::s/getStateSet(). - - Further work on TabWidget. -2014-09-08 08:53 robert +Thu, 22 Jan 2015 16:49:00 +0000 +Checked in by : Robert Osfield +Added #define GL_SEPARATE_ATTRIBS and correcte GL_INTERLEAVED_ATTRIBSgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14673 16af8721-9629-0410-8352-f15c8da7e697 - * Build fix -2014-09-05 16:04 robert +Thu, 22 Jan 2015 16:41:34 +0000 +Checked in by : Robert Osfield +From Alexey Pavlov, "Export fix for Windows platform"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14672 16af8721-9629-0410-8352-f15c8da7e697 - * Added shell of new osgUI::TabWidget class -2014-09-05 11:05 robert +Thu, 22 Jan 2015 15:08:26 +0000 +Checked in by : Robert Osfield +Added GL_INTERLEAVED_ATTRIBS for windows buildgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14671 16af8721-9629-0410-8352-f15c8da7e697 - * Introduced support for specifying whether a serializer supports - different types of usage - one or more of READ_WRITE_PROPERTY, - GET_PROPERTY and SET_PROPERTY. -2014-09-03 15:54 robert +Thu, 22 Jan 2015 15:07:50 +0000 +Checked in by : Robert Osfield +Fixed warninggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14670 16af8721-9629-0410-8352-f15c8da7e697 - * Added setting of the IsoSurfaceProperty in VolumeSettings -2014-09-03 12:28 robert +Wed, 21 Jan 2015 15:35:19 +0000 +Checked in by : Robert Osfield +From Andreas Henne, OpenGL core profile fixes required for OSX.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14669 16af8721-9629-0410-8352-f15c8da7e697 - * Added close button on Dialog title bar -2014-09-02 17:01 robert +Wed, 21 Jan 2015 11:09:29 +0000 +Checked in by : Robert Osfield +Added TextureWeights uniform support and controls to osgFX::MultiTextureControl to support usage with shaders.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14668 16af8721-9629-0410-8352-f15c8da7e697 - * Refactored the handling of ComboBox item picking to make it - faster and more reliable -2014-09-02 10:00 robert +Tue, 20 Jan 2015 18:01:10 +0000 +Checked in by : Robert Osfield +Re-enabled texturing and fixed runtime warninggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14667 16af8721-9629-0410-8352-f15c8da7e697 - * Improved handling of ComboBox popup toggling -2014-09-02 09:14 robert +Tue, 20 Jan 2015 17:58:56 +0000 +Checked in by : Robert Osfield +Added hardwired geometry shadersgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14666 16af8721-9629-0410-8352-f15c8da7e697 - * Added support for scaling widgets via the scoll wheel. -2014-09-02 08:41 robert +Tue, 20 Jan 2015 17:40:46 +0000 +Checked in by : Robert Osfield +Updated shadersgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14664 16af8721-9629-0410-8352-f15c8da7e697 - * Removed debugging message -2014-09-01 19:13 robert +Tue, 20 Jan 2015 15:23:06 +0000 +Checked in by : Robert Osfield +Added key osgTerrain::GeometryPool methods virtual to make it easier to override the shadersgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14662 16af8721-9629-0410-8352-f15c8da7e697 - * Added DragCallback class to help dialog dragging support. - Introduced a new - Widget::computeExtentsPositionInLocalCoordinates() method that - intersects with a ray through mouse pointer and the extents of - the widget. -2014-08-28 15:11 robert +Tue, 20 Jan 2015 11:24:31 +0000 +Checked in by : Robert Osfield +Changed the reset of the GLExtensions::Set() in the State destructor so that it checks to see if the local _glExtensions pointer has been set up and taken ownership of the GLExtensions::Set() valuegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14661 16af8721-9629-0410-8352-f15c8da7e697 - * Improved support for controlling the ShadingModel via the - VolumeSettings object -2014-08-28 09:42 robert +Mon, 19 Jan 2015 11:29:55 +0000 +Checked in by : Robert Osfield +Added GeometryPool::s/getUseGeometryShader() hint, and OSG_TERRAIN_USE_GEOMETRY_SHADER env var for setting the default value.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14660 16af8721-9629-0410-8352-f15c8da7e697 - * Improved handling of VolumeSettings -2014-08-27 15:08 robert +Fri, 16 Jan 2015 11:03:11 +0000 +Checked in by : Robert Osfield +Added support for using geometry shaders to align the quad diagonals with the local terraingit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14658 16af8721-9629-0410-8352-f15c8da7e697 - * Changed the osgUI behaviour so that events are set to be handled - by Widgets that have focus even if they don't directly use them. -2014-08-27 15:07 robert +Mon, 12 Jan 2015 10:31:58 +0000 +Checked in by : Robert Osfield +Added a local Vec3Array cache to the HeightFieldDrawable to facilitate efficient intersection testinggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14656 16af8721-9629-0410-8352-f15c8da7e697 - * Changed the NodeVisitor::apply(Drawable&) to call apply(Node&) -2014-08-27 09:25 robert +Mon, 12 Jan 2015 10:30:50 +0000 +Checked in by : Robert Osfield +Added ability to populate a local vertex cache for when one computes final vertex position in a vertex shader but still want to the Primitive functors to work with the transformed positions.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14655 16af8721-9629-0410-8352-f15c8da7e697 - * Added support for getting osgVolumre::Property::ModifieCount -2014-08-25 16:56 robert +Wed, 7 Jan 2015 14:14:55 +0000 +Checked in by : Robert Osfield +From Javier Taibo, "I have found that since version 1.1, FFMPEG changed the way audio streams are retrieved, from packed to planar format. SDL interprets packed audio, as is used in the osgmovie example. To make the audio work when the OSGffmpeg plug-in is compiled against recent FFMPEG versions, FFmpegDecoderAudio must check for planar formats and in these cases request the samples as packed. This way all works as before. It can be checked with osgmovie example application. $ osgmovie --audio movie.avi.ffmpeg + FFmpegImageStream::open audio failed, audio stream will be disabled: unknown audio format - * Added Property::getModifiedCount() + dirty() to help with - tracking changes. Added VolumeSettings serializers for Property - objects + With the attached FFmpegDecoderAudio.cpp, audio sounds correctly. -2014-08-25 13:43 robert + I am also attaching a modified version of FindFFmpeg.cmake that allows to set as FFMPEG_DIR the ffmpeg compiled in the source directory structure. It should not break anything as it only adds some additional search paths. +" - * Changed StateSet::ParentList from vector to - vector to reflect that Drawable is now a Node. -2014-08-22 19:00 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14654 16af8721-9629-0410-8352-f15c8da7e697 - * Improved handling of setting of the depth of the UI. -2014-08-20 14:15 robert +Wed, 7 Jan 2015 10:36:34 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "small change to osg::Image::readImageFromCurrentTexture to allow reading data from compressed cubemap textures."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14653 16af8721-9629-0410-8352-f15c8da7e697 - * Reordered method implemenations to make it easier to compare - similar methods -2014-08-19 16:58 robert +Tue, 6 Jan 2015 17:23:26 +0000 +Checked in by : Robert Osfield +Cleaned up GL_TEXTURE_BUFFER_*ARB usage as include/osg/GLDefines now provides the non ARB variantsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14652 16af8721-9629-0410-8352-f15c8da7e697 - * Added toggling on/off of the VolumeSettings ui via the 'E' key. -2014-08-19 16:37 robert +Tue, 6 Jan 2015 17:12:51 +0000 +Checked in by : Robert Osfield +From Julien Valentin, "To sum up changes, I had: -some extensions in GLExtensions - GL_TEXTURE_BUFFER as target in osg::StateSet - a VBO based transform feed back example "git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14651 16af8721-9629-0410-8352-f15c8da7e697 - * Updated VolumeSettings.lua reference to use ui prefix to work - with the new OpenSceneGraph-Data/ui/VolumeSettings.lua file. -2014-08-19 09:27 robert +Tue, 6 Jan 2015 17:09:44 +0000 +Checked in by : Robert Osfield +Updates SO_VERSION in prep for API modifications since the 3.3.3 dev releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14650 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed MD2 danglng pointer crash. -2014-08-19 09:00 robert +Tue, 6 Jan 2015 14:55:00 +0000 +Checked in by : Robert Osfield +From Julien Valentin, added missing initializergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14647 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed build -2014-08-19 08:57 robert +Tue, 6 Jan 2015 14:41:30 +0000 +Checked in by : Robert Osfield +From Julien Valentin, typo fixgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14646 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed build -2014-08-14 19:00 robert +Mon, 5 Jan 2015 17:39:44 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "Here is a fix to the STL plugin that fixes build errors introduced in the last commit. It's just a simple addition of the stdint.h header."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14644 16af8721-9629-0410-8352-f15c8da7e697 - * Added support for ComboBox::currentIndexChanged*(uint) callback - API. -2014-08-13 09:24 robert +Wed, 24 Dec 2014 11:56:48 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORSgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14643 16af8721-9629-0410-8352-f15c8da7e697 - * Resert default value to 1.0 -2014-08-08 16:42 robert +Wed, 24 Dec 2014 11:43:41 +0000 +Checked in by : Robert Osfield +Removed debug messagegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14642 16af8721-9629-0410-8352-f15c8da7e697 - * From Ryan Kawicki, "There is an issue where the model insets of a - terrex terrain are being removed during the loading process. The - issue is described below. - - - the issue here is that the plugin is removing group nodes if - that group node only has one child. becuase transforms are also - group nodes, there were cases when the transform would have only - one child under it and would cause it to remove the translation - portion. this would cause all the vertex data to be loaded around - the last matrix operation, which in our case was the origin - (0,0,0). - - We work off of OSG 2.8.1 but see that this has not been addressed - on latest yet. I’ve tested this against 2.8.1 and have cleanly - applied it to my local repository off of latest." -2014-08-08 16:34 robert +Wed, 24 Dec 2014 11:25:46 +0000 +Checked in by : Robert Osfield +From Marc Helbling, ClĂ©ment LĂ©ger, AurĂ©lien Chatelain, Paul Cheyrou-Lagrèze : "a last submission for the obj plugin * supports vertex color definition after vertex position by ClĂ©ment LĂ©ger * supports zbrush vertex color definition (as #MRGB comment) by AurĂ©lien Chatelain * adds a noReverseFace option to not mess with face definition by AurĂ©lien Chatelain * makes material parsing case insensitive (by Paul Cheyrou-Lagrèze and me) * makes the plugin resilient to faulty vertex uv/normal definition (i.e. when a too big index is referenced) by AurĂ©lien hatelain "git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14641 16af8721-9629-0410-8352-f15c8da7e697 - * From Tim George, "Currently there is a problem with using a - camera with a viewport with a non 0 offset and also using an FBO. - The problem is that only area made up of the viewports width and - height is drawn based on an offset of 0,0 instead of using the - viewports offset. - - It is caused by line 991 in RenderStage.cpp: - - - Code: - fbo_ext->glBlitFramebuffer( - 0, 0, static_cast(_viewport->width()), - static_cast(_viewport->height()), - 0, 0, static_cast(_viewport->width()), - static_cast(_viewport->height()), - blitMask, GL_NEAREST); - - - - which is not taking into account the viewport x and y when - performing the blit. It probably should be: - - - Code: - fbo_ext->glBlitFramebuffer( - static_cast(_viewport->x()), - static_cast(_viewport->y()), - static_cast(_viewport->width()) + - static_cast(_viewport->x()), - static_cast(_viewport->height()) + - static_cast(_viewport->y()), - static_cast(_viewport->x()), - static_cast(_viewport->y()), - static_cast(_viewport->width()) + - static_cast(_viewport->x()), - static_cast(_viewport->height()) + - static_cast(_viewport->y()), - blitMask, GL_NEAREST); - " - - Note from Robert Osfield, made small tweak to above on merge, - changing the width+x to x+width to make it read more naturally. -2014-08-08 16:09 robert +Wed, 24 Dec 2014 11:02:18 +0000 +Checked in by : Robert Osfield +From AurĂ©lien Chatelain, "adds support for * quad primitives * face definition with the "vertex_index" label (previously only "vertex_indices" was supported) * replaces normal computation by the SmoothingVisitor to avoid code duplication "Submitted by Marc Helbling. - * From Marc Helbling, "please find a fix for the vertex - pretransform visitor (VertexAccessOrderVisitor). - The issue with current code is that arrays are collected *before* - duplicating shared arrays which leads to arrays that are - correctly duplicated but that are not reordered. - - Also the submitted patch contains a small cleaning in - GeometryArrayGathrer as the _useDrawElements variable is not - used; it is only set in the GeometryArrayGathrer constructor and - VertexAccessOrderVisitor already checks that primitives have - indexed type." -2014-08-08 15:45 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14640 16af8721-9629-0410-8352-f15c8da7e697 - * From Glen Waldron, "Node: patch for remove*Callback() methods to - resolve a crash" -2014-08-08 09:28 robert +Wed, 24 Dec 2014 10:55:49 +0000 +Checked in by : Robert Osfield +From AurĂ©lien Chatelain, "the smoothing visitor did not handle shared arrays. It may leads to bad geometry arrays when a shared array is involved in the scene. This submission adds shared array duplication (and moves the SharedArrayOptimizer declaration in MeshOptimizer to make it callable from the SmoothingVisitor)."Submitted by Marc Helbling. +Edited by Robet Osfield to retain the usual OSG coding style. - * Changes to support building against ANDROID under OSX. -2014-08-05 18:32 robert - * Implemented osgUI::Validator, IntValidator and DoubleValidator - classes that manage validation/specialization of LineEdit widgets - to work with just integer or double values. -2014-08-01 13:07 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14639 16af8721-9629-0410-8352-f15c8da7e697 - * Implemented callbacks for validate(), textChanged() and - returnPressed() -2014-08-01 10:57 robert +Wed, 24 Dec 2014 10:47:25 +0000 +Checked in by : Robert Osfield +From AurĂ©lien Chatelain, "updates the STL plugin: * fixes vertex color support * adds 'magics' color definition * cleans options to make the plugin more consistent with other plugins * adds options to not tristrip geometries"Submitted by Marc Helbling. - * Moved responsiblity for checking current event focus onto - Widget::handleImplementations(). - - Added support for closing CombinBox popup when the mouse is - clicked outside the popup or combobox widget. -2014-07-31 18:29 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14638 16af8721-9629-0410-8352-f15c8da7e697 - * Added NodeVisitor::INTERSECTION_VISITOR VisitorType -2014-07-30 12:48 robert +Wed, 24 Dec 2014 10:14:03 +0000 +Checked in by : Robert Osfield +Aded shaders for various combinations of layers.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14637 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed rendering of Popups -2014-07-30 12:47 robert +Wed, 24 Dec 2014 10:13:42 +0000 +Checked in by : Robert Osfield +Added osgDB::readShaderFileWithFallback(..) convinience functions to make it easier to set up reading external shader files with a built in fallback.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14636 16af8721-9629-0410-8352-f15c8da7e697 - * Update SO version to account for new changes to osg::StateSet and - osgUI -2014-07-30 12:47 robert +Tue, 23 Dec 2014 14:20:53 +0000 +Checked in by : Robert Osfield +Added support for reading Vec3 colour arraysgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14634 16af8721-9629-0410-8352-f15c8da7e697 - * Added StateSet::RenderBinMode::PROTECTED_RENDERBIN_DETAILS and - OVERRIDE_PROTECTED_RENDERBIN_DETAILS options. -2014-07-29 15:50 robert +Tue, 23 Dec 2014 12:10:03 +0000 +Checked in by : Robert Osfield +Changes to allow the COLLADA plugin to compile against the latest COLLADA DOM version 2.4 as well as retaining compatibility with the old 2.2 DOM.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14633 16af8721-9629-0410-8352-f15c8da7e697 - * Added preliminary icon to ComboBox. -2014-07-29 15:50 robert +Mon, 22 Dec 2014 10:35:33 +0000 +Checked in by : Robert Osfield +Added comment about using -DCMAKE_DISABLE_FINDPACKAGE_* command line.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14632 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed debug comment -2014-07-29 15:50 robert +Mon, 22 Dec 2014 09:50:10 +0000 +Checked in by : Robert Osfield +Added doxygen comment for ref_ptr<>::release().git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14630 16af8721-9629-0410-8352-f15c8da7e697 - * Implemented prelimary icon support allowing UI widget to place - image and model based icons on widgets -2014-07-29 15:47 robert +Mon, 22 Dec 2014 09:49:17 +0000 +Checked in by : Robert Osfield +Updated version number after dev releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14628 16af8721-9629-0410-8352-f15c8da7e697 - * Added catch for NULL Transform pointers getting into the - _transformMap. -2014-07-28 16:19 robert +Fri, 19 Dec 2014 11:00:31 +0000 +Checked in by : Robert Osfield +Windows build error and warning fixesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14626 16af8721-9629-0410-8352-f15c8da7e697 - * Added handling of Drawables added directly to scene graph without - Geode decorating them. -2014-07-24 14:14 robert +Fri, 19 Dec 2014 10:25:49 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file for dev releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14625 16af8721-9629-0410-8352-f15c8da7e697 - * Added support for changing background colour of LineEdit widget - when focus changes -2014-07-24 13:25 robert +Fri, 19 Dec 2014 08:27:30 +0000 +Checked in by : Robert Osfield +Added if () block to avoid script variables set to NOT-Found being used in searchinggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14624 16af8721-9629-0410-8352-f15c8da7e697 - * Refined the colouring of widget to be more in sync with the - defaults used in Qt. -2014-07-23 16:36 robert +Fri, 19 Dec 2014 08:25:35 +0000 +Checked in by : Robert Osfield +Fixed script warningsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14623 16af8721-9629-0410-8352-f15c8da7e697 - * Added VolumeSettings::Filename property. -2014-07-23 15:57 robert +Thu, 18 Dec 2014 17:47:08 +0000 +Checked in by : Robert Osfield +From Aitor Moreno, LAS plugin - depends upon boost and liblas and liblas-cgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14622 16af8721-9629-0410-8352-f15c8da7e697 - * Changed the default text colour to black -2014-07-23 14:50 robert +Thu, 18 Dec 2014 16:52:57 +0000 +Checked in by : Robert Osfield +From Adrian Clark, build fix for recent Android NDK using the old Android build approach.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14621 16af8721-9629-0410-8352-f15c8da7e697 - * Added writeFile support -2014-07-23 10:49 robert +Thu, 18 Dec 2014 15:59:16 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "CMake have release 3.0 and 3.1 and we have some bad checks for cmake major version when settings cmake policies in CMakeLists.txt. This fixes it"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14620 16af8721-9629-0410-8352-f15c8da7e697 - * Added Node:getNumParents() and Node:getParent(index) support -2014-07-22 16:02 robert +Thu, 18 Dec 2014 11:36:16 +0000 +Checked in by : Robert Osfield +Updated AUTHORSgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14617 16af8721-9629-0410-8352-f15c8da7e697 - * Removed State::AppliedProgramObjectSet container and Obsever - usage from osg::State to address threading bug crash. - - The State::AppliedProgramObjectSet wasn't ever being used - actively in the current rev of the OSG so populating and clearing - was no longer neccessary, allowing the code to be removed - completely. -2014-07-21 16:36 robert +Thu, 18 Dec 2014 11:19:11 +0000 +Checked in by : Robert Osfield +Updated ChangeLog in prep for dev releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14616 16af8721-9629-0410-8352-f15c8da7e697 - * Centralized the calling of #include and VS fallback - into include/osg/Types header -2014-07-21 14:32 robert +Thu, 18 Dec 2014 11:09:43 +0000 +Checked in by : Robert Osfield +Fixed warninggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14615 16af8721-9629-0410-8352-f15c8da7e697 - * From Pjotr Svetachov, "I think I spotted some unneeded ref_ptrs - in the cullvisitor. The call - pushModelViewMatrix or pushProjectionMatrix will already keep the - reference when adding it to the MatrixStack. In - CullVisitor::apply - methods for the billboard and the camera you already take a - pointer - instead of a ref_ptr." -2014-07-21 13:45 robert +Thu, 18 Dec 2014 10:59:07 +0000 +Checked in by : Robert Osfield +Added DisplaySettings::s/getNvOptimusEnablement() and OSG_NvOptimusEnablement env var control to control the setting of the NvOptimusEnablement variablegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14614 16af8721-9629-0410-8352-f15c8da7e697 - * Added setting of glPixelStore before glTexSubImage2D call. -2014-07-21 13:43 robert +Thu, 18 Dec 2014 09:24:46 +0000 +Checked in by : Robert Osfield +From Sukender, "Added options to the FBX writer: an ascii/binary switch, and the ability to select FBX version as the SDK handles it (Ex: "FBX201300").This allows the user to achieve backward compatibility, and debug format issues using text output." - * From Jaap Gas, "I want to submit a bugfix for a crash occurring - in osgText/Glyph.cpp if - the scene tree contains (large) 2D textures from images with - STRIDE. - - ============================================================================ - #0 0x00007fffe8ea4350 in __memmove_ssse3 () from /lib64/libc.so.6 - #1 0x00007fffe52ced76 in ?? () from - /usr/lib64/libnvidia-glcore.so.310.44 - #2 0x00007fffe52d8e86 in ?? () from - /usr/lib64/libnvidia-glcore.so.310.44 - #3 0x00007fffe53dd8be in ?? () from - /usr/lib64/libnvidia-glcore.so.310.44 - #4 0x00007fffe53c2643 in ?? () from - /usr/lib64/libnvidia-glcore.so.310.44 - #5 0x00007fffe53c7fdd in ?? () from - /usr/lib64/libnvidia-glcore.so.310.44 - #6 0x00007fffe53cbabf in ?? () from - /usr/lib64/libnvidia-glcore.so.310.44 - #7 0x00007fffe53cc1fa in ?? () from - /usr/lib64/libnvidia-glcore.so.310.44 - #8 0x00007ffff30092fd in osgText::GlyphTexture::apply - (this=0x1bb8cf0, state= - ...) - at - /d43/jaap/dev/jaapOSG/build/OpenSceneGraph3.3.1/src/osgText/Glyph.cpp:234 - #9 0x00007ffff56c30b6 in osg::State::applyAttributeOnTexUnit - (this=0x125f180, - unit=0, attribute=0x1bb8cf0, as=...) - at - /d43/jaap/dev/jaapOSG/build/OpenSceneGraph3.3.1/include/osg/State:1713 - #10 0x00007ffff56c2f3f in osg::State::applyTextureAttribute - (this=0x125f180, - unit=0, attribute=0x1bb8cf0) - at - /d43/jaap/dev/jaapOSG/build/OpenSceneGraph3.3.1/include/osg/State:411 - #11 0x00007ffff30204da in osgText::Text::drawTextWithBackdrop - (this=0x1baed70, - state=..., colorMultiplier=...) - ============================================================================== - - The crash disappears if I either (1) disable the use of images - with stride - in the (public) osgGeo-library, or (2) add the following bugfix - to Glyph.cpp. - This combination gives me the confidence that I understand where - this problem - originates from, without trying to understand the full OpenGL - details. - - =============================================================================== - @@ -221,7 +223,12 @@ - imageData[i] = 0; - } - - + glPixelStorei(GL_UNPACK_ALIGNMENT,1); - - + #if !defined(OSG_GLES1_AVAILABLE) && - !defined(OSG_GLES2_AVAILABLE) - + glPixelStorei(GL_UNPACK_ROW_LENGTH,getTextureWidth()); - + #endif - + - // allocate the texture memory. - glTexImage2D( GL_TEXTURE_2D, 0, GL_ALPHA, - getTextureWidth(), getTextureHeight(), 0, - ================================================================================ - - I have copied (and adapted) the added lines above from the same - source file, - where they were used in front of a similar call to - glTexSubImage2D(.) around - line 515. - " -2014-07-21 12:21 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14613 16af8721-9629-0410-8352-f15c8da7e697 - * Initial work on integtasting osgUI into Present3D -2014-07-21 12:18 robert +Thu, 18 Dec 2014 09:03:15 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "The addition of the GStreamer cmake find script broke my build because cmake vars weren't passed correctly to find_package_handler_args, so while the find script didn't find a single required GStreamer lib or include path it still reported GSTREAMER_FOUND=TRUE (and then tried to compile the new plugin). This fixes it and correctly reports missing components."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14611 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed indentation -2014-07-21 09:35 robert +Wed, 17 Dec 2014 19:21:32 +0000 +Checked in by : Robert Osfield +Added support for using SDL2 to the osgmovie to enable it to handle floating point audio formatsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14610 16af8721-9629-0410-8352-f15c8da7e697 - * Added debug messages -2014-07-18 17:17 robert +Wed, 17 Dec 2014 19:20:48 +0000 +Checked in by : Robert Osfield +From Javier Taibo, " I have found that since version 1.1, FFMPEG changed the way audio streams are retrieved, from packed to planar format. SDL interprets packed audio, as is used in the osgmovie example. To make the audio work when the OSGffmpeg plug-in is compiled against recent FFMPEG versions, FFmpegDecoderAudio must check for planar formats and in these cases request the samples as packed. This way all works as before. It can be checked with osgmovie example application. $ osgmovie --audio movie.avi.ffmpeg + FFmpegImageStream::open audio failed, audio stream will be disabled: unknown audio format - * Added serailizer support for NodeVisitor, UpdateVisitor, - CullVisitor and EventVisitor + With the attached FFmpegDecoderAudio.cpp, audio sounds correctly. -2014-07-14 15:59 robert + I am also attaching a modified version of FindFFmpeg.cmake that allows to set as FFMPEG_DIR the ffmpeg compiled in the source directory structure. It should not break anything as it only adds some additional search paths. - * Added readScript/writeScript methods to ReaderWriter +" -2014-07-14 14:09 robert +Note from Robert Osfield, I have found in testing that audio quality is not good for planar floating point formats, even with adding support for SDL2 to the osgmovie example. I haven't yet tracked down the cause of these audio problems or a solution. - * Renamed osgDB::PropertyInterface to osgDB::ClassInterface to - better reflect it's functionality -2014-07-04 16:45 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14609 16af8721-9629-0410-8352-f15c8da7e697 - * Added preliminary support for writing VolumeSettings to disk from - within Present3D in response to pressing and releasing 'Ctrl-S'. -2014-07-03 16:36 robert +Wed, 17 Dec 2014 10:19:02 +0000 +Checked in by : Robert Osfield +From Sukender, "FBX writer was writing an empty file when the scene had a root node being a Geode. This was caused be the change in Drawable (now derived from Node) and Geode (now derived from Group). This fix simply sticks with previous behaviour. Another change could be to adapt WriterNodeVisitor. "git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14608 16af8721-9629-0410-8352-f15c8da7e697 - * Updated iso and mip shaders from OpenSceneGraph-Data. -2014-07-03 13:06 robert +Tue, 16 Dec 2014 17:37:03 +0000 +Checked in by : Robert Osfield +Fixed warnings and memmory leaksgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14607 16af8721-9629-0410-8352-f15c8da7e697 - * Added virtual destructors -2014-07-03 13:05 robert +Tue, 16 Dec 2014 17:15:21 +0000 +Checked in by : Robert Osfield +Fixed warningsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14606 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed line endings -2014-07-03 13:01 robert +Tue, 16 Dec 2014 17:08:01 +0000 +Checked in by : Robert Osfield +Improved handling of invalid/unhandled files Added support for ImageStream::LoopigMode variable Fixed memory leak associtied with restarting videos Changed Image::setData() to Image::dirty() to avoid resetting datagit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14605 16af8721-9629-0410-8352-f15c8da7e697 - * Changed enum usage to use the new osgVolume::VolumeSettings - versions and added support for reading a VolumeSettings file. -2014-07-03 10:01 robert +Tue, 16 Dec 2014 11:20:42 +0000 +Checked in by : Robert Osfield +From Julen Garcia, "Here there is a small plugin I use to play video files. It is based on GStreamer http://gstreamer.freedesktop.org and I have used the FFmpeg plugin as inspiration."From Robert Osfield, fixed handled of row widths so that they are padded to a 4 byte boundary as certain row widths were being rendered incorrectly. - * Refactor VolumeSettings so that it's subclassed from - osgVolume::Property -2014-07-02 16:26 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14604 16af8721-9629-0410-8352-f15c8da7e697 - * Added osgVolume::VolumeSettings object -2014-07-02 15:34 robert +Tue, 16 Dec 2014 09:34:15 +0000 +Checked in by : Robert Osfield +From Marc Helbling, "please find enclosed a submission that should improve the VertexAccessOrderVisitor (pre-transform) optimizer: * it sorts primitives to keep "more complex" primitives first; maybe you'll prefer to have this as an option (but usually it should make more sense to pre-transform triangles before e.g. lines) * currently, the visitor rely on TriangleIndexFunctor and does not take care of points and lines (see https://github.com/openscenegraph/osg/blob/master/include/osg/TriangleIndexFunctor#L124-130). This can lead to issues e.g. if you store the wireframe lines along with some triangles: the triangles will be reindexed but not the line. I've therefore added osg/include/TriangleLinePointIndexFunctor to index triangles, lines and points and derived VertexReorder from this class. * to avoid issues, shared arrays are duplicated. However, in some cases (e.g. an UV channel shared in the geometry only) this is not required. I'm adding a SharedArrayOptimizer to optimize this: it looks for duplicated UVs before the array duplication and deduplicate arrays after. "git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14603 16af8721-9629-0410-8352-f15c8da7e697 - * Changed the default image output format to .osgb as .dds isn't - able to represent signed byte, short and int data correctly. -2014-07-02 14:14 robert +Mon, 15 Dec 2014 17:15:21 +0000 +Checked in by : Robert Osfield +From Marc Helbling, "please find the mergeTriangleStrip code merged in osgUtil::TriStripVisitor. I've removed the references to DrawArrays as we should no longer produce any.Note that: +* as the name suggest, it only works for triangle strips but could probably be easily extended to quads +* the resulting primitive is not highly optimized; we could probably sort the strips in order to minimize the number of primitive restart +* as we may merge DrawElementsUInt and DrawElementUShort, the code will only generate DrawElementsUInt" - * fixed handlng of file type of nested files within a .osgx, .osgt - and .osgb file. -2014-07-02 10:25 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14602 16af8721-9629-0410-8352-f15c8da7e697 - * From Laurens Voerman, "just like ClusterCullingCallback (fixed in - r14322) visual studio likes an explicit implementation of run() - for InteractiveImageHandler. - - The warning is (14 times): - include\osgViewer/ViewerEventHandlers(542): warning C4250: - 'osgViewer::InteractiveImageHandler' : inherits - 'osgGA::EventHandler::osgGA::EventHandler::run' via dominance - (src\osgViewer\StatsHandler.cpp) - include\osgGA/EventHandler(45) : see declaration of - 'osgGA::EventHandler::run' - - - attached a zipped version of - include\osgViewer\ViewerEventHandlers" -2014-07-01 07:31 robert +Wed, 10 Dec 2014 18:23:32 +0000 +Checked in by : Robert Osfield +Build fixgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14601 16af8721-9629-0410-8352-f15c8da7e697 - * Added #include to address compile issue on some Linux - distro's. -2014-06-30 15:31 robert +Wed, 10 Dec 2014 13:05:47 +0000 +Checked in by : Robert Osfield +Added OpenGL Transform Feedback extensions.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14600 16af8721-9629-0410-8352-f15c8da7e697 - * Add dds no flip on write option to prevent output of .dds volume - from being flipped by the dds plugin. -2014-06-30 13:24 robert +Wed, 10 Dec 2014 12:23:04 +0000 +Checked in by : Robert Osfield +From Marcus Hein, Added support for OpenGL SSBO and SSBB via osg::ShaderStorageBufferObject and osg::ShaderStorageBufferBinding to core OSG library, and added new osgSSBO examplegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14599 16af8721-9629-0410-8352-f15c8da7e697 - * REmoved debug cout -2014-06-30 10:13 robert +Wed, 10 Dec 2014 11:44:16 +0000 +Checked in by : Robert Osfield +Added GLDefines headergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14597 16af8721-9629-0410-8352-f15c8da7e697 - * From Mikhail Izmestev, "Attached fix to avoid vector reallocs on - push_back in StateGraph::moveStateGraph." -2014-06-30 09:12 robert +Wed, 10 Dec 2014 11:29:54 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "The Collada loader would crash while processing textures on certain files. I've attached the fix."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14595 16af8721-9629-0410-8352-f15c8da7e697 - * Updated ChangeLog and AUTHORS file -2014-06-30 08:56 robert +Wed, 10 Dec 2014 10:44:58 +0000 +Checked in by : Robert Osfield +Removed old GL2Extensions class, replacing it with a typedef to GL2Extensions Removed old includes to include/osg/GL2Extensionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14594 16af8721-9629-0410-8352-f15c8da7e697 - * Updated version number -2014-06-30 08:46 robert +Wed, 10 Dec 2014 10:38:12 +0000 +Checked in by : Robert Osfield +Moved GL2Extensions functionality into the include/osg/GLExtensions header and new GLExtensions object. Moved the #defines into new include/osg/GLDefines Converted all GL2Extensions usage to GLExtensions usagegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14593 16af8721-9629-0410-8352-f15c8da7e697 - * From Pjotr Svetachov, "Here is a small fix for a overflow when - editing large 3d volume data." -2014-06-30 08:20 robert +Wed, 10 Dec 2014 09:11:17 +0000 +Checked in by : Robert Osfield +Streamlined the extension functionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14592 16af8721-9629-0410-8352-f15c8da7e697 - * Removed space from #include. -2014-06-30 07:37 robert +Tue, 9 Dec 2014 21:33:12 +0000 +Checked in by : Robert Osfield +Added #ifdef's around GLsync typedefgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14591 16af8721-9629-0410-8352-f15c8da7e697 - * From Alexander Sinditskiy, build fix to allow building against - versions older than librsvg-2.36.2 -2014-06-28 06:22 robert +Tue, 9 Dec 2014 20:09:29 +0000 +Checked in by : Robert Osfield +Windows build fixesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14590 16af8721-9629-0410-8352-f15c8da7e697 - * Replaced using NodeCallback::run with explict run() - implementation. -2014-06-27 15:57 robert +Tue, 9 Dec 2014 19:31:53 +0000 +Checked in by : Robert Osfield +Added new examples to runexamples.bat scriptgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14589 16af8721-9629-0410-8352-f15c8da7e697 - * From Pjotr Svetachov, "I made a small change to - DataOutputStream.cpp which makes saving Geodes possible again. - This is only half a fix as it only will save a Drawable that is - part of a Geode. But this change does not require a version bump - of the .ive format. I tried it with a few datasets we have here - with the 3.2 stable branch and the trunk with this patch and - there was no difference in the .ive files that were produced." -2014-06-27 15:55 robert +Tue, 9 Dec 2014 19:22:45 +0000 +Checked in by : Robert Osfield +Quietened down debug messagesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14588 16af8721-9629-0410-8352-f15c8da7e697 - * Removed unused method. -2014-06-27 15:48 robert +Tue, 9 Dec 2014 19:20:05 +0000 +Checked in by : Robert Osfield +From Wand Rui, "I've rewritten the osgblenddrawbuffers example to use the new BlendFunci and Capability classes. Hope it will tell others how to make use of the new functionality and why they are important in modern MRT-based applications."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14587 16af8721-9629-0410-8352-f15c8da7e697 - * From Laurens Voerman, "attached is a modified version of - src/osgUtil/Tessellator.cpp - current code checks for a Nullpointer and on notify level info or - above will inform you with a crash, by dereferencing it." -2014-06-27 15:39 robert +Tue, 9 Dec 2014 18:30:28 +0000 +Checked in by : Robert Osfield +Moved FBO Extensions into GL2Extensions.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14586 16af8721-9629-0410-8352-f15c8da7e697 - * Updated AUTHORS file -2014-06-27 15:38 robert +Tue, 9 Dec 2014 14:58:34 +0000 +Checked in by : Robert Osfield +Removed no longer used Extension definitiongit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14585 16af8721-9629-0410-8352-f15c8da7e697 - * Added an OSG_INIT_SINGLETON_PROXY to make sure that the - ApplicationUsage singleton gets intialized before usage. -2014-06-27 15:36 robert +Tue, 9 Dec 2014 14:57:25 +0000 +Checked in by : Robert Osfield +Moved local Extensions structs into GL2Extensionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14584 16af8721-9629-0410-8352-f15c8da7e697 - * Updated AUTHORS file -2014-06-27 15:30 robert +Tue, 9 Dec 2014 11:14:33 +0000 +Checked in by : Robert Osfield +Moveved Stencil/StencilTwoSided::Extensions into GL2Extensionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14583 16af8721-9629-0410-8352-f15c8da7e697 - * Added a render order sort to the list of Cameras being tested by - the *Viewer::generatePointerData(..) method to ensure that the - highest Camera gets focus. -2014-06-26 15:54 robert +Tue, 9 Dec 2014 10:37:09 +0000 +Checked in by : Robert Osfield +Moved local Extensions objects to GL2Extensionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14582 16af8721-9629-0410-8352-f15c8da7e697 - * Update ChangeLog for dev release -2014-06-26 14:16 robert +Tue, 9 Dec 2014 10:05:59 +0000 +Checked in by : Robert Osfield +Moved Texture*::Extensions functionality into GL2Extensionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14581 16af8721-9629-0410-8352-f15c8da7e697 - * Revised KdTreeBuilder so that is used the new - apply(osg::Geometry&) method rather than expanding an osg::Geode. -2014-06-26 11:49 robert +Mon, 8 Dec 2014 16:08:44 +0000 +Checked in by : Robert Osfield +MOved VertexProgram and FragmentProgram::Extensions into GL2Extensions.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14580 16af8721-9629-0410-8352-f15c8da7e697 - * From Sebastian Messerschmidt, "I've applied a simple fix for the - backward animation support in osg::Sequence. - It will simply use the sign of the speed set in the getNextValue. - Attached file is against trunk." -2014-06-26 11:11 robert +Mon, 8 Dec 2014 11:08:29 +0000 +Checked in by : Robert Osfield +Fixed memory leak in RenderStageCache.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14578 16af8721-9629-0410-8352-f15c8da7e697 - * From Lauren Voerman, "In order to speed up loading large scenes - (especially from network disk) I added code to our viewer to - setup multiple database-pagers and request the files trough a - database-request: - databasePager->setUpThreads(16, 1); - - We experienced problems with multiple databasepagers loading - files in parallel, when two threads start to load the same file - (usually a texture referenced by multiple models). The second - thread to add the file to the cache (sometimes) manages to do so - while the refcount from the cached object still is zero, causing - the object loaded to be destroyed. - Sometimes the second thread manages to ref() the object before - Referenced::signalObserversAndDelete does the final recount - check, causing a warning: - "Warning Referenced::signalObserversAndDelete(,,) doing delete - with _refCount=1" - - With a deleted object added to the scenegraph we get some - undesired results, I think the program only crashes if the object - was a Node, and just has some untextured surfaces if it was a - texture, but I'm not completely sure. - - Attached is a modified version of the Registry.cpp, returning the - object in cache and let the duplicate loaded object to be - destroyed. - - A more efficient option would be to add some sort of blocking - entry to the objectcache to stop the second thread from reading - the file, and just wait until the first thread added it to the - cache. If you think that's worthwile we would be happy to - implement that version. A bit tricky to implement and test, - that's why I submit a simple version that stops my program from - crashing." -2014-06-26 11:09 robert +Sun, 7 Dec 2014 17:31:49 +0000 +Checked in by : Robert Osfield +MOved SampleMaski::Extensions into osg::GL2Extensionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14577 16af8721-9629-0410-8352-f15c8da7e697 - * Removed erroneous character -2014-06-26 10:53 robert +Fri, 5 Dec 2014 20:05:18 +0000 +Checked in by : Robert Osfield +Moved TextureCubeMap::Extension functionality into GL2Extensionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14576 16af8721-9629-0410-8352-f15c8da7e697 - * From Farshid Lashkari, - "I noticed that Text3D objects would change there z alignment - depending on the alignment mode. I'm not sure if this was - intentional or just a simple mistake. My expectation was that the - front of the object would always stay aligned to the 0 z-plane, - regardless of the alignment mode. I've attached an updated - version that retains a consistent z-alignment." - "I just now noticed another issue with Text3D objects. It was not - properly computing the bounding box when non-axis aligned - rotations were being applied. In this case all corners of the - bounding box need to be transformed in order to get the correct - containing box. I've attached the updated file." - "The incorrect bounding box problem also applies to regular Text - objects. I've attached the fix for that as well as the original - Text3D fix." -2014-06-26 10:45 robert +Fri, 5 Dec 2014 17:26:42 +0000 +Checked in by : Robert Osfield +Moved osg::Drawable::Extensions into osg::GL2Extensionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14575 16af8721-9629-0410-8352-f15c8da7e697 - * From Pjotr Svetachov, "For a scene with a lot of animated agents - I did some small - optimizations to reduce cpu overhead: - 1) Avoid a load-hit-store in UpdateBone. - b->getMatrixInBoneSpace() - returns the same matrix that was just stored with b->setMatrix() - 2) Avoid calling element->isIdentity() for the whole transform - stack - (can be expensive is element is a matrix) - 3) Make the key frame interpolator use binary search instead of a - linear one. This is very noticeable in scenes where some geometry - has - long repeating animations that start at the same time, you will - see - the update time grow then reset and grow again." -2014-06-26 10:24 robert +Fri, 5 Dec 2014 10:37:20 +0000 +Checked in by : Robert Osfield +Fixed windows build warningsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14574 16af8721-9629-0410-8352-f15c8da7e697 - * From Laurens Voerman, "while debugging ImageSequence I had a - crash, due to the very large frametimes caused by halting the - program. The problem is that when the frame time exceeds the - length of the entire image sequence, a looping sequence will try - to read it's _imageDataList beyond its size. - fix attached for src/osg/ImageSequence.cpp" -2014-06-26 10:05 robert +Fri, 5 Dec 2014 09:52:42 +0000 +Checked in by : Robert Osfield +Windows build fixgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14573 16af8721-9629-0410-8352-f15c8da7e697 - * From Laurens Voerman, "while testing databasepager stuff I - noticed that the various loaders (osg/ive/osgx) do not pass the - current options to the imagePager, therefore the images cannot be - found if not in the global OSG_FILE_PATH. Attached is a fix, - containing modified versions of - - From Robert Osfield, add check to only apply Options object when - a valid Option object is assigned. -2014-06-26 09:38 robert +Fri, 5 Dec 2014 08:58:23 +0000 +Checked in by : Robert Osfield +From the GLintptr + GLsizeiptr defintions to GL2Extensions headergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14572 16af8721-9629-0410-8352-f15c8da7e697 - * From Farshid Lashkari, "I've attached a small fix for the ply - loader to support Windows style line endings when reading the - header." -2014-06-26 09:33 robert +Thu, 4 Dec 2014 19:03:16 +0000 +Checked in by : Robert Osfield +Moved osg::BlenFunc::Extensions into osg::GL2Extensionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14571 16af8721-9629-0410-8352-f15c8da7e697 - * From Aurelien Albert, "This submission fix all my problems with - reading / writing "osgb" files inside "osga" archive with final - archive size > 2 Go, with Windows OS (didn't tested with Linux)" -2014-06-25 16:05 robert +Thu, 4 Dec 2014 18:13:11 +0000 +Checked in by : Robert Osfield +Moved GLBufferObject::Extensions structure into osg::GL2Extensionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14570 16af8721-9629-0410-8352-f15c8da7e697 - * From Riccardo Corsi, "there's an inconsistency between the - behavior of the method and the - debug message it prints out on the console. - - Around line 1040 of Registry.cpp (see code below) the method - returns - "simpleFileName" but prints about returning "filename". - - In attachment the modified file, based on osg 3.2.0 - ricky - - - - if(fileExists(simpleFileName)) - { - OSG_DEBUG << "FindFileInPath(" << filename << "): returning " << - filename << std::endl; - return simpleFileName; - } - - " -2014-06-25 15:55 robert +Thu, 4 Dec 2014 18:12:07 +0000 +Checked in by : Robert Osfield +Removed redundent spacesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14569 16af8721-9629-0410-8352-f15c8da7e697 - * From Auelien Albert, "I'm working on an application which use 3ds - file format as input and use the name of the material to "map" - specific data with 3d geometry. - - The osg 3ds plugin modify the exported materials name in the same - way it modifies the node names. - - I've added an option to preserve originals materials names, with - the assurance of unique material names are preserved." -2014-06-25 15:47 robert +Thu, 4 Dec 2014 17:12:55 +0000 +Checked in by : Robert Osfield +Added glMemoryBarrier, glMapBufferRange and glBindBufferBase to GL2Extensionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14568 16af8721-9629-0410-8352-f15c8da7e697 - * Refactored the way that hole are pruned from the occluder hole - list. -2014-06-25 11:07 robert +Thu, 4 Dec 2014 16:28:32 +0000 +Checked in by : Robert Osfield +Moved old GL2Extensions::Get(..) usage across to new osg::State::get() usagegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14567 16af8721-9629-0410-8352-f15c8da7e697 - * From Laurens Voerman, "a minor patch for osgconv to make sure the - helptext is printed if you run "osgconv -h" with OSG_NOTIFY_LEVEL - set too low. - applys to both trunk and stable branch." -2014-06-25 10:45 robert +Thu, 4 Dec 2014 16:22:31 +0000 +Checked in by : Robert Osfield +Ported GL2Extentions across to using the new GL extensions approach - cutting code count by 3000 lines!git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14566 16af8721-9629-0410-8352-f15c8da7e697 - * From Mikhail Izmestev, "Attached fix to avoid vector usage in - StateGraph::prune and reduce heap allocations." - - Notes from Robert Osfield, ammended the erase so that it - explictly increments the iterator before the erase call. -2014-06-25 09:58 robert +Thu, 4 Dec 2014 15:10:43 +0000 +Checked in by : Robert Osfield +Build fix for when ref_ptr<> auto conversion is disabledgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14565 16af8721-9629-0410-8352-f15c8da7e697 - * changed debug message to use OSG_DEBUG -2014-06-25 09:57 robert +Wed, 3 Dec 2014 17:31:16 +0000 +Checked in by : Robert Osfield +Added osg::Capability and Cabibilityi base classes to wrap up glEnable/glDisable + glEnablei/glDisablei functionality, with osg::Enablei and osg::Disablei concrete implementations.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14564 16af8721-9629-0410-8352-f15c8da7e697 - * From Alexander Sinditskiy, "My changes added support for - gltexstorrage2d for texture2d. - - Initially I described issue in message: - http://forum.openscenegraph.org/viewtopic.php?t=13820 - It solves issue with compiling texture using ico from image with - mipmaps - - I added enviroment variable OSG_GL_TEXTURE_STORAGE_ENABLE to - control usage of glTexStorage2d. Initially it is disabled. - - It used only if image have mipmaps. - - Another issue is converting from internalFormat + type to sized - internal format. I created sizedInternalFormats[] struct where - sized internal formats are ordered from worse->best. - also this struct have commented lines. Commented formats are - listed in - http://www.opengl.org/wiki/GLAPI/glTexStorage2D - but looks like not using in osg." - - Note from Robert Osfield. Changed the env var control to - OSG_GL_TEXTURE_STORAGE and made it's value true by default when - the feature is supported by the OpenGL driver. To disable to - use of glTexStorage2D use OSG_GL_TEXTURE_STORAGE="OFF" or - "DISABLE" -2014-06-25 08:21 robert +Tue, 2 Dec 2014 17:12:56 +0000 +Checked in by : Robert Osfield +Added osg::BlendFunci, osg::BlendEquationi and osg::ColorMaski StateAttrirbutes that wrap the glBlendFunci, glBlendEquationi and glColorMaski functionsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14563 16af8721-9629-0410-8352-f15c8da7e697 - * From Björn Blissing, "I found a minor error in documentation in - include/osg/Math. - Function: absolute() had the same description as the function - minimum() - - I removed the erroneous text." -2014-06-25 08:18 robert +Tue, 2 Dec 2014 15:37:07 +0000 +Checked in by : Robert Osfield +Moved BlendEquation across to using the new GL extension setup approach.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14562 16af8721-9629-0410-8352-f15c8da7e697 - * From Björn Blissing, "Fix to support correct shininess and - transparency in FBX plugin" -2014-06-24 19:57 robert +Tue, 2 Dec 2014 15:21:24 +0000 +Checked in by : Robert Osfield +Fixed typogit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14561 16af8721-9629-0410-8352-f15c8da7e697 - * From Pjotr Svetachov, "There were some modes missing when - exporting to .ogst so I added them." -2014-06-24 14:58 robert +Tue, 2 Dec 2014 11:10:23 +0000 +Checked in by : Robert Osfield +Added a template get and get_exisiting method into osg::State that implements a new mechanism for managing OpenGL extensions.Refactored the BendFunc::Extensions usage to simplify it utilizing the new osg::State extension mechanism. - * From Farshid Lashkari, "I've attached a small for the osg - ReaderWriter. It was performing a case sensitive comparison to - the file extension to determine whether to write the file in - ascii or binary. This meant that if the filename was "model.OSGT" - it would be treated as binary, instead of ascii. I've updated the - plugin to ignore case." -2014-06-24 11:24 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14560 16af8721-9629-0410-8352-f15c8da7e697 - * Merged fix to merge geometries. -2014-06-23 12:02 robert +Fri, 28 Nov 2014 16:20:28 +0000 +Checked in by : Robert Osfield +From Rafa Gaitan, "I'm attaching also a new version of the toolchain with support for the r10c ndk. This fixes some CMake Warnings and allows to use the toolchain in macosx."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14558 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed nested callback calling. -2014-06-16 16:16 robert +Fri, 28 Nov 2014 16:10:14 +0000 +Checked in by : Robert Osfield +Removed include/osg/Version and include/OpenThreads/Version headers as these are autogenerated.Changed the paths for the OpenThreads/osg Version headers to be placed in the PROJECT_BINARY_DIR. - * Fixed check against totaly number of vertices -2014-06-16 08:54 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14557 16af8721-9629-0410-8352-f15c8da7e697 - * From Aurelien Albert, "I've got some issues using osgb files - within an big osga archive (file size > 2Go). - - Issue is described here : - http://forum.openscenegraph.org/viewtopic.php?t=13914 - - Here is a fix, using "std::streampos" standard type for stream - positions up to 64bits. - " -2014-06-13 17:17 robert +Fri, 28 Nov 2014 10:54:40 +0000 +Checked in by : Robert Osfield +Standardized on defined(__ANDROID__)git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14556 16af8721-9629-0410-8352-f15c8da7e697 - * Added osgUI::ColorPalette class -2014-06-13 17:16 robert +Fri, 28 Nov 2014 10:52:06 +0000 +Checked in by : Robert Osfield +Added getlocaledecpoint() workaround for Android build of lua plugingit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14555 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed typo in parameter name -2014-06-12 16:00 robert +Thu, 27 Nov 2014 15:54:24 +0000 +Checked in by : Robert Osfield +Added in source shadersgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14554 16af8721-9629-0410-8352-f15c8da7e697 - * Removed generation of scroll event on the X11 button release - event as X11 was generating both a pair of press/release events - for a single scroll when movement. -2014-06-12 15:24 robert +Thu, 27 Nov 2014 15:39:38 +0000 +Checked in by : Robert Osfield +Changed the name of shader filesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14553 16af8721-9629-0410-8352-f15c8da7e697 - * Added if () blocks to - State::convertVertexShaderSourceToOsgBuiltIns() to ensure that - only parts of the shader than need replacing are replaced. -2014-06-12 14:12 robert +Wed, 26 Nov 2014 20:40:57 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "It looks like the Callback header got accidentally removed from the CMakeLists.txt in the submission yesterday for the geometry instancing example."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14551 16af8721-9629-0410-8352-f15c8da7e697 - * Improved positioning of combo box popup items -2014-06-12 14:05 robert +Wed, 26 Nov 2014 19:05:09 +0000 +Checked in by : Robert Osfield +Windows build fixgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14550 16af8721-9629-0410-8352-f15c8da7e697 - * Added frame support to ComboBox. - - Improved the alingment support for text -2014-06-11 16:31 robert +Wed, 26 Nov 2014 17:08:16 +0000 +Checked in by : Robert Osfield +Fixed warningsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14549 16af8721-9629-0410-8352-f15c8da7e697 - * Added handling of AligmentSettings of Text layout -2014-06-11 10:55 robert +Wed, 26 Nov 2014 17:04:12 +0000 +Checked in by : Robert Osfield +Fixed warningsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14546 16af8721-9629-0410-8352-f15c8da7e697 - * Implemented more robust intersection handling for mouse - interactions. Wired up even handling of ComboBox popup. -2014-06-10 08:50 robert +Wed, 26 Nov 2014 16:29:53 +0000 +Checked in by : Robert Osfield +Fixed deprecated warningsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14545 16af8721-9629-0410-8352-f15c8da7e697 - * Added using Callback::run() method to Drawable::CullCallback -2014-06-09 13:46 robert +Wed, 26 Nov 2014 16:15:37 +0000 +Checked in by : Robert Osfield +Fixed warninggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14542 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed handling of Drawable callbacks and - NumChildrenRequiringEventTraversal -2014-06-06 15:05 robert +Wed, 26 Nov 2014 16:04:33 +0000 +Checked in by : Robert Osfield +Fixed warnings.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14539 16af8721-9629-0410-8352-f15c8da7e697 - * Removed redudent NodeVisitor::s/getUserData() as osg::Object - provide this. - - Added using run entry to InteractiveImageHandler to quieten - warning -2014-06-06 09:12 robert +Wed, 26 Nov 2014 16:00:18 +0000 +Checked in by : Robert Osfield +Fixed warninggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14537 16af8721-9629-0410-8352-f15c8da7e697 - * Added using NodeCallback::run() to avoid warnings -2014-06-06 09:01 robert +Wed, 26 Nov 2014 15:59:23 +0000 +Checked in by : Robert Osfield +Fixed warninggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14536 16af8721-9629-0410-8352-f15c8da7e697 - * Added missing OSG_EXPORT -2014-06-05 16:26 robert +Wed, 26 Nov 2014 14:06:27 +0000 +Checked in by : Robert Osfield +Added osgTerrain::DisplacementMappingTechnique serializergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14535 16af8721-9629-0410-8352-f15c8da7e697 - * Refactored Callback system in osg::Node, osg::Drawable, - osg::StateSet and osg::StateAttribute to use a new osg::Callback - base class. -2014-06-04 08:59 robert +Wed, 26 Nov 2014 14:04:20 +0000 +Checked in by : Robert Osfield +Renamed ShaderTerrain to DisplacementMappingTechnique and moved it from the osgterrain example testbed into the osgTerrain NodeKitgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14534 16af8721-9629-0410-8352-f15c8da7e697 - * Updated shaders from OpenSceneGraph-Data sources -2014-06-03 15:05 robert +Wed, 26 Nov 2014 13:36:28 +0000 +Checked in by : Robert Osfield +Moved osgTerrain::GeometryPool from osgterrain example into osgTerrain NodeKitgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14533 16af8721-9629-0410-8352-f15c8da7e697 - * From Pjotr Sventachov and Robert Osfield, added callback unit - test to osgcallback example, to use test run osgcallback --test, - if everything is functioning then test1 to test7 messages should - be reported to the console. -2014-06-03 09:52 robert +Tue, 25 Nov 2014 14:37:05 +0000 +Checked in by : Robert Osfield +Removed GL header as it's already included via the ${OPENSCENEGRAPH_OPENGL_HEADER} entry.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14532 16af8721-9629-0410-8352-f15c8da7e697 - * Reverted change of Node::ParentList from being a vector - back to a vector -2014-06-03 09:23 robert +Tue, 25 Nov 2014 10:58:23 +0000 +Checked in by : Robert Osfield +From PawelKsiezopolski, "This submission contains a new example for OSG : a geometry instancing rendering algorithm consisting of two consequent phases :- first phase is a GLSL shader performing object culling and LOD picking ( a culling shader ). + Every culled object is represented as GL_POINT in the input osg::Geometry. + The output of the culling shader is a set of object LODs that need to be rendered. + The output is stored in texture buffer objects. No pixel is drawn to the screen + because GL_RASTERIZER_DISCARD mode is used. - * Refactor osg::Geode to subclass from osg::Group and reuse the - NodeList children container +- second phase draws osg::Geometry containing merged LODs using glDrawArraysIndirect() + function. Information about quantity of instances to render, its positions and other + parameters is sourced from texture buffer objects filled in the first phase. -2014-06-02 16:20 robert +The example uses various OpenGL 4.2 features such as texture buffer objects, +atomic counters, image units and functions defined in GL_ARB_shader_image_load_store +extension to achieve its goal and thus will not work on graphic cards with older OpenGL +versions. - * Removed OSG_USE_BOUND and associated osg::Bound adapter class to - avoid problems with BoundingBox::expandBy/expandByRadius() - implementation choosing a null BoundingBox from - the osg::Bound class causing crashes. +The example was tested on Linux and Windows with NVidia 570 and 580 cards. +The tests on AMD cards were not conducted ( due to lack of it ). +The tests were performed using OSG revision 14088. -2014-06-02 08:13 robert +The main advantages of this rendering method : +- instanced rendering capable of drawing thousands of different objects with + almost no CPU intervention ( cull and draw times are close to 0 ms ). +- input objects may be sourced from any OSG graph ( for example - information about + object points may be stored in a PagedLOD graph. This way we may cover the whole + countries with trees, buildings and other objects ). + Furthermore if we create osgDB plugins that generate data on the fly, we may + generate information for every grass blade for that country. +- every object may have its own parameters and thus may be distinct from other objects + of the same type. +- relatively low memory footprint ( single object information is stored in a few + vertex attributes ). +- no GPU->CPU roundtrip typical for such methods ( method uses atomic counters + and glDrawArraysIndirect() function instead of OpenGL queries. This way + information about quantity of rendered objects never goes back to CPU. + The typical GPU->CPU roundtrip cost is about 2 ms ). +- this example also shows how to render dynamic objects ( objects that may change + its position ) with moving parts ( like car wheels or airplane propellers ) . + The obvious extension to that dynamic method would be the animated crowd rendering. +- rendered objects may be easily replaced ( there is no need to process the whole + OSG graphs, because these graphs store only positional information ). - * From Roni Zanolli, build fix for iPhone +The main disadvantages of a method : +- the maximum quantity of objects to render must be known beforehand + ( because texture buffer objects holding data between phases have constant size ). +- OSG statistics are flawed ( they don't know anymore how many objects are drawn ). +- osgUtil::Intersection does not work -2014-05-30 16:44 robert +Example application may be used to make some performance tests, so below you +will find some extended parameter description : +--skip-dynamic - skip rendering of dynamic objects if you only want to + observe static object statistics +--skip-static - the same for static objects +--dynamic-area-size - size of the area for dynamic rendering. Default = 1000 meters + ( square 1000m x 1000m ). Along with density defines + how many dynamic objects is there in the example. +--static-area-size - the same for static objects. Default = 2000 meters + ( square 2000m x 2000m ). - * Implemented basic frame graphic +Example application defines some parameters (density, LOD ranges, object's triangle count). +You may manipulate its values using below described modifiers: +--density-modifier - density modifier in percent. Default = 100%. + Density ( along with LOD ranges ) defines maximum + quantity of rendered objects. registerType() function + accepts maximum density ( in objects per square kilometer ) + as its parameter. +--lod-modifier - defines the LOD ranges. Default = 100%. +--triangle-modifier - defines the number of triangles in finally rendered objects. + Default = 100 %. +--instances-per-cell - for static rendering the application builds OSG graph using + InstanceCell class ( this class is a modified version of Cell class + from osgforest example - it builds simple quadtree from a list + of static instances ). This parameter defines maximum number + of instances in a single osg::Group in quadtree. + If, for example, you modify it to value=100, you will see + really big cull time in OSG statistics ( because resulting + tree generated by InstanceCell will be very deep ). + Default value = 4096 . +--export-objects - write object geometries and quadtree of instances to osgt files + for later analysis. +--use-multi-draw - use glMultiDrawArraysIndirect() instead of glDrawArraysIndirect() in a + draw shader. Thanks to this we may render all ( different ) objects + using only one draw call. Requires OpenGL version 4.3 and some more + work from me, because now it does not work ( probably I implemented + it wrong, or Windows NVidia driver has errors, because it hangs + the apllication at the moment ). -2014-05-29 15:21 robert +This application is inspired by Daniel Rákos work : "GPU based dynamic geometry LOD" that +may be found under this address : http://rastergrid.com/blog/2010/10/gpu-based-dynamic-geometry-lod/ +There are however some differences : +- Daniel Rákos uses GL queries to count objects to render, while this example + uses atomic counters ( no GPU->CPU roundtrip ) +- this example does not use transform feedback buffers to store intermediate data + ( it uses texture buffer objects instead ). +- I use only the vertex shader to cull objects, whereas Daniel Rákos uses vertex shader + and geometry shader ( because only geometry shader can send more than one primitive + to transform feedback buffers ). +- objects in the example are drawn using glDrawArraysIndirect() function, + instead of glDrawElementsInstanced(). - * Futher work on ComboBox/Popup +Finally there are some things to consider/discuss : +- the whole algorithm exploits nice OpenGL feature that any GL buffer + may be bound as any type of buffer ( in our example a buffer is once bound + as a texture buffer object, and later is bound as GL_DRAW_INDIRECT_BUFFER ). + osg::TextureBuffer class has one handy method to do that trick ( bindBufferAs() ), + and new primitive sets use osg::TextureBuffer as input. + For now I added new primitive sets to example ( DrawArraysIndirect and + MultiDrawArraysIndirect defined in examples/osggpucull/DrawIndirectPrimitiveSet.h ), + but if Robert will accept its current implementations ( I mean - primitive + sets that have osg::TextureBuffer in constructor ), I may add it to + osg/include/PrimitiveSet header. +- I used BufferTemplate class writen and published by Aurelien in submission forum + some time ago. For some reason this class never got into osg/include, but is + really needed during creation of UBOs, TBOs, and possibly SSBOs in the future. + I added std::vector specialization to that template class. +- I needed to create similar osg::Geometries with variable number of vertices + ( to create different LODs in my example ). For this reason I've written + some code allowing me to create osg::Geometries from osg::Shape descendants. + This code may be found in ShapeToGeometry.* files. Examples of use are in + osggpucull.cpp . The question is : should this code stay in example, or should + it be moved to osgUtil ? +- this remark is important for NVidia cards on Linux and Windows : if + you have "Sync to VBlank" turned ON in nvidia-settings and you want to see + real GPU times in OSG statistics window, you must set the power management + settings to "Prefer maximum performance", because when "Adaptive mode" is used, + the graphic card's clock may be slowed down by the driver during program execution + ( On Linux when OpenGL application starts in adaptive mode, clock should work + as fast as possible, but after one minute of program execution, the clock slows down ). + This happens when GPU time in OSG statistics window is shorter than 3 ms. +" -2014-05-29 10:51 robert - * Added beginnings of ComboBox popup functionality. +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14531 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-28 10:18 robert - * Added cached Depth and ColorMask to reduce the amount of - duplicate state in the osgUI subgraph +Tue, 25 Nov 2014 10:33:20 +0000 +Checked in by : Robert Osfield +Removed DrawArrays optimization to simplify the code and open the door to adding primitive combining.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14530 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-28 10:06 robert - * Replaced Widget::GraphicsSubgraph with GraphicsSubgraphMap to - allow finer control of when the rendering subgraphs are done. +Tue, 25 Nov 2014 10:11:06 +0000 +Checked in by : Robert Osfield +Commented out State::setUpVertexAttribAlias(..) debug message.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14529 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-27 14:14 robert - * Improved handling of text +Mon, 24 Nov 2014 15:19:20 +0000 +Checked in by : Robert Osfield +From Jan Klimke, "i noticed, that there are a couple of additional flaws when building osg for Mac OS X 10.10 Yosemite.The mac os sdk version is recognized by the current CMAKE script as 10.1 instead of 10.10 since it cuts the version string from the 4th place. I introduced a more reliable version checking based on splitting the returned version code into MAJOR MINOR and PATCH parts and reassemble the OSG sdk version afterwards. -2014-05-26 16:32 robert +I replaced the existing CMake code against the following (returning now version 10.10 as expected): - * Removed Dialog/Popup::open/close() methods as they are replaced - by the setVisible() method + # Determine the canonical name of the selected Platform SDK + EXECUTE_PROCESS(COMMAND "/usr/bin/sw_vers" "-productVersion" + OUTPUT_VARIABLE OSG_OSX_SDK_NAME + OUTPUT_STRIP_TRAILING_WHITESPACE) + STRING(REPLACE "." ";" MACOS_VERSION_LIST ${OSG_OSX_SDK_NAME}) + LIST(GET MACOS_VERSION_LIST 0 MACOS_VERSION_MAJOR) + LIST(GET MACOS_VERSION_LIST 1 MACOS_VERSION_MINOR) + LIST(GET MACOS_VERSION_LIST 2 MACOS_VERSION_PATCH) -2014-05-26 16:27 robert + SET(OSG_OSX_SDK_NAME "macosx${MACOS_VERSION_MAJOR}.${MACOS_VERSION_MINOR}") - * Implemented Widger::Visible and Enabled usage +Also i added the check for the new Version to some more find scripts. -2014-05-26 16:15 robert +Additionally the nil object in Objective C now seems to be equivalent with a null_ptr that cannot be passed as GLInt anymore. So i switched this in the PixelBufferCocoa.mm to pass a zero instead of nil. +" - * Added Visible and Enalbed properties to Widget -2014-05-26 16:15 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14527 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed missing initilaizer -2014-05-26 15:58 robert +Mon, 24 Nov 2014 14:54:39 +0000 +Checked in by : Robert Osfield +Added VertexAttribDivisor class to wrap up glVertexAttribDivisor functiongit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14526 16af8721-9629-0410-8352-f15c8da7e697 - * Added item serializer -2014-05-23 18:59 robert +Mon, 24 Nov 2014 14:09:14 +0000 +Checked in by : Robert Osfield +Fixed osgsimplegl3 example's set up of the main camera.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14524 16af8721-9629-0410-8352-f15c8da7e697 - * Implemented clipping of widget to the widgets extents. -2014-05-23 15:00 robert +Mon, 24 Nov 2014 14:01:05 +0000 +Checked in by : Robert Osfield +Added numTextureUnits parameter to the osg::State::resetVertexAttributeAlias(bool, unit) method, and set the default to 8.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14523 16af8721-9629-0410-8352-f15c8da7e697 - * Implemented scheme for making sure nested widgest overdraw parent - widgets graphics -2014-05-23 15:00 robert +Fri, 21 Nov 2014 20:16:16 +0000 +Checked in by : Robert Osfield +From Alberto Luaces,"the current code uses the preprocessor for generating the plugin path in a way that when CMAKE_INSTALL_PREFIX contains something along the lines of/usr/x86_64-linux-gnu/ - * Added wrappers for open and close methods +it gets substituted as -2014-05-22 10:02 robert +/usr/x86_64-1-gnu/ - * Added osgUI::Widget::set/getGraphicsSubgraph() to hold the - subgraph that does the rendering portion of widgets +that is, the string is preprocessed again, thereby making changes to +anything that matches any defined symbol, as "linux" in this example +(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763816). -2014-05-21 16:15 robert +Quoting that path directly in CMake scripts solves that problem. +" - * Addd method implementation in serializers -2014-05-21 10:17 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14522 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed handling of traverse -2014-05-21 09:45 robert +Fri, 21 Nov 2014 20:15:30 +0000 +Checked in by : Robert Osfield +Added comment clarifying how Image::getColor(..) out of 0..1 range texcoords are handled - now clamped to edge.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14520 16af8721-9629-0410-8352-f15c8da7e697 - * Improved handling of callback object to open the door to use of - general osg::CallbackObject as mechnisms for something simialr to - Qt's signal/slot mechanism. -2014-05-21 09:07 robert +Fri, 21 Nov 2014 17:22:30 +0000 +Checked in by : Robert Osfield +Implemented a clamp to edge policy for the Image::g/setColor(color, texcoord).git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14519 16af8721-9629-0410-8352-f15c8da7e697 - * Added osg::runNamedCallbackObjects(..) convinience method for run - all named osg::CallbackObjects attached to an osg::Object -2014-05-21 09:06 robert +Fri, 21 Nov 2014 17:17:11 +0000 +Checked in by : Robert Osfield +Added testing for Drawables in the CopyOp::operator(Node*) to replicate the old functionality.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14518 16af8721-9629-0410-8352-f15c8da7e697 - * Renamed callbacks to avoid overlap with Node callbacks -2014-05-20 16:09 robert +Fri, 21 Nov 2014 16:27:29 +0000 +Checked in by : Robert Osfield +From Sebastian Messerschmidt, "Added setColor function to modify an image based on texture coordinates, parallel to the getColor functionality."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14517 16af8721-9629-0410-8352-f15c8da7e697 - * Moved the _boundingSphere set method into the update section of - the Drawable::getBoundingBox() method - - Added an UpdateVisitor::apply(Drawable&) implementation. -2014-05-20 15:34 robert +Fri, 21 Nov 2014 14:46:08 +0000 +Checked in by : Robert Osfield +Added --db-affinit cpuNum option to osgterrain example to illustrate how to set the thead affinity of the DatabasePager threads.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14516 16af8721-9629-0410-8352-f15c8da7e697 - * From Pjotr Svetachov, "I stumbled on a little bug with the new - drawables. I was distributing points data into different - drawables that I used in a LOD later. When simplifying the system - to not use geodes anymore I came upon the following bug: - If Drawable::getBoundingBox would compute an invalid bounding box - (if it was for example empty) it would make a bounding sphere - with a infinite radius which counts as a valid sphere in osg. - - Attached is a small fix." -2014-05-20 08:35 robert +Fri, 21 Nov 2014 10:44:01 +0000 +Checked in by : Robert Osfield +From Sebastian Messerschmidt, "Attached you find a change adding a getNumSamples() function to retrieve the value set via setNumSamples."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14515 16af8721-9629-0410-8352-f15c8da7e697 - * Improved the handling of updating of text -2014-05-20 08:35 robert +Fri, 21 Nov 2014 10:37:33 +0000 +Checked in by : Robert Osfield +From Rafa Gaitan, "I finally had some time to change the build system for Android using a Toolchain, which, I think, will be easier to maintain and uses cmake standard system to build it.My changes: +------------------- +- I changed the cmake files and added a toolchain for building OSG in Android. The toolchain is based on the one used at OpenCV. For building OSG for android you just need to do: - * Added shell of Popup class + mkdir build_android_static_gles2 && cd build_android_static_gles2 + cmake .. -DANDROID_NDK= + -DCMAKE_TOOLCHAIN_FILE=../PlatformSpecifics/Android/android.toolchain.cmake + -DOPENGL_PROFILE="GLES2" + -DDYNAMIC_OPENTHREADS=OFF + -DDYNAMIC_OPENSCENEGRAPH=OFF + -DANDROID_NATIVE_API_LEVEL=15 # optional + -DANDROID_ABI=armeabim #optional + -DCMAKE_INSTALL_PREFIX= #optional +make -j 8 +make install -2014-05-20 08:34 robert + The OPENGL_PROFILE works as expected, changing it to "GLES1" it builds and links OSG using GLES1. + The DYNAMIC_OPENTHREADS/DYNAMIC_OPENSCENEGRAPH parameters also allows to build the dynamic libraries - * Added check against whether an event has been handled or not - before actioning escape/quit. +- I also added some build fixes for android related to the texture formats and added some missing USE_OSG_SERIALIZER_WRAPPER in the osg serializer library to support loading osgb files in static." -2014-05-19 10:11 robert - * Add shell of Dialog class +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14514 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-19 09:30 robert - * Added handling of up/down key to ComboBox +Fri, 21 Nov 2014 10:21:46 +0000 +Checked in by : Robert Osfield +From Björn Blissing, fix for ambiguous defines in Atomic.cpp when compiling with MinGW and GCCgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14513 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-16 19:24 robert - * Added initial cut of ComboBox +Thu, 20 Nov 2014 17:37:52 +0000 +Checked in by : Robert Osfield +From Claus Steuer, "XCode 6, IOs 8.1 SDK Compile fix : There are some undefined texture formats when compiling osg for IOs 8.1 with XCode 6 and OpenGLES2 enabled."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14510 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-16 10:38 robert - * Added initial shell of PushButton implementation +Thu, 20 Nov 2014 17:00:14 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "I was experimenting with VBO's to try to get them on par with display lists when drawing lots of batches and noticed that my program generated a lot of unneeded glClientActiveTexture calls. Digging deeper I found out it came from State::disableTexCoordPointer where the function would call glClientActiveTexture but not glDisableClientState because the geometry didn't have texture coordinates for that channel. This is because in our scene there are some geometries that have move than one uv channels making State::_texCoordArrayList grow. Then the method State::applyDisablingOfVertexAttributes() will call disableTexCoordPointer multiple times.I rearrange the method a little to combat this. Now the logic has the +same ordering as disableTexCoordPointersAboveAndIncluding which +already combats this." -2014-05-15 16:30 robert - * Added support for intesecting Drawable that are attached directly - to the scene graph without an osg::Geode +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14508 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-15 14:57 robert - * From Sebastian Messerschmidt, "There was some small error due to - MS non-conformity handling comments correctly." +Thu, 20 Nov 2014 16:38:23 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "The obj loader was overriding the existing database path list with the file path of the model, instead of prepending the file path to the path list. The latter seems to be more common behavior for most of the existing loader plugins. Also, the local options weren't actually being used when processing the scene graph for textures. I've attached the fix for both issues."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14507 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-15 14:45 robert - * From Pjotr Svetachov, build fixes for VisualStudio +Thu, 20 Nov 2014 10:52:24 +0000 +Checked in by : Robert Osfield +From Marc Helbling, "here is a trivial fix in the Inventor plugin. In one code path, the pointer validity is checked after dereferencing a pointer that can be null (image->valid()) instead of calling ref_ptr::valid (image.valid())."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14505 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-15 13:34 robert - * Added osgGA dependency +Thu, 20 Nov 2014 10:45:05 +0000 +Checked in by : Robert Osfield +From Marc Helbling, "I've come across scenes that contains geometries with initialized but empty vertex arrays and primitives and that would make some optimizers crash.The submission therefore only contains a test on the size of the vertex array for the VertexCacheMissVisitor and the VertexAccessOrderVisitor visitors." -2014-05-15 13:22 robert - * Placed the #include within #ifdef OSG_USE_BOUND to - prevent unncessary inclusion of Node header when OSG_USE_BOUND is - false. +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14503 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-15 09:26 robert - * Added Node::asDrawable() and Node::asGeometry() methods to - provide a low cost way of casting a node to Drawable and - Geoemtry. - - Changed the Group::computeBound() method so that it takes account - of the a Drawable's BoundingBox. +Thu, 20 Nov 2014 10:05:52 +0000 +Checked in by : Robert Osfield +From Christian Ruzicka, "while testing this commit on our OSG 3.2 version, I observed that the changes for ETC2 brake ETC1 support. Attached you'll find the changes to get ETC1 running again"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14501 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-14 16:52 robert - * Fixed the bounding sphere computation and handling of Drawable as - the root of the scene graph +Thu, 20 Nov 2014 09:55:50 +0000 +Checked in by : Robert Osfield +From Sukender, "Fix for 3DS reader, which may read wrong triangles. Actually, indices may suffer a 'short int' overflow, in two places."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14500 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-14 16:01 robert - * Further work on Bound class/Node::getBound() and - Drawable::getBound() and usage in OSG codebase +Thu, 20 Nov 2014 09:41:27 +0000 +Checked in by : Robert Osfield +Fixed segfalt in Texture2DArray copy constructor where it would apply images to an uninitialzed vector.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14498 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-14 16:00 robert - * Cleaned up code +Thu, 20 Nov 2014 09:32:38 +0000 +Checked in by : Robert Osfield +From Marc Helbling, "patch adding support for ambient material in the FBX plugin. It's a straightfoward adaptation of the emissive support and has been tested on a proprietary model."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14495 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-14 10:19 robert - * +Thu, 20 Nov 2014 09:21:52 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, fix for build breakage with giflib 5.0.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14493 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-13 08:43 robert - * Changed the Node::ParentList to be a list of osg::Node rather - than osg::Group, and added addChild, removeChild, replaceChild - virtual method to Node to enable code - to user code compile with minimal modifications to account for - the new change to the Node ParentList. +Thu, 20 Nov 2014 08:26:34 +0000 +Checked in by : Robert Osfield +From Per Nordqvist, "The README.txt is still somewhat confusing so I have updated it"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14491 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-12 12:10 robert - * From Farshid Lashkari, "As discussed, I've added the ability to - handle Drawable objects within the NodeVisitor class. Here is an - overview of the changes: - - - Added apply(Drawable) and apply(Geometry) to NodeVisitor - - - Added accept(NodeVisitor) method to Drawable/Geometry - - - Added traverse(NodeVisitor) to Geode which calls - accept(NodeVisitor) on all Drawables - - - Updated CullVisitor to use new apply(Drawable) to handle - drawables. The apply(Billboard) method still manually handles the - drawables since it is depends on the billboard settings. I needed - to disable the traverse within billboard to prevent duplicate - traversal of drawables. - - - Update other osgUtil node visitors (GLObjectsVisitor, - IncrementalCompileOperation, ..) to use new apply(Drawable) - method. - " +Wed, 19 Nov 2014 17:45:45 +0000 +Checked in by : Robert Osfield +Removed configure script as it's no longer required as cmake . will now default to Releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14490 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-12 11:27 robert - * Added beginnings of new osgUI library, a replacement for - osgWidget that works fully in 3D/stereo and is scriptable. +Wed, 19 Nov 2014 17:42:11 +0000 +Checked in by : Robert Osfield +Added CMake script to set the default CMAKE_BUILD_TYPE to Release. Approach taken from simgear.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14489 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-06 16:38 robert - * Replaced obsolete __linux usage. +Wed, 19 Nov 2014 17:29:15 +0000 +Checked in by : Robert Osfield +Fixed Contributors namesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14486 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-06 09:43 robert - * From Stephan Huber, "Xcode changed the default - std-lib-implementation again. Now it’s GNU++98 instead of C++11. - I adapted the cMakeList.txt files accordingly to add this new - option so we can set it explicitly and link against - 3rdparty-c++-libs." +Wed, 19 Nov 2014 17:10:21 +0000 +Checked in by : Robert Osfield +From Clement Boesch, "Fix remaining bit of Giflib5 usage"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14485 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-06 08:37 robert - * From Stephan Huber, "Please revert the change to - FindQuickTime.cmake as this breaks compilation for IOS and - possibly OS X." +Wed, 19 Nov 2014 11:37:37 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "I found a new way to crach the osgviewer: osgviewer "ProxyNode { FileNameList { cow.osgt } num_children 1 }".osgsThe proxy node reader wrongly assumes options to be non NULL. -2014-05-02 09:12 robert +fixed in attached zip: +src\osgWrappers\deprecated-dotosg\osg\ProxyNode.cpp - * From Farshid Lashkari, "fix for the Collada loader where it would - access a null string in some cases" +applies to both the 3.2 branch and svn trunk" -2014-05-02 09:11 robert - * From Ali Botorabi, "recently I ran into a problem with - Microsoft's Appverifier while using OpenThreads on win32 - platform. The Appverifier complained about an invalid thread - handle during starting of a new thread. After looking closer into - the problem it seemed that indeed a potential root of problem may - be in the thread startup code. See the line below in - Win32Thread.cpp (line number 347): - - pd->tid.set( - (void*)_beginthreadex(NULL,static_cast(pd->stackSize),ThreadPrivateActions::StartThread,static_cast(this),0,&ID)); - - the method "pd->tid.set" sets the thread id, however via the - startup function "ThreadPrivateActions::StartThread" that thread - id is used (see further down the call hierarchy the line "int - status = SetThreadPriority( pd->tid.get(), prio);". - - Until now I never ran into any problem in debug or release - builds, though. It seems that furtunately the tid.set method was - executed always before the tid.get method in the startup code. - However, this may make trouble in the furture. A simple solution - is the following: just replace the line above with following two - lines: - - pd->tid.set( - (void*)_beginthreadex(NULL,static_cast(pd->stackSize),ThreadPrivateActions::StartThread,static_cast(this),CREATE_SUSPENDED,&ID)); - ResumeThread(pd->tid.get()); - - - The trick is just starting the thread in suspended mode so the - StartThread function does not get executed and we can safely - store the tid by pd->tid.set. Then start the Thread by calling - ResumeThread." +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14484 16af8721-9629-0410-8352-f15c8da7e697 -2014-05-01 15:50 robert - * From Stephan Huber, fix for OSX build +Wed, 19 Nov 2014 11:30:53 +0000 +Checked in by : Robert Osfield +From Wang Rui, "The submission includes some fixes for osgQt library and osgQtWidgets example: (1) QTextEdit now works with mouse/drag events, (2) scrollbars will change when OSG window is resizing, (3) improve rendering efficiency of QGraphicsViewAdapter so that it works with complex Qt UI, (4) add new setBackgroundWidget() method to indicate a 'background widget', which will ignore mouse/key events on it and pass them to the 3D scene."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14482 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-30 13:19 robert - * Renamed the new include/osg/OpenGL automatically configured - header file to include/osg/GL replacing the original hand built - GL header +Wed, 19 Nov 2014 10:43:07 +0000 +Checked in by : Robert Osfield +Changed the way that the cell size is passed to the shadergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14481 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-30 11:51 robert - * From Sebastian Messerschmidt, "attached is the compile/linker fix - for multiple definitions of getTypeEnum when compiling the Lua - with VisualStudio and potentially other compilers. - " +Wed, 19 Nov 2014 09:33:53 +0000 +Checked in by : Robert Osfield +From James Turner, "Converting the loops to forward versions fixed the issue. The problem is size_t is unsigned; at the limit condition it doesn’t go negative but wraps around to 0xffffffffffffffff …. and boom."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14480 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-29 15:14 robert - * From Pjotr Svetachov, "have added some missing serializers for - RigGeomery. Withouth them I - ran into two issues. - - At first you get a bunch of warnings that - osg::ComputeBoundCallback - and osg::UpdateCallback were unsupported wrapper classes when - converting fbx models with skeletal animation to osg(t/b). - - The second issue was that when reading, the readers fail to read - the - ComputeBoundCallback and UpdateCallback and set them to NULL - which - messes up the RigGeometry. - - Because a RigGeometry makes his own classes in the constructor it - might be preferable to not write them at all, because now those - classes are being made two times when reading a RigGeometry. But - after - thinking about this that would place too much limits on them (you - won't be able to share or name them and save that information or - make - a new inherited class from them and write that one) So I ended up - thinking the best way was to just write the files. - " +Mon, 17 Nov 2014 15:43:26 +0000 +Checked in by : Robert Osfield +Fixed typogit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14478 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-29 13:41 robert - * From Pjotr Svetachov, "Today I found a bug in the IutputStream - class when saving array - attributes in vec3b format. It looks like my compiler takes the - wrong - overload and outputs integers instead of characters. The problem - is - that vec3b is of type signed char and that is not the same as - char ( - see - http://stackoverflow.com/questions/436513/char-signed-char-char-unsigned-char - ) and visual studio 2013 will promote it to integer when choosing - an - overload. - It looks like that the InputStream class already takes care of - this - issue (if it didn't it would have read everything ok and I would - have - not even stumbled upon this bug. :) )" +Mon, 17 Nov 2014 09:19:38 +0000 +Checked in by : Robert Osfield +Fixed typo in commentgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14477 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-29 12:19 robert - * From Mattias Helsing, "I finally got to fix the cmake Modules - that have duplicates in later - version of cmake. See attached submission. I have tested the ones - that - I compile myself (GDAL, Freetype, ZLIB) on ubuntu 12.04 with - cmake-2.8.7." +Fri, 14 Nov 2014 17:44:20 +0000 +Checked in by : Robert Osfield +Added use of GL_TRIANGLE_STRIP to cut down the size of the primitive indices required.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14476 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-29 12:18 robert - * From Paul Martz, "There is no standard place for gl/glcorearb.h - on Windows. Previously, the only way to get OSG to build for core - profile was to append an additional include directory ("/I") onto - the CFLAGS variables This submission adds a FindGLCORE.cmake - script so that the path to gl/glcorearb.h can be specified with a - variable, GLCORE_ROOT, either in CMake or the environment. - - Currently this submission is Windows-only. I don't think OSX or - Linux require any help in locating gl/glcorearb.h. But if they - do, this submission can be easily modified. - - Files: - - "CMakeLists.txt" is the top-level file. - - FindGLCORE.cmake" and "OsgMacroUtils.cmake" go in CMakeModules. - " +Fri, 14 Nov 2014 16:47:32 +0000 +Checked in by : Robert Osfield +Implemented skirt functionalitygit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14475 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-28 14:58 robert - * From Pjotr Svetachov, "I had the osgvolume example crash on me - when loading large volume - datasets due to an overflow in image.cpp after a unneeded cast - from - unsigned int to int. Here is a small fix." +Thu, 13 Nov 2014 09:40:11 +0000 +Checked in by : Robert Osfield +Refactored the handling of use of the osgDB::ObjectCache in the DatabasePager to use a local thread specific ObjectCache to handle new additions and then have these additions merged with the main Registry ObjectCache during the main loop.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14474 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-28 14:57 robert - * From Jason Beverage, "Here is a fix for a small race condition in - osgDB::makeDirectory. It attempts to create all the directories - in the given path and stops attempting to make directories when - one of them fails. I've added a check to see if the failure - occurred b/c the directory was created by another thread or - process. - - We were running into issues occasionally in osgEarth where - multiple threads were writing out files like /1/2/3.jpg and - /1/3/4.jpg. Both threads would try to create the /1 directory and - only one of them would succeed. So the first thread would write - out the full /1/2/3.jpg while the second thread wouldn't create - the /1/3 directory b/c /1 was already created and the writing of - /1/3/4.jpg would fail. - " +Tue, 11 Nov 2014 18:28:07 +0000 +Checked in by : Robert Osfield +Moved implementation of ObjectCache functionality out of Registry into a dedicated osgDB::ObjectCache class.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14473 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-28 11:53 robert - * Fixed type error +Mon, 10 Nov 2014 16:04:43 +0000 +Checked in by : Robert Osfield +To handle thread safe paging and use of the osgDB::Registry ObjectCache, moved the handling of cache into osgDB::DatabasePager.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14472 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-25 08:57 robert - * From Pjotr Svetachov, "For me osgviewer.cpp and Renderer.cpp were - not compiling (visual studio 2013 with profile GL2) because they - were still using GLuintEXT. So I changed that, see the attached - files. - - I also noticed that the generated OpenGL header were not copied - to the installation directory so my own application could not - find it." +Thu, 6 Nov 2014 10:44:27 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "I tried your fix and it exposed a bug in my fix :) The problem is that the readObjectFields method will add the object to the _identifierMap. So all the other instances of that image in the same file will be replaced by the created dummy object. In my fix this was an dummy image and I didn't notice it in our scene's, probably because it covered a small part of an object. In your fix the dummy object was not an image and that leads to a crash when something tries to use it as an image. I have attached a small fix for this bug." -2014-04-25 08:56 robert - * Reordered the configuiration file blocks to make it more - understandable +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14471 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-25 08:18 robert - * From Paul Martz, fixed placement of OpenGL header so that it gets - generated and placed in the build directory as per the Config - file +Thu, 6 Nov 2014 10:40:54 +0000 +Checked in by : Robert Osfield +Introduced use of MarkerObject to IncrmentalCompileOperation/DatabasePager as a way of marking objects that have already been processed and compiled, thus avoid potential threading conflicts when paged subgraphs are reused.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14470 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-24 17:26 robert - * From Farshid Lashkari, "I've attached a small fix to the Collada - loader which prevents a null pointer access in some cases." +Wed, 5 Nov 2014 16:08:42 +0000 +Checked in by : Robert Osfield +Added handling of the reading of field properties to a dummy object for cached images to avoid threading issues associated with reusing and modifying an active object.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14469 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-24 17:23 robert - * From Lionel Lagarde, "In the ::apply method, when the image data - need to be re-uploaded, the Texture2DArray checks if the - TextureObject can be re-used. The test was made using the - constant 1 instead of the real texture depth, so the - TextureObject was never re-used." +Wed, 5 Nov 2014 13:38:50 +0000 +Checked in by : Robert Osfield +Reinstated the original mechanism for OperationThread::cancel() that co-operatively releases blocks/barriers to make sure the thread is able to exit correctly.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14468 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-24 17:14 robert - * From Kristofer Tingdahl, "I and my team have gone over the code - again, and we feel that we are comfortable in our current - proposal for change. It goes deeper than it did before, and I - explain why: - - There was code in the osgViewer/Viewer.cpp and - osgViewer/CompositeViewer.cpp that transformed the Y-coordinates - of an event. The code in the composite viewer did however miss - the touch-data of the event. I thought that it should really be - the GUIEventAdapter that should know about this, and hence I - added the - GUIEventAdapter::setMouseYOrientationAndUpdateCoords which is - re-computing the coordinates. First I simply added a boolean to - the setMouseYOrientation function: - - setMouseYOrientation( MouseYOrientation, bool updatecooreds=false - ); - - but then the serializer complained. - - This function is called from both the Viewer and the - CompositeViewer. We have not tested from the viewer, but I cannot - see it would not work from visual inspection. - - The other change is in - MultiTouchTrackballManipulator::handleMultiTouchDrag. I have - removed the normalisation. The reason for that is that it - normalised into screen coordinates from 0,0 to 1,1. The problem - with that is that if you have a pinch event and you keep the - distance say 300 pixels between your fingers, these 300 pixels - represent 0.20 of the screen in the horizontal domain, but 0.3 of - the screen in the vertical domain. A rotation of the - pinch-fingers will hence result in a zoom in, as the normalised - distance is changing between them. - - A consequence of this is that I have changed the pan-code to use - the same algorithm as the middle-mouse-pan. - - The rest of it is very similar from previous revision, and there - has been some fine-tuning here and there. - - " +Tue, 4 Nov 2014 20:07:40 +0000 +Checked in by : Robert Osfield +Improvements to the ShaderTerrain experiemental terrain rendering technique.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14466 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-24 10:49 robert - * From Mattias Helsing, "Seems I was only half right given what you - asked for. CMP0017 only - says that modules that are found and ran from cmake modules dir - should - prefer cmake-provided modules. find_package() and include() still - look - in CMAKE_MODULE_PATH first. - - After some investigating I've come up with a proposal examplified - in - the attached FindGDAL.cmake script. It simply calls the cmake - provided - FindGDAL.cmake if it exists and returns if it succeeds in finding - GDAL - using that, otherwise continue with our local cmake code. - Pro: Wont clutter our root CMakeLists.txt - Con: If we begin to write more advanced Findxxx modules (using - COMPONENTS, REQUIRED etc.) we may have to revise this scheme. - " +Tue, 4 Nov 2014 20:07:15 +0000 +Checked in by : Robert Osfield +Changed TerrainTile::setDirty() to use children needing update traversal mechanism to address threadng issues.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14465 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-24 10:38 robert - * Fixed reference invalidation bug. +Tue, 4 Nov 2014 20:06:05 +0000 +Checked in by : Robert Osfield +Change isRunning variable to an Atomic to address possible race condition asscoiated with reading and writing to the variable from different threads.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14464 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-24 07:22 robert - * Fixed typo in OPENSCENEGRAPH_OPENGL_HEADER name +Tue, 4 Nov 2014 16:29:30 +0000 +Checked in by : Robert Osfield +Build fixes for ffmpeg LIBAVCODEC_VERSION_MAJOR >= 56git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14462 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-24 07:20 robert - * Removed header as this CMake generated configuration file is not - required to be part of svn repository +Tue, 4 Nov 2014 11:18:42 +0000 +Checked in by : Robert Osfield +Added an InitRegistry static intiialization and destrucion static to help control the order of construction and destruction of the osgDB::Registry.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14461 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-23 19:30 robert - * Added src/osg/OpenGL.in configuration file and include/osg/OpenGL - header files +Tue, 4 Nov 2014 10:46:59 +0000 +Checked in by : Robert Osfield +Replaced use of while(isRunning()) { YieldCurrentThread(); } style loops with use of join() to avoid false positives being reported by valgrind when using the helgrind tool for thread debugging.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14460 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-23 09:08 robert - * Introduced new scheme for setting up which version of - OpenGL/OpenGL ES the OSG is compiled for. - - To select standard OpenGL 1/2 build with full backwards and - forwards comtability use: - - ./configure - make - - OR - - ./configure -DOPENGL_PROFILE=GL2 - - To select OpenGL 3 core profile build using GL3/gl3.h header: - - ./configure -DOPENGL_PROFILE=GL3 - - To select OpenGL Arb core profile build using GL/glcorearb.h - header: - - ./configure -DOPENGL_PROFILE=GLCORE - - To select OpenGL ES 1.1 profile use: - - ./configure -DOPENGL_PROFILE=GLES1 - - To select OpenGL ES 2 profile use: - - ./configure -DOPENGL_PROFILE=GLES2 - - - Using OPENGL_PROFILE will select all the appropriate features - required so no other settings in cmake will need to be adjusted. - The new configuration options are stored in the - include/osg/OpenGL header that deprecates the old include/osg/GL - header. +Tue, 21 Oct 2014 15:08:44 +0000 +Checked in by : Robert Osfield +Added experimental osgTerrain::ShaderTerrain TerrainTechnique to osgterrain example to flesh out new shader based displacement mapping approach to osgTerrain databases.Requires shader files place in OpenSceneGraph-Data/shaders from OpenSceneGraph-Data's svn/trunk to function. -2014-04-14 16:16 robert +Run osgterrain example with --shader command line option to select displacement mapping shader approach. - * Fixed comment -2014-04-13 16:04 robert - * Renamed FindFreeType.cmake to FindFreetype.cmake to enable CMake - build to pick up on CMake's own FindFreetype.cmake when it's - available. +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14458 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-09 17:40 robert - * From Paul Cheyrou-Lagreze, "Attached is fix/feature for FBX - osgplugins against latest trunk: - - - ReaderWriterFBX.cpp: add "z up scene axis" support: FBX - provides facility to convert model scene axis during conversion. - Currently fbx plugin convert axis to fbx:opengl axis system - (which is arbitrarily at Y up, as opengl is in reality axis - agnostic) and sometimes what is needed is Z up so added an option - for Z up conversion - - - FindFBX.cmake: add support for latest fbx sdk ( 2014.2 )" +Tue, 21 Oct 2014 14:47:43 +0000 +Checked in by : Robert Osfield +Removed --sync related code as it's now integrated into osg::DisplaySettings and osgViewergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14457 16af8721-9629-0410-8352-f15c8da7e697 -2014-04-09 17:20 robert - * Disabled warnings to address issues in FBX headers that generate - lots of warnings that we can't fix. +Tue, 21 Oct 2014 14:46:12 +0000 +Checked in by : Robert Osfield +Added osg::SyncSwapBuffersCallback to include/osg/GraphicsContext and support for enabling it to include/osg/DisplaySettings, and to the Viewer/CompositeViewer::realize() methods.To enable the sync of swap buffers set the env var OSG_SYNC_SWAP_BUFFERS to ON or 1, to switch off set to OFF or 0. -2014-04-08 19:42 robert +One can also use the --sync command line option for application that pass on command line options to the osg::DisplaySettings::instance(). - * Added extra search paths to add compatibility with Kubuntu/Ubuntu - 14.04 now locaton for freetype -2014-04-08 17:45 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14456 16af8721-9629-0410-8352-f15c8da7e697 - * Updated ChangeLog and fixed Contributors list -2014-04-08 12:00 robert +Tue, 21 Oct 2014 08:27:28 +0000 +Checked in by : Robert Osfield +Removed checks against Drawable as these are no longer required.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14455 16af8721-9629-0410-8352-f15c8da7e697 - * From Remo Eichenberger, "I have extended the TIFF plugin that - allows you to write LZW or JPEG compressed TIFF's. Options are: - - tiff_compression = lzw | jpeg" -2014-04-08 11:48 robert +Wed, 17 Sep 2014 17:40:07 +0000 +Checked in by : Robert Osfield +Added support for writing the file path of a script to the lua package.path to help with loading scripts within lua.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14451 16af8721-9629-0410-8352-f15c8da7e697 - * From Sebastian Messerschmidt, "n the trunk version the - osgGA::GUIActionAdapter has additional functions for - lineIntersection which use osgGA::GUIEventAdapter&, but the class - declaration is neither forwarded, nor is the header included. - Using the trunk together with osgEarth 2.5 will fail to build, - due to the missing type. - - Attached is the file forward declaring osgGA::GUIEventAdapter." -2014-04-08 11:17 robert +Tue, 16 Sep 2014 17:40:13 +0000 +Checked in by : Robert Osfield +Changed osgvolume example to use the new tf plugin rather than having local code for reading transfer functiongit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14450 16af8721-9629-0410-8352-f15c8da7e697 - * From Pjotr Svetachov, "We had a small problem converting skeleton - animations from fbx to osgt - format. Turned out that the serializer didn't handle bone names - with - spaces very well (the 3ds studio max biped for instance has - spaces by - default). Here is a small fix for the problem." -2014-04-08 11:08 robert +Tue, 16 Sep 2014 11:00:01 +0000 +Checked in by : Robert Osfield +Added write supportgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14449 16af8721-9629-0410-8352-f15c8da7e697 - * From Pjotr Svetachov, previous obj "commit broke compilation - under visual studio 2013. To use std::not1 you need to include - the functional header. Here is a fix." -2014-04-07 15:04 robert +Mon, 15 Sep 2014 17:53:44 +0000 +Checked in by : Robert Osfield +Added .tf & .tf-255 plugin for reading ascii 1D transfer functon files in support for volume rendering.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14448 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed build when using of double BoundingBox/BoundingSphere -2014-04-07 14:17 robert +Fri, 12 Sep 2014 14:16:08 +0000 +Checked in by : Robert Osfield +Added basic frame rendering for TabWidgetgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14446 16af8721-9629-0410-8352-f15c8da7e697 - * From Jan Peciva, "I am sending four fixes to obj plugin: - - - materialName used to be not stripped of whitespace, making - number of models - fail to load materials; now fixed - - stripping was considering spaces only, thus models using tabs - had problems - to load correctly; fixed - - fixed references to textures; they did not performed conversion - to native - directory separators - - make d (dissolve) takes precedence over Tr (transparency); - there seems to be - a confusion about the Tr item - some claiming 1 to be opaque and - 0 - transparent, while number of models uses exactly the opposite. d - (dissolve), - if present in the model, does not suffer from this confusion, - thus using it - instead fixes the problem for many many models. - - I put many comments to the file concerning d and Tr item as - others may further - investigate. Let me know in the case of any problems." -2014-04-07 14:11 robert +Wed, 10 Sep 2014 17:03:27 +0000 +Checked in by : Robert Osfield +Improved the alignment and sizing of TabWidget tab headersgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14445 16af8721-9629-0410-8352-f15c8da7e697 - * From Marcel Pursche, "The problem is that when OpenThreads is - build with the Linux pthreads implementation all threads inherit - the processor affinity from their parent thread. - This behavior is also described in the pthreads man page - (http://man7.org/linux/man-pages/man3/pthread_create.3.html): - - > - > Linux-specific details - > The new thread inherits copies of the calling thread's - capability - > sets (see capabilities(7)) and CPU affinity mask (see - > sched_setaffinity(2)). - > - - To prevent this behaviour I wrote a patch that explicitly sets - the affinity mask to all cores of the system, if no specific - affinity was defined with PThread::setProcessorAffinity(unsigned - int) . - - Thank you! - " -2014-04-07 14:03 robert +Wed, 10 Sep 2014 11:59:51 +0000 +Checked in by : Robert Osfield +Implemented the selection of tabs by clicking, using mouse wheel or arrow keys.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14443 16af8721-9629-0410-8352-f15c8da7e697 - * From Bjorn Blessing, "I got bored of the constant reports of - “missing chunk 0xA08A” when reading 3ds-files. After a bit of - research I discovered that this property is related to the - advanced transparency settings for the material in 3D studio. In - this case the falloff parameter. These controls affect the - opacity falloff of a transparent material. And the property - chooses whether falloff is in or out. I have added the property - to the file reader BUT no changes are made to make this property - propagate into the osgMaterial. But at least we get rid of this - annoying error message." -2014-04-07 13:52 robert +Tue, 9 Sep 2014 16:12:59 +0000 +Checked in by : Robert Osfield +Improved the handling of the dialog title textgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14442 16af8721-9629-0410-8352-f15c8da7e697 - * From Bjorn Hein, "please find attached a small fix for - RayIntersector.cpp. - - * Changes are made against trunk - * Reason: crashes when using specific constructor from - RayIntersector - * Info: Line 42: added in constructor - RayIntersector::RayIntersector(const Vec3d& start, const Vec3d& - direction) missing initialisation of _parent - " -2014-04-07 13:48 robert +Tue, 9 Sep 2014 15:14:35 +0000 +Checked in by : Robert Osfield +Moved the diaglog title bar widgets into the Widget::GraphicsSubgraph map to avoid them poluting the Dialog's children list and to prevent them from being serialized.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14441 16af8721-9629-0410-8352-f15c8da7e697 - * From Paul Martz, "We discussed the issue of GL_RED_SNORM and - GL_RG_SNORM some time ago, but the issue was never completely - resolved. Please see the attached submission to fix the issue. - - osg/GL2Extensions was incorrectly defining GL_RED_SNORM and - GL_RG_SNORM as part of the definitions for OpenGL v3.1. However, - a quick review of the 3.1 spec indicates that these are not part - of the 3.1 standard. - - My attached change moves these definitions out of the #ifndef - GL_VERSION_3_1 conditional block, and defines them conditionally - if not already defined. This allows the DDS plugin to build for - GL3. - " -2014-04-04 11:25 robert +Tue, 9 Sep 2014 13:37:33 +0000 +Checked in by : Robert Osfield +Introduced Widget::WidgetStateSet to help localize the StateSet set up by Widget implementations from being serialized or affecting what end users apply via the standard Node::s/getStateSet().Further work on TabWidget. - * Fixed iso surface shaders -2014-04-01 18:56 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14440 16af8721-9629-0410-8352-f15c8da7e697 - * Improved the setting of sample density/ratio so that they are - consistent -2014-04-01 18:33 robert +Mon, 8 Sep 2014 08:53:23 +0000 +Checked in by : Robert Osfield +Build fixgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14439 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed handling of volume tiles with a region. -2014-03-27 12:47 robert +Fri, 5 Sep 2014 16:04:11 +0000 +Checked in by : Robert Osfield +Added shell of new osgUI::TabWidget classgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14438 16af8721-9629-0410-8352-f15c8da7e697 - * Added cube and hull rendering support -2014-03-19 17:56 robert +Fri, 5 Sep 2014 11:05:43 +0000 +Checked in by : Robert Osfield +Introduced support for specifying whether a serializer supports different types of usage - one or more of READ_WRITE_PROPERTY, GET_PROPERTY and SET_PROPERTY.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14437 16af8721-9629-0410-8352-f15c8da7e697 - * Restructured the handling of TileData to make it more extensible - and flexible. -2014-03-18 18:14 robert +Wed, 3 Sep 2014 15:54:47 +0000 +Checked in by : Robert Osfield +Added setting of the IsoSurfaceProperty in VolumeSettingsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14436 16af8721-9629-0410-8352-f15c8da7e697 - * Addd ExteriorTransparencyFactorProperty for support of upcomming - functionality of rendering a cube volume with a hull volume - inside it. -2014-03-17 15:54 robert +Wed, 3 Sep 2014 12:28:04 +0000 +Checked in by : Robert Osfield +Added close button on Dialog title bargit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14435 16af8721-9629-0410-8352-f15c8da7e697 - * Added support for animating volume hulls. -2014-03-13 14:02 robert +Tue, 2 Sep 2014 17:01:44 +0000 +Checked in by : Robert Osfield +Refactored the handling of ComboBox item picking to make it faster and more reliablegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14433 16af8721-9629-0410-8352-f15c8da7e697 - * From Stephan Huber, "attached is a fix for the rest-http-plugin - which should fix the font-issue reported by Phil. The old - implementation did forward all requests to the internal - http-server via user-events. This prevented error-reporting for - missing files, as the request was accidentally handled by the - plugin. As a request for missing font-file succeeds and returned - an empty file, the curl-plugin hands the data happily to the - freetype-plugin which failed trying to load an empty font-file, - obviously. - - My fix was to rename the standard request handler to a - specialized user-event-handler which handles only requests for - "/user-event“ - - So fonts should work on iOS when loaded remotely, even when a - local file is available and with the resthttp-plugin serving the - presentation. - " -2014-03-13 13:59 robert +Tue, 2 Sep 2014 10:00:33 +0000 +Checked in by : Robert Osfield +Improved handling of ComboBox popup togglinggit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14432 16af8721-9629-0410-8352-f15c8da7e697 - * From Stephan Huber, fix for building lua plugin from local source -2014-03-13 10:28 robert +Tue, 2 Sep 2014 09:14:08 +0000 +Checked in by : Robert Osfield +Added support for scaling widgets via the scoll wheel.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14431 16af8721-9629-0410-8352-f15c8da7e697 - * Added support for directly invoking scripts using - and to enable scripts to interact with each - other. -2014-03-12 11:01 robert +Tue, 2 Sep 2014 08:41:31 +0000 +Checked in by : Robert Osfield +Removed debugging messagegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14430 16af8721-9629-0410-8352-f15c8da7e697 - * Improved support for passing events between scripts and Present3D - application -2014-03-11 10:52 robert +Mon, 1 Sep 2014 19:13:35 +0000 +Checked in by : Robert Osfield +Added DragCallback class to help dialog dragging support. Introduced a new Widget::computeExtentsPositionInLocalCoordinates() method that intersects with a ray through mouse pointer and the extents of the widget.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14429 16af8721-9629-0410-8352-f15c8da7e697 - * Added PresentationInterface class to make it more convinient to - access the current presentation from scripting languages -2014-03-10 19:08 robert +Thu, 28 Aug 2014 15:11:29 +0000 +Checked in by : Robert Osfield +Improved support for controlling the ShadingModel via the VolumeSettings objectgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14428 16af8721-9629-0410-8352-f15c8da7e697 - * Added scripting support for JumpData, KeyPosition, HomePosition - and parts of SlideEventHandler that enable dispatching of user - created events. -2014-03-07 11:09 robert +Thu, 28 Aug 2014 09:42:01 +0000 +Checked in by : Robert Osfield +Improved handling of VolumeSettingsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14427 16af8721-9629-0410-8352-f15c8da7e697 - * Added ability to replace callback objects via lua scripts to - allow one to override callbacks. - - Added fallback for osgGA::Widget::Extents. -2014-03-06 10:27 robert +Wed, 27 Aug 2014 15:08:48 +0000 +Checked in by : Robert Osfield +Changed the osgUI behaviour so that events are set to be handled by Widgets that have focus even if they don't directly use them.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14425 16af8721-9629-0410-8352-f15c8da7e697 - * Added support for osg::Image to the lua plugin. -2014-03-04 13:36 robert +Wed, 27 Aug 2014 15:07:47 +0000 +Checked in by : Robert Osfield +Changed the NodeVisitor::apply(Drawable&) to call apply(Node&)git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14424 16af8721-9629-0410-8352-f15c8da7e697 - * Implement add, set and get methods for StateSet. -2014-03-04 13:35 robert +Wed, 27 Aug 2014 09:25:54 +0000 +Checked in by : Robert Osfield +Added support for getting osgVolumre::Property::ModifieCountgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14422 16af8721-9629-0410-8352-f15c8da7e697 - * Relaxed the handling of Image objects -2014-03-04 13:34 robert +Mon, 25 Aug 2014 16:56:47 +0000 +Checked in by : Robert Osfield +Added Property::getModifiedCount() + dirty() to help with tracking changes. Added VolumeSettings serializers for Property objectsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14421 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed handling of OverrideValue -2014-02-28 17:38 robert +Mon, 25 Aug 2014 13:43:11 +0000 +Checked in by : Robert Osfield +Changed StateSet::ParentList from vector to vector to reflect that Drawable is now a Node.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14420 16af8721-9629-0410-8352-f15c8da7e697 - * From Stephan Huber, fix for handling font paths on a local - machine when other files have been source from a remote machine. -2014-02-27 10:02 robert +Fri, 22 Aug 2014 19:00:53 +0000 +Checked in by : Robert Osfield +Improved handling of setting of the depth of the UI.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14418 16af8721-9629-0410-8352-f15c8da7e697 - * Added MapReverseIterator implementation. -2014-02-26 18:18 robert +Wed, 20 Aug 2014 14:15:36 +0000 +Checked in by : Robert Osfield +Reordered method implemenations to make it easier to compare similar methodsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14417 16af8721-9629-0410-8352-f15c8da7e697 - * Added MapIteratorObject and support for it in the lua plugin to - provide map iterator functionality. -2014-02-26 11:01 robert +Tue, 19 Aug 2014 16:58:02 +0000 +Checked in by : Robert Osfield +Added toggling on/off of the VolumeSettings ui via the 'E' key.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14416 16af8721-9629-0410-8352-f15c8da7e697 - * Added Map serializer size() method and support for it in the lua - plugin. Renamed functions in lua plugin to be more consistent. -2014-02-26 08:26 robert +Tue, 19 Aug 2014 16:37:20 +0000 +Checked in by : Robert Osfield +Updated VolumeSettings.lua reference to use ui prefix to work with the new OpenSceneGraph-Data/ui/VolumeSettings.lua file.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14415 16af8721-9629-0410-8352-f15c8da7e697 - * Added support for vector and map containers in - osgDB::Serailizer's and lua plugin. -2014-02-24 10:19 robert +Tue, 19 Aug 2014 09:27:46 +0000 +Checked in by : Robert Osfield +Fixed MD2 danglng pointer crash.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14413 16af8721-9629-0410-8352-f15c8da7e697 - * Added Vector serialization and support in lua plugin top enable - script users to set/get vector properties such as osg::Array, - osg::PrimitiveSet and children lists. -2014-02-13 18:52 robert +Tue, 19 Aug 2014 09:00:42 +0000 +Checked in by : Robert Osfield +Fixed buildgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14411 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed handling of enums in Lua plugin. - - Fixed computation of getNumPrimitives() so that it returns 0 when - PrimitiveSet is zero. - - Added missing properties to PrimitiveSet serializers -2014-02-13 11:01 robert +Tue, 19 Aug 2014 08:57:23 +0000 +Checked in by : Robert Osfield +Fixed buildgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14410 16af8721-9629-0410-8352-f15c8da7e697 - * Added inital cut of PrimitiveSetSet wrappers to scripting -2014-02-12 18:10 robert +Thu, 14 Aug 2014 19:00:37 +0000 +Checked in by : Robert Osfield +Added support for ComboBox::currentIndexChanged*(uint) callback API.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14409 16af8721-9629-0410-8352-f15c8da7e697 - * Added full range of Array subclasses to wrappers -2014-02-12 18:03 robert +Wed, 13 Aug 2014 09:24:38 +0000 +Checked in by : Robert Osfield +Resert default value to 1.0git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14408 16af8721-9629-0410-8352-f15c8da7e697 - * Added initial support for wrapping osg::Array in a way that can - be used via scripting. -2014-02-11 18:18 robert +Fri, 8 Aug 2014 16:42:32 +0000 +Checked in by : Robert Osfield +From Ryan Kawicki, "There is an issue where the model insets of a terrex terrain are being removed during the loading process. The issue is described below. - the issue here is that the plugin is removing group nodes if + that group node only has one child. becuase transforms are also + group nodes, there were cases when the transform would have only + one child under it and would cause it to remove the translation + portion. this would cause all the vertex data to be loaded around + the last matrix operation, which in our case was the origin (0,0,0). - * Fixed handling of assignment of User Object's that replace - existing Object with the specified propertyName. +We work off of OSG 2.8.1 but see that this has not been addressed on latest yet. I’ve tested this against 2.8.1 and have cleanly applied it to my local repository off of latest." -2014-02-11 18:07 robert - * Improved support for setting/getting properties via the - osg::UserDataContainer. -2014-02-11 10:56 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14407 16af8721-9629-0410-8352-f15c8da7e697 - * Quitened down debug messages -2014-02-11 09:43 robert +Fri, 8 Aug 2014 16:34:12 +0000 +Checked in by : Robert Osfield +From Tim George, "Currently there is a problem with using a camera with a viewport with a non 0 offset and also using an FBO. The problem is that only area made up of the viewports width and height is drawn based on an offset of 0,0 instead of using the viewports offset.It is caused by line 991 in RenderStage.cpp: - * Changed implementation of enums to use strings as lua type to - make it easier to do comparisons and track values -2014-02-10 18:07 robert +Code: +fbo_ext->glBlitFramebuffer( +0, 0, static_cast(_viewport->width()), static_cast(_viewport->height()), +0, 0, static_cast(_viewport->width()), static_cast(_viewport->height()), +blitMask, GL_NEAREST); - * Implemented Widget::handle, handleImplementation, traverse and - travseImplementation() wrappers to enable them to be extended via - scripting -2014-02-10 16:44 robert - * Added support for serailizing and scripting BoundingBox and - BoundingSphere objects +which is not taking into account the viewport x and y when performing the blit. It probably should be: -2014-02-08 17:53 robert - * Fixed handling of setting member variables via the Serializers - when the value is the default. - - Added support for more features of the osgDB::Widget class. - - Fixed handling of boolean values in the Lua plugin +Code: +fbo_ext->glBlitFramebuffer( +static_cast(_viewport->x()), static_cast(_viewport->y()), +static_cast(_viewport->width()) + static_cast(_viewport->x()), static_cast(_viewport->height()) + static_cast(_viewport->y()), +static_cast(_viewport->x()), static_cast(_viewport->y()), +static_cast(_viewport->width()) + static_cast(_viewport->x()), static_cast(_viewport->height()) + static_cast(_viewport->y()), +blitMask, GL_NEAREST); +" -2014-02-08 10:39 robert +Note from Robert Osfield, made small tweak to above on merge, changing the width+x to x+width to make it read more naturally. - * Added support for enum's in the Lua script integration -2014-02-08 10:38 robert - * Fixed export +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14405 16af8721-9629-0410-8352-f15c8da7e697 -2014-02-07 16:06 robert - * Fixed handling of returns when invoking a script, removed some - debug messages, added a warning message when detecting erronous - types. - - Added FocusBehaviour enum to osgGA::Widget serialization +Fri, 8 Aug 2014 16:09:39 +0000 +Checked in by : Robert Osfield +From Marc Helbling, "please find a fix for the vertex pretransform visitor (VertexAccessOrderVisitor). The issue with current code is that arrays are collected *before* duplicating shared arrays which leads to arrays that are correctly duplicated but that are not reordered.Also the submitted patch contains a small cleaning in GeometryArrayGathrer as the _useDrawElements variable is not used; it is only set in the GeometryArrayGathrer constructor and VertexAccessOrderVisitor already checks that primitives have indexed type." -2014-02-07 10:46 robert - * Added initial Widget wrapper +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14403 16af8721-9629-0410-8352-f15c8da7e697 -2014-02-06 17:32 robert - * Moved experimental Widget class to osgGA - Add computeIntersections() to the osgGA::GUIActionAdapter base - class to enable intersection tests without needing to directly - link to osgViewer. +Fri, 8 Aug 2014 15:45:54 +0000 +Checked in by : Robert Osfield +From Glen Waldron, "Node: patch for remove*Callback() methods to resolve a crash"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14401 16af8721-9629-0410-8352-f15c8da7e697 -2014-02-06 17:04 robert - * Added osg::CallbackObject suport to the experiment Widget base - class to enable script language extension of widgets +Fri, 8 Aug 2014 09:28:26 +0000 +Checked in by : Robert Osfield +Changes to support building against ANDROID under OSX.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14399 16af8721-9629-0410-8352-f15c8da7e697 -2014-02-06 11:25 robert - * Added support for casting objects to allow one to access a parent - classes methods. +Tue, 5 Aug 2014 18:32:45 +0000 +Checked in by : Robert Osfield +Implemented osgUI::Validator, IntValidator and DoubleValidator classes that manage validation/specialization of LineEdit widgets to work with just integer or double values.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14398 16af8721-9629-0410-8352-f15c8da7e697 -2014-02-05 11:08 robert - * Tweaked the detection of when the position transform for the hull - is required. +Fri, 1 Aug 2014 13:07:38 +0000 +Checked in by : Robert Osfield +Implemented callbacks for validate(), textChanged() and returnPressed()git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14397 16af8721-9629-0410-8352-f15c8da7e697 -2014-02-05 11:07 robert - * Added support for a tag that can be used within - tag. +Fri, 1 Aug 2014 10:57:24 +0000 +Checked in by : Robert Osfield +Moved responsiblity for checking current event focus onto Widget::handleImplementations().Added support for closing CombinBox popup when the mouse is clicked outside the popup or combobox widget. -2014-02-05 11:04 robert - * Improved the white space trimming +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14396 16af8721-9629-0410-8352-f15c8da7e697 -2014-02-04 16:49 robert - * Added lua-5.2.3 as source code so it can be optinally built as - part of the lua plugin, making it possible to work out of the box - across all platforms with needing lua as an external dependency. - - Added the Cmake option OSG_USE_LOCAL_LUA_SOURCE to control - whether to build and use the Lua source code in the lua plugin, - or look for lua as an external dependency. +Thu, 31 Jul 2014 18:29:31 +0000 +Checked in by : Robert Osfield +Added NodeVisitor::INTERSECTION_VISITOR VisitorTypegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14395 16af8721-9629-0410-8352-f15c8da7e697 -2014-02-04 16:46 robert - * Added test code for nesting a within a volume tag. +Wed, 30 Jul 2014 12:48:28 +0000 +Checked in by : Robert Osfield +Fixed rendering of Popupsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14394 16af8721-9629-0410-8352-f15c8da7e697 -2014-02-04 11:24 robert - * From Stephan Huber, added support for compile source code of lua - with the lua plugin +Wed, 30 Jul 2014 12:47:45 +0000 +Checked in by : Robert Osfield +Update SO version to account for new changes to osg::StateSet and osgUIgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14393 16af8721-9629-0410-8352-f15c8da7e697 -2014-02-03 15:35 robert - * Fixed error in the computation of tex coords of Maximum Intensity - Projection + Transfer Function rendering. +Wed, 30 Jul 2014 12:47:16 +0000 +Checked in by : Robert Osfield +Added StateSet::RenderBinMode::PROTECTED_RENDERBIN_DETAILS and OVERRIDE_PROTECTED_RENDERBIN_DETAILS options.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14392 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-31 19:18 robert - * Replaced C cast to long with a static_cast() to - avoid a build error under Mingw 64. +Tue, 29 Jul 2014 15:50:55 +0000 +Checked in by : Robert Osfield +Added preliminary icon to ComboBox.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14391 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-31 16:20 robert - * Added osg::CallbackObject to be used to extend C++ class from - scripting languages by providing callback objects assigned to the - osg::Object UserDataContainer, with the CallbackObject's Name - used to map the "method" provided by the CallbackObject. The - CallbackObject is implemented by the script engine to provide the - neccessary glue to invoking the script with the appropriate input - parameters and handling the output parameters. - - To the Lua plugin added support for assigned lua functions to C++ - osg::Objects via the new osg::CallbackObject mechanism. To invoke - the scripts function from C++ one must get the CallbackObject and - call run on it. - - Renamed ScriptCallback to ScriptNodeCallback to avoid possibly - confusion between osg::CallbackObject and the ScriptNodeCallback. +Tue, 29 Jul 2014 15:50:37 +0000 +Checked in by : Robert Osfield +Fixed debug commentgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14390 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-29 11:01 robert - * Updated ChangeLog +Tue, 29 Jul 2014 15:50:07 +0000 +Checked in by : Robert Osfield +Implemented prelimary icon support allowing UI widget to place image and model based icons on widgetsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14389 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-28 16:49 robert - * From Kristofer Tingdahl, made method virtual +Tue, 29 Jul 2014 15:47:55 +0000 +Checked in by : Robert Osfield +Added catch for NULL Transform pointers getting into the _transformMap.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14388 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-28 16:48 robert - * Fixed MingW build's handling of debug d postfix. +Mon, 28 Jul 2014 16:19:44 +0000 +Checked in by : Robert Osfield +Added handling of Drawables added directly to scene graph without Geode decorating them.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14386 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-28 15:28 robert - * Removed the invocation of gcc on all platforms +Thu, 24 Jul 2014 14:14:35 +0000 +Checked in by : Robert Osfield +Added support for changing background colour of LineEdit widget when focus changesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14385 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-28 11:01 robert - * From Kristofer Tingdahl, "the vertical bar is upside down, and - hence not as the documentation says it should be. This is - corrected with this patch" - - From Robert Osfield, changed the example so that the vertical and - horizon scalar bars are rotated to the XZ plane so you can see - them with the default viewer's camera orientation. - Tweaked the positioning of title text of vertic scalar bar to - avoid overlap of text. +Thu, 24 Jul 2014 13:25:49 +0000 +Checked in by : Robert Osfield +Refined the colouring of widget to be more in sync with the defaults used in Qt.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14384 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-27 15:43 robert - * Removed unimplemented method +Wed, 23 Jul 2014 16:36:17 +0000 +Checked in by : Robert Osfield +Added VolumeSettings::Filename property.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14383 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-24 17:31 robert - * From Laurens Voerman, "I experienced a crash in - Geometry::fixDeprecatedData(), on certain files, and brought the - problem down to a very simple test file, attached as test3.zip. - - There are two problems: - 1> for DrawElementsUShortPrimitiveType (and UInt) the - source_pindex still equals -1 and causes a crash - in DrawElementsUBytePrimitiveType source_pindex is incremented, - and in DrawElementsU(Short/Int)PrimitiveType primitiveNum is - incremented, but never used - - 2> The drawelements need to be rewritten as the vertices are - reordered. - - created a patch for osg stable branch(r14038): attached as - Geometry-osg-3.2.zip - and for svn brach(r14044): attached as Geometry_osg_svn.zip" +Wed, 23 Jul 2014 15:57:35 +0000 +Checked in by : Robert Osfield +Changed the default text colour to blackgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14382 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-24 17:06 robert - * From Aurelien Albert, "In the "apply" method of - osg::FrameBufferObject, the draw buffers are always enabled, even - if the target is only "READ_FRAMEBUFFER". - - This can lead to inconsistency if you bind a framebuffer with - multiple attachments in DRAW mode and then a framebuffer with - different attachment count in READ mode (for example to manually - "blit" from a FBo to another). - - On some ATI cards (at least RADEON HD) this also leads to an - "incomplete " FBO status - - I've added a test to enable drawbuffers only if target is "DRAW" - or "READ_DRAW", this solves my problems on ATI cards." +Wed, 23 Jul 2014 14:50:42 +0000 +Checked in by : Robert Osfield +Added writeFile supportgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14381 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-24 16:45 robert - * From Michael Schanne, "small fix for a duplicate OR operand in - KdTree.cpp." +Wed, 23 Jul 2014 10:49:27 +0000 +Checked in by : Robert Osfield +Added Node:getNumParents() and Node:getParent(index) supportgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14380 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-24 16:28 robert - * From Torben Dannahuer, "modified findcollada.cmake which can now - detect Boost 1.55 libraries, which are used by Collada in my - 3rdParty package" +Tue, 22 Jul 2014 16:02:33 +0000 +Checked in by : Robert Osfield +Removed State::AppliedProgramObjectSet container and Obsever usage from osg::State to address threading bug crash.The State::AppliedProgramObjectSet wasn't ever being used actively in the current rev of the OSG so populating and clearing was no longer neccessary, allowing the code to be removed completely. -2014-01-24 16:24 robert - * From Torben Dannhauer, VisualStudio 2013 build fixes +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14377 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-24 16:19 robert - * From Kristofer, "The osgSim::ScalarBar has a problem in that if - the scalarbar has a color in one end that co-incides with the - background color, one cannot see where the scalarbar ends. With - this patch, we add a line around the perimiter of the bar to mark - it. - - Secondly, we thought the text-annotation missed ticks that mark - out precisely where on the bar the texts relate to, so we added - that as well." +Mon, 21 Jul 2014 16:36:47 +0000 +Checked in by : Robert Osfield +Centralized the calling of #include and VS fallback into include/osg/Types headergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14376 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-24 16:01 robert - * From Marc Helbling, "I am sending a small fix in the PLY - pseudo-loader; the extension was checked in plyfile.cpp thus - preventing the loading of any .PLY file (extension in uppercase). - The extension filtering is already handled by - ReaderWriter::acceptsExtension in a case unsensitive way." +Mon, 21 Jul 2014 14:32:40 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "I think I spotted some unneeded ref_ptrs in the cullvisitor. The call pushModelViewMatrix or pushProjectionMatrix will already keep the reference when adding it to the MatrixStack. In CullVisitor::apply methods for the billboard and the camera you already take a pointer instead of a ref_ptr."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14375 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-24 15:40 robert - * Fixed warnings +Mon, 21 Jul 2014 13:45:58 +0000 +Checked in by : Robert Osfield +Added setting of glPixelStore before glTexSubImage2D call.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14374 16af8721-9629-0410-8352-f15c8da7e697 -2014-01-24 14:26 robert - * Changed the handling of single window configurations so that - simply reuse the View::getCamera() instead of creating a slave. +Mon, 21 Jul 2014 13:43:11 +0000 +Checked in by : Robert Osfield +From Jaap Gas, "I want to submit a bugfix for a crash occurring in osgText/Glyph.cpp if the scene tree contains (large) 2D textures from images with STRIDE.============================================================================ +#0 0x00007fffe8ea4350 in __memmove_ssse3 () from /lib64/libc.so.6 +#1 0x00007fffe52ced76 in ?? () from /usr/lib64/libnvidia-glcore.so.310.44 +#2 0x00007fffe52d8e86 in ?? () from /usr/lib64/libnvidia-glcore.so.310.44 +#3 0x00007fffe53dd8be in ?? () from /usr/lib64/libnvidia-glcore.so.310.44 +#4 0x00007fffe53c2643 in ?? () from /usr/lib64/libnvidia-glcore.so.310.44 +#5 0x00007fffe53c7fdd in ?? () from /usr/lib64/libnvidia-glcore.so.310.44 +#6 0x00007fffe53cbabf in ?? () from /usr/lib64/libnvidia-glcore.so.310.44 +#7 0x00007fffe53cc1fa in ?? () from /usr/lib64/libnvidia-glcore.so.310.44 +#8 0x00007ffff30092fd in osgText::GlyphTexture::apply (this=0x1bb8cf0, state= + ...) + at /d43/jaap/dev/jaapOSG/build/OpenSceneGraph3.3.1/src/osgText/Glyph.cpp:234 +#9 0x00007ffff56c30b6 in osg::State::applyAttributeOnTexUnit (this=0x125f180, + unit=0, attribute=0x1bb8cf0, as=...) + at /d43/jaap/dev/jaapOSG/build/OpenSceneGraph3.3.1/include/osg/State:1713 +#10 0x00007ffff56c2f3f in osg::State::applyTextureAttribute (this=0x125f180, + unit=0, attribute=0x1bb8cf0) + at /d43/jaap/dev/jaapOSG/build/OpenSceneGraph3.3.1/include/osg/State:411 +#11 0x00007ffff30204da in osgText::Text::drawTextWithBackdrop (this=0x1baed70, + state=..., colorMultiplier=...) +============================================================================== -2014-01-24 12:01 robert +The crash disappears if I either (1) disable the use of images with stride +in the (public) osgGeo-library, or (2) add the following bugfix to Glyph.cpp. +This combination gives me the confidence that I understand where this problem +originates from, without trying to understand the full OpenGL details. - * Added a getModeUsage() method that prevents any mode being - automatically associated with these Texture types that are only - usable using non fixed function pipeline. +=============================================================================== +@@ -221,7 +223,12 @@ + imageData[i] = 0; + } -2014-01-24 11:37 robert ++ glPixelStorei(GL_UNPACK_ALIGNMENT,1); - * Fixed crash when reading a viewer configuration file where the - EventVisitor was being re-assigned but left a dangling pointer ++ #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) ++ glPixelStorei(GL_UNPACK_ROW_LENGTH,getTextureWidth()); ++ #endif ++ + // allocate the texture memory. + glTexImage2D( GL_TEXTURE_2D, 0, GL_ALPHA, + getTextureWidth(), getTextureHeight(), 0, +================================================================================ -2014-01-24 10:10 robert +I have copied (and adapted) the added lines above from the same source file, +where they were used in front of a similar call to glTexSubImage2D(.) around +line 515. +" - * From Stephan Huber, "attached is a new zip containing two small - fixes: - * forwarded touch-events do have a correct input-range from 0 .. - 1 - * I refactored sending touch-events per osc so the receiver can - detect a TOUCH_ENDED better" -2014-01-23 19:55 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14372 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed warnings -2014-01-23 16:48 robert +Mon, 21 Jul 2014 12:21:42 +0000 +Checked in by : Robert Osfield +Initial work on integtasting osgUI into Present3Dgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14370 16af8721-9629-0410-8352-f15c8da7e697 - * From Kristofer Tingdahl,"we have a bunch of classes that inherit - osg::Node, and they create their own, internal geometry which is - passed into the render bucket at the cull-traversal. Last week, - we realised that these classes are not accounted for when doing - an ComputeBoundVisitor- traversal, as there is no specialization - in ComputeBoundVisitor for them. - - One solution is naturally to create a new class that would - inherit the osg::ComputeBoundVisitor, and use that. I don't like - that idea as the ComputeBoundVisitor does actually have what I - need - it is only hidden in a protected function. - - I am therefor suggesting a slight generalization of the - ComputeBoundVisitor with the attached patch, which is tested. - - The patch has two parts: - we add applyBBox() so that one can use that in a customized - traverse-function and add a bbox to the visitor. I considered - calling this function expandByBBox(), but I though applyBBox was - better. - The MatrixStack is made available to the outside world. That - enables a traverse-function to do whatever it wishes. - I do actually only need one of the two, as I can implement what I - wish either way, but adding getMatrixStack() will make more - generic expansions possible. - " - - From Robert Osfield, changed the name of the new applyBBox(..) - method to applyBoundingBox(..) to keep it's naming more - consistent with the rest of the OSG. -2014-01-23 15:37 robert +Mon, 21 Jul 2014 12:18:43 +0000 +Checked in by : Robert Osfield +Fixed indentationgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14369 16af8721-9629-0410-8352-f15c8da7e697 - * From Stephan Huber, "attached are some fixes to the osc-plugin - and the touch-implementations for iOS and os x and other small - bugfixes. These fixes will normalize the orientation of the touch - points, and transmitting the touch points over osc via the - TUIO-protocol works now more robustly between two - osg-applications. - - I added a new tag to p3d called forward_touch_event_to_device and - renamed the existing forward_event_to_device to - forward_mouse_event_to_device. This new tag will transmit touches - to the virtual trackpad as touch events. I added the - MultitouchTrackball to the p3d-app so zooming and moving a model - remotely should now work, if you use - forward_touch_event_to_device. I kept (and fixed) - forward_mouse_event_to_device for background compatibility, so - old presentations works as in previous versions, without the - ability to zoom + scale. of course. - - forward_touch_event_to_device needs some more testing, (e.g. with - image-streams and keystone, afaik there’s no support for - touch-events...) but for a first version it works nice. - " -2014-01-23 10:56 robert +Mon, 21 Jul 2014 09:35:00 +0000 +Checked in by : Robert Osfield +Added debug messagesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14368 16af8721-9629-0410-8352-f15c8da7e697 - * Removed debug message -2014-01-23 10:50 robert +Fri, 18 Jul 2014 17:17:01 +0000 +Checked in by : Robert Osfield +Added serailizer support for NodeVisitor, UpdateVisitor, CullVisitor and EventVisitorgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14367 16af8721-9629-0410-8352-f15c8da7e697 - * Changed the TransprencyProperty range to 0 to 2.0 to enable - forcing opaque qualities on fragments -2014-01-23 10:11 robert +Mon, 14 Jul 2014 15:59:06 +0000 +Checked in by : Robert Osfield +Added readScript/writeScript methods to ReaderWritergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14366 16af8721-9629-0410-8352-f15c8da7e697 - * Cleaned up debug message. -2014-01-23 10:09 robert +Mon, 14 Jul 2014 14:09:08 +0000 +Checked in by : Robert Osfield +Renamed osgDB::PropertyInterface to osgDB::ClassInterface to better reflect it's functionalitygit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14365 16af8721-9629-0410-8352-f15c8da7e697 - * Cleaned up the Qt find package, and made changed the default - threading model to SingleThreaded when using Qt5 to avoid crash - due to regresssion since Qt4. -2014-01-23 09:41 robert +Fri, 4 Jul 2014 16:45:05 +0000 +Checked in by : Robert Osfield +Added preliminary support for writing VolumeSettings to disk from within Present3D in response to pressing and releasing 'Ctrl-S'.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14363 16af8721-9629-0410-8352-f15c8da7e697 - * Added clean up of osg::Program that are applied by the - GLObjectsVisitor, which addresses a state leak that creates GL - error once the main scene graph is rendered. -2014-01-23 07:59 robert +Thu, 3 Jul 2014 16:36:02 +0000 +Checked in by : Robert Osfield +Updated iso and mip shaders from OpenSceneGraph-Data.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14358 16af8721-9629-0410-8352-f15c8da7e697 - * Added GL_TEXTURE_2D_MULTISAMPLE to texture mode list. -2014-01-22 17:29 robert +Thu, 3 Jul 2014 13:06:23 +0000 +Checked in by : Robert Osfield +Added virtual destructorsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14351 16af8721-9629-0410-8352-f15c8da7e697 - * Made protected methods virtual to allow subclassing to customize - more aspects of the window setup. -2014-01-22 16:29 robert +Thu, 3 Jul 2014 13:05:09 +0000 +Checked in by : Robert Osfield +Fixed line endingsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14350 16af8721-9629-0410-8352-f15c8da7e697 - * Refactored .p3d loader to make it less strict about the tag, - property and value strings when matching them to supported - values. - - Examples of supported matches are: - - and will be treated the same - WHITE and White will be - treated the same - and , will all be - treated the same -2014-01-22 11:25 robert +Thu, 3 Jul 2014 13:01:05 +0000 +Checked in by : Robert Osfield +Changed enum usage to use the new osgVolume::VolumeSettings versions and added support for reading a VolumeSettings file.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14349 16af8721-9629-0410-8352-f15c8da7e697 - * Added support for sampleRatio and sampleRatioWhenMoving - properties -2014-01-21 18:58 robert +Thu, 3 Jul 2014 10:01:46 +0000 +Checked in by : Robert Osfield +Refactor VolumeSettings so that it's subclassed from osgVolume::Propertygit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14348 16af8721-9629-0410-8352-f15c8da7e697 - * Build fixes for when ref_ptr<> automatic type conversion is - turned off -2014-01-21 18:48 robert +Wed, 2 Jul 2014 16:26:18 +0000 +Checked in by : Robert Osfield +Added osgVolume::VolumeSettings objectgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14347 16af8721-9629-0410-8352-f15c8da7e697 - * Added support for osgVolue::SampleRatioProperty. Fixed build - errors when compiling with ref_ptr<> automatic type conversion. -2014-01-21 18:31 robert +Wed, 2 Jul 2014 15:34:37 +0000 +Checked in by : Robert Osfield +Changed the default image output format to .osgb as .dds isn't able to represent signed byte, short and int data correctly.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14346 16af8721-9629-0410-8352-f15c8da7e697 - * Build fixes for when ref_ptr<> has no auto type conversion -2014-01-21 17:27 robert +Wed, 2 Jul 2014 14:14:53 +0000 +Checked in by : Robert Osfield +fixed handlng of file type of nested files within a .osgx, .osgt and .osgb file.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14344 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed build error -2014-01-21 17:00 robert +Wed, 2 Jul 2014 10:25:29 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "just like ClusterCullingCallback (fixed in r14322) visual studio likes an explicit implementation of run() for InteractiveImageHandler.The warning is (14 times): +include\osgViewer/ViewerEventHandlers(542): warning C4250: 'osgViewer::InteractiveImageHandler' : inherits 'osgGA::EventHandler::osgGA::EventHandler::run' via dominance (src\osgViewer\StatsHandler.cpp) + include\osgGA/EventHandler(45) : see declaration of 'osgGA::EventHandler::run' - * Fixed build error due to typo. -2014-01-20 17:23 robert +attached a zipped version of include\osgViewer\ViewerEventHandlers" - * Integrated multipass volume rendering shaders from - OpenSceneGraph-Data -2014-01-20 17:03 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14343 16af8721-9629-0410-8352-f15c8da7e697 - * Changed the default directory for the output files to be the - current working directory, - with the --write-to-source-file-directory added to allow one to - have the original behaviour - of writing to the same directory as the original source file. -2014-01-20 16:21 robert +Tue, 1 Jul 2014 07:31:46 +0000 +Checked in by : Robert Osfield +Added #include to address compile issue on some Linux distro's.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14341 16af8721-9629-0410-8352-f15c8da7e697 - * Removed nolonger used code paths -2014-01-20 15:54 robert +Mon, 30 Jun 2014 15:31:36 +0000 +Checked in by : Robert Osfield +Add dds no flip on write option to prevent output of .dds volume from being flipped by the dds plugin.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14339 16af8721-9629-0410-8352-f15c8da7e697 - * Disable depth test for rendering of hull backface -2014-01-20 15:10 robert +Mon, 30 Jun 2014 13:24:41 +0000 +Checked in by : Robert Osfield +REmoved debug coutgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14338 16af8721-9629-0410-8352-f15c8da7e697 - * From Stephan Huber, "recent commits regarding GLuint64EXT broke - the build for GLES1 and GLES2. Attached you’ll find a fix which - hopefully work for every platform." -2014-01-20 11:00 robert +Mon, 30 Jun 2014 10:13:19 +0000 +Checked in by : Robert Osfield +From Mikhail Izmestev, "Attached fix to avoid vector reallocs on push_back in StateGraph::moveStateGraph."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14334 16af8721-9629-0410-8352-f15c8da7e697 - * From Kristofer Tingdahl, reimplement of AntiSquish node to avoid - the use of an update callback. - - From Robert Osfield, small ammendments to clean up header. -2014-01-20 10:40 robert +Mon, 30 Jun 2014 09:12:14 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS filegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14332 16af8721-9629-0410-8352-f15c8da7e697 - * From Roni Zanolli,Added use of Qt's new devicePixelRatio() method - to assist with handling the upscalling of resolution on iPhone - for "retina" displays. - - From Robert Osfield, changed Roni's code to use a #define - GETDEVICEPIXELRATIO to access the versioned Qt devicePixelRatio() - method to avoid duplication of the Qt version checking. -2014-01-17 18:20 robert +Mon, 30 Jun 2014 08:56:08 +0000 +Checked in by : Robert Osfield +Updated version numbergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14331 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed warning -2014-01-17 18:20 robert +Mon, 30 Jun 2014 08:46:54 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "Here is a small fix for a overflow when editing large 3d volume data."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14329 16af8721-9629-0410-8352-f15c8da7e697 - * From Stephan Huber, fix for OSX build issue -2014-01-17 14:02 robert +Mon, 30 Jun 2014 08:20:30 +0000 +Checked in by : Robert Osfield +Removed space from #include.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14326 16af8721-9629-0410-8352-f15c8da7e697 - * From Kristoger Tingdahl, "the patch I sent to - src/osgQt/CMakeModules.txt did not do the work on windows. I have - fixed that, and also made it more generic so there is no special - handling of qt5.2, but all qt5 are the same. - - I have tested this on: - - mac/qt5.2 - linux/qt5.2 - windows/qt5.2, and - mac/qt5.1 - - All platforms perform as expected. - - The previous fix removed the -f flag to the moc-pre-processor, - but on windows, it turned out that -f "osgQt/QGraphicsViewer" was - needed. - - This becomes an include-statement in the file generated by moc - which is needed for compiling it. I ask you consider this patch - for the trunk and the 3.2 branch. - - - Secondly, I wonder if it would be possible to apply my patch for - FindRSVG.cmake from 22nd November in the 3.2 branch. - - In short, the version of librsvg must be equal or higher to 2.35: - - PKG_CHECK_MODULES(RSVG librsvg-2.0>=2.35) - " -2014-01-17 13:59 robert +Mon, 30 Jun 2014 07:37:06 +0000 +Checked in by : Robert Osfield +From Alexander Sinditskiy, build fix to allow building against versions older than librsvg-2.36.2git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14323 16af8721-9629-0410-8352-f15c8da7e697 - * From Jordi Torres, "We have a code using gcc with -Wextra flag - and using OSG as a third party library. It does not compile when - importing failing in EventHandler and - GUIEventHandler: - - .... - - GUIEventHandler: In copy constructor - 'osgGA::GUIEventHandler::GUIEventHandler(const - osgGA::GUIEventHandler&, const osg::CopyOp&)': - - /include/osgGA/GUIEventHandler:56:9: error: base class 'class - osg::Object' should be explicitly initialized in the copy - constructor [-Werror=extra] - - It seems the diamond problem: - - A = osg::Object - / \ - / \--> Virtual inheritance - B C - \ / - \ / - D = EventHandler - | - | - E = GUIEventHandler - - The most derived class(E) handles the instantiation of A - (osg::Object), but all have to be responsible in case they are - the ones instantiated. - - - In case A is not initialized in the copy constructor of derived - classes the default constructor will be called, which seems a - bug. - - I've added osg::Object to the initalization list of EventHandler - and GUIEventHandler copy constructors, because both classes are - instantiables. - " -2014-01-17 13:54 robert +Sat, 28 Jun 2014 06:22:47 +0000 +Checked in by : Robert Osfield +Replaced using NodeCallback::run with explict run() implementation.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14322 16af8721-9629-0410-8352-f15c8da7e697 - * From Jordi Torres, "Fixed a typo in - ReaderWriterCURL::ReaderWriterCURL() changed Psuedo for Pseudo." -2014-01-17 12:40 robert +Fri, 27 Jun 2014 15:57:34 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "I made a small change to DataOutputStream.cpp which makes saving Geodes possible again. This is only half a fix as it only will save a Drawable that is part of a Geode. But this change does not require a version bump of the .ive format. I tried it with a few datasets we have here with the 3.2 stable branch and the trunk with this patch and there was no difference in the .ive files that were produced."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14319 16af8721-9629-0410-8352-f15c8da7e697 - * Fixed handling of background colours. -2014-01-16 17:26 robert +Fri, 27 Jun 2014 15:55:05 +0000 +Checked in by : Robert Osfield +Removed unused method.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14318 16af8721-9629-0410-8352-f15c8da7e697 - * Removed old redundent TexGen usage. -2014-01-16 17:17 robert +Fri, 27 Jun 2014 15:48:38 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "attached is a modified version of src/osgUtil/Tessellator.cpp current code checks for a Nullpointer and on notify level info or above will inform you with a crash, by dereferencing it."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14315 16af8721-9629-0410-8352-f15c8da7e697 - * Added hull="hul-filename" property support to tag that - can used thus: - - - CardiacCT - -2014-01-16 16:08 robert +Fri, 27 Jun 2014 15:39:05 +0000 +Checked in by : Robert Osfield +Updated AUTHORS filegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14313 16af8721-9629-0410-8352-f15c8da7e697 - * Added support for controlling the extents of the volume rendering - by nesting the hull underneath VolumeTile. Currently only - supported by the new osgVolume::MultipassTechnique -2014-01-09 11:13 robert +Fri, 27 Jun 2014 15:38:52 +0000 +Checked in by : Robert Osfield +Added an OSG_INIT_SINGLETON_PROXY to make sure that the ApplicationUsage singleton gets intialized before usage.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14312 16af8721-9629-0410-8352-f15c8da7e697 - * From Paul Martz, build fix for Windows GL3 build -2014-01-09 09:41 robert +Fri, 27 Jun 2014 15:36:47 +0000 +Checked in by : Robert Osfield +Updated AUTHORS filegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14310 16af8721-9629-0410-8352-f15c8da7e697 - * Added per TileData RTT Camera in prep for rendering backface of - volume to a depth texture -2014-01-08 15:56 robert +Fri, 27 Jun 2014 15:30:56 +0000 +Checked in by : Robert Osfield +Added a render order sort to the list of Cameras being tested by the *Viewer::generatePointerData(..) method to ensure that the highest Camera gets focus.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14309 16af8721-9629-0410-8352-f15c8da7e697 - * Changed near/far values to use CullVisitor::value_type and use - std::numeric_limits<>. -2014-01-08 10:33 robert +Thu, 26 Jun 2014 15:54:47 +0000 +Checked in by : Robert Osfield +Update ChangeLog for dev releasegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14306 16af8721-9629-0410-8352-f15c8da7e697 - * From Farshid Lashkari, "I've attached a fix for the Collada - loader that prevents a crash with some files containing textures. - I also converted an OSG_NOTICE to OSG_INFO to be consistent with - other log messages within the loader." -2014-01-08 10:31 robert +Thu, 26 Jun 2014 14:16:11 +0000 +Checked in by : Robert Osfield +Revised KdTreeBuilder so that is used the new apply(osg::Geometry&) method rather than expanding an osg::Geode.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14303 16af8721-9629-0410-8352-f15c8da7e697 - * Removed more odd characters -2014-01-08 10:28 robert +Thu, 26 Jun 2014 11:49:59 +0000 +Checked in by : Robert Osfield +From Sebastian Messerschmidt, "I've applied a simple fix for the backward animation support in osg::Sequence. It will simply use the sign of the speed set in the getNextValue. Attached file is against trunk."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14302 16af8721-9629-0410-8352-f15c8da7e697 - * Removed more odd characters -2014-01-08 10:24 robert +Thu, 26 Jun 2014 11:11:59 +0000 +Checked in by : Robert Osfield +From Lauren Voerman, "In order to speed up loading large scenes (especially from network disk) I added code to our viewer to setup multiple database-pagers and request the files trough a database-request: databasePager->setUpThreads(16, 1);We experienced problems with multiple databasepagers loading files in parallel, when two threads start to load the same file (usually a texture referenced by multiple models). The second thread to add the file to the cache (sometimes) manages to do so while the refcount from the cached object still is zero, causing the object loaded to be destroyed. +Sometimes the second thread manages to ref() the object before Referenced::signalObserversAndDelete does the final recount check, causing a warning: + "Warning Referenced::signalObserversAndDelete(,,) doing delete with _refCount=1" - * Removed odd characters +With a deleted object added to the scenegraph we get some undesired results, I think the program only crashes if the object was a Node, and just has some untextured surfaces if it was a texture, but I'm not completely sure. -2014-01-08 10:16 robert +Attached is a modified version of the Registry.cpp, returning the object in cache and let the duplicate loaded object to be destroyed. - * Moved destructor to protected +A more efficient option would be to add some sort of blocking entry to the objectcache to stop the second thread from reading the file, and just wait until the first thread added it to the cache. If you think that's worthwile we would be happy to implement that version. A bit tricky to implement and test, that's why I submit a simple version that stops my program from crashing." -2014-01-07 19:06 robert - * Refined the GLint64 definitions -2014-01-07 18:32 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14300 16af8721-9629-0410-8352-f15c8da7e697 - * Removed duplicated instances of GLint64EXT declarations -2014-01-07 16:43 robert +Thu, 26 Jun 2014 11:09:46 +0000 +Checked in by : Robert Osfield +Removed erroneous charactergit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14298 16af8721-9629-0410-8352-f15c8da7e697 - * Removed execute properties via svn propdel svn:executable file -2014-01-07 16:29 robert +Thu, 26 Jun 2014 10:53:18 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I noticed that Text3D objects would change there z alignment depending on the alignment mode. I'm not sure if this was intentional or just a simple mistake. My expectation was that the front of the object would always stay aligned to the 0 z-plane, regardless of the alignment mode. I've attached an updated version that retains a consistent z-alignment." "I just now noticed another issue with Text3D objects. It was not properly computing the bounding box when non-axis aligned rotations were being applied. In this case all corners of the bounding box need to be transformed in order to get the correct containing box. I've attached the updated file." "The incorrect bounding box problem also applies to regular Text objects. I've attached the fix for that as well as the original Text3D fix."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14296 16af8721-9629-0410-8352-f15c8da7e697 - * From Farshid Lashkari, "I've attached a small change to the DAE - writer to support writing out unknown transform types. It will - essentially treat it as a matrix transform, using the the local - to world matrix value." -2014-01-07 16:18 robert +Thu, 26 Jun 2014 10:45:07 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "For a scene with a lot of animated agents I did some small optimizations to reduce cpu overhead: 1) Avoid a load-hit-store in UpdateBone. b->getMatrixInBoneSpace() returns the same matrix that was just stored with b->setMatrix() 2) Avoid calling element->isIdentity() for the whole transform stack (can be expensive is element is a matrix) 3) Make the key frame interpolator use binary search instead of a linear one. This is very noticeable in scenes where some geometry has long repeating animations that start at the same time, you will see the update time grow then reset and grow again."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14294 16af8721-9629-0410-8352-f15c8da7e697 - * Bumped SO_VERSION number of OpenThreads to avoid conflicts with - Debian SO_VERSION bump -2014-01-07 16:15 robert +Thu, 26 Jun 2014 10:24:41 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "while debugging ImageSequence I had a crash, due to the very large frametimes caused by halting the program. The problem is that when the frame time exceeds the length of the entire image sequence, a looping sequence will try to read it's _imageDataList beyond its size. fix attached for src/osg/ImageSequence.cpp"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14293 16af8721-9629-0410-8352-f15c8da7e697 - * From Sebastian Messerschmidt, "Original shader was not running on - various NVidia cards due to old syntax in shader." -2014-01-07 11:01 robert +Thu, 26 Jun 2014 10:05:53 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "while testing databasepager stuff I noticed that the various loaders (osg/ive/osgx) do not pass the current options to the imagePager, therefore the images cannot be found if not in the global OSG_FILE_PATH. Attached is a fix, containing modified versions ofFrom Robert Osfield, add check to only apply Options object when a valid Option object is assigned. - * Added State::getMaxTextureCoords() and - State::getMaxTextureUnits() inline methods. -2014-01-06 17:19 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14290 16af8721-9629-0410-8352-f15c8da7e697 - * Added support for Switch::set/getValue() -2014-01-06 16:58 robert +Thu, 26 Jun 2014 09:38:56 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've attached a small fix for the ply loader to support Windows style line endings when reading the header."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14288 16af8721-9629-0410-8352-f15c8da7e697 - * Added Group::setChild(..) and Geode::setDrawable(..) - MethodObjects -2014-01-06 15:46 robert +Thu, 26 Jun 2014 09:33:56 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, "This submission fix all my problems with reading / writing "osgb" files inside "osga" archive with final archive size > 2 Go, with Windows OS (didn't tested with Linux)"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14287 16af8721-9629-0410-8352-f15c8da7e697 - * Removed the prototype MethodObject classes -2014-01-06 15:45 robert +Wed, 25 Jun 2014 16:05:56 +0000 +Checked in by : Robert Osfield +From Riccardo Corsi, "there's an inconsistency between the behavior of the method and the debug message it prints out on the console.Around line 1040 of Registry.cpp (see code below) the method returns +"simpleFileName" but prints about returning "filename". - * Moved osgDB::MethodObject from lua plugin into osgDB, added - support for running methods via the osgDB::PropertyInterface - class. - - Updated lua plugin to use new osgDB::PropertyInterface to run - methods. - - Added addChild/removeChild() etc to Group.cpp, and - addDrawable/removeDrawable() etc. to Geode.cpp serializers. +In attachment the modified file, based on osg 3.2.0 +ricky -2014-01-06 10:23 robert - * Renamed the OSGSIM cmake variable to OSGSIM_LIBRARY to be - consistent with the rest of the variables. + +if(fileExists(simpleFileName)) +{ + OSG_DEBUG << "FindFileInPath(" << filename << "): returning " << +filename << std::endl; + return simpleFileName; +} + +" -2014-01-03 14:36 robert - * Fixed build of V8 and Python plugins +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14285 16af8721-9629-0410-8352-f15c8da7e697 -2013-12-25 17:36 robert - * Preliminary support for wrapping methods in the lua script - plugin. +Wed, 25 Jun 2014 15:55:21 +0000 +Checked in by : Robert Osfield +From Auelien Albert, "I'm working on an application which use 3ds file format as input and use the name of the material to "map" specific data with 3d geometry.The osg 3ds plugin modify the exported materials name in the same way it modifies the node names. -2013-12-20 09:57 robert +I've added an option to preserve originals materials names, with the assurance of unique material names are preserved." - * Added tag to .p3d to allow one to provide multiple ways - to render children within a layer. -2013-12-19 17:13 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14283 16af8721-9629-0410-8352-f15c8da7e697 - * From Kristofer Tingdahl, "the syntax of the moc executable has - changed between 5.1.1 and 5.2.0 versions of qt (see below). The - difference is that the argument has become mandatory after - the -f option. - - Hence, moc will complain when osg throws in a -f without anything - after it. Hence I propose removing the -f on Qt5 builds. I have - tested building without -f on both qt520 and qt511, and that - works well. - - The attached src/osgQt/CMakeLists.txt that can be patched into - 3.2 safely. For the trunk, I would consider dropping the check on - the version, and simply remove the option on qt5. I have tested - that on qt5.1.1, and that worked fine. Question is however if it - works on qt5.0. Probably it does, so the question is simplicity - of CMakeList.txt vs safety." -2013-12-19 15:10 robert +Wed, 25 Jun 2014 15:47:59 +0000 +Checked in by : Robert Osfield +Refactored the way that hole are pruned from the occluder hole list.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14282 16af8721-9629-0410-8352-f15c8da7e697 - * From Sylvain Marie, When compiling OSG for the iOS simulator, - providing both -miphoneos-version-min and - -mios-simulator-version-min doesn’t please clang (tested on OS X - 10.9.0 with Xcode 5.0.1). - Here is a small change (against commit - da597ab16945c572a2ad2f4f26fcef38ed21b074) in the CMakeLists.txt - to avoid this situation. -2013-12-19 13:53 robert +Wed, 25 Jun 2014 11:07:59 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "a minor patch for osgconv to make sure the helptext is printed if you run "osgconv -h" with OSG_NOTIFY_LEVEL set too low. applys to both trunk and stable branch."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14280 16af8721-9629-0410-8352-f15c8da7e697 - * From Michal Durkovic, "I’m building current trunk on Mac OS X - 10.9 and have encountered this error during linking of osgdb_lua - plugin: - - - - Undefined symbols for architecture x86_64: - - "lua::LuaScriptEngine::pushValue(osg::Quat const&) const", - referenced from: - - PushStackValueVisitor::apply(osg::Quat const&) in - LuaScriptEngine.o - - "lua::LuaScriptEngine::pushValue(osg::Plane const&) const", - referenced from: - - PushStackValueVisitor::apply(osg::Plane const&) in - LuaScriptEngine.o - - ld: symbol(s) not found for architecture x86_64 - - clang: error: linker command failed with exit code 1 (use -v to - see invocation) - - - - Looks like LuaScriptEngine was missing implementation of those 2 - member functions. Fixed src/osgPlugins/lua/LuaScriptEngine.cpp - file in attachment. - - " -2013-12-19 13:49 robert +Wed, 25 Jun 2014 10:45:18 +0000 +Checked in by : Robert Osfield +From Mikhail Izmestev, "Attached fix to avoid vector usage in StateGraph::prune and reduce heap allocations."Notes from Robert Osfield, ammended the erase so that it explictly increments the iterator before the erase call. - * From Stephan Hunber, "attached you’ll find some changes to - osg/p3d: - - * a new command-line-option to present3d and a new option to the - p3d-plugin to suppress any found tags - * a new command-line-option to present3d to forward mouse-events - via osgGA::Device (defaults to off) so we can test the - interface-files with present3d better - * I added a new attribute forward_to_devices for click_to_event - to forward the event to all attached devices instead of handling - the event locally. This will fix the annoyance with the new - interface-files when toggling polygon-mode or switching light - on/off. - - Here’s an example: - - 0x72 - " -2013-12-19 13:44 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14277 16af8721-9629-0410-8352-f15c8da7e697 - * From Stephan Hunber, "I found some time and ported - osgDB::FileUtils and DarwinUtils across new apis to fix the - warnings about deprecated api-usage. - - * osgDB::FileUtils uses now the Cocoa-API to determine the paths - of the application-support-folder - * DarwinUtils uses now modern functions of the quartz-api to get - and set screen-resolutions. Removed some of the osg-deprecated - stuff. - " -2013-12-19 10:02 robert +Wed, 25 Jun 2014 09:58:49 +0000 +Checked in by : Robert Osfield +changed debug message to use OSG_DEBUGgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14276 16af8721-9629-0410-8352-f15c8da7e697 - * Implemented support for calling scripts from with Present3D. -2013-12-17 12:18 robert +Wed, 25 Jun 2014 09:57:36 +0000 +Checked in by : Robert Osfield +From Alexander Sinditskiy, "My changes added support for gltexstorrage2d for texture2d.Initially I described issue in message: +http://forum.openscenegraph.org/viewtopic.php?t=13820 +It solves issue with compiling texture using ico from image with mipmaps - * Added support for new osgVolume::MultiPassTechnique to Present3D. - To use add property renderer="MultiPass": - - MyVolumeData +I added enviroment variable OSG_GL_TEXTURE_STORAGE_ENABLE to control usage of glTexStorage2d. Initially it is disabled. -2013-12-17 10:52 robert +It used only if image have mipmaps. - * Added experimental image 3d downsample function. +Another issue is converting from internalFormat + type to sized internal format. I created sizedInternalFormats[] struct where sized internal formats are ordered from worse->best. +also this struct have commented lines. Commented formats are listed in +http://www.opengl.org/wiki/GLAPI/glTexStorage2D +but looks like not using in osg." -2013-12-16 11:28 robert +Note from Robert Osfield. Changed the env var control to OSG_GL_TEXTURE_STORAGE and made it's value true by default when the feature is supported by the OpenGL driver. To disable to +use of glTexStorage2D use OSG_GL_TEXTURE_STORAGE="OFF" or "DISABLE" - * Removed the unused Texture::Extensions::numTextureUnits() -2013-12-13 12:38 robert - * Implemented ability to switch between different shaders with new - MultipassTechnique +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14275 16af8721-9629-0410-8352-f15c8da7e697 -2013-12-12 09:53 robert - * Added SampleRatioWhenMoving property and support to new - osgVolume::MultipassTechnique. +Wed, 25 Jun 2014 08:21:13 +0000 +Checked in by : Robert Osfield +From Björn Blissing, "I found a minor error in documentation in include/osg/Math. Function: absolute() had the same description as the function minimum()I removed the erroneous text." -2013-12-12 09:51 robert - * Applied unquie CullVisitor::Identifier rather than reusing the - cloned one. +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14273 16af8721-9629-0410-8352-f15c8da7e697 -2013-12-11 17:20 robert - * Changed epsilon to 1e-5 to address picking problems with planaer - objects +Wed, 25 Jun 2014 08:18:05 +0000 +Checked in by : Robert Osfield +From Björn Blissing, "Fix to support correct shininess and transparency in FBX plugin"git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14272 16af8721-9629-0410-8352-f15c8da7e697 -2013-12-11 12:00 robert - * Added initial support for 1D transfer functions to - MultipassTechnique +Tue, 24 Jun 2014 19:57:19 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "There were some modes missing when exporting to .ogst so I added them."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14269 16af8721-9629-0410-8352-f15c8da7e697 -2013-12-10 13:38 robert - * Added support for handling viewports with offset origins, and - with it split stereo. +Tue, 24 Jun 2014 14:58:13 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've attached a small for the osg ReaderWriter. It was performing a case sensitive comparison to the file extension to determine whether to write the file in ascii or binary. This meant that if the filename was "model.OSGT" it would be treated as binary, instead of ascii. I've updated the plugin to ignore case."git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14267 16af8721-9629-0410-8352-f15c8da7e697 -2013-12-10 10:43 robert - * Introduced SampleRatioValueProperty for more intuitive control of - how many samples to take when volume rendering +Tue, 24 Jun 2014 11:24:13 +0000 +Checked in by : Robert Osfield +Merged fix to merge geometries.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14265 16af8721-9629-0410-8352-f15c8da7e697 -2013-12-09 10:39 robert - * Improvements to new MultipassTechnique +Mon, 23 Jun 2014 12:02:41 +0000 +Checked in by : Robert Osfield +Fixed nested callback calling.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14264 16af8721-9629-0410-8352-f15c8da7e697 -2013-12-06 19:31 robert - * Further work on new MultipassTechnique/VolumeScene. +Mon, 16 Jun 2014 16:16:10 +0000 +Checked in by : Robert Osfield +Fixed check against totaly number of verticesgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14262 16af8721-9629-0410-8352-f15c8da7e697 -2013-12-06 09:35 robert - * From Mike Krus, compile fix to enable compiling across a wider - set of versions. +Mon, 16 Jun 2014 08:54:54 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, "I've got some issues using osgb files within an big osga archive (file size > 2Go).Issue is described here : http://forum.openscenegraph.org/viewtopic.php?t=13914 -2013-11-26 19:03 robert +Here is a fix, using "std::streampos" standard type for stream positions up to 64bits. +" - * Added support for using shaders to render the RTT textures with - depth -2013-11-26 10:38 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14261 16af8721-9629-0410-8352-f15c8da7e697 - * Replaced readShaderFile() usage to readRefShaderFile() -2013-11-25 17:36 robert +Fri, 13 Jun 2014 17:17:09 +0000 +Checked in by : Robert Osfield +Added osgUI::ColorPalette classgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14259 16af8721-9629-0410-8352-f15c8da7e697 - * Added initial render to texture functionality into - osgVolume::VolumeScene -2013-11-22 10:27 robert +Fri, 13 Jun 2014 17:16:51 +0000 +Checked in by : Robert Osfield +Fixed typo in parameter namegit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14258 16af8721-9629-0410-8352-f15c8da7e697 - * Warning fixes -2013-11-22 09:48 robert +Thu, 12 Jun 2014 16:00:21 +0000 +Checked in by : Robert Osfield +Removed generation of scroll event on the X11 button release event as X11 was generating both a pair of press/release events for a single scroll when movement.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14257 16af8721-9629-0410-8352-f15c8da7e697 - * From Kristofer Tingdahl, Build fix for svg plugin that makes sure - the version of librsvg is at sufficient, and fixed a missing - virtual destructor warning. -2013-11-22 09:38 robert +Thu, 12 Jun 2014 15:24:34 +0000 +Checked in by : Robert Osfield +Added if () blocks to State::convertVertexShaderSourceToOsgBuiltIns() to ensure that only parts of the shader than need replacing are replaced.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14255 16af8721-9629-0410-8352-f15c8da7e697 - * Removed trailing spaces, added missing return to last lines -2013-11-21 18:17 robert +Thu, 12 Jun 2014 14:12:30 +0000 +Checked in by : Robert Osfield +Improved positioning of combo box popup itemsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14253 16af8721-9629-0410-8352-f15c8da7e697 - * Added new osgVolume::VolumeScene and - osgVolume::MultipassTechnique class shells that will be filled - out to provide multi-pass volume rendering that handles mixing of - 3D meshes with volume rendering and segmentation of volumes via a - user defined hull mesh. -2013-11-21 14:21 robert +Thu, 12 Jun 2014 14:05:28 +0000 +Checked in by : Robert Osfield +Added frame support to ComboBox.Improved the alingment support for text - * From Stephan Huber, "CLang / LLVM on OS X seems to have a problem - compiling the osgGA-serializer. (It was reported before on the - list, but the error is hard to track as it shows up only - sometimes) - - I fixed the compile-error with a dedicated destructor of - osgGA::GUIEventHandler" -2013-11-21 14:08 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14252 16af8721-9629-0410-8352-f15c8da7e697 - * From Farshid Lashkari, " recently encountered an issue attempting - to load an IVE file generated by an older version of OSG. The - file contained dxt1 compressed image data with mipmaps. The - loaded model would cause crashes when passing the mipmap data to - glCompressedTexImage2D. It seems that the size of the data array - within the IVE file did not match the computed size from - Image::getTotalSizeInBytesIncludingMipmaps(). This essentially - made the mipmap offsets invalid within the Image object. - - I'm not sure if the IVE was simply generated incorrectly, or if - the Image::getTotalSizeInBytesIncludingMipmaps() was modified - since the file was generated. Either way, I added a simple check - in the IVE loader so that it clears the mipmap offsets if the - actual data size does not match the computed data size. This - seems like a safe fallback since the mipmap data can be - automatically generated, and it fixes the problem in my case. - - Also, while looking into this issue, I noticed that the - osgDB::InputStream class applies the serialized image allocation - mode. However, since the serializer is allocating the image data - itself, it seems like it should force the allocation mode to - USE_NEW_DELETE. - " -2013-11-21 13:59 robert +Wed, 11 Jun 2014 16:31:17 +0000 +Checked in by : Robert Osfield +Added handling of AligmentSettings of Text layoutgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14251 16af8721-9629-0410-8352-f15c8da7e697 - * From Farshid Lashkari, "I recently encountered an issue - attempting to load an IVE file generated by an older version of - OSG. The file contained dxt1 compressed image data with mipmaps. - The loaded model would cause crashes when passing the mipmap data - to glCompressedTexImage2D. It seems that the size of the data - array within the IVE file did not match the computed size from - Image::getTotalSizeInBytesIncludingMipmaps(). This essentially - made the mipmap offsets invalid within the Image object. - - I'm not sure if the IVE was simply generated incorrectly, or if - the Image::getTotalSizeInBytesIncludingMipmaps() was modified - since the file was generated. Either way, I added a simple check - in the IVE loader so that it clears the mipmap offsets if the - actual data size does not match the computed data size. This - seems like a safe fallback since the mipmap data can be - automatically generated, and it fixes the problem in my case. - - Also, while looking into this issue, I noticed that the - osgDB::InputStream class applies the serialized image allocation - mode. However, since the serializer is allocating the image data - itself, it seems like it should force the allocation mode to - USE_NEW_DELETE. - " -2013-11-21 11:02 robert +Wed, 11 Jun 2014 10:55:33 +0000 +Checked in by : Robert Osfield +Implemented more robust intersection handling for mouse interactions. Wired up even handling of ComboBox popup.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14250 16af8721-9629-0410-8352-f15c8da7e697 - * Converted std::max to osg::maximum to fix VS2013 build error -2013-11-21 10:31 robert +Tue, 10 Jun 2014 08:50:42 +0000 +Checked in by : Robert Osfield +Added using Callback::run() method to Drawable::CullCallbackgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14249 16af8721-9629-0410-8352-f15c8da7e697 - * Added Geometry::drawVertexArraysomplemetation(..) and - drawPrimitivesImplemenation(..) methods that are called from - drawImplementation(..). These new vertex methods - allow subclasses from osg::Geometry to specialize the vertex - array setup or how the primitives are dispatched to OpenGL. -2013-11-18 14:21 robert +Mon, 9 Jun 2014 13:46:44 +0000 +Checked in by : Robert Osfield +Fixed handling of Drawable callbacks and NumChildrenRequiringEventTraversalgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14248 16af8721-9629-0410-8352-f15c8da7e697 - * From Stephan Huber, "minor ios-fixes/-enhancements - - * force _OPENTHREADS_ATOMIC_USE_BSD_ATOMIC for IOS device + - simulator as the test does not pick the right implementation - * fixed a small compile-bug for iphone-example - * added a check to prevent multiple realization of a - GraphicsWindowIOS-object - " -2013-11-18 13:31 robert +Fri, 6 Jun 2014 15:05:31 +0000 +Checked in by : Robert Osfield +Removed redudent NodeVisitor::s/getUserData() as osg::Object provide this.Added using run entry to InteractiveImageHandler to quieten warning - * From Stephan Huber, compile fix for OpenGL ES on iOS. -2013-11-18 13:25 robert - * From Stephan Huber, * GUIEventAdapter: add support for getting - normalized touch points - * MultiTouchTrackball: some code cleanup and support for - normalized touch-points - * oscdevice: receiving and sending multi-touch-events via the - Cursor2D-profile from TUIO - * added some documentation -2013-11-18 12:46 robert +git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14247 16af8721-9629-0410-8352-f15c8da7e697 - * Added panning and zooming functionality to transfer function UI - prototype code. -2013-11-18 12:45 robert +Fri, 6 Jun 2014 09:12:43 +0000 +Checked in by : Robert Osfield +Added using NodeCallback::run() to avoid warningsgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14246 16af8721-9629-0410-8352-f15c8da7e697 - * Added BoundingBox::contains(const vec_type& v, value_type - epsilon) method with new epsilon parameter to make it easier to - test for containment in the presence of numerical errors -2013-11-15 16:15 robert +Fri, 6 Jun 2014 09:01:25 +0000 +Checked in by : Robert Osfield +Added missing OSG_EXPORTgit-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14245 16af8721-9629-0410-8352-f15c8da7e697 - * Moved Handled propety from GUIEventAdapter to Event base class. - - Added CameraManipulator::finishAnimation() method to allow - application code to stop any animation/throw of manipulators. -2013-11-12 14:21 robert +Thu, 5 Jun 2014 16:26:13 +0000 +Checked in by : Robert Osfield +Refactored Callback system in osg::Node, osg::Drawable, osg::StateSet and osg::StateAttribute to use a new osg::Callback base class.git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14244 16af8721-9629-0410-8352-f15c8da7e697 - * Restored the rescaleToZeroToOneRange() to address rendering - issues. -2013-11-11 10:55 robert +Wed, 4 Jun 2014 08:59:31 +0000 +Checked in by : Robert Osfield +Updated shaders from OpenSceneGraph-Data sources - * Removed unused variables +Tue, 3 Jun 2014 15:05:51 +0000 +Checked in by : Robert Osfield +From Pjotr Sventachov and Robert Osfield, added callback unit test to osgcallback example, to use test run osgcallback --test, if everything is functioning then test1 to test7 messages should be reported to the console. -2013-11-08 12:28 robert +Tue, 3 Jun 2014 09:52:55 +0000 +Checked in by : Robert Osfield +Reverted change of Node::ParentList from being a vector back to a vector - * From Stepan Huber, "attached are my changes for the osc, zeroconf - and resthttp-plugin to use the new event-class. I refactored the - osgoscdevice-example so that it’s working again. " +Tue, 3 Jun 2014 09:23:24 +0000 +Checked in by : Robert Osfield +Refactor osg::Geode to subclass from osg::Group and reuse the NodeList children container -2013-11-08 12:26 robert +Mon, 2 Jun 2014 16:20:39 +0000 +Checked in by : Robert Osfield +Removed OSG_USE_BOUND and associated osg::Bound adapter class to avoid problems with BoundingBox::expandBy/expandByRadius() implementation choosing a null BoundingBox from the osg::Bound class causing crashes. - * Added support for assinging and display transfer functions +Mon, 2 Jun 2014 08:13:39 +0000 +Checked in by : Robert Osfield +From Roni Zanolli, build fix for iPhone -2013-11-08 12:25 robert +Fri, 30 May 2014 16:44:36 +0000 +Checked in by : Robert Osfield +Implemented basic frame graphic - * Quietened down debug messages +Thu, 29 May 2014 15:21:42 +0000 +Checked in by : Robert Osfield +Futher work on ComboBox/Popup -2013-11-07 12:37 robert +Thu, 29 May 2014 10:51:26 +0000 +Checked in by : Robert Osfield +Added beginnings of ComboBox popup functionality. - * Changed the LineSegmentIntersector to RayIntersector to provide - more reliable intersections with flat meshes. +Wed, 28 May 2014 10:18:57 +0000 +Checked in by : Robert Osfield +Added cached Depth and ColorMask to reduce the amount of duplicate state in the osgUI subgraph -2013-11-07 12:35 robert +Wed, 28 May 2014 10:06:14 +0000 +Checked in by : Robert Osfield +Replaced Widget::GraphicsSubgraph with GraphicsSubgraphMap to allow finer control of when the rendering subgraphs are done. - * Added osgUtil::Intersector::PrecisionHint member and set it's - default to USE_DOUBLE_COMPUTATIONS, and implemented support for - use double or float maths internally in LineSegmentIntersector - and RayIntersector classes +Tue, 27 May 2014 14:14:51 +0000 +Checked in by : Robert Osfield +Improved handling of text -2013-11-06 09:50 robert +Mon, 26 May 2014 16:32:20 +0000 +Checked in by : Robert Osfield +Removed Dialog/Popup::open/close() methods as they are replaced by the setVisible() method - * Re-enabled the disable of the transfer function +Mon, 26 May 2014 16:27:33 +0000 +Checked in by : Robert Osfield +Implemented Widger::Visible and Enabled usage -2013-11-06 09:49 robert +Mon, 26 May 2014 16:15:33 +0000 +Checked in by : Robert Osfield +Added Visible and Enalbed properties to Widget - * Fixed handling of web cams +Mon, 26 May 2014 16:15:12 +0000 +Checked in by : Robert Osfield +Fixed missing initilaizer -2013-11-06 09:23 robert +Mon, 26 May 2014 15:58:18 +0000 +Checked in by : Robert Osfield +Added item serializer - * Introduced a cast(T) method into the ImageUtils template functor - to allow code reading images to handle casting from source data - to a form that a user can use more conviently +Fri, 23 May 2014 18:59:16 +0000 +Checked in by : Robert Osfield +Implemented clipping of widget to the widgets extents. -2013-11-06 09:20 robert +Fri, 23 May 2014 15:00:49 +0000 +Checked in by : Robert Osfield +Implemented scheme for making sure nested widgest overdraw parent widgets graphics - * Restructed the call to avformat_open_input to provide more - information. +Fri, 23 May 2014 15:00:09 +0000 +Checked in by : Robert Osfield +Added wrappers for open and close methods -2013-11-05 15:23 robert +Thu, 22 May 2014 10:02:35 +0000 +Checked in by : Robert Osfield +Added osgUI::Widget::set/getGraphicsSubgraph() to hold the subgraph that does the rendering portion of widgets - * Fixed typo +Wed, 21 May 2014 16:15:02 +0000 +Checked in by : Robert Osfield +Addd method implementation in serializers -2013-11-01 14:40 robert +Wed, 21 May 2014 10:17:31 +0000 +Checked in by : Robert Osfield +Fixed handling of traverse - * From Stephan Huber, "Build Problem with osgGA at MacOS with Xcode - 5"..."attached you'll find a possible solution for the issue. - This will add a new option to cmake called - OSG_CXX_LANGUAGE_STANDARD which defaults to C++11. If you set it - to C++98 it will setup the project accordingly." +Wed, 21 May 2014 09:45:11 +0000 +Checked in by : Robert Osfield +Improved handling of callback object to open the door to use of general osg::CallbackObject as mechnisms for something simialr to Qt's signal/slot mechanism. -2013-10-28 17:46 robert +Wed, 21 May 2014 09:07:25 +0000 +Checked in by : Robert Osfield +Added osg::runNamedCallbackObjects(..) convinience method for run all named osg::CallbackObjects attached to an osg::Object - * Added initial shell of new osgtransferfunction example that will - be tested bed for upcomming transfer function editing UI. +Wed, 21 May 2014 09:06:17 +0000 +Checked in by : Robert Osfield +Renamed callbacks to avoid overlap with Node callbacks -2013-10-28 12:03 robert +Tue, 20 May 2014 16:09:34 +0000 +Checked in by : Robert Osfield +Moved the _boundingSphere set method into the update section of the Drawable::getBoundingBox() methodAdded an UpdateVisitor::apply(Drawable&) implementation. - * From Likasz Izebski, "added support for etc2/eac compression" -2013-10-25 15:47 robert - * Added explict setting of the PolygonMode to over the distion mesh - being toggled to wireframe. +Tue, 20 May 2014 15:34:12 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "I stumbled on a little bug with the new drawables. I was distributing points data into different drawables that I used in a LOD later. When simplifying the system to not use geodes anymore I came upon the following bug: If Drawable::getBoundingBox would compute an invalid bounding box (if it was for example empty) it would make a bounding sphere with a infinite radius which counts as a valid sphere in osg.Attached is a small fix." -2013-10-25 14:54 robert - * Introduce new osgGA::Event and osgGA::EventHandler base classes - that the old GUIEventAdapter and GUIEventHandler now subclass - from. - - The new osgGA::Event is written to support more generic events - than the original GUIEventAdapter which are written for keyboard - and mouse events. -2013-10-25 14:46 robert +Tue, 20 May 2014 08:35:39 +0000 +Checked in by : Robert Osfield +Improved the handling of updating of text - * Remoed -fpermissive +Tue, 20 May 2014 08:35:19 +0000 +Checked in by : Robert Osfield +Added shell of Popup class -2013-10-25 09:02 robert +Tue, 20 May 2014 08:34:32 +0000 +Checked in by : Robert Osfield +Added check against whether an event has been handled or not before actioning escape/quit. - * Fixed warning +Mon, 19 May 2014 10:11:50 +0000 +Checked in by : Robert Osfield +Add shell of Dialog class -2013-10-24 20:22 robert +Mon, 19 May 2014 09:30:36 +0000 +Checked in by : Robert Osfield +Added handling of up/down key to ComboBox - * Fixed warning +Fri, 16 May 2014 19:24:58 +0000 +Checked in by : Robert Osfield +Added initial cut of ComboBox -2013-10-24 19:56 robert +Fri, 16 May 2014 10:38:40 +0000 +Checked in by : Robert Osfield +Added initial shell of PushButton implementation - * Removed depreated glib call +Thu, 15 May 2014 16:30:17 +0000 +Checked in by : Robert Osfield +Added support for intesecting Drawable that are attached directly to the scene graph without an osg::Geode -2013-10-24 19:32 robert +Thu, 15 May 2014 14:57:28 +0000 +Checked in by : Robert Osfield +From Sebastian Messerschmidt, "There was some small error due to MS non-conformity handling comments correctly." - * Fixed FileInfo self intialization bug +Thu, 15 May 2014 14:45:28 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, build fixes for VisualStudio -2013-10-24 17:43 robert +Thu, 15 May 2014 13:34:50 +0000 +Checked in by : Robert Osfield +Added osgGA dependency - * Fixed build problems with the - OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION off +Thu, 15 May 2014 13:22:47 +0000 +Checked in by : Robert Osfield +Placed the #include within #ifdef OSG_USE_BOUND to prevent unncessary inclusion of Node header when OSG_USE_BOUND is false. -2013-10-24 12:15 robert +Thu, 15 May 2014 09:26:59 +0000 +Checked in by : Robert Osfield +Added Node::asDrawable() and Node::asGeometry() methods to provide a low cost way of casting a node to Drawable and Geoemtry.Changed the Group::computeBound() method so that it takes account of the a Drawable's BoundingBox. - * From Stephan Huber, "attached you’ll find a small enhancement for - present3d. Now you can get advanced help via —help-all etc - (similar to osgviewer)" -2013-10-24 10:10 robert - * From Stephan Huber, add support for controlling the - OSXMenubarBehavior set by DisplaySettings. +Wed, 14 May 2014 16:52:18 +0000 +Checked in by : Robert Osfield +Fixed the bounding sphere computation and handling of Drawable as the root of the scene graph -2013-10-24 09:06 robert +Wed, 14 May 2014 16:01:40 +0000 +Checked in by : Robert Osfield +Further work on Bound class/Node::getBound() and Drawable::getBound() and usage in OSG codebase - * Cleaned up addChild/getChild/setChild/getNumChildren methods and - added readNodeFile, readImageFile and readObjectFile functions +Wed, 14 May 2014 16:00:08 +0000 +Checked in by : Robert Osfield +Cleaned up code -2013-10-23 16:17 robert +Wed, 14 May 2014 10:19:43 +0000 +Checked in by : Robert Osfield - * Added support for - Group::addChild/setChild/getChild/getNumChildren. -2013-10-22 19:12 robert +Tue, 13 May 2014 08:43:07 +0000 +Checked in by : Robert Osfield +Changed the Node::ParentList to be a list of osg::Node rather than osg::Group, and added addChild, removeChild, replaceChild virtual method to Node to enable code to user code compile with minimal modifications to account for the new change to the Node ParentList. - * Merged changes to DisplaySettings from Stephan Huber in prep for - controlling the menu hiding behaviour under OSX. - - Added new WindowSystemInterface::setDisplaySettings() method to - provide a mechanism for passing settings onto the - WindowSystemInterface so it can then set up the system - appropriately. - - Added assignment of the DisplaySettings to the - WindowSystemInterface in Viewer/ComppsiteViewer::realize(). +Mon, 12 May 2014 12:10:35 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "As discussed, I've added the ability to handle Drawable objects within the NodeVisitor class. Here is an overview of the changes:- Added apply(Drawable) and apply(Geometry) to NodeVisitor -2013-10-22 18:58 robert +- Added accept(NodeVisitor) method to Drawable/Geometry - * Preliminary remapping of internalFormat for GL3 core profile +- Added traverse(NodeVisitor) to Geode which calls accept(NodeVisitor) on all Drawables -2013-10-22 16:28 robert +- Updated CullVisitor to use new apply(Drawable) to handle drawables. The apply(Billboard) method still manually handles the drawables since it is depends on the billboard settings. I needed to disable the traverse within billboard to prevent duplicate traversal of drawables. - * Fixed warnings +- Update other osgUtil node visitors (GLObjectsVisitor, IncrementalCompileOperation, ..) to use new apply(Drawable) method. +" -2013-10-22 11:32 robert - * From Colin McDonald, "The osgt/osgb file formats output a - scenegraph node with the type - set to "SCENE" in the file header. But if the file is stored and - then extracted again from an osga archive this header info is - lost, - and the resulting file is just an "OBJECT". Possibly other plugin - operations would have the same effect. The osgt/osgb plugin won't - then return the scenegraph contents. - - I have updated the osgt/osgb plugin to return a node from an - "OBJECT" - file." -2013-10-22 11:26 robert +Mon, 12 May 2014 11:27:54 +0000 +Checked in by : Robert Osfield +Added beginnings of new osgUI library, a replacement for osgWidget that works fully in 3D/stereo and is scriptable. - * From Colin McDonald, "The osgb file reader uses seek to position - within the file. - But the nested stream implementation for osga archive files - doesn't - support seeking. So osgb files can't currently be used in an osga - archive e.g. if osgdem is used to output a osgb format database - it - can't be packaged in an archive file, in the same manner that ive - files could. - - I've added seek support to the osga nested stream - implementation." +Tue, 6 May 2014 16:38:57 +0000 +Checked in by : Robert Osfield +Replaced obsolete __linux usage. -2013-10-22 11:18 robert +Tue, 6 May 2014 09:43:32 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "Xcode changed the default std-lib-implementation again. Now it’s GNU++98 instead of C++11. I adapted the cMakeList.txt files accordingly to add this new option so we can set it explicitly and link against 3rdparty-c++-libs." - * Fixed handling of osg::Program so that it's not overriden by - shader composition when enabled +Tue, 6 May 2014 08:37:39 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "Please revert the change to FindQuickTime.cmake as this breaks compilation for IOS and possibly OS X." -2013-10-21 16:35 robert +Fri, 2 May 2014 09:12:36 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "fix for the Collada loader where it would access a null string in some cases" - * Added State::releaseGLObjects() and - ShaderComposer::releaseGLObjects() to avoid problems with cleanup - of graphics context +Fri, 2 May 2014 09:11:16 +0000 +Checked in by : Robert Osfield +From Ali Botorabi, "recently I ran into a problem with Microsoft's Appverifier while using OpenThreads on win32 platform. The Appverifier complained about an invalid thread handle during starting of a new thread. After looking closer into the problem it seemed that indeed a potential root of problem may be in the thread startup code. See the line below in Win32Thread.cpp (line number 347): pd->tid.set( (void*)_beginthreadex(NULL,static_cast(pd->stackSize),ThreadPrivateActions::StartThread,static_cast(this),0,&ID)); -2013-10-21 09:54 robert +the method "pd->tid.set" sets the thread id, however via the startup function "ThreadPrivateActions::StartThread" that thread id is used (see further down the call hierarchy the line "int status = SetThreadPriority( pd->tid.get(), prio);". - * Build fixes for clang +Until now I never ran into any problem in debug or release builds, though. It seems that furtunately the tid.set method was executed always before the tid.get method in the startup code. However, this may make trouble in the furture. A simple solution is the following: just replace the line above with following two lines: -2013-10-18 09:57 robert + pd->tid.set( (void*)_beginthreadex(NULL,static_cast(pd->stackSize),ThreadPrivateActions::StartThread,static_cast(this),CREATE_SUSPENDED,&ID)); + ResumeThread(pd->tid.get()); - * From Farshid Lashkari, "previously discussed change to the dae - loader which applies the node ID as a "dae_node_id" user value." -2013-10-18 08:37 robert +The trick is just starting the thread in suspended mode so the StartThread function does not get executed and we can safely store the tid by pd->tid.set. Then start the Thread by calling ResumeThread." - * From Vladimir Chebeav, fix for removal of nested callbacks -2013-10-18 07:55 robert - * From Konstantin Matveyev, "Multiple light fix in FBX-importer" +Thu, 1 May 2014 15:50:14 +0000 +Checked in by : Robert Osfield +From Stephan Huber, fix for OSX build -2013-10-18 07:52 robert +Wed, 30 Apr 2014 13:19:22 +0000 +Checked in by : Robert Osfield +Renamed the new include/osg/OpenGL automatically configured header file to include/osg/GL replacing the original hand built GL header - * From Colin McDonald, "Some missing updates to the serializer - static build support." +Wed, 30 Apr 2014 11:51:40 +0000 +Checked in by : Robert Osfield +From Sebastian Messerschmidt, "attached is the compile/linker fix for multiple definitions of getTypeEnum when compiling the Lua with VisualStudio and potentially other compilers. " -2013-10-18 07:31 robert +Tue, 29 Apr 2014 15:14:39 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "have added some missing serializers for RigGeomery. Withouth them I ran into two issues.At first you get a bunch of warnings that osg::ComputeBoundCallback +and osg::UpdateCallback were unsupported wrapper classes when +converting fbx models with skeletal animation to osg(t/b). - * From Andreas Henne, "in my application I use the - TrackballDragger, the ScaleAxisDragger and the - TranslateAxisDragger. Unfortunately these draggers are very thin - and they do not provide methods to change their visual - appearance. Another problem that I noticed is that lighting on - the cones and boxes of the TranslateAxisDragger and - ScaleAxisDragger is incorrect when the draggers are scaled due to - not normalized normals. This small patch adresses these problems, - providing methods to make the draggers thicker. I have attached a - zip archive containing the corresponding files and also a - modified osgManipulator example that makes use of the - modifications. I don't want to retain any copyright." +The second issue was that when reading, the readers fail to read the +ComputeBoundCallback and UpdateCallback and set them to NULL which +messes up the RigGeometry. -2013-10-17 18:29 robert +Because a RigGeometry makes his own classes in the constructor it +might be preferable to not write them at all, because now those +classes are being made two times when reading a RigGeometry. But after +thinking about this that would place too much limits on them (you +won't be able to share or name them and save that information or make +a new inherited class from them and write that one) So I ended up +thinking the best way was to just write the files. +" - * Fix for error in getting the uniform block max name length, fix - suggested by Christopher Fennell. -2013-10-17 14:02 robert - * From Stephan Huber, build fix +Tue, 29 Apr 2014 13:41:35 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "Today I found a bug in the IutputStream class when saving array attributes in vec3b format. It looks like my compiler takes the wrong overload and outputs integers instead of characters. The problem is that vec3b is of type signed char and that is not the same as char ( see http://stackoverflow.com/questions/436513/char-signed-char-char-unsigned-char ) and visual studio 2013 will promote it to integer when choosing an overload. It looks like that the InputStream class already takes care of this issue (if it didn't it would have read everything ok and I would have not even stumbled upon this bug. :) )" -2013-10-10 20:43 robert +Tue, 29 Apr 2014 12:19:21 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "I finally got to fix the cmake Modules that have duplicates in later version of cmake. See attached submission. I have tested the ones that I compile myself (GDAL, Freetype, ZLIB) on ubuntu 12.04 with cmake-2.8.7." - * Added set/get to the ImageSerializer and removed some redudent - comments +Tue, 29 Apr 2014 12:18:51 +0000 +Checked in by : Robert Osfield +From Paul Martz, "There is no standard place for gl/glcorearb.h on Windows. Previously, the only way to get OSG to build for core profile was to append an additional include directory ("/I") onto the CFLAGS variables This submission adds a FindGLCORE.cmake script so that the path to gl/glcorearb.h can be specified with a variable, GLCORE_ROOT, either in CMake or the environment.Currently this submission is Windows-only. I don't think OSX or Linux require any help in locating gl/glcorearb.h. But if they do, this submission can be easily modified. -2013-10-10 20:42 robert +Files: + - "CMakeLists.txt" is the top-level file. + - FindGLCORE.cmake" and "OsgMacroUtils.cmake" go in CMakeModules. +" - * From Pjotr Svetachov, "With the new osg::Geometry the binding for - arrays now default to undefined. This breaks previously working - code in osgAnimation::RigTransformHardware where the arrays got - an undefined bounding and because of this the bone indices and - weights were not loaded by the shader. Here is a little patch to - fix this." -2013-10-10 14:45 robert - * From Laurens Voerman, compile fix for VisualStudio +Mon, 28 Apr 2014 14:58:36 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "I had the osgvolume example crash on me when loading large volume datasets due to an overflow in image.cpp after a unneeded cast from unsigned int to int. Here is a small fix." -2013-10-10 14:41 robert +Mon, 28 Apr 2014 14:57:05 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "Here is a fix for a small race condition in osgDB::makeDirectory. It attempts to create all the directories in the given path and stops attempting to make directories when one of them fails. I've added a check to see if the failure occurred b/c the directory was created by another thread or process.We were running into issues occasionally in osgEarth where multiple threads were writing out files like /1/2/3.jpg and /1/3/4.jpg. Both threads would try to create the /1 directory and only one of them would succeed. So the first thread would write out the full /1/2/3.jpg while the second thread wouldn't create the /1/3 directory b/c /1 was already created and the writing of /1/3/4.jpg would fail. +" - * Laurens Voerman, "my cmake (2.8.10.2 generating for Visual Studio - 11 Win64) doesn't like - include(${CMAKE_MODULE_PATH}/FindPackageHandleStandardArgs.cmake) - in CMakeModules/FindLua52.cmake - changing to a more common - include(FindPackageHandleStandardArgs) - solves my problem." -2013-10-10 09:28 robert - * Added get/set method to Serializer to allow pointer passing - without going through InputStream/OutputStream. +Mon, 28 Apr 2014 11:53:58 +0000 +Checked in by : Robert Osfield +Fixed type error -2013-10-09 15:32 robert +Fri, 25 Apr 2014 08:57:27 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "For me osgviewer.cpp and Renderer.cpp were not compiling (visual studio 2013 with profile GL2) because they were still using GLuintEXT. So I changed that, see the attached files.I also noticed that the generated OpenGL header were not copied to the installation directory so my own application could not find it." - * Implemented preliminary readNode/readImage support in the lua - plugin allow a lua script to create a scene graph as return it. -2013-10-07 10:05 robert - * From Stephan Huber, "attached you’ll find a bunch of fixes + - enhancements for iOS and OS X based on current trunk. I - incorporated + tested the submission from Colin Cochran, so his - submission is not needed anymore. - - * fixed a bug with multi-touch and touch-id-generation on iOS and - OS X. (will fix a bug reported by Colin Cochran, without ditching - the existing logic) - * removed unnecessary warning-flagss when generating - xcode-projects via cmake, will enable the usage of - OSG_AGGRESSIVE_WARNING_FLAGS - * added support for 10.9 (OS X) - * new cmake-variable: IPHONE_VERSION_MIN, this will set the - deployment-target (previously hard-coded) If you set the - IPHONE_VERSION_MIN to something like 7.0 osg gets compiled also - for 64bit (amd64) - * cmake defaults now to the clang compiler if IPHONE_VERSION_MIN - > 4.2 - * cmake now sets some xcode-settings so the compiler uses the - c++98-standard (clang defaults to c++11, w/o this I got a lot of - linking errors) - * removed include-dir for avfoundation-plugin as not needed on - OSX/IOS. - * enhanced the ios-example, will now show multitouch-information - on a hud (similar to the osgmultitouch-example), and more - importantly, will compile + link out of the box - * small enhancements for the osc-device-plugin (send only one msg - for MOVE/DRAG, even if multiple msgs/event is enabled) - * better memory-handling for the zeroconf-plugin - * fixed a possible bug in the rest-http-plugin when receiving - mouse-events. - * incorporated a fix from Colin Cochran "forwarded touch events - are not transformed into the GL UIView“ - " +Fri, 25 Apr 2014 08:56:53 +0000 +Checked in by : Robert Osfield +Reordered the configuiration file blocks to make it more understandable -2013-10-07 09:33 robert +Fri, 25 Apr 2014 08:18:03 +0000 +Checked in by : Robert Osfield +From Paul Martz, fixed placement of OpenGL header so that it gets generated and placed in the build directory as per the Config file - * Cleaned up line endings +Thu, 24 Apr 2014 17:26:46 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've attached a small fix to the Collada loader which prevents a null pointer access in some cases." -2013-10-04 20:42 robert +Thu, 24 Apr 2014 17:23:16 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, "In the ::apply method, when the image data need to be re-uploaded, the Texture2DArray checks if the TextureObject can be re-used. The test was made using the constant 1 instead of the real texture depth, so the TextureObject was never re-used." - * Added support for automatically select Lua 5.2 is it's available, - then falling back to checking for Lua 5.1 otherwise. +Thu, 24 Apr 2014 17:14:54 +0000 +Checked in by : Robert Osfield +From Kristofer Tingdahl, "I and my team have gone over the code again, and we feel that we are comfortable in our current proposal for change. It goes deeper than it did before, and I explain why:There was code in the osgViewer/Viewer.cpp and osgViewer/CompositeViewer.cpp that transformed the Y-coordinates of an event. The code in the composite viewer did however miss the touch-data of the event. I thought that it should really be the GUIEventAdapter that should know about this, and hence I added the +GUIEventAdapter::setMouseYOrientationAndUpdateCoords which is re-computing the coordinates. First I simply added a boolean to the setMouseYOrientation function: -2013-10-04 19:48 robert +setMouseYOrientation( MouseYOrientation, bool updatecooreds=false ); - * Moved code across to use lua_userdata to manage pointer to - osg::Object that is ref()/unref() +but then the serializer complained. -2013-10-04 16:30 robert +This function is called from both the Viewer and the CompositeViewer. We have not tested from the viewer, but I cannot see it would not work from visual inspection. - * Added support for Lua 5.2 and osg::Object creation from within - Lua scripts. +The other change is in MultiTouchTrackballManipulator::handleMultiTouchDrag. I have removed the normalisation. The reason for that is that it normalised into screen coordinates from 0,0 to 1,1. The problem with that is that if you have a pinch event and you keep the distance say 300 pixels between your fingers, these 300 pixels represent 0.20 of the screen in the horizontal domain, but 0.3 of the screen in the vertical domain. A rotation of the pinch-fingers will hence result in a zoom in, as the normalised distance is changing between them. -2013-10-04 16:29 robert +A consequence of this is that I have changed the pan-code to use the same algorithm as the middle-mouse-pan. - * Added createObject() interface +The rest of it is very similar from previous revision, and there has been some fine-tuning here and there. -2013-10-04 16:28 robert +" - * Updated version number after 3.3.0 dev release -2013-10-03 16:20 robert - * Fixed errors in Contributors list +Thu, 24 Apr 2014 10:49:57 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "Seems I was only half right given what you asked for. CMP0017 only says that modules that are found and ran from cmake modules dir should prefer cmake-provided modules. find_package() and include() still look in CMAKE_MODULE_PATH first.After some investigating I've come up with a proposal examplified in +the attached FindGDAL.cmake script. It simply calls the cmake provided +FindGDAL.cmake if it exists and returns if it succeeds in finding GDAL +using that, otherwise continue with our local cmake code. +Pro: Wont clutter our root CMakeLists.txt +Con: If we begin to write more advanced Findxxx modules (using +COMPONENTS, REQUIRED etc.) we may have to revise this scheme. +" -2013-10-03 08:45 robert - * From Jan Peciva, RayIntersector implementation -2013-10-02 13:59 robert +Thu, 24 Apr 2014 10:38:58 +0000 +Checked in by : Robert Osfield +Fixed reference invalidation bug. - * From Colin McDonald and Robert Osfield, "When a serializer shared - library is loaded it registers all of - the wrappers it contains. The registration creates a prototype - object for all of the wrapped classes. For some of the - higher-level - classes this can be a bit heavy. - - I noticed a problem with a model which required a single class - from - osgSim. When osgdb_serializers_osgsim.so was loaded it registered - wrappers and created prototype objects for all of the osgSim - classes, - including osgSim::ScalarBar. The constructor for that class - creates - several drawables, and loads arial.ttf using the freetype plugin. - I - don't need that, and don't even ship the font or plugin with my - application, resulting in an unexplained warning message loading - the model. - - I've modified the ObjectWrapper class to defer the prototype - object - creation until if & when actually required." +Thu, 24 Apr 2014 07:22:55 +0000 +Checked in by : Robert Osfield +Fixed typo in OPENSCENEGRAPH_OPENGL_HEADER name -2013-10-02 11:29 robert +Thu, 24 Apr 2014 07:20:44 +0000 +Checked in by : Robert Osfield +Removed header as this CMake generated configuration file is not required to be part of svn repository - * From Dmitry Marakasov, "These are FreeBSD bits for - src/osgPlugins/osc/osc/OscHostEndianness.h, - required to build newever OSG on this OS. Also corrects file name - in the error message - I was confused not to find - OSCHostEndianness.h - after I've got this error. - - Tested by successfully building OSG 3.2.0 with this patch on - FreeBSD - 9.1." +Wed, 23 Apr 2014 19:30:33 +0000 +Checked in by : Robert Osfield +Added src/osg/OpenGL.in configuration file and include/osg/OpenGL header files -2013-10-02 11:28 robert +Wed, 23 Apr 2014 09:08:26 +0000 +Checked in by : Robert Osfield +Introduced new scheme for setting up which version of OpenGL/OpenGL ES the OSG is compiled for.To select standard OpenGL 1/2 build with full backwards and forwards comtability use: - * Re-ordered the public/protected sections to keep the public - section all together + ./configure + make -2013-10-02 11:09 robert +OR - * From Björn Hein, "it seems that for generating "per vertex - normals" as stated in the - comment, two of them are missing. This results in wrong display - of - STL-files regarding normals. Following simple fix seems to work: - - Index: ReaderWriterSTL.cpp - =================================================================== - --- ReaderWriterSTL.cpp (Revision 13797) - +++ ReaderWriterSTL.cpp (Arbeitskopie) - @@ -108,6 +108,8 @@ - ++itr) - { - perVertexNormals->push_back(*itr); - + perVertexNormals->push_back(*itr); - + perVertexNormals->push_back(*itr); - } - - geom->setNormalArray(perVertexNormals.get(), - osg::Array::BIND_PER_VERTEX); - " + ./configure -DOPENGL_PROFILE=GL2 -2013-10-01 19:34 robert +To select OpenGL 3 core profile build using GL3/gl3.h header: - * Fixed build with no automatic ref_ptr<> conversion + ./configure -DOPENGL_PROFILE=GL3 -2013-10-01 19:31 robert +To select OpenGL Arb core profile build using GL/glcorearb.h header: - * Updated AUTHORS files + ./configure -DOPENGL_PROFILE=GLCORE -2013-10-01 19:00 robert +To select OpenGL ES 1.1 profile use: - * Updated ChangeLog in prep for dev release + ./configure -DOPENGL_PROFILE=GLES1 -2013-10-01 17:01 robert +To select OpenGL ES 2 profile use: - * From Aurelien Albert, "I'm working with OSG and a customer - low-level OpenGL library. - - To make easier "lazy apply" on the customer OpenGL shaders, the - easiest way was to add an accessor to current OSG state's - UniformMap. - - I've also added accessors for modes and texture, since it could - be usefull in the same way. - - All methods are const, so I think there is no side-effects." + ./configure -DOPENGL_PROFILE=GLES2 -2013-10-01 16:20 robert - * From Björn Blissing, "I propose making the following outputs a - little bit more silent. In my mind it would suffice with - OSG_DEBUG (compared to OSG_NOTICE) for these information - messages." +Using OPENGL_PROFILE will select all the appropriate features required so no other settings in cmake will need to be adjusted. +The new configuration options are stored in the include/osg/OpenGL header that deprecates the old include/osg/GL header. -2013-10-01 09:37 robert - * From Christopher Baker, submitted by Alberto Luacas, "there is a - bug report in the Ubuntu tracker that points to a bug when - loading multiple VRML files in parallel. Christopher R. Baker has - detected this bug and crafted a patch. In addition, libcoin has - to be - also built with the "--enable-threadsafe" option. - - I copy here his report, extracted from - (https://bugs.launchpad.net/ubuntu/+source/openscenegraph/+bug/1211993) - and attach his fix. All credit is due to him: - - « - There are three instances of a classical method-local-static - multithreaded initialization bug in the Inventor plugin for OSG - that - trigger various memory faults when reading multiple VRML files in - parallel via osgDB::readNodeFile. These bugs are of the form: - - static std::map myHandyMap; - static bool once = true; - if(once) { ...fill myHandyMap; once = false } - ... use myHandyMap; - - To repeat: try loading multiple VRML files from multiple threads. - The - liklihood of the bug depends on many factors, but my application, - which - parallel-loads some dozens of small (<100K) VRML files on - startup, - triggers this problem 25% of the time or more. - - The attached patch (inventor-plugin-multithread.patch) rectifies - this - problem by: - - 1 - Inheriting MyHandyMap from std::map, then - 2 - Moving the map initialization into the derived constructor, - which - 3 - Is intrinsically protected from multithread issues by g++ - (and is - part of the C++ standard), unless you pass - -fno-threadsafe-statics, - which is strongly discouraged by the man page. - » - " -2013-10-01 09:11 robert - * From Adrien Grandemange, "On Windows 7 and 8, mouse messages are - generated in addition to touch messages, which leads to duplicate - PUSH, DRAG and RELEASE events in OSG. Besides, the mouse and - touch messages referring to the same user input are not - necessarily sent at the same time, due to gesture translation - done by Windows by default, such as double-tap => double-click - and long-push => right-click. - The delay between the 2 types of messages is more noticeable on - Windows 8 and leads to serious disruptions in our application. - - Mouse messages generated by touch input are only present for - legacy support. I think they should be filtered out by OSG (real - click events originating from a physical mouse will of course - still go through). - - This is what this patch does, according to this suggestion: - http://msdn.microsoft.com/en-us/library/dd693088%28v=VS.85%29.aspx - (third issue in this page)." +Mon, 14 Apr 2014 16:16:08 +0000 +Checked in by : Robert Osfield +Fixed comment -2013-10-01 09:05 robert +Sun, 13 Apr 2014 16:04:27 +0000 +Checked in by : Robert Osfield +Renamed FindFreeType.cmake to FindFreetype.cmake to enable CMake build to pick up on CMake's own FindFreetype.cmake when it's available. - * From Thomas Hogarth, "Attached is a small build fix for - PointSprite when compiling under GLES2 (r13788) - - GL_POINT_SPRITE_OES does not exist in GLES2, instead you just - draw using GL_POINTS then use gl_PointSize in a vertex shader to - set the size." +Wed, 9 Apr 2014 17:40:27 +0000 +Checked in by : Robert Osfield +From Paul Cheyrou-Lagreze, "Attached is fix/feature for FBX osgplugins against latest trunk:- ReaderWriterFBX.cpp: add "z up scene axis" support: FBX provides facility to convert model scene axis during conversion. Currently fbx plugin convert axis to fbx:opengl axis system (which is arbitrarily at Y up, as opengl is in reality axis agnostic) and sometimes what is needed is Z up so added an option for Z up conversion -2013-09-30 18:32 robert +- FindFBX.cmake: add support for latest fbx sdk ( 2014.2 )" - * From Jeffrey Kinross, "I ran into an issue with case sensitivity - on OS X and the OSXAVFoundation code. - In CMakeList.txt there is a case sensitivity issue which a fix - was posted by Robert Osfield in the users forum. - - I also had to rename the files OSXAvFoundationCoreVideoTexture.h - and OSXAvFoundationCoreVideoTexture.cpp to - OSXAVFoundationCoreVideoTexture.h and - OSXAVFoundationCoreVideoTexture.cpp - - Finally in OSXAvFoundationCoreVideoTexture.cpp the include - OSXAVFoundationVideo.H was updated to OSXAVFoundationVideo.h" -2013-09-30 18:15 robert - * From Farshid Lashkari, "I have a scene that makes heavy use of - the StateSet::compare method and my profiler showed that a lot of - time was being spent inside it. I made a small change to the - method so that it performs a quick size comparison between the - attribute/mode lists and bin mode before iterating through all - the attributes. This made a noticeable improvement in my scene. - I've attached the change." +Wed, 9 Apr 2014 17:20:26 +0000 +Checked in by : Robert Osfield +Disabled warnings to address issues in FBX headers that generate lots of warnings that we can't fix. -2013-09-30 10:28 robert +Tue, 8 Apr 2014 19:42:05 +0000 +Checked in by : Robert Osfield +Added extra search paths to add compatibility with Kubuntu/Ubuntu 14.04 now locaton for freetype - * +Tue, 8 Apr 2014 17:45:21 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and fixed Contributors list -2013-09-27 18:43 robert +Tue, 8 Apr 2014 12:00:52 +0000 +Checked in by : Robert Osfield +From Remo Eichenberger, "I have extended the TIFF plugin that allows you to write LZW or JPEG compressed TIFF's. Options are:tiff_compression = lzw | jpeg" - * Unified Vec/Plane/Quat handling code. -2013-09-27 13:04 robert - * Added support for getting Vec* and Matrix objects from Lua stack - and assigning them as OSG object properties. +Tue, 8 Apr 2014 11:48:34 +0000 +Checked in by : Robert Osfield +From Sebastian Messerschmidt, "n the trunk version the osgGA::GUIActionAdapter has additional functions for lineIntersection which use osgGA::GUIEventAdapter&, but the class declaration is neither forwarded, nor is the header included. Using the trunk together with osgEarth 2.5 will fail to build, due to the missing type.Attached is the file forward declaring osgGA::GUIEventAdapter." -2013-09-26 17:27 robert - * Initial cut of setting and getting osg::Object properties within - Lua scripts -2013-09-24 15:17 robert +Tue, 8 Apr 2014 11:17:59 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "We had a small problem converting skeleton animations from fbx to osgt format. Turned out that the serializer didn't handle bone names with spaces very well (the 3ds studio max biped for instance has spaces by default). Here is a small fix for the problem." - * Added support for passing parameters in and out of scripts. - - Implemented support for osg::ValueObject in LuaScriptEngine. +Tue, 8 Apr 2014 11:08:05 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, previous obj "commit broke compilation under visual studio 2013. To use std::not1 you need to include the functional header. Here is a fix." -2013-09-24 15:08 robert +Mon, 7 Apr 2014 15:04:34 +0000 +Checked in by : Robert Osfield +Fixed build when using of double BoundingBox/BoundingSphere - * Changed NodeVisitor so that is subclasses from osg::Object rather - than osg::Referenced to enable it to be used with serialization - and scripting +Mon, 7 Apr 2014 14:17:57 +0000 +Checked in by : Robert Osfield +From Jan Peciva, "I am sending four fixes to obj plugin:- materialName used to be not stripped of whitespace, making number of models +fail to load materials; now fixed +- stripping was considering spaces only, thus models using tabs had problems +to load correctly; fixed +- fixed references to textures; they did not performed conversion to native +directory separators +- make d (dissolve) takes precedence over Tr (transparency); there seems to be +a confusion about the Tr item - some claiming 1 to be opaque and 0 +transparent, while number of models uses exactly the opposite. d (dissolve), +if present in the model, does not suffer from this confusion, thus using it +instead fixes the problem for many many models. -2013-09-24 08:56 robert +I put many comments to the file concerning d and Tr item as others may further +investigate. Let me know in the case of any problems." - * Removed redundent spaces -2013-09-23 14:10 robert - * Added test for osgGA::GUIEventAdapter +Mon, 7 Apr 2014 14:11:14 +0000 +Checked in by : Robert Osfield +From Marcel Pursche, "The problem is that when OpenThreads is build with the Linux pthreads implementation all threads inherit the processor affinity from their parent thread. This behavior is also described in the pthreads man page (http://man7.org/linux/man-pages/man3/pthread_create.3.html):> +> Linux-specific details +> The new thread inherits copies of the calling thread's capability +> sets (see capabilities(7)) and CPU affinity mask (see +> sched_setaffinity(2)). +> -2013-09-20 15:43 robert +To prevent this behaviour I wrote a patch that explicitly sets the affinity mask to all cores of the system, if no specific affinity was defined with PThread::setProcessorAffinity(unsigned int) . - * Removed unnceccesary setNumChildrenRequiringUpdateTraversal from - VolumeTile constructor. +Thank you! +" -2013-09-20 10:44 robert - * Added initial cut of white and black lists -2013-09-20 10:25 robert +Mon, 7 Apr 2014 14:03:40 +0000 +Checked in by : Robert Osfield +From Bjorn Blessing, "I got bored of the constant reports of “missing chunk 0xA08A” when reading 3ds-files. After a bit of research I discovered that this property is related to the advanced transparency settings for the material in 3D studio. In this case the falloff parameter. These controls affect the opacity falloff of a transparent material. And the property chooses whether falloff is in or out. I have added the property to the file reader BUT no changes are made to make this property propagate into the osgMaterial. But at least we get rid of this annoying error message." - * Added compoundClassName() convinience method to standardize the - generation of the compoundClassName. +Mon, 7 Apr 2014 13:52:01 +0000 +Checked in by : Robert Osfield +From Bjorn Hein, "please find attached a small fix for RayIntersector.cpp.* Changes are made against trunk +* Reason: crashes when using specific constructor from RayIntersector +* Info: Line 42: added in constructor +RayIntersector::RayIntersector(const Vec3d& start, const Vec3d& +direction) missing initialisation of _parent +" -2013-09-20 10:04 robert - * Added type maps to help with querrying supported type names -2013-09-19 16:19 robert +Mon, 7 Apr 2014 13:48:15 +0000 +Checked in by : Robert Osfield +From Paul Martz, "We discussed the issue of GL_RED_SNORM and GL_RG_SNORM some time ago, but the issue was never completely resolved. Please see the attached submission to fix the issue.osg/GL2Extensions was incorrectly defining GL_RED_SNORM and GL_RG_SNORM as part of the definitions for OpenGL v3.1. However, a quick review of the 3.1 spec indicates that these are not part of the 3.1 standard. - * Introduce osgDB::PropetyInterface class that provided a generic - interface for get/setting properties on scene graph objects, - utilizing the osgDB serializers to do - the actual interface query and set/gets. +My attached change moves these definitions out of the #ifndef GL_VERSION_3_1 conditional block, and defines them conditionally if not already defined. This allows the DDS plugin to build for GL3. +" -2013-09-19 16:18 robert - * Removed unneccessary return -2013-09-11 15:44 robert +Fri, 4 Apr 2014 11:25:51 +0000 +Checked in by : Robert Osfield +Fixed iso surface shaders - * Added access methods to Serializer to help with using wrappers - for other purposes such as script integration. - - Added Vec*i and Vec*ui support to serializers +Tue, 1 Apr 2014 18:56:57 +0000 +Checked in by : Robert Osfield +Improved the setting of sample density/ratio so that they are consistent -2013-09-10 15:17 robert +Tue, 1 Apr 2014 18:33:02 +0000 +Checked in by : Robert Osfield +Fixed handling of volume tiles with a region. - * From Giuseppe Donvito, "I'm using OSG 320 and I need to flush a - DDS 3D texture on disk. - I found a bug on DDS ReaderWriter that generates a false positive - on a guard for the size check on writing operation. This is due - to a wrong imageSize computation that uses - img->getImageSizeInBytes() method instead of - img->getTotalSizeInBytes(), that actually ignores the r() - dimension, contrariwise taken into account by the function - ComputeImageSizeInBytes() later. - - The line 1062 on file ReaderWriterDDS.cpp should be fixed with: - [code]unsigned int imageSize = img->getTotalSizeInBytes();[/code] - " +Thu, 27 Mar 2014 12:47:44 +0000 +Checked in by : Robert Osfield +Added cube and hull rendering support -2013-09-10 13:29 robert +Wed, 19 Mar 2014 17:56:40 +0000 +Checked in by : Robert Osfield +Restructured the handling of TileData to make it more extensible and flexible. - * From Giuseppe Donvito, Fixed typo of "CLEAR_GLOBAL_STATESET = - 0x16," to indended "CLEAR_GLOBAL_STATESET = "0x10". +Tue, 18 Mar 2014 18:14:15 +0000 +Checked in by : Robert Osfield +Addd ExteriorTransparencyFactorProperty for support of upcomming functionality of rendering a cube volume with a hull volume inside it. -2013-09-10 09:23 robert +Mon, 17 Mar 2014 15:54:52 +0000 +Checked in by : Robert Osfield +Added support for animating volume hulls. - * Added osgPresentation::Show node and implementations with basic - property reporting for various internal nodes of presentation - graph +Thu, 13 Mar 2014 14:02:50 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached is a fix for the rest-http-plugin which should fix the font-issue reported by Phil. The old implementation did forward all requests to the internal http-server via user-events. This prevented error-reporting for missing files, as the request was accidentally handled by the plugin. As a request for missing font-file succeeds and returned an empty file, the curl-plugin hands the data happily to the freetype-plugin which failed trying to load an empty font-file, obviously.My fix was to rename the standard request handler to a specialized user-event-handler which handles only requests for "/user-event“ -2013-09-09 16:02 robert +So fonts should work on iOS when loaded remotely, even when a local file is available and with the resthttp-plugin serving the presentation. +" - * From Wang Rui, "The Python header will look for its libraries - using "#pragma comment(lib,"python32_d.lib")" for MSVC. So - user-specified libraries will not really be set for the - osgdb_python plugin. This small fix may help locate the Python - libraries after putting the CMakeLists.txt into - src/osgPlugins/python - - " -2013-09-09 14:58 robert - * From Colin Cochran, OES support for point sprites +Thu, 13 Mar 2014 13:59:34 +0000 +Checked in by : Robert Osfield +From Stephan Huber, fix for building lua plugin from local source -2013-09-09 13:33 robert +Thu, 13 Mar 2014 10:28:18 +0000 +Checked in by : Robert Osfield +Added support for directly invoking scripts using and to enable scripts to interact with each other. - * From Colin McDonald, "Add test for GL_EXT_framebuffer_object - extension : osg uses osg::FBOExtensions to check if Frame Buffer - Objects are - available. But this just checks if the fbo functions can be - called. - It doesn't check if the OpenGL renderer supports fbos. For - indirect - rendering on linux the client side capability may be different - from - the display server, which can lead to mipmapped textures failing - to - render. I've added a fbo extension check. - " +Wed, 12 Mar 2014 11:01:09 +0000 +Checked in by : Robert Osfield +Improved support for passing events between scripts and Present3D application -2013-09-09 12:44 robert +Tue, 11 Mar 2014 10:52:10 +0000 +Checked in by : Robert Osfield +Added PresentationInterface class to make it more convinient to access the current presentation from scripting languages - * From Ulrich Hertlein, "Patch for FindAVFoundation to work with OS - X 10.9" +Mon, 10 Mar 2014 19:08:46 +0000 +Checked in by : Robert Osfield +Added scripting support for JumpData, KeyPosition, HomePosition and parts of SlideEventHandler that enable dispatching of user created events. -2013-09-09 12:37 robert +Fri, 7 Mar 2014 11:09:25 +0000 +Checked in by : Robert Osfield +Added ability to replace callback objects via lua scripts to allow one to override callbacks.Added fallback for osgGA::Widget::Extents. - * From Wang Rui, "Some developers report that the osgviewerMFC - example is broken in 3.2, in which depth test is not enabled by - default so all models loaded look awkward. I submit this patch to - make it work again. I haven't gone deep to check why previous - example goes wrong in newer version but I believe the problem was - because the newly created camera object missed some important - global statesets before set as the main camera." -2013-09-09 12:33 robert - * From Laurens Voerman, "two minor fixes, both in a CMakeList.txt - file, - - 1> osgmultiplemovies example does not use SDL so needs no link to - SDL - - 2> Added header files to "Plugins osg" project, so visual studio - can find the source of - OSG_WARN << "AsciiInputIterator::readProperty(): Unmatched - property " - " +Thu, 6 Mar 2014 10:27:26 +0000 +Checked in by : Robert Osfield +Added support for osg::Image to the lua plugin. -2013-09-06 09:35 robert +Tue, 4 Mar 2014 13:36:13 +0000 +Checked in by : Robert Osfield +Implement add, set and get methods for StateSet. - * Initial cut of Audio/Volume/Movie/Image presentation objects +Tue, 4 Mar 2014 13:35:27 +0000 +Checked in by : Robert Osfield +Relaxed the handling of Image objects -2013-09-05 10:23 robert +Tue, 4 Mar 2014 13:34:23 +0000 +Checked in by : Robert Osfield +Fixed handling of OverrideValue - * From Colin McDonald, "Attached are some fixes to build osg using - the Solaris Studio compiler. - I've also checked the modified files still build ok with other - compilers (Linux gcc, Windows Visual Studio). - - osgDB/OutputStream.cpp and osgPlugins/lws/SceneLoader.cpp require - stdlib.h for atoi use. - - In osg/Uniform.cpp the compiler complains that base_class is - unknown - unless I add a class name qualifier. - - Not a build fix, but I spotted a typo in osgUtil/SceneView." +Fri, 28 Feb 2014 17:38:36 +0000 +Checked in by : Robert Osfield +From Stephan Huber, fix for handling font paths on a local machine when other files have been source from a remote machine. -2013-09-05 10:08 robert +Thu, 27 Feb 2014 10:02:55 +0000 +Checked in by : Robert Osfield +Added MapReverseIterator implementation. - * From Laurens Voerman, "like the "Bug in ProxyNode serializer" - Farshid Lashkari found (svn submit 13754) the PagedLOD serializer - attempts to read begin and and brackets. - Fix is identical (don't read brackets when num_chidren is zero) - and applies both to trunk and 3.2 branch." +Wed, 26 Feb 2014 18:18:08 +0000 +Checked in by : Robert Osfield +Added MapIteratorObject and support for it in the lua plugin to provide map iterator functionality. -2013-09-05 10:04 robert +Wed, 26 Feb 2014 11:01:35 +0000 +Checked in by : Robert Osfield +Added Map serializer size() method and support for it in the lua plugin. Renamed functions in lua plugin to be more consistent. - * Fixed warnings +Wed, 26 Feb 2014 08:26:51 +0000 +Checked in by : Robert Osfield +Added support for vector and map containers in osgDB::Serailizer's and lua plugin. -2013-09-05 08:42 robert +Mon, 24 Feb 2014 10:19:48 +0000 +Checked in by : Robert Osfield +Added Vector serialization and support in lua plugin top enable script users to set/get vector properties such as osg::Array, osg::PrimitiveSet and children lists. - * From Alberto Luaces, "current versions of ffmpeg render - «url_feof» macro as obsolete. The fix - is very simple and it is contained in the attached file." +Thu, 13 Feb 2014 18:52:41 +0000 +Checked in by : Robert Osfield +Fixed handling of enums in Lua plugin.Fixed computation of getNumPrimitives() so that it returns 0 when PrimitiveSet is zero. -2013-09-05 08:22 robert +Added missing properties to PrimitiveSet serializers - * Added missing Model.cpp -2013-09-04 17:27 robert - * Moved the property test from the model to presentation to test - out the property inheritance scheme +Thu, 13 Feb 2014 11:01:36 +0000 +Checked in by : Robert Osfield +Added inital cut of PrimitiveSetSet wrappers to scripting -2013-09-04 16:25 robert +Wed, 12 Feb 2014 18:10:52 +0000 +Checked in by : Robert Osfield +Added full range of Array subclasses to wrappers - * Added PrintProperties visitor +Wed, 12 Feb 2014 18:03:53 +0000 +Checked in by : Robert Osfield +Added initial support for wrapping osg::Array in a way that can be used via scripting. -2013-09-04 15:39 robert +Tue, 11 Feb 2014 18:18:48 +0000 +Checked in by : Robert Osfield +Fixed handling of assignment of User Object's that replace existing Object with the specified propertyName. - * Added PrintPropertiesAction to osgPresentation +Tue, 11 Feb 2014 18:07:37 +0000 +Checked in by : Robert Osfield +Improved support for setting/getting properties via the osg::UserDataContainer. -2013-09-04 10:33 robert +Tue, 11 Feb 2014 10:56:51 +0000 +Checked in by : Robert Osfield +Quitened down debug messages - * Added Action class NodeVisitor that supports osgPresentation - nodes. +Tue, 11 Feb 2014 09:43:08 +0000 +Checked in by : Robert Osfield +Changed implementation of enums to use strings as lua type to make it easier to do comparisons and track values -2013-09-03 15:50 robert +Mon, 10 Feb 2014 18:07:26 +0000 +Checked in by : Robert Osfield +Implemented Widget::handle, handleImplementation, traverse and travseImplementation() wrappers to enable them to be extended via scripting - * Added test for osgPresentatation::Group::getSupportedProperties() +Mon, 10 Feb 2014 16:44:13 +0000 +Checked in by : Robert Osfield +Added support for serailizing and scripting BoundingBox and BoundingSphere objects -2013-09-03 10:17 robert +Sat, 8 Feb 2014 17:53:51 +0000 +Checked in by : Robert Osfield +Fixed handling of setting member variables via the Serializers when the value is the default.Added support for more features of the osgDB::Widget class. - * Added beginings of Text implementation +Fixed handling of boolean values in the Lua plugin -2013-09-02 10:56 robert - * From Farshid Lashkari, "The ProxyNode serializer was not - correctly reading the "Children" field. It conditionally writes - the begin/end brackets, depending on whether it has children. - However, during input it unconditionally attempts to read the - begin/end brackets. I've modified the code to only read the - brackets if it has children." -2013-09-02 10:56 robert - * Refactored the use of epsilon in the clamping of the start/end - points of the LineSegmentIntersector to better handle numerical - precision issues. +Sat, 8 Feb 2014 10:39:20 +0000 +Checked in by : Robert Osfield +Added support for enum's in the Lua script integration -2013-09-02 09:12 robert +Sat, 8 Feb 2014 10:38:51 +0000 +Checked in by : Robert Osfield +Fixed export - * Fixed double copy in StackedTransform copy constructor +Fri, 7 Feb 2014 16:06:57 +0000 +Checked in by : Robert Osfield +Fixed handling of returns when invoking a script, removed some debug messages, added a warning message when detecting erronous types.Added FocusBehaviour enum to osgGA::Widget serialization -2013-09-02 08:29 robert - * Added IO test for new osgPresentation nodes -2013-09-01 17:24 robert - * Added Audio, Image, Movie, Model and Volume class to - osgPresentation. +Fri, 7 Feb 2014 10:46:16 +0000 +Checked in by : Robert Osfield +Added initial Widget wrapper -2013-08-23 16:47 robert +Thu, 6 Feb 2014 17:32:41 +0000 +Checked in by : Robert Osfield +Moved experimental Widget class to osgGA Add computeIntersections() to the osgGA::GUIActionAdapter base class to enable intersection tests without needing to directly link to osgViewer. - * Fixed build +Thu, 6 Feb 2014 17:04:40 +0000 +Checked in by : Robert Osfield +Added osg::CallbackObject suport to the experiment Widget base class to enable script language extension of widgets -2013-08-23 11:42 robert +Thu, 6 Feb 2014 11:25:37 +0000 +Checked in by : Robert Osfield +Added support for casting objects to allow one to access a parent classes methods. - * Added color property to FontData parsing +Wed, 5 Feb 2014 11:08:39 +0000 +Checked in by : Robert Osfield +Tweaked the detection of when the position transform for the hull is required. -2013-08-22 13:39 robert +Wed, 5 Feb 2014 11:07:03 +0000 +Checked in by : Robert Osfield +Added support for a tag that can be used within tag. - * Quitened down debug message +Wed, 5 Feb 2014 11:04:29 +0000 +Checked in by : Robert Osfield +Improved the white space trimming -2013-08-22 12:37 robert +Tue, 4 Feb 2014 16:49:13 +0000 +Checked in by : Robert Osfield +Added lua-5.2.3 as source code so it can be optinally built as part of the lua plugin, making it possible to work out of the box across all platforms with needing lua as an external dependency.Added the Cmake option OSG_USE_LOCAL_LUA_SOURCE to control whether to build and use the Lua source code in the lua plugin, or look for lua as an external dependency. - * Removed debug messages -2013-08-22 12:07 robert - * Quitened down debug message +Tue, 4 Feb 2014 16:46:33 +0000 +Checked in by : Robert Osfield +Added test code for nesting a within a volume tag. -2013-08-22 11:18 robert +Tue, 4 Feb 2014 11:24:01 +0000 +Checked in by : Robert Osfield +From Stephan Huber, added support for compile source code of lua with the lua plugin - * Quitened down debug message +Mon, 3 Feb 2014 15:35:22 +0000 +Checked in by : Robert Osfield +Fixed error in the computation of tex coords of Maximum Intensity Projection + Transfer Function rendering. -2013-08-22 10:09 robert +Fri, 31 Jan 2014 19:18:18 +0000 +Checked in by : Robert Osfield +Replaced C cast to long with a static_cast() to avoid a build error under Mingw 64. - * Added warning when model file has not be found +Fri, 31 Jan 2014 16:20:29 +0000 +Checked in by : Robert Osfield +Added osg::CallbackObject to be used to extend C++ class from scripting languages by providing callback objects assigned to the osg::Object UserDataContainer, with the CallbackObject's Name used to map the "method" provided by the CallbackObject. The CallbackObject is implemented by the script engine to provide the neccessary glue to invoking the script with the appropriate input parameters and handling the output parameters.To the Lua plugin added support for assigned lua functions to C++ osg::Objects via the new osg::CallbackObject mechanism. To invoke the scripts function from C++ one must get the CallbackObject and call run on it. -2013-08-22 10:05 robert +Renamed ScriptCallback to ScriptNodeCallback to avoid possibly confusion between osg::CallbackObject and the ScriptNodeCallback. - * Reduced debug message level, and added a notify message for when - an image isn't loaded -2013-08-22 07:49 robert - * Added test for serializers and fixed serializers -2013-08-21 19:54 robert +Wed, 29 Jan 2014 11:01:24 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * Added initial classes for present3D refactor +Tue, 28 Jan 2014 16:49:20 +0000 +Checked in by : Robert Osfield +From Kristofer Tingdahl, made method virtual -2013-08-18 18:10 robert +Tue, 28 Jan 2014 16:48:47 +0000 +Checked in by : Robert Osfield +Fixed MingW build's handling of debug d postfix. - * Moved old osgPresentation source files to - osgPresentation/deprecated subdirectory. +Tue, 28 Jan 2014 15:28:17 +0000 +Checked in by : Robert Osfield +Removed the invocation of gcc on all platforms -2013-08-18 16:59 robert +Tue, 28 Jan 2014 11:01:28 +0000 +Checked in by : Robert Osfield +From Kristofer Tingdahl, "the vertical bar is upside down, and hence not as the documentation says it should be. This is corrected with this patch"From Robert Osfield, changed the example so that the vertical and horizon scalar bars are rotated to the XZ plane so you can see them with the default viewer's camera orientation. +Tweaked the positioning of title text of vertic scalar bar to avoid overlap of text. - * Moved old present3D sources into local deprecated directory to - clean up the main present3D source directory for future - refactored present3D -2013-08-09 16:51 robert - * Added initial cut of basic scripting support, introducing an - osg::Script object to wrap up the individual scripts, - osg::ScriptCallback for assigning a Script as node callback and - an osg::ScriptEngine base class that plugins implement to - provided support for specific scripting languages. - - Provided are lua, python and V8 (for javascript) plugins that - just open up enough of a link to the respective libs to run a - script, there is no scene graph <-> script communication in - current implementation. -2013-08-09 11:00 robert - * Removed CameraNode reference +Mon, 27 Jan 2014 15:43:36 +0000 +Checked in by : Robert Osfield +Removed unimplemented method -2013-08-09 07:46 robert +Fri, 24 Jan 2014 17:31:09 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "I experienced a crash in Geometry::fixDeprecatedData(), on certain files, and brought the problem down to a very simple test file, attached as test3.zip.There are two problems: +1> for DrawElementsUShortPrimitiveType (and UInt) the source_pindex still equals -1 and causes a crash + in DrawElementsUBytePrimitiveType source_pindex is incremented, and in DrawElementsU(Short/Int)PrimitiveType primitiveNum is incremented, but never used - * Removed unused includes +2> The drawelements need to be rewritten as the vertices are reordered. -2013-08-09 07:38 robert +created a patch for osg stable branch(r14038): attached as Geometry-osg-3.2.zip +and for svn brach(r14044): attached as Geometry_osg_svn.zip" - * Removed old cursor code -2013-08-08 17:21 robert - * Added translucent version of cushion which isn't depth tested to - enable one to see the cursor even when it's behind other objects +Fri, 24 Jan 2014 17:06:32 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, "In the "apply" method of osg::FrameBufferObject, the draw buffers are always enabled, even if the target is only "READ_FRAMEBUFFER".This can lead to inconsistency if you bind a framebuffer with multiple attachments in DRAW mode and then a framebuffer with different attachment count in READ mode (for example to manually "blit" from a FBo to another). -2013-08-08 16:49 robert +On some ATI cards (at least RADEON HD) this also leads to an "incomplete " FBO status - * Added osgPresentation::Cursor class to wrap up 3D cursor in the - scene functionality +I've added a test to enable drawbuffers only if target is "DRAW" or "READ_DRAW", this solves my problems on ATI cards." -2013-08-07 17:08 robert - * Added osgpresentation example as a test bed for new - osgPresentation object model. - - First cut of example test bed is to test how easy it is to build - against Lua, V8 and Python for purposes of running embedded - scripts. -2013-08-05 12:00 robert - * From Aurelien Albert, "I've go some problem with the method - "State_Utils::replace" : if the original_phrase is empty, it - leads to an infinite loop. - - Here is a path to prevent this." +Fri, 24 Jan 2014 16:45:45 +0000 +Checked in by : Robert Osfield +From Michael Schanne, "small fix for a duplicate OR operand in KdTree.cpp." -2013-08-01 17:38 robert +Fri, 24 Jan 2014 16:28:34 +0000 +Checked in by : Robert Osfield +From Torben Dannahuer, "modified findcollada.cmake which can now detect Boost 1.55 libraries, which are used by Collada in my 3rdParty package" - * Added missing initializer for _epsilon +Fri, 24 Jan 2014 16:24:59 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, VisualStudio 2013 build fixes -2013-08-01 11:25 robert +Fri, 24 Jan 2014 16:19:38 +0000 +Checked in by : Robert Osfield +From Kristofer, "The osgSim::ScalarBar has a problem in that if the scalarbar has a color in one end that co-incides with the background color, one cannot see where the scalarbar ends. With this patch, we add a line around the perimiter of the bar to mark it.Secondly, we thought the text-annotation missed ticks that mark out precisely where on the bar the texts relate to, so we added that as well." - * From Anish Thomas, added catch for to an empty DrawElementsUInt - creation. -2013-08-01 10:38 robert - * Updated ChangeLog and AUTHORS file +Fri, 24 Jan 2014 16:01:59 +0000 +Checked in by : Robert Osfield +From Marc Helbling, "I am sending a small fix in the PLY pseudo-loader; the extension was checked in plyfile.cpp thus preventing the loading of any .PLY file (extension in uppercase). The extension filtering is already handled by ReaderWriter::acceptsExtension in a case unsensitive way." -2013-08-01 10:28 robert +Fri, 24 Jan 2014 15:40:18 +0000 +Checked in by : Robert Osfield +Fixed warnings - * From Ulrich Hertlein, "Based on the exchange on osg-users I went - ahead and reworked shp/XBaseParser to avoid - weird behaviour (closing stdin) and leaking file descriptors, as - well as some const-ness." +Fri, 24 Jan 2014 14:26:25 +0000 +Checked in by : Robert Osfield +Changed the handling of single window configurations so that simply reuse the View::getCamera() instead of creating a slave. -2013-08-01 10:04 robert +Fri, 24 Jan 2014 12:01:37 +0000 +Checked in by : Robert Osfield +Added a getModeUsage() method that prevents any mode being automatically associated with these Texture types that are only usable using non fixed function pipeline. - * From Sebastian Messerschmidt, "Seems like your re-factoring - didn't really produces the correct results. - You can check with the tester2.flt provided earlier and check - with the result image. - I double checked this with OpenFlight creator, and it seems the - yaw is broken. - - With my initial quaternion version is seems correct and if I - change the - - - float cos_yaw = cosf(osg::inDegrees(yaw)); - float sin_yaw = sinf(osg::inDegrees(yaw)); - - to be - float cos_yaw = cosf(osg::inDegrees(-yaw)); - float sin_yaw = sinf(osg::inDegrees(-yaw)); - - it seems to work as well." +Fri, 24 Jan 2014 11:37:35 +0000 +Checked in by : Robert Osfield +Fixed crash when reading a viewer configuration file where the EventVisitor was being re-assigned but left a dangling pointer -2013-08-01 10:00 robert +Fri, 24 Jan 2014 10:10:43 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached is a new zip containing two small fixes: * forwarded touch-events do have a correct input-range from 0 .. 1 * I refactored sending touch-events per osc so the receiver can detect a TOUCH_ENDED better" - * From Tom Jolley, "I found a couple more bugs after closely - looking at the small piece of deprecated geometry in my model. - There were problems with more than one primitive in a couple - places. The first was the number of vertices were not being - accumulated for DrawArraysPrimitiveType (caused another crash). - The second is I had to move target_vindex and source_pindex - before the PrimitiveSetList loop so they don't get reset on the - next primitive (otherwise you end up with a lot of zeros in per - vertex lists)." +Thu, 23 Jan 2014 19:55:37 +0000 +Checked in by : Robert Osfield +Fixed warnings -2013-08-01 07:19 robert +Thu, 23 Jan 2014 16:48:29 +0000 +Checked in by : Robert Osfield +From Kristofer Tingdahl,"we have a bunch of classes that inherit osg::Node, and they create their own, internal geometry which is passed into the render bucket at the cull-traversal. Last week, we realised that these classes are not accounted for when doing an ComputeBoundVisitor- traversal, as there is no specialization in ComputeBoundVisitor for them.One solution is naturally to create a new class that would inherit the osg::ComputeBoundVisitor, and use that. I don't like that idea as the ComputeBoundVisitor does actually have what I need - it is only hidden in a protected function. - * Added osg::RenderInfo::pushRenderBin()/popRenderBin() and - RenderInfo::getRenderBinStack() and getCameraStack() access - methods for getting access to the current RenderBin/RenderStage. +I am therefor suggesting a slight generalization of the ComputeBoundVisitor with the attached patch, which is tested. -2013-07-31 13:11 robert +The patch has two parts: +we add applyBBox() so that one can use that in a customized traverse-function and add a bbox to the visitor. I considered calling this function expandByBBox(), but I though applyBBox was better. +The MatrixStack is made available to the outside world. That enables a traverse-function to do whatever it wishes. +I do actually only need one of the two, as I can implement what I wish either way, but adding getMatrixStack() will make more generic expansions possible. +" - * Added Intersector::get/setEpsilon(double) to allow users to - control what epsilon is used by the LineSegmentIntersector when - doing testing of itersections with bounding boxes +From Robert Osfield, changed the name of the new applyBBox(..) method to applyBoundingBox(..) to keep it's naming more consistent with the rest of the OSG. -2013-07-31 07:11 robert - * From Aurelien Albert, "Here is the code to get access to OpenGL - handle of an osg::FrameBufferObject" -2013-07-31 06:56 robert - * From Tom Jolly, "I ran across this error reading one of our older - files. An iterator was being changed inside a loop that caused a - crash." +Thu, 23 Jan 2014 15:37:48 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached are some fixes to the osc-plugin and the touch-implementations for iOS and os x and other small bugfixes. These fixes will normalize the orientation of the touch points, and transmitting the touch points over osc via the TUIO-protocol works now more robustly between two osg-applications.I added a new tag to p3d called forward_touch_event_to_device and renamed the existing forward_event_to_device to forward_mouse_event_to_device. This new tag will transmit touches to the virtual trackpad as touch events. I added the MultitouchTrackball to the p3d-app so zooming and moving a model remotely should now work, if you use forward_touch_event_to_device. I kept (and fixed) forward_mouse_event_to_device for background compatibility, so old presentations works as in previous versions, without the ability to zoom + scale. of course. -2013-07-31 06:42 robert +forward_touch_event_to_device needs some more testing, (e.g. with image-streams and keystone, afaik there’s no support for touch-events...) but for a first version it works nice. +" - * From Sergey Kurdakov, fixed GLES2 invalid enumerant warning by - disabling the check against GL_MAX_TEXTURE_COORDS under GLES. -2013-07-30 06:39 robert - * Changed default cull mask to match the left cull mask so that - mono rendering of presentations with left/right stereo - images/movies works fine. +Thu, 23 Jan 2014 10:56:17 +0000 +Checked in by : Robert Osfield +Removed debug message -2013-07-30 06:36 robert +Thu, 23 Jan 2014 10:50:55 +0000 +Checked in by : Robert Osfield +Changed the TransprencyProperty range to 0 to 2.0 to enable forcing opaque qualities on fragments - * Removed trailing spaces +Thu, 23 Jan 2014 10:11:15 +0000 +Checked in by : Robert Osfield +Cleaned up debug message. -2013-07-30 06:12 robert +Thu, 23 Jan 2014 10:09:53 +0000 +Checked in by : Robert Osfield +Cleaned up the Qt find package, and made changed the default threading model to SingleThreaded when using Qt5 to avoid crash due to regresssion since Qt4. - * Merged from OSG-3.2 branch the removal of check for Asio under - Windows +Thu, 23 Jan 2014 09:41:09 +0000 +Checked in by : Robert Osfield +Added clean up of osg::Program that are applied by the GLObjectsVisitor, which addresses a state leak that creates GL error once the main scene graph is rendered. -2013-07-24 17:30 robert +Thu, 23 Jan 2014 07:59:46 +0000 +Checked in by : Robert Osfield +Added GL_TEXTURE_2D_MULTISAMPLE to texture mode list. - * Changed default of serialize draw to off +Wed, 22 Jan 2014 17:29:44 +0000 +Checked in by : Robert Osfield +Made protected methods virtual to allow subclassing to customize more aspects of the window setup. -2013-07-24 14:24 robert +Wed, 22 Jan 2014 16:29:45 +0000 +Checked in by : Robert Osfield +Refactored .p3d loader to make it less strict about the tag, property and value strings when matching them to supported values.Examples of supported matches are: - * Pulled in READE, NEWS and AUTHORS changes from OSG-3.2 branch. + and will be treated the same + WHITE and White will be treated the same + and , will all be treated the same -2013-07-24 13:02 robert - * Added GL2Extensions::isDrawBuffersSupported() and usage of this - in FrameBufferObject.cpp to prevent crash under GLES2 when users - attempt to use MRT when it's not supported -2013-07-24 12:51 robert - * Updated NEWS from OSG-3.2 branch +Wed, 22 Jan 2014 11:25:54 +0000 +Checked in by : Robert Osfield +Added support for sampleRatio and sampleRatioWhenMoving properties -2013-07-24 12:48 robert +Tue, 21 Jan 2014 18:58:52 +0000 +Checked in by : Robert Osfield +Build fixes for when ref_ptr<> automatic type conversion is turned off - * Fixed warning +Tue, 21 Jan 2014 18:48:53 +0000 +Checked in by : Robert Osfield +Added support for osgVolue::SampleRatioProperty. Fixed build errors when compiling with ref_ptr<> automatic type conversion. -2013-07-24 12:25 robert +Tue, 21 Jan 2014 18:31:20 +0000 +Checked in by : Robert Osfield +Build fixes for when ref_ptr<> has no auto type conversion - * Updated SO version for post 3.2 era. +Tue, 21 Jan 2014 17:27:21 +0000 +Checked in by : Robert Osfield +Fixed build error -2013-07-24 12:17 robert +Tue, 21 Jan 2014 17:00:56 +0000 +Checked in by : Robert Osfield +Fixed build error due to typo. - * Added getCallbacks() methods +Mon, 20 Jan 2014 17:23:11 +0000 +Checked in by : Robert Osfield +Integrated multipass volume rendering shaders from OpenSceneGraph-Data -2013-07-23 18:11 robert +Mon, 20 Jan 2014 17:03:29 +0000 +Checked in by : Robert Osfield +Changed the default directory for the output files to be the current working directory, with the --write-to-source-file-directory added to allow one to have the original behaviour of writing to the same directory as the original source file. - * From Rocco Martino, build fix for compiling against ffmpeg/trunk +Mon, 20 Jan 2014 16:21:24 +0000 +Checked in by : Robert Osfield +Removed nolonger used code paths -2013-07-23 15:28 robert +Mon, 20 Jan 2014 15:54:48 +0000 +Checked in by : Robert Osfield +Disable depth test for rendering of hull backface - * Added NOT ANDROID to force use of posix API when building for - Android under Windows +Mon, 20 Jan 2014 15:10:49 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "recent commits regarding GLuint64EXT broke the build for GLES1 and GLES2. Attached you’ll find a fix which hopefully work for every platform." -2013-07-23 10:24 robert +Mon, 20 Jan 2014 11:00:09 +0000 +Checked in by : Robert Osfield +From Kristofer Tingdahl, reimplement of AntiSquish node to avoid the use of an update callback.From Robert Osfield, small ammendments to clean up header. - * Added lazy setting of the UserDataContainer to avoid unncessarily - create a UserDataContain when an empty description list is passed - to Node::setDescriptions(..) -2013-07-23 09:54 robert - * Fixed crash when open(..) returns an error. +Mon, 20 Jan 2014 10:40:49 +0000 +Checked in by : Robert Osfield +From Roni Zanolli,Added use of Qt's new devicePixelRatio() method to assist with handling the upscalling of resolution on iPhone for "retina" displays.From Robert Osfield, changed Roni's code to use a #define GETDEVICEPIXELRATIO to access the versioned Qt devicePixelRatio() method to avoid duplication of the Qt version checking. -2013-07-23 05:25 robert - * From Torben Dannhauer, "Please find attached further changes to - make library auto detection - functional again for some libraries: - - Find3rdPa..: Fix to find libxml2 - FindCollada: Rearranged to handle different MSVC versions more - effective. - This file is already prepared for the upcoming VS 2013. - FindNVTT: introduced management of debug libraries (also auto - detected). - " -2013-07-22 13:31 robert +Fri, 17 Jan 2014 18:20:39 +0000 +Checked in by : Robert Osfield +Fixed warning - * From Andreas Ekstrand, "Attached is a small modification of the - Collada writer that protects from crashes due to valArray being - NULL in some situations." +Fri, 17 Jan 2014 18:20:28 +0000 +Checked in by : Robert Osfield +From Stephan Huber, fix for OSX build issue -2013-07-22 10:15 robert +Fri, 17 Jan 2014 14:02:30 +0000 +Checked in by : Robert Osfield +From Kristoger Tingdahl, "the patch I sent to src/osgQt/CMakeModules.txt did not do the work on windows. I have fixed that, and also made it more generic so there is no special handling of qt5.2, but all qt5 are the same.I have tested this on: - * Added FRAME_BUFFER_OBJECT enum +mac/qt5.2 +linux/qt5.2 +windows/qt5.2, and +mac/qt5.1 -2013-07-22 10:15 robert +All platforms perform as expected. - * Updated OpenThreads version +The previous fix removed the -f flag to the moc-pre-processor, but on windows, it turned out that -f "osgQt/QGraphicsViewer" was needed. -2013-07-19 21:05 robert +This becomes an include-statement in the file generated by moc which is needed for compiling it. I ask you consider this patch for the trunk and the 3.2 branch. - * From Christian Ruzicka, "with the current touch implementation on - iOS the touches are not forwarded to parent views because the - base implementation is not called. Also see the "Best Practices" - in the iOS documentation for event handling: - - http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/multitouch_background/multitouch_background.html - - "If you handle events in a subclass of any other UIKit responder - class: - - You do not have to implement all of the event handling methods. - - In the methods you do implement, be sure to call the superclass - implementation. For example, [super touchesBegan:touches - withEvent:event]." - - I added the missing lines and tested it with OSG 3.1.9 and iOS - SDK 6.1." -2013-07-19 20:59 robert +Secondly, I wonder if it would be possible to apply my patch for FindRSVG.cmake from 22nd November in the 3.2 branch. - * Added default setting of BIND_PER_VERTEX when applying - Geometry::setTexCoordArray() +In short, the version of librsvg must be equal or higher to 2.35: -2013-07-19 17:00 robert +PKG_CHECK_MODULES(RSVG librsvg-2.0>=2.35) +" - * Updated OpenThreads version to be in sync with OSG version -2013-07-19 14:55 robert - * Updated version number for svn/trunk to 3.3.0 for all new feature - development +Fri, 17 Jan 2014 13:59:29 +0000 +Checked in by : Robert Osfield +From Jordi Torres, "We have a code using gcc with -Wextra flag and using OSG as a third party library. It does not compile when importing failing in EventHandler and GUIEventHandler:.... -2013-07-19 14:07 robert +GUIEventHandler: In copy constructor 'osgGA::GUIEventHandler::GUIEventHandler(const osgGA::GUIEventHandler&, const osg::CopyOp&)': - * Updated AUTHORS file for new 3.2 branch +/include/osgGA/GUIEventHandler:56:9: error: base class 'class osg::Object' should be explicitly initialized in the copy constructor [-Werror=extra] -2013-07-19 14:06 robert +It seems the diamond problem: - * Updated version number to 3.2.0-rc1 in prep for create the 3.2 - branch, and 3.2.0-rc1 + A = osg::Object + / \ + / \--> Virtual inheritance +B C + \ / + \ / + D = EventHandler + | + | + E = GUIEventHandler -2013-07-19 10:31 robert +The most derived class(E) handles the instantiation of A (osg::Object), but all have to be responsible in case they are the ones instantiated. - * Update ChangeLog and AUTHORS files for 3.1.10 dev release -2013-07-19 10:17 robert +In case A is not initialized in the copy constructor of derived classes the default constructor will be called, which seems a bug. - * Updater version for 3.1.10 dev release +I've added osg::Object to the initalization list of EventHandler and GUIEventHandler copy constructors, because both classes are instantiables. + " -2013-07-19 10:11 robert - * Removed #if 0 #endif block -2013-07-19 09:43 robert +Fri, 17 Jan 2014 13:54:14 +0000 +Checked in by : Robert Osfield +From Jordi Torres, "Fixed a typo in ReaderWriterCURL::ReaderWriterCURL() changed Psuedo for Pseudo." - * Fixed problem with the osgviewerQt code override the default - View::Camera without setting it's default state on it's StateSet - like View does by default. +Fri, 17 Jan 2014 12:40:58 +0000 +Checked in by : Robert Osfield +Fixed handling of background colours. -2013-07-19 06:56 robert +Thu, 16 Jan 2014 17:26:35 +0000 +Checked in by : Robert Osfield +Removed old redundent TexGen usage. - * From Johannes Scholz, "as we need to dynamically add and remove - Effects to and from our Application, I created a small patch for - osgFX/Registry to add the osgFX::Registry::removeEffect(effect*) - method and extended osgFX::Registry::Proxy to call removeEffect - upon its destruction." +Thu, 16 Jan 2014 17:17:37 +0000 +Checked in by : Robert Osfield +Added hull="hul-filename" property support to tag that can used thus: + CardiacCT + -2013-07-19 06:39 robert - * From Wang Rui, "A very small clerical error in the - src/osgViewer/CMakeLists.txt makes MinGW/Cygwin builds fail. Now - it is fixed and now OSG works well again with Cygwin. :-) The OSC - plugin also needs a small fix to compile with Cygwin, as attached - file src/osgPlugins/osc/osc/OscHostEndianness.h shows." -2013-07-19 06:20 robert - * From Mathieu Marache, "we found that events where not caught when - running in ON_DEMAND frame scheme : GraphicsWindow::checkEvents() - always return false and GraphicsWindowQt doesn't overload it. - - here is a simple fix that will return if the list is empty or not - and will match the comment in checkEvents() +Thu, 16 Jan 2014 16:08:43 +0000 +Checked in by : Robert Osfield +Added support for controlling the extents of the volume rendering by nesting the hull underneath VolumeTile. Currently only supported by the new osgVolume::MultipassTechnique -2013-07-18 20:17 robert +Thu, 9 Jan 2014 11:13:09 +0000 +Checked in by : Robert Osfield +From Paul Martz, build fix for Windows GL3 build - * Added a dirty() call to Image::setData(..) +Thu, 9 Jan 2014 09:41:43 +0000 +Checked in by : Robert Osfield +Added per TileData RTT Camera in prep for rendering backface of volume to a depth texture -2013-07-18 16:29 robert +Wed, 8 Jan 2014 15:56:43 +0000 +Checked in by : Robert Osfield +Changed near/far values to use CullVisitor::value_type and use std::numeric_limits<>. - * From Torben Dannhauer, "after being absent for more than 12 - month, I'm very pleased to present my - new 3rdparty package (V8). - - This package is compiled with Visual Studio 2012 Update 3. Some - community - members complained that these package is very large (indeed), so - I - introduced 2 versions: - - The small version contains the dependencies for several image - file formats - ( tiff, png, gif, jpeg), as well as zlib, minizip, curl, - freetype, glut, - gdal and openSSL - - The full version will include all libraries which were include - in the - previous releases of my 3rd party package. - - Some of the included libraries are released in newer versions, so - I adapted - the attached CMake module to find these renamed files. - - I hope you can merge this minor changes soon, since I plan to - publish the - small 3rdparty package today. - " +Wed, 8 Jan 2014 10:33:00 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've attached a fix for the Collada loader that prevents a crash with some files containing textures. I also converted an OSG_NOTICE to OSG_INFO to be consistent with other log messages within the loader." -2013-07-18 16:27 robert +Wed, 8 Jan 2014 10:31:36 +0000 +Checked in by : Robert Osfield +Removed more odd characters - * From Lionel Lagarde, "The extension name is misspelled. It - conflicts with GLEW." +Wed, 8 Jan 2014 10:28:24 +0000 +Checked in by : Robert Osfield +Removed more odd characters -2013-07-02 19:24 robert +Wed, 8 Jan 2014 10:24:43 +0000 +Checked in by : Robert Osfield +Removed odd characters - * Updated AUTHORS and ChangeLog for 3.1.9 dev release +Wed, 8 Jan 2014 10:16:39 +0000 +Checked in by : Robert Osfield +Moved destructor to protected -2013-07-02 14:35 robert +Tue, 7 Jan 2014 19:06:44 +0000 +Checked in by : Robert Osfield +Refined the GLint64 definitions - * From Laurens Voerman, "With fstream inheritaince now removed the - warning can be enabled again." +Tue, 7 Jan 2014 18:32:45 +0000 +Checked in by : Robert Osfield +Removed duplicated instances of GLint64EXT declarations -2013-07-02 14:17 robert +Tue, 7 Jan 2014 16:43:07 +0000 +Checked in by : Robert Osfield +Removed execute properties via svn propdel svn:executable file - * From Laurens Voerman, "some of my ive files now generate a - warning: - Warning, can't assign attribute binding as no has been array - assigned to set binding for. - - I think those are ive's with bumpmaps, but I have not checked - yet. The problem is in - OpenSceneGraph\src\osgPlugins\ive\Geometry.cpp - where the code tries to set Normalize and Binding for a missing - Array. - I think that code can safely be skipped, considering the write - function has a hardcoded write when the array is missing. - (introduced in svn rev 13488) - - modified file (OpenSceneGraph\src\osgPlugins\ive\Geometry.cpp) - attached in Zip" +Tue, 7 Jan 2014 16:29:22 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've attached a small change to the DAE writer to support writing out unknown transform types. It will essentially treat it as a matrix transform, using the the local to world matrix value." -2013-07-02 14:02 robert +Tue, 7 Jan 2014 16:18:05 +0000 +Checked in by : Robert Osfield +Bumped SO_VERSION number of OpenThreads to avoid conflicts with Debian SO_VERSION bump - * From Laurens Voerman, "Recent changes cause a few warnings in - MSVC 2012 - svn 13587 From David Callu, warning fixes and removal of spaces - at end of lines. - - this can be fixed by adding a space before the comment opening - /*. - full modified file - (openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h) - attached in zip - - Regards, Laurens. - - - openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(71): - warning C4138: '*/' found outside of comment - (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp) - openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(73): - warning C4138: '*/' found outside of comment - (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp) - openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(211): - warning C4138: '*/' found outside of comment - (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp) - openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(213): - warning C4138: '*/' found outside of comment - (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp)" +Tue, 7 Jan 2014 16:15:50 +0000 +Checked in by : Robert Osfield +From Sebastian Messerschmidt, "Original shader was not running on various NVidia cards due to old syntax in shader." -2013-07-02 13:45 robert +Tue, 7 Jan 2014 11:01:32 +0000 +Checked in by : Robert Osfield +Added State::getMaxTextureCoords() and State::getMaxTextureUnits() inline methods. - * Restructed handling of the _currentShaderCompositionUniformList - in State::apply() and State::apply(const StateSet*) so that it - can be used even when shader composition isn't enabled. +Mon, 6 Jan 2014 17:19:21 +0000 +Checked in by : Robert Osfield +Added support for Switch::set/getValue() -2013-07-02 10:32 robert +Mon, 6 Jan 2014 16:58:07 +0000 +Checked in by : Robert Osfield +Added Group::setChild(..) and Geode::setDrawable(..) MethodObjects - * From Aurelien Albert, "Recently I had to integrate a client - OpenGL library with OSG. For textures and other StateAttribute - I've done that by subclassing osg::StateAttribute and this works - well. - - But for glPrograms, in order to get all osg's uniform management - system to work, I had to subclass - osg::program::PerContextProgram. - - Here is a modified version of this class, which add some - "virtual" method to allow easy subclassing." +Mon, 6 Jan 2014 15:46:36 +0000 +Checked in by : Robert Osfield +Removed the prototype MethodObject classes -2013-07-02 09:44 robert +Mon, 6 Jan 2014 15:45:46 +0000 +Checked in by : Robert Osfield +Moved osgDB::MethodObject from lua plugin into osgDB, added support for running methods via the osgDB::PropertyInterface class.Updated lua plugin to use new osgDB::PropertyInterface to run methods. - * From Pjotr Svetachov, "The binding of arrays is always set to - BIND_UNDEFINED when using the array constructor because the - binding parameter is ignored. Here is a fix." +Added addChild/removeChild() etc to Group.cpp, and addDrawable/removeDrawable() etc. to Geode.cpp serializers. -2013-07-02 09:27 robert - * Added SceneView::Options enum enetries APPLY_GLOBAL_DEFAULTS and - CLEAR_GLOBAL_STATESET to control whether a - _globalStateSet->clear() and _globalStateSet->setGlobalDefaults() - should be called. - - osgViewer::Renderer doesn't use these enum settings so now no - longer has a calls StateSet::clear() or - StateSet::setGlobalDefaults() on the osg::Camera's StateSet. - Previously these were being - called and breaking the ability to attached state to Camera's - StateSet. -2013-07-01 16:15 robert +Mon, 6 Jan 2014 10:23:26 +0000 +Checked in by : Robert Osfield +Renamed the OSGSIM cmake variable to OSGSIM_LIBRARY to be consistent with the rest of the variables. - * From Pjotr Svetachov, "In a submission on June 27th a lot of new - array types were added. This modified the osg::Array::Type enum. - Because of this s_ArrayNames array in Array.cpp is now not in - sync. This can lead to corrupt exports or crashes when writing - .osg files because the change added new types in the middle of - the enum instead of at the end. - - Attached is a new Array.cpp to reflect the new array types." +Fri, 3 Jan 2014 14:36:58 +0000 +Checked in by : Robert Osfield +Fixed build of V8 and Python plugins -2013-07-01 12:16 robert +Wed, 25 Dec 2013 17:36:32 +0000 +Checked in by : Robert Osfield +Preliminary support for wrapping methods in the lua script plugin. - * Updated AUTHORS, ChangeLog for dev release +Fri, 20 Dec 2013 09:57:35 +0000 +Checked in by : Robert Osfield +Added tag to .p3d to allow one to provide multiple ways to render children within a layer. -2013-07-01 10:22 robert +Thu, 19 Dec 2013 17:13:24 +0000 +Checked in by : Robert Osfield +From Kristofer Tingdahl, "the syntax of the moc executable has changed between 5.1.1 and 5.2.0 versions of qt (see below). The difference is that the argument has become mandatory after the -f option.Hence, moc will complain when osg throws in a -f without anything after it. Hence I propose removing the -f on Qt5 builds. I have tested building without -f on both qt520 and qt511, and that works well. - * Removed BIND_INSTANCE_DIVISOR as they don't yet have any - implementation backend to support them. +The attached src/osgQt/CMakeLists.txt that can be patched into 3.2 safely. For the trunk, I would consider dropping the check on the version, and simply remove the option on qt5. I have tested that on qt5.1.1, and that worked fine. Question is however if it works on qt5.0. Probably it does, so the question is simplicity of CMakeList.txt vs safety." -2013-07-01 09:12 robert - * From David Callu, "Here a fix for FindFBX.cmake - - under linux, library name to look for must be fbxsdk instead of - libfbxsdk." -2013-07-01 09:10 robert +Thu, 19 Dec 2013 15:10:28 +0000 +Checked in by : Robert Osfield +From Sylvain Marie, When compiling OSG for the iOS simulator, providing both -miphoneos-version-min and -mios-simulator-version-min doesn’t please clang (tested on OS X 10.9.0 with Xcode 5.0.1). Here is a small change (against commit da597ab16945c572a2ad2f4f26fcef38ed21b074) in the CMakeLists.txt to avoid this situation. - * From David Callu, "Here a CMakeLists.txt modified with - OSG_AGGRESSIVE_WARNING_FLAGS defined when Clang compilator is - used" +Thu, 19 Dec 2013 13:53:40 +0000 +Checked in by : Robert Osfield +From Michal Durkovic, "I’m building current trunk on Mac OS X 10.9 and have encountered this error during linking of osgdb_lua plugin:Undefined symbols for architecture x86_64: -2013-07-01 09:09 robert + "lua::LuaScriptEngine::pushValue(osg::Quat const&) const", referenced from: - * Fixed debug build compile problem + PushStackValueVisitor::apply(osg::Quat const&) in LuaScriptEngine.o -2013-07-01 08:21 robert + "lua::LuaScriptEngine::pushValue(osg::Plane const&) const", referenced from: - * Reverted the usage of OSG_UNUSED and OT_UNUSED as in hindsight - these should never have been merged. Adding code to quieten - inappropriate warnings is a bad programming practice and does not - desrve a place in the OSG code base. + PushStackValueVisitor::apply(osg::Plane const&) in LuaScriptEngine.o -2013-06-28 15:44 robert +ld: symbol(s) not found for architecture x86_64 - * From John Kaniarz, "This patch modifies ReaderWriterPNG.cpp to - 1. Check the bit depth of the passed Image and return an error if - not 8 or 16. (not fully featured, but still an improvement over - hard coded 8bit for everything) - 2. Endian swap 16bit image data when on a little endian - architecture. - " +clang: error: linker command failed with exit code 1 (use -v to see invocation) -2013-06-28 14:47 robert - * From Alberto Luaces, "Documentation for -p and --speed options in - osgviewer" -2013-06-28 14:38 robert +Looks like LuaScriptEngine was missing implementation of those 2 member functions. Fixed src/osgPlugins/lua/LuaScriptEngine.cpp file in attachment. - * From Marcel Pursche, fixed checking of destination dimensions in - osg::copyImage. +" -2013-06-28 14:32 robert - * From Lilin Xiong, "When writing proxyNode to ive file, we forget - "LoadingExternalReferenceMode ". Add some code to fix this. - - if (out->getVersion() >= VERSION_0045) - { - out->writeInt(getLoadingExternalReferenceMode()); - } - - if (in->getVersion() >= VERSION_0045) - { - setLoadExternalReferenceFiles( - (osg::ProxyNode::LoadingExternalReferenceMode)in->readInt() ); - } - " -2013-06-28 14:21 robert +Thu, 19 Dec 2013 13:49:27 +0000 +Checked in by : Robert Osfield +From Stephan Hunber, "attached you’ll find some changes to osg/p3d:* a new command-line-option to present3d and a new option to the p3d-plugin to suppress any found tags +* a new command-line-option to present3d to forward mouse-events via osgGA::Device (defaults to off) so we can test the interface-files with present3d better +* I added a new attribute forward_to_devices for click_to_event to forward the event to all attached devices instead of handling the event locally. This will fix the annoyance with the new interface-files when toggling polygon-mode or switching light on/off. - * From Gill Peacegood, "fix for a memory leak in the - DelaunayConstraint class" +Here’s an example: -2013-06-28 14:08 robert +0x72 +" - * From Laurens Voerman, "the current version of BufferObject causes - a huge amount of warnings in Visual Studio 2012 like: - - OpenSceneGraph/include\osg/BufferObject(701): warning C4138: '*/' - found outside of comment - (E:\osg\osgSvn\OpenSceneGraph\src\osg\Array.cpp) - - adding a space before /* fixes the problem - void removeClient(osg::Object * /*client*/) { --_numClients; } - " -2013-06-28 14:07 robert - * Fixed handling of DISPLAY=127.0.0.1:2 usage. +Thu, 19 Dec 2013 13:44:42 +0000 +Checked in by : Robert Osfield +From Stephan Hunber, "I found some time and ported osgDB::FileUtils and DarwinUtils across new apis to fix the warnings about deprecated api-usage.* osgDB::FileUtils uses now the Cocoa-API to determine the paths of the application-support-folder +* DarwinUtils uses now modern functions of the quartz-api to get and set screen-resolutions. Removed some of the osg-deprecated stuff. +" -2013-06-28 13:43 robert - * From Aurelien Albert, Added support for glPrimitiveRestartIndex. - - "The idea of this new OpenGL feature is : - - - set RestartIndex = "n" - - draw elements strip - -> when the index is "n", the strip is "stopped" and restarted - - It's very usefull for drawing tiles with a single strip and a - "restart" at the end of each row. - - The idea a an OSG StateAttribute is : - - Usually we use to build geometry from code, because software - modelers rarely support it (and 3d file formats doesn't support - it) : - - -RootNode <= "PrimitiveRestartIndex=0" // So now, we know that - our restart index is 0 for all drawables under this node - | - - Drawable 1 : triangles => as usual - | - - Drawable 2 : triangles strip => as usual - | - - Drawable 3 : triangles strip + "GL_PRIMITIVE_RESTART" mode = ON - => use the restart index - | - - Drawable 4 : triangles strip + "GL_PRIMITIVE_RESTART" mode = ON - => use the restart index - | - - Drawable 5 : triangles strip => as usual - - - With a StateAttribute, it's easy for the developper to say "0 - will be my restart index for all this object" and then activate - the mode only on some nodes. - - The main problem is if you set and restart index value which is - not included in the vertex array (for exemple set restart index = - 100 but you have only 50 vertex). There is no problem with - OpenGL, but some OSG algorithms will try to access the - vertex[100] and will segfault. - - To solve this, I think there is two ways : - - 1/ add restart index in osg::PrimitiveSet and use this value in - all algorithms. It's a lot of work, maybe dangerous, and it - concern only a few situations : developpers who use this - extension should be aware of advanced OpenGL (and OSG) data - management - - 2/ use a StateAttribute, and choose a "correct" restart index. In - my applications, I always use "0" as a restart index and - duplicate the first vertex (vertex[0] = vertex[1]). So there is - no difference for OpenGL and all OSG algorithms works properly. - " -2013-06-28 12:45 robert +Thu, 19 Dec 2013 10:02:16 +0000 +Checked in by : Robert Osfield +Implemented support for calling scripts from with Present3D. - * Added handling of an odd number rows in the capsule rendering and - primitive calculation. +Tue, 17 Dec 2013 12:18:06 +0000 +Checked in by : Robert Osfield +Added support for new osgVolume::MultiPassTechnique to Present3D. To use add property renderer="MultiPass": MyVolumeData -2013-06-28 12:00 robert - * From David Callu, warning fixes and removal of spaces at end of - lines. -2013-06-28 10:59 robert - * From David Callu, "in - osgViewer::WoWVxDisplay::WoWVxDisplay(unsigned int type=20, - unsigned int screenNum=0) - screenNum is unused. - - fix attached. - " +Tue, 17 Dec 2013 10:52:50 +0000 +Checked in by : Robert Osfield +Added experimental image 3d downsample function. -2013-06-28 10:51 robert +Mon, 16 Dec 2013 11:28:10 +0000 +Checked in by : Robert Osfield +Removed the unused Texture::Extensions::numTextureUnits() - * From David Callu, added support for glVertexAttribLPointer and - glVertexAttribIPointer, utilized via - osg::Array::setPreserveDataType(true); +Fri, 13 Dec 2013 12:38:01 +0000 +Checked in by : Robert Osfield +Implemented ability to switch between different shaders with new MultipassTechnique -2013-06-28 08:57 robert +Thu, 12 Dec 2013 09:53:24 +0000 +Checked in by : Robert Osfield +Added SampleRatioWhenMoving property and support to new osgVolume::MultipassTechnique. - * From David Callu, serializer support for new Vec* and Vec*Array - classes +Thu, 12 Dec 2013 09:51:30 +0000 +Checked in by : Robert Osfield +Applied unquie CullVisitor::Identifier rather than reusing the cloned one. -2013-06-28 08:11 robert +Wed, 11 Dec 2013 17:20:14 +0000 +Checked in by : Robert Osfield +Changed epsilon to 1e-5 to address picking problems with planaer objects - * +Wed, 11 Dec 2013 12:00:27 +0000 +Checked in by : Robert Osfield +Added initial support for 1D transfer functions to MultipassTechnique -2013-06-27 17:37 robert +Tue, 10 Dec 2013 13:38:27 +0000 +Checked in by : Robert Osfield +Added support for handling viewports with offset origins, and with it split stereo. - * From David Callu, "Added Vec3ub, Vec3us, Vec4us, Vec2ub and - Vec2us classes" +Tue, 10 Dec 2013 10:43:48 +0000 +Checked in by : Robert Osfield +Introduced SampleRatioValueProperty for more intuitive control of how many samples to take when volume rendering -2013-06-27 16:44 robert +Mon, 9 Dec 2013 10:39:01 +0000 +Checked in by : Robert Osfield +Improvements to new MultipassTechnique - * From Lionel Lagarde, "Support for paging and shared PBO" - - "The attached file contains: - - a per-context read counter in GLBufferObject::BufferEntry - - a global client counter in BufferData - - the glue between Texture* and Image client counter - " +Fri, 6 Dec 2013 19:31:12 +0000 +Checked in by : Robert Osfield +Further work on new MultipassTechnique/VolumeScene. -2013-06-27 15:18 robert +Fri, 6 Dec 2013 09:35:57 +0000 +Checked in by : Robert Osfield +From Mike Krus, compile fix to enable compiling across a wider set of versions. - * From Aurelien Albert, added passing on of the gl array normalize - to OpenGL when uses vertex attribute aliasing. +Tue, 26 Nov 2013 19:03:46 +0000 +Checked in by : Robert Osfield +Added support for using shaders to render the RTT textures with depth -2013-06-27 14:46 robert +Tue, 26 Nov 2013 10:38:35 +0000 +Checked in by : Robert Osfield +Replaced readShaderFile() usage to readRefShaderFile() - * Replaced deprecatated osg::Geometry::get*Binding() calls. +Mon, 25 Nov 2013 17:36:17 +0000 +Checked in by : Robert Osfield +Added initial render to texture functionality into osgVolume::VolumeScene -2013-06-27 13:37 robert +Fri, 22 Nov 2013 10:27:15 +0000 +Checked in by : Robert Osfield +Warning fixes - * Added Geometry::containsDeprecatedData() / fixDeprecatedData() +Fri, 22 Nov 2013 09:48:02 +0000 +Checked in by : Robert Osfield +From Kristofer Tingdahl, Build fix for svg plugin that makes sure the version of librsvg is at sufficient, and fixed a missing virtual destructor warning. -2013-06-27 10:58 robert +Fri, 22 Nov 2013 09:38:50 +0000 +Checked in by : Robert Osfield +Removed trailing spaces, added missing return to last lines - * Removed deprecated usage of osg::Geometry::get*Binding() +Thu, 21 Nov 2013 18:17:44 +0000 +Checked in by : Robert Osfield +Added new osgVolume::VolumeScene and osgVolume::MultipassTechnique class shells that will be filled out to provide multi-pass volume rendering that handles mixing of 3D meshes with volume rendering and segmentation of volumes via a user defined hull mesh. -2013-06-27 09:59 robert +Thu, 21 Nov 2013 14:21:55 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "CLang / LLVM on OS X seems to have a problem compiling the osgGA-serializer. (It was reported before on the list, but the error is hard to track as it shows up only sometimes)I fixed the compile-error with a dedicated destructor of osgGA::GUIEventHandler" - * Replaced deprecated osg::Geometry::set*Binding() usage. -2013-06-27 09:54 robert - * Replaced deprecated osg::Geometry::set*Binding() usage +Thu, 21 Nov 2013 14:08:01 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, " recently encountered an issue attempting to load an IVE file generated by an older version of OSG. The file contained dxt1 compressed image data with mipmaps. The loaded model would cause crashes when passing the mipmap data to glCompressedTexImage2D. It seems that the size of the data array within the IVE file did not match the computed size from Image::getTotalSizeInBytesIncludingMipmaps(). This essentially made the mipmap offsets invalid within the Image object.I'm not sure if the IVE was simply generated incorrectly, or if the Image::getTotalSizeInBytesIncludingMipmaps() was modified since the file was generated. Either way, I added a simple check in the IVE loader so that it clears the mipmap offsets if the actual data size does not match the computed data size. This seems like a safe fallback since the mipmap data can be automatically generated, and it fixes the problem in my case. -2013-06-27 09:54 robert +Also, while looking into this issue, I noticed that the osgDB::InputStream class applies the serialized image allocation mode. However, since the serializer is allocating the image data itself, it seems like it should force the allocation mode to USE_NEW_DELETE. +" - * Replaced deprecated osg::Geometry::set*Binding() usage. -2013-06-27 08:44 robert - * Replaced deprecated osg::Geometry::set*Binding() usage +Thu, 21 Nov 2013 13:59:00 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I recently encountered an issue attempting to load an IVE file generated by an older version of OSG. The file contained dxt1 compressed image data with mipmaps. The loaded model would cause crashes when passing the mipmap data to glCompressedTexImage2D. It seems that the size of the data array within the IVE file did not match the computed size from Image::getTotalSizeInBytesIncludingMipmaps(). This essentially made the mipmap offsets invalid within the Image object.I'm not sure if the IVE was simply generated incorrectly, or if the Image::getTotalSizeInBytesIncludingMipmaps() was modified since the file was generated. Either way, I added a simple check in the IVE loader so that it clears the mipmap offsets if the actual data size does not match the computed data size. This seems like a safe fallback since the mipmap data can be automatically generated, and it fixes the problem in my case. -2013-06-27 08:30 robert +Also, while looking into this issue, I noticed that the osgDB::InputStream class applies the serialized image allocation mode. However, since the serializer is allocating the image data itself, it seems like it should force the allocation mode to USE_NEW_DELETE. +" - * Replaced deprecated Geometry::set*Binding() -2013-06-26 18:06 robert - * Replaced deprecated Geometry::set*Binding() usage +Thu, 21 Nov 2013 11:02:08 +0000 +Checked in by : Robert Osfield +Converted std::max to osg::maximum to fix VS2013 build error -2013-06-26 17:58 robert +Thu, 21 Nov 2013 10:31:34 +0000 +Checked in by : Robert Osfield +Added Geometry::drawVertexArraysomplemetation(..) and drawPrimitivesImplemenation(..) methods that are called from drawImplementation(..). These new vertex methods allow subclasses from osg::Geometry to specialize the vertex array setup or how the primitives are dispatched to OpenGL. - * Removed deprecated Geometry::set*Binding() usage +Mon, 18 Nov 2013 14:21:06 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "minor ios-fixes/-enhancements* force _OPENTHREADS_ATOMIC_USE_BSD_ATOMIC for IOS device + simulator as the test does not pick the right implementation +* fixed a small compile-bug for iphone-example +* added a check to prevent multiple realization of a GraphicsWindowIOS-object +" -2013-06-26 17:54 robert - * Added osg::getBinding(osg::Array* array) convinience function - that returns the Array::getBinding() is the array is not NULL, - otherwise returns BIND_OFF. -2013-06-26 17:45 robert +Mon, 18 Nov 2013 13:31:44 +0000 +Checked in by : Robert Osfield +From Stephan Huber, compile fix for OpenGL ES on iOS. - * Replaced deprecated osg::Geometry::set*Binding() usage +Mon, 18 Nov 2013 13:25:55 +0000 +Checked in by : Robert Osfield +From Stephan Huber, * GUIEventAdapter: add support for getting normalized touch points * MultiTouchTrackball: some code cleanup and support for normalized touch-points * oscdevice: receiving and sending multi-touch-events via the Cursor2D-profile from TUIO * added some documentation -2013-06-26 17:44 robert +Mon, 18 Nov 2013 12:46:00 +0000 +Checked in by : Robert Osfield +Added panning and zooming functionality to transfer function UI prototype code. - * Replaced deprecated osg::Geometry::set*Binding() calls. +Mon, 18 Nov 2013 12:45:04 +0000 +Checked in by : Robert Osfield +Added BoundingBox::contains(const vec_type& v, value_type epsilon) method with new epsilon parameter to make it easier to test for containment in the presence of numerical errors -2013-06-26 16:16 robert +Fri, 15 Nov 2013 16:15:09 +0000 +Checked in by : Robert Osfield +Moved Handled propety from GUIEventAdapter to Event base class.Added CameraManipulator::finishAnimation() method to allow application code to stop any animation/throw of manipulators. - * From Sebastian Messerschmidt, "I've taken some time and - refactored some places where the old set*Binding were used." -2013-06-26 13:00 robert - * From Aurelien Albert, "This submission allow the user to specify - how to setup VertexAttributeAliasing. - - I think this is necessary on OpenGL 3.2+ since this is no more - "default" locations in the OpenGL specs. - - The default behaviour stay the same. - - There is a few new methods on osg::State : - - - resetVertexAttributeAlias : reset all vertex alias to osg's - default ones - - set**Alias : set a vertex attribute alias configuration - - setAttributeBindingList : set the attribute binding list (allow - to specify an empty list if you're using "layout" qualifier in - glsl code to specify the bindings. This save some CPU - operations)" -2013-06-26 12:59 robert +Tue, 12 Nov 2013 14:21:00 +0000 +Checked in by : Robert Osfield +Restored the rescaleToZeroToOneRange() to address rendering issues. - * Removed unused methods +Mon, 11 Nov 2013 10:55:51 +0000 +Checked in by : Robert Osfield +Removed unused variables -2013-06-26 12:33 robert +Fri, 8 Nov 2013 12:28:51 +0000 +Checked in by : Robert Osfield +From Stepan Huber, "attached are my changes for the osc, zeroconf and resthttp-plugin to use the new event-class. I refactored the osgoscdevice-example so that it’s working again. " - * Removed spaces from end of line +Fri, 8 Nov 2013 12:26:14 +0000 +Checked in by : Robert Osfield +Added support for assinging and display transfer functions -2013-06-26 12:33 robert +Fri, 8 Nov 2013 12:25:35 +0000 +Checked in by : Robert Osfield +Quietened down debug messages - * Fixed bug in TemplateTargetAttributeDispatch that was causing a - crash with the osgsimplegl3 example +Thu, 7 Nov 2013 12:37:10 +0000 +Checked in by : Robert Osfield +Changed the LineSegmentIntersector to RayIntersector to provide more reliable intersections with flat meshes. -2013-06-26 09:04 robert +Thu, 7 Nov 2013 12:35:34 +0000 +Checked in by : Robert Osfield +Added osgUtil::Intersector::PrecisionHint member and set it's default to USE_DOUBLE_COMPUTATIONS, and implemented support for use double or float maths internally in LineSegmentIntersector and RayIntersector classes - * From Pjotr Svetachov and Robert Osfield, "the index mesh and - vertex pre-transform optimizers can rearrange or change the size - of arrays assigned to a geometry. This leads to crashes or - corrupt geometry when using shared arrays. - - Attached a fix that duplicates shared geometry arrays." +Wed, 6 Nov 2013 09:50:16 +0000 +Checked in by : Robert Osfield +Re-enabled the disable of the transfer function -2013-06-26 08:53 robert +Wed, 6 Nov 2013 09:49:51 +0000 +Checked in by : Robert Osfield +Fixed handling of web cams - * Removed Geometry::fixDeprecatedData() as it won't work on const - Geometry +Wed, 6 Nov 2013 09:23:21 +0000 +Checked in by : Robert Osfield +Introduced a cast(T) method into the ImageUtils template functor to allow code reading images to handle casting from source data to a form that a user can use more conviently -2013-06-26 07:08 robert +Wed, 6 Nov 2013 09:20:35 +0000 +Checked in by : Robert Osfield +Restructed the call to avformat_open_input to provide more information. - * From Mathias Froehlich, "The attached file replaces the - deprecated geometry use in osgSim. - The per primitive use is changed to full per vertex arrays." +Tue, 5 Nov 2013 15:23:32 +0000 +Checked in by : Robert Osfield +Fixed typo -2013-06-25 16:19 robert +Fri, 1 Nov 2013 14:40:50 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "Build Problem with osgGA at MacOS with Xcode 5"..."attached you'll find a possible solution for the issue. This will add a new option to cmake called OSG_CXX_LANGUAGE_STANDARD which defaults to C++11. If you set it to C++98 it will setup the project accordingly." - * Removed #include as it's nolonger required in the - header +Mon, 28 Oct 2013 17:46:07 +0000 +Checked in by : Robert Osfield +Added initial shell of new osgtransferfunction example that will be tested bed for upcomming transfer function editing UI. -2013-06-25 16:10 robert +Mon, 28 Oct 2013 12:03:55 +0000 +Checked in by : Robert Osfield +From Likasz Izebski, "added support for etc2/eac compression" - * With assistance from Sukender, moved the depreacted osg::Geometry - vertex indices and AttributeBinding definitions out into a - separated namespace/class so to use - deprecated features you should now use deprecated_osg::Geometry - in place of osg::Geometry. +Fri, 25 Oct 2013 15:47:41 +0000 +Checked in by : Robert Osfield +Added explict setting of the PolygonMode to over the distion mesh being toggled to wireframe. -2013-06-25 11:13 robert +Fri, 25 Oct 2013 14:54:15 +0000 +Checked in by : Robert Osfield +Introduce new osgGA::Event and osgGA::EventHandler base classes that the old GUIEventAdapter and GUIEventHandler now subclass from.The new osgGA::Event is written to support more generic events than the original GUIEventAdapter which are written for keyboard and mouse events. - * From Christian Buchner, "Here is a strongly overhauled version of - the original osgoit ("order independent transparency") by Mathias - Fröhlich. I called this version myosgoit. It looks very nice, - just build and run it! - - This version adds: - - - an encapsulation of the entire Depth Peeling procedure into a - class (not currently a scene graph node) for easier integration - in other projects. - - - compositing with opaque (solid) geometry is possible and the - opaque model is only rendered once. This needs to performs some - depth buffer blitting between FBOs. - - - mix and match with GLSL shaders in the transparent objects is - possible, as demonstrated with a 3D heat map intersecting an - opaque truck model. - - - Some Drawbacks: - - - the display framebuffer does not receive any depth information - from the compositing camera. This could be fixed by compositing - with a GLSL shader and writing to FragDepth." - - From Robert Osfield, ported the code to work under Linux and - without the automatic ref_ptr to C* conversion. -2013-06-25 09:52 robert - * From Alberto Luacas, "current Doxygen warns against the use of - obsolete fields: - DETAILS_AT_TOP, SHOW_DIRECTORIES, HTML_ALIGN_MEMBERS. - - I have removed those in the configuration files." +Fri, 25 Oct 2013 14:46:37 +0000 +Checked in by : Robert Osfield +Remoed -fpermissive -2013-06-24 12:51 robert +Fri, 25 Oct 2013 09:02:39 +0000 +Checked in by : Robert Osfield +Fixed warning - * From Cedric Pinson, "I fixed a little issue with the lightwave - scene loader. On the version 5 there are id on the command - LoadObjectLayer in the scene file and of this version the current - code use this field as a part of the filename, and it fails - because the file is not found. - I just added a field version_ to read it at the beginning and - added extra code to check it and read the extra field if needed - and read the good filename" +Thu, 24 Oct 2013 20:22:13 +0000 +Checked in by : Robert Osfield +Fixed warning -2013-06-24 12:31 robert +Thu, 24 Oct 2013 19:56:04 +0000 +Checked in by : Robert Osfield +Removed depreated glib call - * From Christian Ruzicka, "when MSAA is activated on iOS, the - stencil attachment is not added (Stencil buffer is not working at - all). Attached are the needed changes to make MSAA + stencil - working on iOS. - - Tested with OSG 3.1.7 and iOS SDK 6.1." +Thu, 24 Oct 2013 19:32:00 +0000 +Checked in by : Robert Osfield +Fixed FileInfo self intialization bug -2013-06-24 12:30 robert +Thu, 24 Oct 2013 17:43:02 +0000 +Checked in by : Robert Osfield +Fixed build problems with the OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION off - * Updatd SO_VERSION to reflect changes in ABI from merging - submissions. +Thu, 24 Oct 2013 12:15:37 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you’ll find a small enhancement for present3d. Now you can get advanced help via —help-all etc (similar to osgviewer)" -2013-06-24 12:27 robert +Thu, 24 Oct 2013 10:10:16 +0000 +Checked in by : Robert Osfield +From Stephan Huber, add support for controlling the OSXMenubarBehavior set by DisplaySettings. - * From Sukender, "I recently pulled from the GIT mirror and found - that "OSG_USE_DEPRECATED_GEOMETRY_METHODS=OFF" hides a little - mistake: there is a "#include " inside the "osg" - namespace, in inlude/osg/Geometry. - " +Thu, 24 Oct 2013 09:06:52 +0000 +Checked in by : Robert Osfield +Cleaned up addChild/getChild/setChild/getNumChildren methods and added readNodeFile, readImageFile and readObjectFile functions -2013-06-24 11:40 robert +Wed, 23 Oct 2013 16:17:26 +0000 +Checked in by : Robert Osfield +Added support for Group::addChild/setChild/getChild/getNumChildren. - * From Mourad Boufarguine, "Attached is a fix for the ply reader to - use the output of osgDB::findDataFile. - - " +Tue, 22 Oct 2013 19:12:34 +0000 +Checked in by : Robert Osfield +Merged changes to DisplaySettings from Stephan Huber in prep for controlling the menu hiding behaviour under OSX.Added new WindowSystemInterface::setDisplaySettings() method to provide a mechanism for passing settings onto the WindowSystemInterface so it can then set up the system appropriately. -2013-06-24 11:39 robert +Added assignment of the DisplaySettings to the WindowSystemInterface in Viewer/ComppsiteViewer::realize(). - * From Luc Frauciel, "You'll find attached a modification of - DXWriter to support Material color: - If a material is present, the diffuse color is affected to - current layer." -2013-06-24 11:14 robert - * From Lars Nillson, "The change in this submission is to take care - of the setting given by a call to - setMaximumNumOfObjectsToCompilePerFrame(…). - - - Sometimes if you give a low number, more than the expected number - of objects are compiled." +Tue, 22 Oct 2013 18:58:15 +0000 +Checked in by : Robert Osfield +Preliminary remapping of internalFormat for GL3 core profile -2013-06-24 11:03 robert +Tue, 22 Oct 2013 16:28:20 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Convert usage to use const versions of containers +Tue, 22 Oct 2013 11:32:21 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "The osgt/osgb file formats output a scenegraph node with the type set to "SCENE" in the file header. But if the file is stored and then extracted again from an osga archive this header info is lost, and the resulting file is just an "OBJECT". Possibly other plugin operations would have the same effect. The osgt/osgb plugin won't then return the scenegraph contents.I have updated the osgt/osgb plugin to return a node from an "OBJECT" +file." -2013-06-24 09:59 robert - * From Frederic Morin, "Current behaviour uses SDKSettings.plist to - determine osx version but - this file is only available when XCode is installed. - - This version works also when Command Line Tools for XCode are - installed (minimum build env for osx without XCode) - - See https://github.com/openscenegraph/osg/pull/8 for patch - details - Patch: https://github.com/openscenegraph/osg/pull/8/files" -2013-06-24 09:51 robert +Tue, 22 Oct 2013 11:26:45 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "The osgb file reader uses seek to position within the file. But the nested stream implementation for osga archive files doesn't support seeking. So osgb files can't currently be used in an osga archive e.g. if osgdem is used to output a osgb format database it can't be packaged in an archive file, in the same manner that ive files could.I've added seek support to the osga nested stream implementation." - * From Farshid Lashkari, "I've attached a small patch that extends - the Image::readImageFromCurrentTexture method to support more - depth texture pixel formats (16, 24, 32, 32F). In order to - compile, I moved some depth pixel format definitions from - FrameBufferObject to Image. - " -2013-06-24 09:31 robert - * From Christian Noon, "Got a simple patch for correcting a problem - with the USE_COMPRESSOR_WRAPPER() macro in the osgDB::Registry. - The problem is that the wrapper declaration doesn't match the one - defined in the REGISTER_COMPRESSOR() method in the - osgDB::ObjectWrapper method. This patch fixes the wrapper - declaration so they both match properly. I ran into this problem - using compressed files in an iOS application where all the - libraries and plugins need to be built statically." +Tue, 22 Oct 2013 11:18:28 +0000 +Checked in by : Robert Osfield +Fixed handling of osg::Program so that it's not overriden by shader composition when enabled -2013-06-24 09:12 robert +Mon, 21 Oct 2013 16:35:12 +0000 +Checked in by : Robert Osfield +Added State::releaseGLObjects() and ShaderComposer::releaseGLObjects() to avoid problems with cleanup of graphics context - * From Nick Black, "Hey there! avcodec_open() has been deprecated - for some time, and indeed has - been removed in the most recent versions of libavcodec/ffmpeg. - You're - already using avcodec_open2() elsewhere, but one appears to have - been - missed. The change is trivial: - - [skynet](0) $ svn diff - Index: src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp - =================================================================== - --- src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp (revision 13355) - +++ src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp (working copy) - @@ -109,7 +109,7 @@ - // m_context->flags |= CODEC_FLAG_TRUNCATED; - - // Open codec - - if (avcodec_open(m_context, p_codec) < 0) - + if (avcodec_open2(m_context, p_codec, NULL) < 0) - throw std::runtime_error("avcodec_open() failed"); - } - - [skynet](0) $ - - I've applied similar changes this year to many other packages, - including - cheese, blender, linphone, ad nauseam. It's been tested by - verifying that - with my patch, OSG builds against the newest libavcodec and - ffmpeg, whereas - otherwise it does not. - - The modified src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp is - attached. It - originates in svn trunk revision 13355. Thanks!" +Mon, 21 Oct 2013 09:54:41 +0000 +Checked in by : Robert Osfield +Build fixes for clang -2013-06-24 09:02 robert +Fri, 18 Oct 2013 09:57:49 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "previously discussed change to the dae loader which applies the node ID as a "dae_node_id" user value." - * Introduced typedef's to make the code more readble and - maintanable +Fri, 18 Oct 2013 08:37:18 +0000 +Checked in by : Robert Osfield +From Vladimir Chebeav, fix for removal of nested callbacks -2013-06-24 08:48 robert +Fri, 18 Oct 2013 07:55:26 +0000 +Checked in by : Robert Osfield +From Konstantin Matveyev, "Multiple light fix in FBX-importer" - * From Wang Rui, "The file attached includes two new features for - the serialization IO functionality. First, custom serializer - version control should work now, just by defining a new - REGISTER_CUSTOM_OBJECT_WRAPPER macro. For example: - - // A custom class - namespace CustomDomain { - - class MyGroup : public osg::Group - { - public: - META_Node( CustomDomain, MyGroup ); - - void setMyName( const std::string& n ); - const std::string& getMyName() const; - - void setMyID( int id ); - int getMyID() const; - - ... - }; - - } - - // The serialization wrapper using a custom domain name - REGISTER_CUSTOM_OBJECT_WRAPPER( MyDomain, - CustomDomain_MyGroup, - new CustomDomain::MyGroup, - CustomDomain::MyGroup, - "osg::Object osg::Node osg::Group CustomDomain::MyGroup" ) - { - ADD_STRING_SERIALIZER( MyName, std::string() ); - { - UPDATE_TO_VERSION_SCOPED( 1 ); // Updated for a new domain - version - ADD_INT_SERIALIZER( MyID, 0 ); - } - } - - Save the class instance as follows: - osgDB::writeNodeFile( *myGroup, "serializer_test.osgt", new - osgDB::Options("CustomDomains=MyDomain:1") ); - - The output file will include the domain version definition and - all the class data, and can be read back. We can also force - setting the domain version by the CustomDomains option while - reading the saved files. If we save the class instance without - any options, MyID will be ignored because the default domain - version is 0. - - This may help third-party libraries like osgEarth to maintain - their own serializers without regarding to the OSG soversion - changes. - - Another feature added is a more robust binary format, which in - fact adds a size-offset at each block's beginning. When there are - problems or unsupported data types while reading, we can now - directly jump to the block end indicated by the offset value. So - a .osgb file will automatically ignore bad data and read remains - as normal (at present it will fail at all). This feature will not - break the backward compatibility, and can be disabled by setting - "RobustBinaryFormat=false" while writing out. - - Hope these changes can work smoothly with present and future - community projects. Maybe we should also consider have an - osgserializer example to test and demonstrate all things we can - do now." +Fri, 18 Oct 2013 07:52:18 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "Some missing updates to the serializer static build support." -2013-06-24 08:22 robert +Fri, 18 Oct 2013 07:31:22 +0000 +Checked in by : Robert Osfield +From Andreas Henne, "in my application I use the TrackballDragger, the ScaleAxisDragger and the TranslateAxisDragger. Unfortunately these draggers are very thin and they do not provide methods to change their visual appearance. Another problem that I noticed is that lighting on the cones and boxes of the TranslateAxisDragger and ScaleAxisDragger is incorrect when the draggers are scaled due to not normalized normals. This small patch adresses these problems, providing methods to make the draggers thicker. I have attached a zip archive containing the corresponding files and also a modified osgManipulator example that makes use of the modifications. I don't want to retain any copyright." - * From Wang Rui, "Sorry for my very slow response because of some - personal issues. I found that new Geometry serializers can't work - with old .osgb files. The modified FastPathHint serializer - doesn't correctly read from the stream and thus jumbles following - inputs. The file attached can be placed in - osgWrappers/serializers/osg to fix that problem. - - " +Thu, 17 Oct 2013 18:29:39 +0000 +Checked in by : Robert Osfield +Fix for error in getting the uniform block max name length, fix suggested by Christopher Fennell. -2013-06-24 08:19 robert +Thu, 17 Oct 2013 14:02:15 +0000 +Checked in by : Robert Osfield +From Stephan Huber, build fix - * From Wang Rui, "The osgdb_ffmpeg plugin may not work with latest - ffmpeg windows sdk and will say "The procedure entry point xxx - could not be located in xxx.dll" instead. The following link - describes the reason (maybe a certain optimization problem of the - VS compiler): - http://forum.videolan.org/viewtopic.php?f=32&t=98097 - - After adding the /OPT:NOREF, the problem has gone. - - " +Thu, 10 Oct 2013 20:43:03 +0000 +Checked in by : Robert Osfield +Added set/get to the ImageSerializer and removed some redudent comments -2013-06-24 08:18 robert +Thu, 10 Oct 2013 20:42:24 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "With the new osg::Geometry the binding for arrays now default to undefined. This breaks previously working code in osgAnimation::RigTransformHardware where the arrays got an undefined bounding and because of this the bone indices and weights were not loaded by the shader. Here is a little patch to fix this." - * From Farshid Lashkari, "In many game engines it is common to set - the W component of the tangent vector to -1 if the UVs are - mirrored and 1 if not. I've updated the - osgUtil::TangentSpaceGenerator class to do the same." +Thu, 10 Oct 2013 14:45:57 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, compile fix for VisualStudio -2013-06-21 19:35 robert +Thu, 10 Oct 2013 14:41:41 +0000 +Checked in by : Robert Osfield +Laurens Voerman, "my cmake (2.8.10.2 generating for Visual Studio 11 Win64) doesn't like include(${CMAKE_MODULE_PATH}/FindPackageHandleStandardArgs.cmake) in CMakeModules/FindLua52.cmake changing to a more common include(FindPackageHandleStandardArgs) solves my problem." - * Updated version number after dev release +Thu, 10 Oct 2013 09:28:26 +0000 +Checked in by : Robert Osfield +Added get/set method to Serializer to allow pointer passing without going through InputStream/OutputStream. -2013-06-21 19:35 robert +Wed, 9 Oct 2013 15:32:56 +0000 +Checked in by : Robert Osfield +Implemented preliminary readNode/readImage support in the lua plugin allow a lua script to create a scene graph as return it. - * Removed spaces from end of lines +Mon, 7 Oct 2013 10:05:09 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you’ll find a bunch of fixes + enhancements for iOS and OS X based on current trunk. I incorporated + tested the submission from Colin Cochran, so his submission is not needed anymore.* fixed a bug with multi-touch and touch-id-generation on iOS and OS X. (will fix a bug reported by Colin Cochran, without ditching the existing logic) +* removed unnecessary warning-flagss when generating xcode-projects via cmake, will enable the usage of OSG_AGGRESSIVE_WARNING_FLAGS +* added support for 10.9 (OS X) +* new cmake-variable: IPHONE_VERSION_MIN, this will set the deployment-target (previously hard-coded) If you set the IPHONE_VERSION_MIN to something like 7.0 osg gets compiled also for 64bit (amd64) +* cmake defaults now to the clang compiler if IPHONE_VERSION_MIN > 4.2 +* cmake now sets some xcode-settings so the compiler uses the c++98-standard (clang defaults to c++11, w/o this I got a lot of linking errors) +* removed include-dir for avfoundation-plugin as not needed on OSX/IOS. +* enhanced the ios-example, will now show multitouch-information on a hud (similar to the osgmultitouch-example), and more importantly, will compile + link out of the box +* small enhancements for the osc-device-plugin (send only one msg for MOVE/DRAG, even if multiple msgs/event is enabled) +* better memory-handling for the zeroconf-plugin +* fixed a possible bug in the rest-http-plugin when receiving mouse-events. +* incorporated a fix from Colin Cochran "forwarded touch events are not transformed into the GL UIView“ +" -2013-06-21 14:37 robert - * Fixed author name error introduced by xxdiff -2013-06-21 14:30 robert +Mon, 7 Oct 2013 09:33:46 +0000 +Checked in by : Robert Osfield +Cleaned up line endings - * Reapplied AUTHORS changes +Fri, 4 Oct 2013 20:42:23 +0000 +Checked in by : Robert Osfield +Added support for automatically select Lua 5.2 is it's available, then falling back to checking for Lua 5.1 otherwise. -2013-06-21 14:29 robert +Fri, 4 Oct 2013 19:48:03 +0000 +Checked in by : Robert Osfield +Moved code across to use lua_userdata to manage pointer to osg::Object that is ref()/unref() - * Update ChangeLog and AUTHORS.txt for release +Fri, 4 Oct 2013 16:30:25 +0000 +Checked in by : Robert Osfield +Added support for Lua 5.2 and osg::Object creation from within Lua scripts. -2013-06-21 14:17 robert +Fri, 4 Oct 2013 16:29:45 +0000 +Checked in by : Robert Osfield +Added createObject() interface - * Removed unneccessary handling of BIND_PER_PRIMITIVE on output - code +Fri, 4 Oct 2013 16:28:49 +0000 +Checked in by : Robert Osfield +Updated version number after 3.3.0 dev release -2013-06-21 13:59 robert +Thu, 3 Oct 2013 16:20:29 +0000 +Checked in by : Robert Osfield +Fixed errors in Contributors list - * From Pjotr Svetachov, introduced use of - osg::observer_ptr in place of osg::Camera* +Thu, 3 Oct 2013 08:45:57 +0000 +Checked in by : Robert Osfield +From Jan Peciva, RayIntersector implementation -2013-06-21 13:41 robert +Wed, 2 Oct 2013 13:59:00 +0000 +Checked in by : Robert Osfield +From Colin McDonald and Robert Osfield, "When a serializer shared library is loaded it registers all of the wrappers it contains. The registration creates a prototype object for all of the wrapped classes. For some of the higher-level classes this can be a bit heavy.I noticed a problem with a model which required a single class from +osgSim. When osgdb_serializers_osgsim.so was loaded it registered +wrappers and created prototype objects for all of the osgSim classes, +including osgSim::ScalarBar. The constructor for that class creates +several drawables, and loads arial.ttf using the freetype plugin. I +don't need that, and don't even ship the font or plugin with my +application, resulting in an unexplained warning message loading +the model. - * From Stephan Huber, "attached you'll find the missing - readObject-implementations for the imageio-plugin as suggested by - Remo Eichenberger." +I've modified the ObjectWrapper class to defer the prototype object +creation until if & when actually required." -2013-06-21 12:10 robert - * From Laurens Voerman, build fix -2013-06-21 10:59 robert +Wed, 2 Oct 2013 11:29:58 +0000 +Checked in by : Robert Osfield +From Dmitry Marakasov, "These are FreeBSD bits for src/osgPlugins/osc/osc/OscHostEndianness.h, required to build newever OSG on this OS. Also corrects file name in the error message - I was confused not to find OSCHostEndianness.h after I've got this error.Tested by successfully building OSG 3.2.0 with this patch on FreeBSD +9.1." - * Build fixes for new osg::Geometry -2013-06-21 10:14 robert - * Converted osg::Geometry::ArrayData usage across to osg::Array. +Wed, 2 Oct 2013 11:28:38 +0000 +Checked in by : Robert Osfield +Re-ordered the public/protected sections to keep the public section all together -2013-06-21 10:03 robert +Wed, 2 Oct 2013 11:09:29 +0000 +Checked in by : Robert Osfield +From Björn Hein, "it seems that for generating "per vertex normals" as stated in the comment, two of them are missing. This results in wrong display of STL-files regarding normals. Following simple fix seems to work:Index: ReaderWriterSTL.cpp +=================================================================== +--- ReaderWriterSTL.cpp (Revision 13797) ++++ ReaderWriterSTL.cpp (Arbeitskopie) +@@ -108,6 +108,8 @@ + ++itr) + { + perVertexNormals->push_back(*itr); ++ perVertexNormals->push_back(*itr); ++ perVertexNormals->push_back(*itr); + } - * From Laurens Voerman, "I just tested openGL quadbuffered stereo - with the osgviewer, the mouse works again, so does the - keystonecorrection, but the right-eye render to texture camera - appears not to clear it's color buffer. - I found the problem in src\osgViewer\View.cpp, fix attached." + geom->setNormalArray(perVertexNormals.get(), +osg::Array::BIND_PER_VERTEX); +" -2013-06-21 09:53 robert - * From Mathieu Marache, I needed to modify the FindCOLLADA.cmake to - enable its compilation under macosx. -2013-06-21 09:47 robert +Tue, 1 Oct 2013 19:34:21 +0000 +Checked in by : Robert Osfield +Fixed build with no automatic ref_ptr<> conversion - * Converted ArrayData usage across to set*Array() usage with new - binding parameter +Tue, 1 Oct 2013 19:31:48 +0000 +Checked in by : Robert Osfield +Updated AUTHORS files -2013-06-21 09:43 robert +Tue, 1 Oct 2013 19:00:02 +0000 +Checked in by : Robert Osfield +Updated ChangeLog in prep for dev release - * Added new osg::Array::Binding parameter to - osg::Geometry::set*Array(osg::Array* array, osg::Array::Binding - binding=osg::Array::BIND_UNDEFINED) methods to make it easier for - the user - to set the binding without the need to call the deprecated - osg::Geometry::set*Binding(osg::Geometry::AttributeBinding) +Tue, 1 Oct 2013 17:01:21 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, "I'm working with OSG and a customer low-level OpenGL library.To make easier "lazy apply" on the customer OpenGL shaders, the easiest way was to add an accessor to current OSG state's UniformMap. -2013-06-21 09:40 robert +I've also added accessors for modes and texture, since it could be usefull in the same way. - * Removed spaces at ends of lines +All methods are const, so I think there is no side-effects." -2013-06-21 09:17 robert - * From FrancoisTigeot, "OpenSceneGraph 3.0.1 doesn't build out of - the box on DragonFly and needs - a few modifications to these files: - - applications/present3D/Cluster.cpp - - src/osgDB/FileUtils.cpp - - The changes are needed to fix a few platform specific things such - as the - absence of stat64, int/socklen_t differences, etc... and are in - the same - line as Linux, Apple and FreeBSD specific checks. - - I have attached the modified files; the original patches to 3.0.1 - are - also visible here if you find it more convenient: - http://dl.wolfpond.org/dports/graphics.osg/dragonfly/patch-applications_present3D_Cluster.cpp - http://dl.wolfpond.org/dports/graphics.osg/dragonfly/patch-src_osgDB_FileUtils.cpp - - With these changes, osg 3.0.1 is able to be built and packaged on - DragonFly - whereas it previously failed to compile." -2013-06-21 08:56 robert +Tue, 1 Oct 2013 16:20:20 +0000 +Checked in by : Robert Osfield +From Björn Blissing, "I propose making the following outputs a little bit more silent. In my mind it would suffice with OSG_DEBUG (compared to OSG_NOTICE) for these information messages." - * From Matthias Helsing, "Here is the changed source to prefer - using _NET_WM_STATE_ABOVE but fall back to XRaiseWindow should - the Atoms not be supported. I'm not sure how many might be using - the raiseWindow feature but I needed it for a splash on Ubuntu - 12.04." +Tue, 1 Oct 2013 09:37:56 +0000 +Checked in by : Robert Osfield +From Christopher Baker, submitted by Alberto Luacas, "there is a bug report in the Ubuntu tracker that points to a bug when loading multiple VRML files in parallel. Christopher R. Baker has detected this bug and crafted a patch. In addition, libcoin has to be also built with the "--enable-threadsafe" option.I copy here his report, extracted from +(https://bugs.launchpad.net/ubuntu/+source/openscenegraph/+bug/1211993) +and attach his fix. All credit is due to him: -2013-06-21 08:37 robert +« +There are three instances of a classical method-local-static +multithreaded initialization bug in the Inventor plugin for OSG that +trigger various memory faults when reading multiple VRML files in +parallel via osgDB::readNodeFile. These bugs are of the form: - * From Farshid Lashkari, "I've updated the dds, png, and jpeg - plugins to support writing images with the GL_DEPTH_COMPONENT - pixel format. They will simply treat it the same as the - GL_LUMINANCE pixel format." +static std::map myHandyMap; +static bool once = true; +if(once) { ...fill myHandyMap; once = false } +... use myHandyMap; -2013-06-21 08:03 robert +To repeat: try loading multiple VRML files from multiple threads. The +liklihood of the bug depends on many factors, but my application, which +parallel-loads some dozens of small (<100K) VRML files on startup, +triggers this problem 25% of the time or more. - * From Jan Ciger, " I have put there in the comment a nicer way of - doing version - checks, but that needs at least CMake 2.6.2." +The attached patch (inventor-plugin-multithread.patch) rectifies this +problem by: -2013-06-20 16:44 robert +1 - Inheriting MyHandyMap from std::map, then +2 - Moving the map initialization into the derived constructor, which +3 - Is intrinsically protected from multithread issues by g++ (and is +part of the C++ standard), unless you pass -fno-threadsafe-statics, +which is strongly discouraged by the man page. +» +" - * Fixed the handling the mouse min/max ranges of slave Cameras that - have a parent Camera with a viewport. -2013-06-20 15:48 robert - * Temporarily commented out call to - view.assignStereoOrKeystoneToCamera() for implementing stereo as - this was causing problem in trackball manipulation +Tue, 1 Oct 2013 09:11:26 +0000 +Checked in by : Robert Osfield +From Adrien Grandemange, "On Windows 7 and 8, mouse messages are generated in addition to touch messages, which leads to duplicate PUSH, DRAG and RELEASE events in OSG. Besides, the mouse and touch messages referring to the same user input are not necessarily sent at the same time, due to gesture translation done by Windows by default, such as double-tap => double-click and long-push => right-click. The delay between the 2 types of messages is more noticeable on Windows 8 and leads to serious disruptions in our application.Mouse messages generated by touch input are only present for legacy support. I think they should be filtered out by OSG (real click events originating from a physical mouse will of course still go through). -2013-06-20 15:18 robert +This is what this patch does, according to this suggestion: http://msdn.microsoft.com/en-us/library/dd693088%28v=VS.85%29.aspx (third issue in this page)." - * Added local namespace for util functions, and fixed the return - type of checkDeprecatedData() -2013-06-20 12:15 robert - * From Vladimir Chebaev, "I worked with osg::Particle and see that - this class has setter osgParticle::setTextureTileRange and has no - getters for startTile and endTile. This can be very - uncomfortable. - I attached file with two getters." +Tue, 1 Oct 2013 09:05:18 +0000 +Checked in by : Robert Osfield +From Thomas Hogarth, "Attached is a small build fix for PointSprite when compiling under GLES2 (r13788)GL_POINT_SPRITE_OES does not exist in GLES2, instead you just draw using GL_POINTS then use gl_PointSize in a vertex shader to set the size." -2013-06-20 10:59 robert - * Commented out verbose debug messages for shader composition -2013-06-20 10:42 robert +Mon, 30 Sep 2013 18:32:41 +0000 +Checked in by : Robert Osfield +From Jeffrey Kinross, "I ran into an issue with case sensitivity on OS X and the OSXAVFoundation code. In CMakeList.txt there is a case sensitivity issue which a fix was posted by Robert Osfield in the users forum.I also had to rename the files OSXAvFoundationCoreVideoTexture.h and OSXAvFoundationCoreVideoTexture.cpp to OSXAVFoundationCoreVideoTexture.h and OSXAVFoundationCoreVideoTexture.cpp - * Updated ChangeLog and AUTHORS file +Finally in OSXAvFoundationCoreVideoTexture.cpp the include OSXAVFoundationVideo.H was updated to OSXAVFoundationVideo.h" -2013-06-20 10:05 robert - * From Juan Manuel Alvarez, "When handling keyboard events on - osgQt, if a key is kept pressed, multiple sequences of KEYDOWN -> - KEYUP events are fired. - - This is because Qt auto repeats keyboard events, so multiple - calls are made to GLWidget::keyPressEvent and - GLWidget::keyReleaseEvent by Qt, and subsequently translated to - OSG events. - - The way to solve this is ignoring key released auto repeated - events (see - http://qt-project.org/doc/qt-4.8/qkeyevent.html#isAutoRepeat), so - multiple KEYDOWN events are fired, but only one KEYUP. - - I attach a modified osgQt/GraphicsWindowQt.cpp with this change." -2013-06-20 09:30 robert +Mon, 30 Sep 2013 18:15:51 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I have a scene that makes heavy use of the StateSet::compare method and my profiler showed that a lot of time was being spent inside it. I made a small change to the method so that it performs a quick size comparison between the attribute/mode lists and bin mode before iterating through all the attributes. This made a noticeable improvement in my scene. I've attached the change." - * From Jan Ciger, compilation fix for Qt 5.0.2 +Mon, 30 Sep 2013 10:28:14 +0000 +Checked in by : Robert Osfield -2013-06-20 09:27 robert - * From Laurens Voerman, build fix for VS. +Fri, 27 Sep 2013 18:43:35 +0000 +Checked in by : Robert Osfield +Unified Vec/Plane/Quat handling code. -2013-06-19 17:28 robert +Fri, 27 Sep 2013 13:04:04 +0000 +Checked in by : Robert Osfield +Added support for getting Vec* and Matrix objects from Lua stack and assigning them as OSG object properties. - * Removed svn:executable property. +Thu, 26 Sep 2013 17:27:49 +0000 +Checked in by : Robert Osfield +Initial cut of setting and getting osg::Object properties within Lua scripts -2013-06-19 17:26 robert +Tue, 24 Sep 2013 15:17:42 +0000 +Checked in by : Robert Osfield +Added support for passing parameters in and out of scripts.Implemented support for osg::ValueObject in LuaScriptEngine. - * Removed svn:executable property -2013-06-19 17:25 robert - * Removed svn:executable property. +Tue, 24 Sep 2013 15:08:23 +0000 +Checked in by : Robert Osfield +Changed NodeVisitor so that is subclasses from osg::Object rather than osg::Referenced to enable it to be used with serialization and scripting -2013-06-19 16:24 robert +Tue, 24 Sep 2013 08:56:47 +0000 +Checked in by : Robert Osfield +Removed redundent spaces - * Cleaned up usage of BIND_PER_PRIMITIVE where possible. +Mon, 23 Sep 2013 14:10:36 +0000 +Checked in by : Robert Osfield +Added test for osgGA::GUIEventAdapter -2013-06-19 12:32 robert +Fri, 20 Sep 2013 15:43:24 +0000 +Checked in by : Robert Osfield +Removed unnceccesary setNumChildrenRequiringUpdateTraversal from VolumeTile constructor. - * From Magnus Kessler, typo fixes to doxygen docs and comments +Fri, 20 Sep 2013 10:44:24 +0000 +Checked in by : Robert Osfield +Added initial cut of white and black lists -2013-06-19 12:28 robert +Fri, 20 Sep 2013 10:25:23 +0000 +Checked in by : Robert Osfield +Added compoundClassName() convinience method to standardize the generation of the compoundClassName. - * From Magnus Kessler, "gcc-4.8 flagged this: - - src/osgUtil/tristripper/src/tri_stripper.cpp:375:40: warning: - typedef - â€tri_node_iter’ locally defined but not used - [-Wunused-local-typedefs] - typedef triangle_graph::node_iterator tri_node_iter; - ^ - --- - src/osgUtil/tristripper/src/tri_stripper.cpp | 1 - - 1 file changed, 1 deletion(-) - - diff --git a/src/osgUtil/tristripper/src/tri_stripper.cpp - b/src/osgUtil/tristripper/src/tri_stripper.cpp - index 2f5a7f3..3396881 100644 - --- a/src/osgUtil/tristripper/src/tri_stripper.cpp - +++ b/src/osgUtil/tristripper/src/tri_stripper.cpp - @@ -372,7 +372,6 @@ inline tri_stripper::const_link_iterator - tri_stripper::BackLinkToNeighbour(const - - void tri_stripper::MarkTriAsTaken(const size_t i) - { - - typedef triangle_graph::node_iterator tri_node_iter; - typedef triangle_graph::out_arc_iterator tri_link_iter; - - // Mark the triangle node" +Fri, 20 Sep 2013 10:04:50 +0000 +Checked in by : Robert Osfield +Added type maps to help with querrying supported type names -2013-06-19 12:27 robert +Thu, 19 Sep 2013 16:19:32 +0000 +Checked in by : Robert Osfield +Introduce osgDB::PropetyInterface class that provided a generic interface for get/setting properties on scene graph objects, utilizing the osgDB serializers to do the actual interface query and set/gets. - * Converted tabs to four spaces +Thu, 19 Sep 2013 16:18:20 +0000 +Checked in by : Robert Osfield +Removed unneccessary return -2013-06-19 12:19 robert +Wed, 11 Sep 2013 15:44:08 +0000 +Checked in by : Robert Osfield +Added access methods to Serializer to help with using wrappers for other purposes such as script integration.Added Vec*i and Vec*ui support to serializers - * From Jan Ciger, "I have found a problem when building OSG with Qt - 5 support. Qt has the - following in the qopengl.h header: - - # include - # ifndef GL_DOUBLE - # define GL_DOUBLE GL_FLOAT - # endif - # ifndef GLdouble - typedef GLfloat GLdouble; - # endif - - Unfortunately, when building for normal OpenGL (not GL/ES!) on - Windows - with MSVC2012, GLdouble is not defined (it is not a macro but - typedef) - and the code above produces a conflicting definition, making the - compile fail. I am attaching a bit hackish workaround for this - problem - in osg/GL " -2013-06-19 10:56 robert - * Build fixes for new deprecated osg::Geometry functions +Tue, 10 Sep 2013 15:17:59 +0000 +Checked in by : Robert Osfield +From Giuseppe Donvito, "I'm using OSG 320 and I need to flush a DDS 3D texture on disk. I found a bug on DDS ReaderWriter that generates a false positive on a guard for the size check on writing operation. This is due to a wrong imageSize computation that uses img->getImageSizeInBytes() method instead of img->getTotalSizeInBytes(), that actually ignores the r() dimension, contrariwise taken into account by the function ComputeImageSizeInBytes() later.The line 1062 on file ReaderWriterDDS.cpp should be fixed with: +[code]unsigned int imageSize = img->getTotalSizeInBytes();[/code] +" -2013-06-18 19:09 robert - * Added #define OSG_USE_DEPRECATED_GEOMETRY_METHODS usage into code - to allow code to compile enen when CMake configuration has set - the #define to off in include/osg/Config. -2013-06-18 17:49 robert +Tue, 10 Sep 2013 13:29:28 +0000 +Checked in by : Robert Osfield +From Giuseppe Donvito, Fixed typo of "CLEAR_GLOBAL_STATESET = 0x16," to indended "CLEAR_GLOBAL_STATESET = "0x10". - * Moved the assignment of the normal binding to after the - setNormalArray call +Tue, 10 Sep 2013 09:23:30 +0000 +Checked in by : Robert Osfield +Added osgPresentation::Show node and implementations with basic property reporting for various internal nodes of presentation graph -2013-06-18 17:48 robert +Mon, 9 Sep 2013 16:02:32 +0000 +Checked in by : Robert Osfield +From Wang Rui, "The Python header will look for its libraries using "#pragma comment(lib,"python32_d.lib")" for MSVC. So user-specified libraries will not really be set for the osgdb_python plugin. This small fix may help locate the Python libraries after putting the CMakeLists.txt into src/osgPlugins/python" - * Moved the Geometry::set*Binding to after the set*Array() to - prevent problems when using the deprecated functionality. -2013-06-18 15:54 robert - * Removed BIND_PER_PRIMITIVE reference +Mon, 9 Sep 2013 14:58:25 +0000 +Checked in by : Robert Osfield +From Colin Cochran, OES support for point sprites -2013-06-18 15:03 robert +Mon, 9 Sep 2013 13:33:13 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "Add test for GL_EXT_framebuffer_object extension : osg uses osg::FBOExtensions to check if Frame Buffer Objects are available. But this just checks if the fbo functions can be called. It doesn't check if the OpenGL renderer supports fbos. For indirect rendering on linux the client side capability may be different from the display server, which can lead to mipmapped textures failing to render. I've added a fbo extension check. " - * Moved the set binding and normalize for VertexAttrib to after the - VertexAttrib array assignment +Mon, 9 Sep 2013 12:44:36 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "Patch for FindAVFoundation to work with OS X 10.9" -2013-06-18 14:52 robert +Mon, 9 Sep 2013 12:37:52 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Some developers report that the osgviewerMFC example is broken in 3.2, in which depth test is not enabled by default so all models loaded look awkward. I submit this patch to make it work again. I haven't gone deep to check why previous example goes wrong in newer version but I believe the problem was because the newly created camera object missed some important global statesets before set as the main camera." - * Changed header guard back to original, and removed deprecated - enum +Mon, 9 Sep 2013 12:33:18 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "two minor fixes, both in a CMakeList.txt file,1> osgmultiplemovies example does not use SDL so needs no link to SDL -2013-06-18 14:22 robert +2> Added header files to "Plugins osg" project, so visual studio can find the source of + OSG_WARN << "AsciiInputIterator::readProperty(): Unmatched property " +" - * Fixed order of binding. -2013-06-18 11:49 robert - * Removed experiment GeometryNew as it's no longer required. -2013-06-18 11:18 robert +Fri, 6 Sep 2013 09:35:56 +0000 +Checked in by : Robert Osfield +Initial cut of Audio/Volume/Movie/Image presentation objects - * Clean up up osg::Geometry, removing long deprecated support for - array indices and BIND_PER_PRIMITIVE binding that forced OpenGL - slow paths. osg::Geometry is now smaller and only supports OpenGL - fasts paths. - New methods osg::Geometry::containsDeprecatedData() and - osg::Geometry::fixDeprecatedData() provide a means for converting - geometries that still use the array indices and - BIND_PER_PRIMITIVE across to complient - versions. - - Cleaned up the rest of the OSG where use of array indices and - BIND_PER_PRIMITIVE were accessed or used. +Thu, 5 Sep 2013 10:23:05 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "Attached are some fixes to build osg using the Solaris Studio compiler. I've also checked the modified files still build ok with other compilers (Linux gcc, Windows Visual Studio).osgDB/OutputStream.cpp and osgPlugins/lws/SceneLoader.cpp require +stdlib.h for atoi use. -2013-06-14 09:43 robert +In osg/Uniform.cpp the compiler complains that base_class is unknown +unless I add a class name qualifier. - * Fixed TextBase::computeBound() so it take into account all - corners of the text box thus ensuring proper handling of rotated - text +Not a build fix, but I spotted a typo in osgUtil/SceneView." -2013-06-12 12:49 robert - * From Martin Naylor, replace osgDB::fstream with an osgDB::open() - call. -2013-06-11 10:52 robert +Thu, 5 Sep 2013 10:08:09 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "like the "Bug in ProxyNode serializer" Farshid Lashkari found (svn submit 13754) the PagedLOD serializer attempts to read begin and and brackets. Fix is identical (don't read brackets when num_chidren is zero) and applies both to trunk and 3.2 branch." - * Introduced new osg::PatchParameter StateAttribute class to wrap - up glPatchParameter associated state. - Note, osg::Program::setParameter(GL_PATCH_VERTICES,num); is - nolonger support and should be replaced by using the new - PatchParameter class. +Thu, 5 Sep 2013 10:04:56 +0000 +Checked in by : Robert Osfield +Fixed warnings -2013-06-11 10:49 robert +Thu, 5 Sep 2013 08:42:00 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, "current versions of ffmpeg render «url_feof» macro as obsolete. The fix is very simple and it is contained in the attached file." - * Fixed indentation +Thu, 5 Sep 2013 08:22:27 +0000 +Checked in by : Robert Osfield +Added missing Model.cpp -2013-06-11 09:05 robert +Wed, 4 Sep 2013 17:27:26 +0000 +Checked in by : Robert Osfield +Moved the property test from the model to presentation to test out the property inheritance scheme - * Refactored the way the ReadResult/WriteResult lists are handled, - with them now being sorted so that the Read/WriteResult with - highest numerical value ReadStatus/WriteStatus is returned. - Changed the enum order of ReadStatus/WriteStatus to ensure that - the more relevant errors are last and with the highest numerical - value +Wed, 4 Sep 2013 16:25:18 +0000 +Checked in by : Robert Osfield +Added PrintProperties visitor -2013-06-10 14:34 robert +Wed, 4 Sep 2013 15:39:17 +0000 +Checked in by : Robert Osfield +Added PrintPropertiesAction to osgPresentation - * From Kristofer Tingdahl, with additions from Riccardo Corsi and - Robert Milharcic, support for Qt5 build +Wed, 4 Sep 2013 10:33:11 +0000 +Checked in by : Robert Osfield +Added Action class NodeVisitor that supports osgPresentation nodes. -2013-06-10 10:37 robert +Tue, 3 Sep 2013 15:50:28 +0000 +Checked in by : Robert Osfield +Added test for osgPresentatation::Group::getSupportedProperties() - * Fixed remove and add callback so they properly handle nested - callbacks +Tue, 3 Sep 2013 10:17:06 +0000 +Checked in by : Robert Osfield +Added beginings of Text implementation -2013-06-07 10:54 robert +Mon, 2 Sep 2013 10:56:48 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "The ProxyNode serializer was not correctly reading the "Children" field. It conditionally writes the begin/end brackets, depending on whether it has children. However, during input it unconditionally attempts to read the begin/end brackets. I've modified the code to only read the brackets if it has children." - * From Marcin Prus, "I don't know if you seen my second reply to - your information about merging my Image and dds plugin changes. I - found one problem in your latest submit. In - ReaderWriterDDS::ComputeImageSizeInBytes pixelFormat and - pixelType are not passed into - osg::Image::computeImageSizeInBytes. - - It's - return osg::Image::computeImageSizeInBytes(width, height, depth, - packing, slice_packing, image_packing); - but I think it should be - return osg::Image::computeImageSizeInBytes(width, height, depth, - pixelFormat, pixelType, packing, slice_packing, image_packing);" +Mon, 2 Sep 2013 10:56:14 +0000 +Checked in by : Robert Osfield +Refactored the use of epsilon in the clamping of the start/end points of the LineSegmentIntersector to better handle numerical precision issues. -2013-06-07 10:52 robert +Mon, 2 Sep 2013 09:12:24 +0000 +Checked in by : Robert Osfield +Fixed double copy in StackedTransform copy constructor - * From Mathias Froehlich, "attached is a change to osgsharedarray - to move completely to the fast geometry - path. Also the arrays are moved back to static storage since this - is the data - that is actually referenced in draw. So the change moving this - onto the stack - that happend somewhere before broke this." +Mon, 2 Sep 2013 08:29:09 +0000 +Checked in by : Robert Osfield +Added IO test for new osgPresentation nodes -2013-06-06 08:23 robert +Sun, 1 Sep 2013 17:24:35 +0000 +Checked in by : Robert Osfield +Added Audio, Image, Movie, Model and Volume class to osgPresentation. - * Replaced OpenThreads::Mutex with a OpenThreads::ReentrantMutex to - allow draw callbacks to use Renderer. +Fri, 23 Aug 2013 16:47:27 +0000 +Checked in by : Robert Osfield +Fixed build -2013-06-05 07:55 robert +Fri, 23 Aug 2013 11:42:52 +0000 +Checked in by : Robert Osfield +Added color property to FontData parsing - * Reorder member variables to ensure better packing in memory. +Thu, 22 Aug 2013 13:39:36 +0000 +Checked in by : Robert Osfield +Quitened down debug message -2013-06-05 07:27 robert +Thu, 22 Aug 2013 12:37:49 +0000 +Checked in by : Robert Osfield +Removed debug messages - * Moved the Array::AttribDivisor into the Array::Binding enum to - avoid conflicts in settings between Binding and AttribDivisor. - - Removed the vertify bindings/shared arrays handling from - GeometryNew +Thu, 22 Aug 2013 12:07:55 +0000 +Checked in by : Robert Osfield +Quitened down debug message -2013-06-04 19:04 robert +Thu, 22 Aug 2013 11:18:45 +0000 +Checked in by : Robert Osfield +Quitened down debug message - * Updates to GeometryNew, Array and ArraDispatchers to clean up - GeometryNew so that is no longer uses ArrayData. +Thu, 22 Aug 2013 10:09:21 +0000 +Checked in by : Robert Osfield +Added warning when model file has not be found -2013-06-04 14:55 robert +Thu, 22 Aug 2013 10:05:29 +0000 +Checked in by : Robert Osfield +Reduced debug message level, and added a notify message for when an image isn't loaded - * Added s/getNormalize(), s/getPreserveDataType(), - s/getAttribDivisor() and s/getBinding() to osg::Array base class - in preperation for refactor of osg::Geometry and introduction of - new features. +Thu, 22 Aug 2013 07:49:22 +0000 +Checked in by : Robert Osfield +Added test for serializers and fixed serializers -2013-06-04 14:43 robert +Wed, 21 Aug 2013 19:54:03 +0000 +Checked in by : Robert Osfield +Added initial classes for present3D refactor - * Removed now redundent osggeodemo +Sun, 18 Aug 2013 18:10:39 +0000 +Checked in by : Robert Osfield +Moved old osgPresentation source files to osgPresentation/deprecated subdirectory. -2013-06-04 13:29 robert +Sun, 18 Aug 2013 16:59:11 +0000 +Checked in by : Robert Osfield +Moved old present3D sources into local deprecated directory to clean up the main present3D source directory for future refactored present3D - * Removed geo plugin as the modelling tool it was assocaited is - long defunct. +Fri, 9 Aug 2013 16:51:06 +0000 +Checked in by : Robert Osfield +Added initial cut of basic scripting support, introducing an osg::Script object to wrap up the individual scripts, osg::ScriptCallback for assigning a Script as node callback and an osg::ScriptEngine base class that plugins implement to provided support for specific scripting languages.Provided are lua, python and V8 (for javascript) plugins that just open up enough of a link to the respective libs to run a script, there is no scene graph <-> script communication in current implementation. -2013-06-04 10:06 robert - * Cleaned up BIND_PER_PRIMITIVE and array indice usage -2013-06-04 09:32 robert +Fri, 9 Aug 2013 11:00:55 +0000 +Checked in by : Robert Osfield +Removed CameraNode reference - * Introduced GeometryNew which is a cleaned up version of Geometry - that removes support for array indices. - GeometryNew is only temporary and will be renamed to Geometry on - the completion of refactoring work and feedback from community. - Ported osggeometry across to use GeometryNew. +Fri, 9 Aug 2013 07:46:22 +0000 +Checked in by : Robert Osfield +Removed unused includes -2013-06-04 09:29 robert +Fri, 9 Aug 2013 07:38:32 +0000 +Checked in by : Robert Osfield +Removed old cursor code - * Removed deprecated usage of osg::Geometry indices and - BIND_PER_PRIMITIVE +Thu, 8 Aug 2013 17:21:20 +0000 +Checked in by : Robert Osfield +Added translucent version of cushion which isn't depth tested to enable one to see the cursor even when it's behind other objects -2013-06-03 15:10 robert +Thu, 8 Aug 2013 16:49:33 +0000 +Checked in by : Robert Osfield +Added osgPresentation::Cursor class to wrap up 3D cursor in the scene functionality - * From Aurelien Albert, Added support for texture swizzle. +Wed, 7 Aug 2013 17:08:38 +0000 +Checked in by : Robert Osfield +Added osgpresentation example as a test bed for new osgPresentation object model.First cut of example test bed is to test how easy it is to build against Lua, V8 and Python for purposes of running embedded scripts. -2013-06-03 14:38 robert - * Updated version and so_version in prep for 3.1.8 developer - release -2013-06-03 14:27 robert +Mon, 5 Aug 2013 12:00:34 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, "I've go some problem with the method "State_Utils::replace" : if the original_phrase is empty, it leads to an infinite loop.Here is a path to prevent this." - * From Laurens Voerman, "Autodesk released a new version of their - FBX Software Development Kit (web page - http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=10775847). - The API has changed quite a bit, so lots of changes had to be - made in the osg readerwriter. The preious version of the FBX SDK - (2013.3) already deprecated a lot of the names and functions. The - code I submit now still compiles against 2013.3 (possibly needs a - #define FBX_NEW_API). Not sure if that's useful, but it might - ease the transition." -2013-06-03 14:04 robert - * From Laurens Voerman, "while updating dependencies I found a - problem with libgif 5 from - http://sourceforge.net/projects/giflib/ - a change in version 5.0.0 required a call to the fuction - "DGifOpen" to pass an int ref for an error code. - My fix ignores the error, just fixes the compile." +Thu, 1 Aug 2013 17:38:34 +0000 +Checked in by : Robert Osfield +Added missing initializer for _epsilon -2013-06-03 14:01 robert +Thu, 1 Aug 2013 11:25:02 +0000 +Checked in by : Robert Osfield +From Anish Thomas, added catch for to an empty DrawElementsUInt creation. - * From Sergey Polischuk, "this patch fixes light id in gl modes for - osg::LightSource's readed from fbx (previously all lightsources - were setting GL_LIGHT0 mode, while osg::Lights were using - different id's), and enables GL_LIGHT# on root node for all - lights contained in model - " +Thu, 1 Aug 2013 10:38:02 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file -2013-06-03 13:13 robert +Thu, 1 Aug 2013 10:28:12 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "Based on the exchange on osg-users I went ahead and reworked shp/XBaseParser to avoid weird behaviour (closing stdin) and leaking file descriptors, as well as some const-ness." - * Added Vec*b, Vec4ub, Vec*s, Vec*i, Vec*ui serializers +Thu, 1 Aug 2013 10:04:05 +0000 +Checked in by : Robert Osfield +From Sebastian Messerschmidt, "Seems like your re-factoring didn't really produces the correct results. You can check with the tester2.flt provided earlier and check with the result image. I double checked this with OpenFlight creator, and it seems the yaw is broken.With my initial quaternion version is seems correct and if I change the -2013-06-03 12:19 robert - * Added Vec2i, Vec2ui, Vec3i, Vec3ui, Vec4i and Vec4ui headers to - CMake header list +float cos_yaw = cosf(osg::inDegrees(yaw)); +float sin_yaw = sinf(osg::inDegrees(yaw)); -2013-06-03 11:38 robert +to be +float cos_yaw = cosf(osg::inDegrees(-yaw)); +float sin_yaw = sinf(osg::inDegrees(-yaw)); - * From Art Tevs, int and uint Vec classes +it seems to work as well." -2013-06-03 09:19 robert - * From Aurelien Albert, "This submission is made against trunk - version and add the loading of "glVertexAttribDivisor" - extension." -2013-05-31 10:28 robert - * From Laurens Voerman, "I made some changes to the top level - CMakeLists.txt that might be usefull to other visualstudio users. - 1> Disable project grouping for VCExpress users: the version I - proposed previously in - Re: [osg-submissions] Cmake patch to support folders in IDE (29 - Feb 2012) - - 2> Remove FIND_PACKAGE(OpenAL): not used in any project - - 3> add /wd4250 for Visual Studio 2012: - suppress the errors caused by a microsoft fix for a bugfix. - ref: "Warning messages VS2012..." on osg-users (30 May 2012) - " +Thu, 1 Aug 2013 10:00:31 +0000 +Checked in by : Robert Osfield +From Tom Jolley, "I found a couple more bugs after closely looking at the small piece of deprecated geometry in my model. There were problems with more than one primitive in a couple places. The first was the number of vertices were not being accumulated for DrawArraysPrimitiveType (caused another crash). The second is I had to move target_vindex and source_pindex before the PrimitiveSetList loop so they don't get reset on the next primitive (otherwise you end up with a lot of zeros in per vertex lists)." -2013-05-31 10:23 robert +Thu, 1 Aug 2013 07:19:45 +0000 +Checked in by : Robert Osfield +Added osg::RenderInfo::pushRenderBin()/popRenderBin() and RenderInfo::getRenderBinStack() and getCameraStack() access methods for getting access to the current RenderBin/RenderStage. - * From Ulrich Hertlein, "attached is a patch that fixes another - clang++ compiler warning when returning - std::vector::size() as 'unsigned int'. - " +Wed, 31 Jul 2013 13:11:49 +0000 +Checked in by : Robert Osfield +Added Intersector::get/setEpsilon(double) to allow users to control what epsilon is used by the LineSegmentIntersector when doing testing of itersections with bounding boxes -2013-05-30 09:07 robert +Wed, 31 Jul 2013 07:11:07 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, "Here is the code to get access to OpenGL handle of an osg::FrameBufferObject" - * From Wang Rui, "The osgdb_nvtt plugin needs to be updated to work - with the latest NVTT library, which changes the interface - slightly (adding a new pure virtual method endImage()). I've - modified the source file and attached it here." +Wed, 31 Jul 2013 06:56:31 +0000 +Checked in by : Robert Osfield +From Tom Jolly, "I ran across this error reading one of our older files. An iterator was being changed inside a loop that caused a crash." -2013-05-28 19:16 robert +Wed, 31 Jul 2013 06:42:49 +0000 +Checked in by : Robert Osfield +From Sergey Kurdakov, fixed GLES2 invalid enumerant warning by disabling the check against GL_MAX_TEXTURE_COORDS under GLES. - * Renamed PanoramicSphericalDisplay.cpp to fix a typo +Tue, 30 Jul 2013 06:39:33 +0000 +Checked in by : Robert Osfield +Changed default cull mask to match the left cull mask so that mono rendering of presentations with left/right stereo images/movies works fine. -2013-05-28 16:39 robert +Tue, 30 Jul 2013 06:36:49 +0000 +Checked in by : Robert Osfield +Removed trailing spaces - * Updated ChangeLog and Contributors list +Tue, 30 Jul 2013 06:12:31 +0000 +Checked in by : Robert Osfield +Merged from OSG-3.2 branch the removal of check for Asio under Windows -2013-05-28 15:43 robert +Wed, 24 Jul 2013 17:30:46 +0000 +Checked in by : Robert Osfield +Changed default of serialize draw to off - * From Farshid Lashkari, "The logic for handling opacity maps in - the 3ds reader seems to be incorrect. It checks whether the - diffuse texture contains transparency, instead of the opacity - texture. If the diffuse does not contain an alpha channel it - outputs the warning: - - The plugin does not support images without alpha channel for - opacity - - This seems to indicate that the check for alpha should be against - the opacity map. I've attached the updated file. - - " +Wed, 24 Jul 2013 14:24:33 +0000 +Checked in by : Robert Osfield +Pulled in READE, NEWS and AUTHORS changes from OSG-3.2 branch. -2013-05-28 15:40 robert +Wed, 24 Jul 2013 13:02:32 +0000 +Checked in by : Robert Osfield +Added GL2Extensions::isDrawBuffersSupported() and usage of this in FrameBufferObject.cpp to prevent crash under GLES2 when users attempt to use MRT when it's not supported - * From Michael Bach Jensen and Robert Osfield, "As discussed - (http://forum.openscenegraph.org/viewtopic.php?t=12027) here is - my submission :-) - - The following change to State.cpp fixes the case where textures - in a stateset along with a compute shader program did not make - those textures available to the shader, since it got evaluated - before the texture bind(s)." - - Note from Robert, Michael only change State::apply(StateSet*) so - I also applied the same reversal in apply of texutre modes/state - into the State::apply() method for consistency. +Wed, 24 Jul 2013 12:51:13 +0000 +Checked in by : Robert Osfield +Updated NEWS from OSG-3.2 branch -2013-05-28 15:18 robert +Wed, 24 Jul 2013 12:48:59 +0000 +Checked in by : Robert Osfield +Fixed warning - * Replaced the initialization of the strarray to use reseve instead - of a initial size provided in the constructor as this was leading - to a bug in output. +Wed, 24 Jul 2013 12:25:18 +0000 +Checked in by : Robert Osfield +Updated SO version for post 3.2 era. -2013-05-28 14:40 robert +Wed, 24 Jul 2013 12:17:06 +0000 +Checked in by : Robert Osfield +Added getCallbacks() methods - * Fixed date typo +Tue, 23 Jul 2013 18:11:35 +0000 +Checked in by : Robert Osfield +From Rocco Martino, build fix for compiling against ffmpeg/trunk -2013-05-28 14:35 robert +Tue, 23 Jul 2013 15:28:31 +0000 +Checked in by : Robert Osfield +Added NOT ANDROID to force use of posix API when building for Android under Windows - * From Farshid Lashkari, "I just started looking into the shader - composition feature. I enabled shader composition on the - osg::State object and noticed a 6x increase in draw time. I - figured that the default composer might have performance issues, - so I created a custom ShaderComposer that overrides - "getOrCreateProgram" and does nothing. This still resulted in a - performance drop. - - I looked into the "State::applyShaderComposition" method and - noticed that it will print debug information to the osg::INFO - stream. I commented that line out and the performance drop was - gone. - - I'm not sure if the printing was accidentally left in or is meant - to be enabled. I've modified the function to only call the print - function if INFO logging is enabled. I've attached the change." +Tue, 23 Jul 2013 10:24:28 +0000 +Checked in by : Robert Osfield +Added lazy setting of the UserDataContainer to avoid unncessarily create a UserDataContain when an empty description list is passed to Node::setDescriptions(..) -2013-05-28 14:14 robert +Tue, 23 Jul 2013 09:54:25 +0000 +Checked in by : Robert Osfield +Fixed crash when open(..) returns an error. - * From Marcin Prus and Robert Osfield, moved the key parts of the - .dds plugins computeRowWidthInBytes implementation into the - osg::Image::computeImageSizeInBytes(..) to - address bugs in the computation of image size. +Tue, 23 Jul 2013 05:25:39 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, "Please find attached further changes to make library auto detection functional again for some libraries:Find3rdPa..: Fix to find libxml2 +FindCollada: Rearranged to handle different MSVC versions more effective. +This file is already prepared for the upcoming VS 2013. +FindNVTT: introduced management of debug libraries (also auto detected). +" -2013-05-28 11:47 robert - * From Sukender, "Added ".dds" file deletion on writing failure." -2013-05-28 11:46 robert - * From Sukender, "Added vertical flipping to the writer depending - on the Image::getOrigin() value (= flip the image when - Image::BOTTOM_LEFT). Most of the time this will not change DDS - writing (= no v-flip), as it seems images are rarely - "BOTTOM_LEFT". To skip this behaviour, the "ddsNoAutoFlipWrite" - option was added. - I also moved a few lines of code about "dds_flip" option, and - made options reading more like in other ReaderWriters." +Mon, 22 Jul 2013 13:31:32 +0000 +Checked in by : Robert Osfield +From Andreas Ekstrand, "Attached is a small modification of the Collada writer that protects from crashes due to valArray being NULL in some situations." -2013-05-28 11:44 robert +Mon, 22 Jul 2013 10:15:59 +0000 +Checked in by : Robert Osfield +Added FRAME_BUFFER_OBJECT enum - * From Diane DelallĂ©e & Sukender, "Added some support of - non-modulus-4 dimensions in S3TC-DXTC images (previous - implementation seem just not to handle these properly). - - Added missing packing value on S3TC images. Images are coded - with 4x4 blocs, whatever the image size. So there is an - horizontal packing of 4 pixels (2 bytes in DXT1, 4 bytes in - DXT2-5). - - Added crash guard against writing corrupted S3TC images. - Notes: - - What is missing is a support of "lines packing" in osg::Image - (see code comments). - - S3TC-DXTC vertical flipping crashes (access violation) with - some unusual dimensions (see code). I could not implement missing - cases, so I added guards to avoid crashing." +Mon, 22 Jul 2013 10:15:44 +0000 +Checked in by : Robert Osfield +Updated OpenThreads version -2013-05-28 11:25 robert +Fri, 19 Jul 2013 21:05:54 +0000 +Checked in by : Robert Osfield +From Christian Ruzicka, "with the current touch implementation on iOS the touches are not forwarded to parent views because the base implementation is not called. Also see the "Best Practices" in the iOS documentation for event handling:http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/multitouch_background/multitouch_background.html - * From Diane DelallĂ©e and Sukender, "1. Image.cpp - Failure to perform a vertical flip on S3TC-DXTC now simply leaves - the original image instead of corrupting it. - Image.cpp was sometimes performing a "normal" (= for uncompressed - images) vertical flip on S3TC-DXTC images, producing weird - results. - Actually, code was trying a "DXTC vertical flip" and relied on - the result to call a "normal vertical flip". But when the "DXTC - v-flip" encounters an error, this is is not necessarily because - the image is not S3TC (ex: unhandled image dimensions)! - So now the code simply does "if dxtc, then flip_dxtc; else - flip_normal;". - - Note from Robert Osfield, moved the isDXT function into the - dxt_tool file and namespace. +"If you handle events in a subclass of any other UIKit responder class: +- You do not have to implement all of the event handling methods. +- In the methods you do implement, be sure to call the superclass implementation. For example, [super touchesBegan:touches withEvent:event]." -2013-05-28 10:46 robert +I added the missing lines and tested it with OSG 3.1.9 and iOS SDK 6.1." - * Fixed the computation of the spot light direction. -2013-05-28 09:20 robert - * Fixed View::setUpViewInWindow() parameter -2013-05-28 08:38 robert +Fri, 19 Jul 2013 20:59:09 +0000 +Checked in by : Robert Osfield +Added default setting of BIND_PER_VERTEX when applying Geometry::setTexCoordArray() - * Added an OSG_INIT_SINGLETON_PROXY(..) to initialize the static - s_GLExtensionDisableString variable +Fri, 19 Jul 2013 17:00:24 +0000 +Checked in by : Robert Osfield +Updated OpenThreads version to be in sync with OSG version -2013-05-27 09:10 robert +Fri, 19 Jul 2013 14:55:36 +0000 +Checked in by : Robert Osfield +Updated version number for svn/trunk to 3.3.0 for all new feature development - * Updated AUTHORS file +Fri, 19 Jul 2013 14:07:17 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file for new 3.2 branch -2013-05-27 09:07 robert +Fri, 19 Jul 2013 14:06:11 +0000 +Checked in by : Robert Osfield +Updated version number to 3.2.0-rc1 in prep for create the 3.2 branch, and 3.2.0-rc1 - * Updated AUTHORS file +Fri, 19 Jul 2013 10:31:45 +0000 +Checked in by : Robert Osfield +Update ChangeLog and AUTHORS files for 3.1.10 dev release -2013-05-27 09:05 robert +Fri, 19 Jul 2013 10:17:26 +0000 +Checked in by : Robert Osfield +Updater version for 3.1.10 dev release - * Updated ChangeLog and AUTHORS file +Fri, 19 Jul 2013 10:11:42 +0000 +Checked in by : Robert Osfield +Removed #if 0 #endif block -2013-05-27 08:13 robert +Fri, 19 Jul 2013 09:43:54 +0000 +Checked in by : Robert Osfield +Fixed problem with the osgviewerQt code override the default View::Camera without setting it's default state on it's StateSet like View does by default. - * From Martin Naylor, "I am receiving 1 build error whilst building - the SVN, its in osgforest as follows: - - error C2065: 'GL_RGBA32F' : undeclared identifier - - Shoudlnt that be GL_RGBA32F_ARB as defined in texture header? - - Attached is the easy fix :)." +Fri, 19 Jul 2013 06:56:13 +0000 +Checked in by : Robert Osfield +From Johannes Scholz, "as we need to dynamically add and remove Effects to and from our Application, I created a small patch for osgFX/Registry to add the osgFX::Registry::removeEffect(effect*) method and extended osgFX::Registry::Proxy to call removeEffect upon its destruction." -2013-05-27 08:10 robert +Fri, 19 Jul 2013 06:39:06 +0000 +Checked in by : Robert Osfield +From Wang Rui, "A very small clerical error in the src/osgViewer/CMakeLists.txt makes MinGW/Cygwin builds fail. Now it is fixed and now OSG works well again with Cygwin. :-) The OSC plugin also needs a small fix to compile with Cygwin, as attached file src/osgPlugins/osc/osc/OscHostEndianness.h shows." - * Moved quad buffer definitions into include/osg/Camera +Fri, 19 Jul 2013 06:20:46 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, "we found that events where not caught when running in ON_DEMAND frame scheme : GraphicsWindow::checkEvents() always return false and GraphicsWindowQt doesn't overload it.here is a simple fix that will return if the list is empty or not and will match the comment in checkEvents() -2013-05-26 10:44 robert - * Updated AUTHORS file -2013-05-26 10:27 robert - * Updated ChangeLog -2013-05-25 10:09 robert +Thu, 18 Jul 2013 20:17:48 +0000 +Checked in by : Robert Osfield +Added a dirty() call to Image::setData(..) - * From Farshid Lashkari, " small update to TangentSpaceGenerator to - support QUAD_STRIP primitive types." +Thu, 18 Jul 2013 16:29:13 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, "after being absent for more than 12 month, I'm very pleased to present my new 3rdparty package (V8). This package is compiled with Visual Studio 2012 Update 3. Some community +members complained that these package is very large (indeed), so I +introduced 2 versions: +- The small version contains the dependencies for several image file formats +( tiff, png, gif, jpeg), as well as zlib, minizip, curl, freetype, glut, +gdal and openSSL +- The full version will include all libraries which were include in the +previous releases of my 3rd party package. -2013-05-24 17:16 robert +Some of the included libraries are released in newer versions, so I adapted +the attached CMake module to find these renamed files. - * Resrtuctured the use of static's in the Uniform::getNameID() - method to avoid problems under Android. +I hope you can merge this minor changes soon, since I plan to publish the +small 3rdparty package today. +" -2013-05-24 17:06 robert - * From Jordi Torres, "We must use JNI_FALSE instead of false in JNI - code. Otherwise the examples will not compile. This patch should - be applied to osgAndroidExampleGLES1/jni and - osgAndroidExampleGLES2/jni. the osgNativeLib.cpp is the same. " -2013-05-24 09:43 robert +Thu, 18 Jul 2013 16:27:17 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, "The extension name is misspelled. It conflicts with GLEW." - * Removed redudent code +Tue, 2 Jul 2013 19:24:10 +0000 +Checked in by : Robert Osfield +Updated AUTHORS and ChangeLog for 3.1.9 dev release -2013-05-24 09:35 robert +Tue, 2 Jul 2013 14:35:29 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "With fstream inheritaince now removed the warning can be enabled again." - * Fixed panning bug, when using RUN_ON_DEMAND, that resulted in the - camera being thrown off towards infinity. - - The solution for to refactor the way that events are checked so I - add a bool return type to checkEvents() method across - osgViewer::GraphcisWindow, osgGA::Devive and - osgViewer::Viewer/CompositeViewer classes +Tue, 2 Jul 2013 14:17:44 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "some of my ive files now generate a warning: Warning, can't assign attribute binding as no has been array assigned to set binding for.I think those are ive's with bumpmaps, but I have not checked yet. The problem is in +OpenSceneGraph\src\osgPlugins\ive\Geometry.cpp +where the code tries to set Normalize and Binding for a missing Array. +I think that code can safely be skipped, considering the write function has a hardcoded write when the array is missing. (introduced in svn rev 13488) -2013-05-23 18:29 robert +modified file (OpenSceneGraph\src\osgPlugins\ive\Geometry.cpp) attached in Zip" - * Added repolation of the _deadparts stack which would otherwise - been invalidatd by the depth sort of particles. -2013-05-23 15:55 robert - * From Pawel Ksiezopolski, Added example of using - osg::TextureBuffer + GLSL to render forest. +Tue, 2 Jul 2013 14:02:06 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "Recent changes cause a few warnings in MSVC 2012 svn 13587 From David Callu, warning fixes and removal of spaces at end of lines.this can be fixed by adding a space before the comment opening /*. +full modified file (openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h) attached in zip -2013-05-23 14:14 robert +Regards, Laurens. - * From David Fries, "This updates the CMakeLists.txt instructions - for the commands - to make the doxygen documentation." -2013-05-23 12:29 robert +openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(71): warning C4138: '*/' found outside of comment (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp) +openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(73): warning C4138: '*/' found outside of comment (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp) +openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(211): warning C4138: '*/' found outside of comment (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp) +openscenegraph\src\osgplugins\osg\BinaryStreamOperator.h(213): warning C4138: '*/' found outside of comment (OpenSceneGraph\src\osgPlugins\osg\ReaderWriterOSG2.cpp)" - * Refactored the idle mechanism to fix problems with the vnc thread - going idle when it shouldn't have. -2013-05-23 10:25 robert - * Added assigned of the InteractiveImageHandler as a cull callback - to enable the interactive image to know when it's being actively - used as part of rendering a frame. +Tue, 2 Jul 2013 13:45:23 +0000 +Checked in by : Robert Osfield +Restructed handling of the _currentShaderCompositionUniformList in State::apply() and State::apply(const StateSet*) so that it can be used even when shader composition isn't enabled. -2013-05-22 15:48 robert +Tue, 2 Jul 2013 10:32:53 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, "Recently I had to integrate a client OpenGL library with OSG. For textures and other StateAttribute I've done that by subclassing osg::StateAttribute and this works well.But for glPrograms, in order to get all osg's uniform management system to work, I had to subclass osg::program::PerContextProgram. - * Quitened down debug messages +Here is a modified version of this class, which add some "virtual" method to allow easy subclassing." -2013-05-22 13:16 robert - * Removed debug messages -2013-05-22 13:09 robert +Tue, 2 Jul 2013 09:44:46 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "The binding of arrays is always set to BIND_UNDEFINED when using the array constructor because the binding parameter is ignored. Here is a fix." - * From Nico Kruithof, "For the VNC server, it seems that the wrong - include path is used. - - Instead of - INCLUDE_DIRECTORIES(${LIBVNCCLIENT_INCLUDE_DIR}) - the CMake variable - INCLUDE_DIRECTORIES(${LIBVNCSERVER_INCLUDE_DIR}) - should be used. - - Attached is a fix for src/osgPlugins/vnc/CMakeLists.txt" +Tue, 2 Jul 2013 09:27:14 +0000 +Checked in by : Robert Osfield +Added SceneView::Options enum enetries APPLY_GLOBAL_DEFAULTS and CLEAR_GLOBAL_STATESET to control whether a _globalStateSet->clear() and _globalStateSet->setGlobalDefaults() should be called.osgViewer::Renderer doesn't use these enum settings so now no longer has a calls StateSet::clear() or StateSet::setGlobalDefaults() on the osg::Camera's StateSet. Previously these were being +called and breaking the ability to attached state to Camera's StateSet. -2013-05-22 12:49 robert - * From Pawel Ksiezopolski, first email: "This submission adds - texture buffer object ( defined in GL_ARB_texture_buffer_object - extension ) to the osg::Texture* family. - - TextureBuffer objects may use osg::Texture::bindToImageUnit(), so - GLSL shaders are able to use not only texelFetch() function , but - also functions defined in GL_ARB_shader_image_load_store - extension : imageLoad(), imageStore(), imageAtomicAdd() etc." - - second email: "After a while I found that - osg::Texture::applyTexParameters() used with TextureBuffer may - cause some OpenGL errors ( applying texture filters and wraps to - TextureBuffer makes no sense ) so I fixed it." -2013-05-22 11:06 robert - * From Jan Ciger, "Here is a little patch to fix a bug in the - InfluenceMap serialization. The names of the maps weren't quoted - properly and therefore it was breaking loading of rigged models - exported from e.g. Blender. Also names that contained spaces - wouldn't have been parsed properly. " +Mon, 1 Jul 2013 16:15:25 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "In a submission on June 27th a lot of new array types were added. This modified the osg::Array::Type enum. Because of this s_ArrayNames array in Array.cpp is now not in sync. This can lead to corrupt exports or crashes when writing .osg files because the change added new types in the middle of the enum instead of at the end.Attached is a new Array.cpp to reflect the new array types." -2013-05-22 10:28 robert - * From David Callu, "ust a simple IF ENDIF mismatch in last commit - (I use git so no available SVN commit number ) : - - CMake Warning (dev) in CMakeLists.txt: - A logical block opening on the line - - /home/ledocc/work/perso/osg_Workspace/osg/CMakeLists.txt:823 (IF) - - closes on the line - - /home/ledocc/work/perso/osg_Workspace/osg/CMakeLists.txt:893 - (ENDIF) - - with mis-matching arguments. - - I remove ENDIF argument, it is no longer needed by cmake" -2013-05-21 17:41 robert +Mon, 1 Jul 2013 12:16:32 +0000 +Checked in by : Robert Osfield +Updated AUTHORS, ChangeLog for dev release - * From Farshid Lashkari, "I'm working on a custom ShaderComposer - and I need access to the full StateSetStack of the State object - within the getOrCreateProgram() method. The problem is that - "State::apply(const StateSet* dstate)" does not add the specified - stateset to the stack. I'm not sure if this was intentional, but - I've updated the function to push/pop the stateset. - - I hope the change seems reasonable. I searched the entire code - base for code that accesses the StateSetStack, and noticed - RenderBin and RenderStage use it. However, I don't think that - code would ever be called from within the State::apply() - function, so I'm fairly confident the change should be safe." +Mon, 1 Jul 2013 10:22:34 +0000 +Checked in by : Robert Osfield +Removed BIND_INSTANCE_DIVISOR as they don't yet have any implementation backend to support them. -2013-05-21 10:22 robert +Mon, 1 Jul 2013 09:12:11 +0000 +Checked in by : Robert Osfield +From David Callu, "Here a fix for FindFBX.cmakeunder linux, library name to look for must be fbxsdk instead of libfbxsdk." - * From Valeriy Dubov, fix for Android build under OSX -2013-05-21 09:48 robert - * From Alexander Sinditskiy, "I just noticed that Dragger allways - handle events even when - handle(const PointerInfo&, const osgGA::GUIEventAdapter&, - osgGA::GUIActionAdapter&) - returns false.I think it is not correct...i think handled should - be changed only when it is really handled." +Mon, 1 Jul 2013 09:10:11 +0000 +Checked in by : Robert Osfield +From David Callu, "Here a CMakeLists.txt modified with OSG_AGGRESSIVE_WARNING_FLAGS defined when Clang compilator is used" -2013-05-21 09:44 robert +Mon, 1 Jul 2013 09:09:49 +0000 +Checked in by : Robert Osfield +Fixed debug build compile problem - * Added use of SingleWindow for when only one screen is used +Mon, 1 Jul 2013 08:21:13 +0000 +Checked in by : Robert Osfield +Reverted the usage of OSG_UNUSED and OT_UNUSED as in hindsight these should never have been merged. Adding code to quieten inappropriate warnings is a bad programming practice and does not desrve a place in the OSG code base. -2013-05-20 19:24 robert +Fri, 28 Jun 2013 15:44:04 +0000 +Checked in by : Robert Osfield +From John Kaniarz, "This patch modifies ReaderWriterPNG.cpp to 1. Check the bit depth of the passed Image and return an error if not 8 or 16. (not fully featured, but still an improvement over hard coded 8bit for everything) 2. Endian swap 16bit image data when on a little endian architecture. " - * Refactored the support for stereo and keystone RTT setup so that - it can be applied to an existing Camera. +Fri, 28 Jun 2013 14:47:02 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, "Documentation for -p and --speed options in osgviewer" -2013-05-20 14:17 robert +Fri, 28 Jun 2013 14:38:45 +0000 +Checked in by : Robert Osfield +From Marcel Pursche, fixed checking of destination dimensions in osg::copyImage. - * Added support for controlling border and override redirect to the - SingleWindow View::Config +Fri, 28 Jun 2013 14:32:12 +0000 +Checked in by : Robert Osfield +From Lilin Xiong, "When writing proxyNode to ive file, we forget "LoadingExternalReferenceMode ". Add some code to fix this.if (out->getVersion() >= VERSION_0045) +{ + out->writeInt(getLoadingExternalReferenceMode()); +} -2013-05-20 10:23 robert +if (in->getVersion() >= VERSION_0045) +{ + setLoadExternalReferenceFiles( (osg::ProxyNode::LoadingExternalReferenceMode)in->readInt() ); +} +" - * Added a dedicated RTT texture for each of the left and right eyes - when doing ANAGLYPHIC stereo to avoid issues with scene graphs - containing ClearNode's such as when using in Present3D -2013-05-16 15:52 robert - * Added support for setting the left/right cull masks +Fri, 28 Jun 2013 14:21:43 +0000 +Checked in by : Robert Osfield +From Gill Peacegood, "fix for a memory leak in the DelaunayConstraint class" -2013-05-16 14:51 robert +Fri, 28 Jun 2013 14:08:36 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "the current version of BufferObject causes a huge amount of warnings in Visual Studio 2012 like:OpenSceneGraph/include\osg/BufferObject(701): warning C4138: '*/' found outside of comment (E:\osg\osgSvn\OpenSceneGraph\src\osg\Array.cpp) - * Changed the default of OSG_SPLIT_STEREO_AUTO_ADJUST_ASPECT_RATIO - to OFF +adding a space before /* fixes the problem + void removeClient(osg::Object * /*client*/) { --_numClients; } +" -2013-05-16 14:11 robert - * Fixed stereo offsets of HORIZONTAL_SPLIT and VERTICAL_SPLIT - stereo modes -2013-05-16 14:07 robert +Fri, 28 Jun 2013 14:07:31 +0000 +Checked in by : Robert Osfield +Fixed handling of DISPLAY=127.0.0.1:2 usage. - * Reverted back to changes before experiements with ViewConfig +Fri, 28 Jun 2013 13:43:46 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, Added support for glPrimitiveRestartIndex."The idea of this new OpenGL feature is : -2013-05-16 10:28 robert +- set RestartIndex = "n" +- draw elements strip + -> when the index is "n", the strip is "stopped" and restarted - * Cleaned up the WoWVxDisplay command line parsing +It's very usefull for drawing tiles with a single strip and a "restart" at the end of each row. -2013-05-16 10:11 robert +The idea a an OSG StateAttribute is : - * Renamed osgViewer::Config osgViewer::ViewConfig and moved it's - declaration into include/osgViewer. +Usually we use to build geometry from code, because software modelers rarely support it (and 3d file formats doesn't support it) : -2013-05-16 09:08 robert +-RootNode <= "PrimitiveRestartIndex=0" // So now, we know that our restart index is 0 for all drawables under this node +| +- Drawable 1 : triangles => as usual +| +- Drawable 2 : triangles strip => as usual +| +- Drawable 3 : triangles strip + "GL_PRIMITIVE_RESTART" mode = ON => use the restart index +| +- Drawable 4 : triangles strip + "GL_PRIMITIVE_RESTART" mode = ON => use the restart index +| +- Drawable 5 : triangles strip => as usual - * Added WoWVxDisplay view config -2013-05-15 16:15 robert +With a StateAttribute, it's easy for the developper to say "0 will be my restart index for all this object" and then activate the mode only on some nodes. - * Created a dedicated include/osgViewer/config and - src/osgViewer/config directories to place all the Config classes. +The main problem is if you set and restart index value which is not included in the vertex array (for exemple set restart index = 100 but you have only 50 vertex). There is no problem with OpenGL, but some OSG algorithms will try to access the vertex[100] and will segfault. -2013-05-15 12:50 robert +To solve this, I think there is two ways : - * Added support for osgViewer::Config in osgViewer::Viewer command - line parsing +1/ add restart index in osg::PrimitiveSet and use this value in all algorithms. It's a lot of work, maybe dangerous, and it concern only a few situations : developpers who use this extension should be aware of advanced OpenGL (and OSG) data management -2013-05-15 11:31 robert +2/ use a StateAttribute, and choose a "correct" restart index. In my applications, I always use "0" as a restart index and duplicate the first vertex (vertex[0] = vertex[1]). So there is no difference for OpenGL and all OSG algorithms works properly. +" - * Introduced osgViewer::Config base class and beginnigs of various - Config implementations. - Introduced osgViewer serializers plugin for serialization support - for osgViewer::Config implementations and Keystone -2013-05-14 16:23 robert - * From Lionel Lagarde, "When a function do: - - OSG_DEBUG << "Hello world!\n"; - - the underlying stream is not automatically flushed. It is flushed - if endl is queued instead of \n: - - OSG_DEBUG << "Hello world!" << std::endl; - - - The notify macros do: - stream->setCurrentSeverity(severity); - return *stream; - - So, if a function do: - - OSG_DEBUG << "This is a debug message\n"; - OSG_NOTICE << "This is a notice message" << std::endl; - - the debug message will be classified as a notice message. - - It is a problem when the application uses a NotifyHandler. The - notify - method of the handler is called with: - - severity = NOTICE - message = "This is a debug message\nThis is a notice message" - - The attached Notify.cpp contains an automatic flush of the stream - when - the current severity changes. - - " -2013-05-14 16:18 robert +Fri, 28 Jun 2013 12:45:39 +0000 +Checked in by : Robert Osfield +Added handling of an odd number rows in the capsule rendering and primitive calculation. - * From Michael Kapelko, "The provided patch (against SVN revision - 13380) adds missing constness to returning calls (without it the - user code does not compile)." +Fri, 28 Jun 2013 12:00:43 +0000 +Checked in by : Robert Osfield +From David Callu, warning fixes and removal of spaces at end of lines. -2013-05-14 16:15 robert +Fri, 28 Jun 2013 10:59:01 +0000 +Checked in by : Robert Osfield +From David Callu, "in osgViewer::WoWVxDisplay::WoWVxDisplay(unsigned int type=20, unsigned int screenNum=0) screenNum is unused.fix attached. +" - * From Farshid Lashkari, "The tga image loader was not properly - reading in 16-bit images. Fix is attached." -2013-05-14 16:12 robert - * From Ulrich Hertlein, "Attached is a patch that introduces - 'static_cast' on some instances where - the code returns '.size()' of a std::vector. This caused some - warnings when using clang++ - on OS X." +Fri, 28 Jun 2013 10:51:22 +0000 +Checked in by : Robert Osfield +From David Callu, added support for glVertexAttribLPointer and glVertexAttribIPointer, utilized via osg::Array::setPreserveDataType(true); -2013-05-14 13:35 robert +Fri, 28 Jun 2013 08:57:42 +0000 +Checked in by : Robert Osfield +From David Callu, serializer support for new Vec* and Vec*Array classes - * Updated ChangeLog +Fri, 28 Jun 2013 08:11:46 +0000 +Checked in by : Robert Osfield -2013-05-14 13:34 robert - * Updated version after dev release +Thu, 27 Jun 2013 17:37:03 +0000 +Checked in by : Robert Osfield +From David Callu, "Added Vec3ub, Vec3us, Vec4us, Vec2ub and Vec2us classes" -2013-05-13 13:12 robert +Thu, 27 Jun 2013 16:44:32 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, "Support for paging and shared PBO""The attached file contains: +- a per-context read counter in GLBufferObject::BufferEntry +- a global client counter in BufferData +- the glue between Texture* and Image client counter +" - * Added OSGUTIL_EXPORT for Windows build -2013-05-13 12:08 robert - * Updated version number for dev release +Thu, 27 Jun 2013 15:18:38 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, added passing on of the gl array normalize to OpenGL when uses vertex attribute aliasing. -2013-05-13 11:59 robert +Thu, 27 Jun 2013 14:46:16 +0000 +Checked in by : Robert Osfield +Replaced deprecatated osg::Geometry::get*Binding() calls. - * Updated ChangeLog for dev release +Thu, 27 Jun 2013 13:37:26 +0000 +Checked in by : Robert Osfield +Added Geometry::containsDeprecatedData() / fixDeprecatedData() -2013-05-13 11:51 robert +Thu, 27 Jun 2013 10:58:26 +0000 +Checked in by : Robert Osfield +Removed deprecated usage of osg::Geometry::get*Binding() - * Updated links to svn repository +Thu, 27 Jun 2013 09:59:33 +0000 +Checked in by : Robert Osfield +Replaced deprecated osg::Geometry::set*Binding() usage. -2013-05-13 11:02 robert +Thu, 27 Jun 2013 09:54:45 +0000 +Checked in by : Robert Osfield +Replaced deprecated osg::Geometry::set*Binding() usage - * Fixed build for when automatic type conversion isn't enabled for - ref_ptr<> +Thu, 27 Jun 2013 09:54:12 +0000 +Checked in by : Robert Osfield +Replaced deprecated osg::Geometry::set*Binding() usage. -2013-05-13 09:53 robert +Thu, 27 Jun 2013 08:44:15 +0000 +Checked in by : Robert Osfield +Replaced deprecated osg::Geometry::set*Binding() usage - * Fixed the render order to the Render To Texture cameras used in - stereo keystoning. +Thu, 27 Jun 2013 08:30:51 +0000 +Checked in by : Robert Osfield +Replaced deprecated Geometry::set*Binding() -2013-05-13 09:49 robert +Wed, 26 Jun 2013 18:06:09 +0000 +Checked in by : Robert Osfield +Replaced deprecated Geometry::set*Binding() usage - * Improved the use of the Keystone's defined in the DisplaySettings - object. +Wed, 26 Jun 2013 17:58:57 +0000 +Checked in by : Robert Osfield +Removed deprecated Geometry::set*Binding() usage -2013-05-13 09:18 robert +Wed, 26 Jun 2013 17:54:35 +0000 +Checked in by : Robert Osfield +Added osg::getBinding(osg::Array* array) convinience function that returns the Array::getBinding() is the array is not NULL, otherwise returns BIND_OFF. - * Added to Viewer::realize() automatic setup using Keystone when - available and enabled, and when no other window setup has been - selected. +Wed, 26 Jun 2013 17:45:19 +0000 +Checked in by : Robert Osfield +Replaced deprecated osg::Geometry::set*Binding() usage -2013-05-10 17:59 robert +Wed, 26 Jun 2013 17:44:30 +0000 +Checked in by : Robert Osfield +Replaced deprecated osg::Geometry::set*Binding() calls. - * Added DisplaySettings::KeystoneHint flag that can be set via - --keystone-on and --keystone-off command line parameters, and the - OSG_KEYSTONE env var +Wed, 26 Jun 2013 16:16:23 +0000 +Checked in by : Robert Osfield +From Sebastian Messerschmidt, "I've taken some time and refactored some places where the old set*Binding were used." -2013-05-10 16:06 robert +Wed, 26 Jun 2013 13:00:12 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, "This submission allow the user to specify how to setup VertexAttributeAliasing.I think this is necessary on OpenGL 3.2+ since this is no more "default" locations in the OpenGL specs. - * Added keystone file handling +The default behaviour stay the same. -2013-05-10 11:56 robert +There is a few new methods on osg::State : - * Added --keystone command line support into - DisplaySettings, and added OSG_KEYSTONE_FILES env var support - into osg::DisplaySettings. +- resetVertexAttributeAlias : reset all vertex alias to osg's default ones +- set**Alias : set a vertex attribute alias configuration +- setAttributeBindingList : set the attribute binding list (allow to specify an empty list if you're using "layout" qualifier in glsl code to specify the bindings. This save some CPU operations)" -2013-05-10 10:00 robert - * Moved Keystone support from osgkeystone example into - osgViewer::View -2013-05-09 15:18 robert +Wed, 26 Jun 2013 12:59:40 +0000 +Checked in by : Robert Osfield +Removed unused methods - * Moved Keystone class into osgViewer library. +Wed, 26 Jun 2013 12:33:40 +0000 +Checked in by : Robert Osfield +Removed spaces from end of line -2013-05-07 14:43 robert +Wed, 26 Jun 2013 12:33:14 +0000 +Checked in by : Robert Osfield +Fixed bug in TemplateTargetAttributeDispatch that was causing a crash with the osgsimplegl3 example - * Cleaned up event handler and namespaces in prep for integrating - keystone functionality into osgViewer +Wed, 26 Jun 2013 09:04:20 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov and Robert Osfield, "the index mesh and vertex pre-transform optimizers can rearrange or change the size of arrays assigned to a geometry. This leads to crashes or corrupt geometry when using shared arrays.Attached a fix that duplicates shared geometry arrays." -2013-05-07 13:34 robert - * Added keystone support for left eye, right eye and quad buffer - stereo -2013-05-07 11:13 robert - * Added keystone setup to vertical split stereo suport and cleaned - up the horizontal split stereo code -2013-05-03 20:12 robert +Wed, 26 Jun 2013 08:53:56 +0000 +Checked in by : Robert Osfield +Removed Geometry::fixDeprecatedData() as it won't work on const Geometry - * Commented out debug output +Wed, 26 Jun 2013 07:08:26 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "The attached file replaces the deprecated geometry use in osgSim. The per primitive use is changed to full per vertex arrays." -2013-05-03 19:26 robert +Tue, 25 Jun 2013 16:19:00 +0000 +Checked in by : Robert Osfield +Removed #include as it's nolonger required in the header - * Introduced new scheme for handling mouse events with osgViewer. - The new scheme enables robust event handling even when using - distortion correction render to texture Cameras. +Tue, 25 Jun 2013 16:10:24 +0000 +Checked in by : Robert Osfield +With assistance from Sukender, moved the depreacted osg::Geometry vertex indices and AttributeBinding definitions out into a separated namespace/class so to use deprecated features you should now use deprecated_osg::Geometry in place of osg::Geometry. -2013-04-26 10:00 robert +Tue, 25 Jun 2013 11:13:50 +0000 +Checked in by : Robert Osfield +From Christian Buchner, "Here is a strongly overhauled version of the original osgoit ("order independent transparency") by Mathias Fröhlich. I called this version myosgoit. It looks very nice, just build and run it!This version adds: - * As a test of new repository updated date in README.txt +- an encapsulation of the entire Depth Peeling procedure into a class (not currently a scene graph node) for easier integration in other projects. -2013-04-18 17:02 robert +- compositing with opaque (solid) geometry is possible and the opaque model is only rendered once. This needs to performs some depth buffer blitting between FBOs. - * Refactored Keystone setup as a step toward integrating Keystone - correction with stereo +- mix and match with GLSL shaders in the transparent objects is possible, as demonstrated with a 3D heat map intersecting an opaque truck model. -2013-04-18 09:47 robert - * Implemented stereo support into osgkeystone as a testbed for - moving stereo support from SceneView into osgViewer +Some Drawbacks: -2013-04-17 11:04 robert +- the display framebuffer does not receive any depth information from the compositing camera. This could be fixed by compositing with a GLSL shader and writing to FragDepth." - * Implemented initial cut of anaglyphic stereo +From Robert Osfield, ported the code to work under Linux and without the automatic ref_ptr to C* conversion. -2013-04-16 09:26 robert - * Changed point to osg::ref_ptr<> to prevent memory leaks. -2013-04-15 14:21 robert - * Preperation for adding stereo support direclty into osgViewer. -2013-04-12 13:01 robert +Tue, 25 Jun 2013 09:52:38 +0000 +Checked in by : Robert Osfield +From Alberto Luacas, "current Doxygen warns against the use of obsolete fields: DETAILS_AT_TOP, SHOW_DIRECTORIES, HTML_ALIGN_MEMBERS.I have removed those in the configuration files." - * Added support for enable/disabling the keystone editing using the - Ctrl-g key to toggle the UI and grid on/off. -2013-04-12 09:05 robert - * Moved keystone event handler onto the keystone distortion Camera. -2013-04-12 08:52 robert +Mon, 24 Jun 2013 12:51:02 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "I fixed a little issue with the lightwave scene loader. On the version 5 there are id on the command LoadObjectLayer in the scene file and of this version the current code use this field as a part of the filename, and it fails because the file is not found. I just added a field version_ to read it at the beginning and added extra code to check it and read the extra field if needed and read the good filename" - * Refactoed the grid rendering so that it's now implemented as part - of the distortion mesh pass, leaving the main scene graph alone. +Mon, 24 Jun 2013 12:31:48 +0000 +Checked in by : Robert Osfield +From Christian Ruzicka, "when MSAA is activated on iOS, the stencil attachment is not added (Stencil buffer is not working at all). Attached are the needed changes to make MSAA + stencil working on iOS.Tested with OSG 3.1.7 and iOS SDK 6.1." -2013-04-11 17:12 robert - * Add support for a finer grained mesh on the distortion mesh for - higher quality results. -2013-04-11 16:07 robert +Mon, 24 Jun 2013 12:30:08 +0000 +Checked in by : Robert Osfield +Updatd SO_VERSION to reflect changes in ABI from merging submissions. - * Moved the keystone geometry computation into a - Keystone::compute3DPositions(..) method +Mon, 24 Jun 2013 12:27:19 +0000 +Checked in by : Robert Osfield +From Sukender, "I recently pulled from the GIT mirror and found that "OSG_USE_DEPRECATED_GEOMETRY_METHODS=OFF" hides a little mistake: there is a "#include " inside the "osg" namespace, in inlude/osg/Geometry. " -2013-04-10 16:36 robert +Mon, 24 Jun 2013 11:40:16 +0000 +Checked in by : Robert Osfield +From Mourad Boufarguine, "Attached is a fix for the ply reader to use the output of osgDB::findDataFile." - * Removed old experimental keystone code to clean up the example -2013-03-28 10:46 robert - * Changed the way that the keystone geometry is calculated. +Mon, 24 Jun 2013 11:39:26 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, "You'll find attached a modification of DXWriter to support Material color: If a material is present, the diffuse color is affected to current layer." -2013-03-27 16:29 robert +Mon, 24 Jun 2013 11:14:13 +0000 +Checked in by : Robert Osfield +From Lars Nillson, "The change in this submission is to take care of the setting given by a call to setMaximumNumOfObjectsToCompilePerFrame(…).Sometimes if you give a low number, more than the expected number of objects are compiled." - * Added keypad control of corner points -2013-03-26 17:03 robert - * Moved local variable into local scope to avoid it being created - when not used. +Mon, 24 Jun 2013 11:03:59 +0000 +Checked in by : Robert Osfield +Convert usage to use const versions of containers -2013-03-26 16:47 robert +Mon, 24 Jun 2013 09:59:22 +0000 +Checked in by : Robert Osfield +From Frederic Morin, "Current behaviour uses SDKSettings.plist to determine osx version but this file is only available when XCode is installed.This version works also when Command Line Tools for XCode are +installed (minimum build env for osx without XCode) - * Introduced shearing of the image +See https://github.com/openscenegraph/osg/pull/8 for patch details +Patch: https://github.com/openscenegraph/osg/pull/8/files" -2013-03-26 11:00 robert - * Improved the setup of the keystone distortion correction mesh. -2013-03-21 16:42 robert +Mon, 24 Jun 2013 09:51:30 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've attached a small patch that extends the Image::readImageFromCurrentTexture method to support more depth texture pixel formats (16, 24, 32, 32F). In order to compile, I moved some depth pixel format definitions from FrameBufferObject to Image. " - * Updated developer release number +Mon, 24 Jun 2013 09:31:34 +0000 +Checked in by : Robert Osfield +From Christian Noon, "Got a simple patch for correcting a problem with the USE_COMPRESSOR_WRAPPER() macro in the osgDB::Registry. The problem is that the wrapper declaration doesn't match the one defined in the REGISTER_COMPRESSOR() method in the osgDB::ObjectWrapper method. This patch fixes the wrapper declaration so they both match properly. I ran into this problem using compressed files in an iOS application where all the libraries and plugins need to be built statically." -2013-03-21 16:22 robert +Mon, 24 Jun 2013 09:12:58 +0000 +Checked in by : Robert Osfield +From Nick Black, "Hey there! avcodec_open() has been deprecated for some time, and indeed has been removed in the most recent versions of libavcodec/ffmpeg. You're already using avcodec_open2() elsewhere, but one appears to have been missed. The change is trivial:[skynet](0) $ svn diff +Index: src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp +=================================================================== +--- src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp (revision 13355) ++++ src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp (working copy) +@@ -109,7 +109,7 @@ + // m_context->flags |= CODEC_FLAG_TRUNCATED; - * Added check against isVertexBufferObjectSupported() in - set*Pointer() methods + // Open codec +- if (avcodec_open(m_context, p_codec) < 0) ++ if (avcodec_open2(m_context, p_codec, NULL) < 0) + throw std::runtime_error("avcodec_open() failed"); + } -2013-03-21 11:35 robert +[skynet](0) $ - * Added keystone grid to aid editing +I've applied similar changes this year to many other packages, including +cheese, blender, linphone, ad nauseam. It's been tested by verifying that +with my patch, OSG builds against the newest libavcodec and ffmpeg, whereas +otherwise it does not. -2013-03-20 14:03 robert +The modified src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp is attached. It +originates in svn trunk revision 13355. Thanks!" - * Added arrow key support. Added support for using ctrl and shift - keys to modulate how senstive the mouse and key movement is when - modifying the keystone parameters. -2013-03-19 16:43 robert - * Improve corner point tracking/keystone computation +Mon, 24 Jun 2013 09:02:32 +0000 +Checked in by : Robert Osfield +Introduced typedef's to make the code more readble and maintanable -2013-03-19 12:44 robert +Mon, 24 Jun 2013 08:48:55 +0000 +Checked in by : Robert Osfield +From Wang Rui, "The file attached includes two new features for the serialization IO functionality. First, custom serializer version control should work now, just by defining a new REGISTER_CUSTOM_OBJECT_WRAPPER macro. For example:// A custom class +namespace CustomDomain { - * Added event handle for interactive setting of keystone variables +class MyGroup : public osg::Group +{ +public: + META_Node( CustomDomain, MyGroup ); -2013-03-15 17:35 robert + void setMyName( const std::string& n ); + const std::string& getMyName() const; - * Experiments with modifying the projection matrix to provide - keystoning. + void setMyID( int id ); + int getMyID() const; -2013-03-14 16:24 robert + ... +}; - * Initial skeleton of new osgkeystone example +} -2013-03-11 17:16 robert +// The serialization wrapper using a custom domain name +REGISTER_CUSTOM_OBJECT_WRAPPER( MyDomain, + CustomDomain_MyGroup, + new CustomDomain::MyGroup, + CustomDomain::MyGroup, + "osg::Object osg::Node osg::Group CustomDomain::MyGroup" ) +{ + ADD_STRING_SERIALIZER( MyName, std::string() ); + { + UPDATE_TO_VERSION_SCOPED( 1 ); // Updated for a new domain version + ADD_INT_SERIALIZER( MyID, 0 ); + } +} - * From Aurelien Albert, "There is a little bug in the - osg::Group::insertChild method : - - If the index is more than the size of _children vector, the new - child is pushed at the end of the vector, but the index value is - unmodified, so an incorrect value is passed to the - "childInserted" method." +Save the class instance as follows: +osgDB::writeNodeFile( *myGroup, "serializer_test.osgt", new osgDB::Options("CustomDomains=MyDomain:1") ); -2013-02-22 17:42 robert +The output file will include the domain version definition and all the class data, and can be read back. We can also force setting the domain version by the CustomDomains option while reading the saved files. If we save the class instance without any options, MyID will be ignored because the default domain version is 0. - * From Chris Hanson, " Adds missing copy for _bbox member variable - to copy constructor: - - LightPointNode::LightPointNode(const LightPointNode& lpn,const - osg::CopyOp& copyop): - osg::Node(lpn,copyop), - _bbox(lpn._bbox), - _lightPointList(lpn._lightPointList), - _minPixelSize(lpn._minPixelSize), - _maxPixelSize(lpn._maxPixelSize), - _maxVisibleDistance2(lpn._maxVisibleDistance2), - _lightSystem(lpn._lightSystem), - _pointSprites(lpn._pointSprites) - { - } - - - Lacking this causes _bbox to be uninitialized after LOD changes - when paged databases refer to shared subgraphs. - - " +This may help third-party libraries like osgEarth to maintain their own serializers without regarding to the OSG soversion changes. -2013-02-13 16:29 robert +Another feature added is a more robust binary format, which in fact adds a size-offset at each block's beginning. When there are problems or unsupported data types while reading, we can now directly jump to the block end indicated by the offset value. So a .osgb file will automatically ignore bad data and read remains as normal (at present it will fail at all). This feature will not break the backward compatibility, and can be disabled by setting "RobustBinaryFormat=false" while writing out. - * From Lukasz Izdebski,"added support for gl_SampleMaski." +Hope these changes can work smoothly with present and future community projects. Maybe we should also consider have an osgserializer example to test and demonstrate all things we can do now." -2013-02-13 16:03 robert - * From Jordi Torres, "This error occurs when compiling current OSG - with the NDK >=r8c: - - android-ndk-r8d/build/gmsl/__ - gmsl:512: *** non-numeric second argument to `wordlist' function: - ''. Stop. - - This is discussed in this thread[1]. - The solution is to add to - the manifest as the OSG library will only run in devices with - Android>=2.2 (Froyo) with API level 8 [2]. - - The fix does not affect to older sdk's. - - Thanks to Jan Ciger for spotting the bug and find a possible - solution. " -2013-02-12 15:44 robert +Mon, 24 Jun 2013 08:22:50 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Sorry for my very slow response because of some personal issues. I found that new Geometry serializers can't work with old .osgb files. The modified FastPathHint serializer doesn't correctly read from the stream and thus jumbles following inputs. The file attached can be placed in osgWrappers/serializers/osg to fix that problem." - * From Jordi Torres, Android build fix -2013-02-12 15:40 robert - * From Jordi Torres, fix for Android build +Mon, 24 Jun 2013 08:19:34 +0000 +Checked in by : Robert Osfield +From Wang Rui, "The osgdb_ffmpeg plugin may not work with latest ffmpeg windows sdk and will say "The procedure entry point xxx could not be located in xxx.dll" instead. The following link describes the reason (maybe a certain optimization problem of the VS compiler): http://forum.videolan.org/viewtopic.php?f=32&t=98097After adding the /OPT:NOREF, the problem has gone. -2013-02-12 15:18 robert +" - * From Stephan Huber, fixed bug in setting _numMessagesPerEvent and - added more debug information -2013-02-07 19:16 robert - * From Mike Connell, "3 smaller fixes for the 3DS loader (against - trunk) - - 1. Respect "noMatrixTransforms" option for matrices attached to - meshes, not only those attached to nodes - - 2. traverse_nodes variable did the exact opposite of it's - description. - - 3. Always try to load referenced textures, even if we can't find - the files (in order to the the registry's ReadFileCallback have a - stab at it) - " +Mon, 24 Jun 2013 08:18:08 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "In many game engines it is common to set the W component of the tangent vector to -1 if the UVs are mirrored and 1 if not. I've updated the osgUtil::TangentSpaceGenerator class to do the same." -2013-02-07 11:10 robert +Fri, 21 Jun 2013 19:35:56 +0000 +Checked in by : Robert Osfield +Updated version number after dev release - * From Lukasz Izdebski , "I added write and read numInstances in - PrimitiveSet." +Fri, 21 Jun 2013 19:35:26 +0000 +Checked in by : Robert Osfield +Removed spaces from end of lines -2013-02-07 11:08 robert +Fri, 21 Jun 2013 14:37:35 +0000 +Checked in by : Robert Osfield +Fixed author name error introduced by xxdiff - * Updated SO version in prep for serialization foramt change +Fri, 21 Jun 2013 14:30:45 +0000 +Checked in by : Robert Osfield +Reapplied AUTHORS changes -2013-02-07 08:46 robert +Fri, 21 Jun 2013 14:29:00 +0000 +Checked in by : Robert Osfield +Update ChangeLog and AUTHORS.txt for release - * Updated AUTHORS list +Fri, 21 Jun 2013 14:17:42 +0000 +Checked in by : Robert Osfield +Removed unneccessary handling of BIND_PER_PRIMITIVE on output code -2013-02-06 16:04 robert +Fri, 21 Jun 2013 13:59:18 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, introduced use of osg::observer_ptr in place of osg::Camera* - * From Wee See, Support for importing OpenFlight Surface Material - Codes using osg::Object::UserValue. Notes from Wee See: - - See attached my ported code, which fulfills: - - - using of setUserValue()/getUserValue() - - user-value will be attached to Geode or Drawable - - actually 3 values will be added: SMC (surface), FID (feature) - and IRC (IRcolor). Its UserValue-names are < UA:SMC >, < UA:FID > - and < UA:IRC > (without spaces!) - - user-value will be attached to Geode or Drawable - - has an option (named preserveNonOsgAttrsAsUserData) for control - whether the UserValues should be attached (Default: no UserValues - will be attached) - - Reading out this values is very simple. Here is an example - (uservalue-name without spaces!): - - signed short smc; - if (myGeode.getUserValue("< UA:SMC >", smc)) - { - doSomethingWithTheGeodeAndItsSmc(myGeode, smc); - } - else - { - // geode has no SMC - } +Fri, 21 Jun 2013 13:41:03 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find the missing readObject-implementations for the imageio-plugin as suggested by Remo Eichenberger." -2013-02-06 14:50 robert +Fri, 21 Jun 2013 12:10:44 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, build fix - * From Aurelien Albert, "This line,I use the - "useVertexAttributeAliasing" mode in my application, and color - arrays are not normalized, so shaders get [0.0-255.0] values - instead of [0.0-1.0] values. - This patch fix this." - - and those below, will be ignored - ---- - - M include/osg/State +Fri, 21 Jun 2013 10:59:03 +0000 +Checked in by : Robert Osfield +Build fixes for new osg::Geometry -2013-02-06 14:49 robert +Fri, 21 Jun 2013 10:14:18 +0000 +Checked in by : Robert Osfield +Converted osg::Geometry::ArrayData usage across to osg::Array. - * Added TODO note about RGB -> RGBA +Fri, 21 Jun 2013 10:03:49 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "I just tested openGL quadbuffered stereo with the osgviewer, the mouse works again, so does the keystonecorrection, but the right-eye render to texture camera appears not to clear it's color buffer. I found the problem in src\osgViewer\View.cpp, fix attached." -2013-02-06 12:46 robert +Fri, 21 Jun 2013 09:53:57 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, I needed to modify the FindCOLLADA.cmake to enable its compilation under macosx. - * From David Longest, "I have updated the FFmpeg plugin to support - the 1.0 release version of FFmpeg. The files attached were - modified in order to facilitate the update. Below are the details - for all changes made. - - - - Header update - - FindFFmpeg.cmake has been changed in order to support the new - header include format for FFmpeg. In the 1.0 release, a new file - had been added with the name “time.h” in the avutil library. The - previous method of adding includes caused conflicts with the ANSI - C “time.h” file. Now the include directive will only use the main - include folder. All files using the old include format have been - updated to reflect the change. - - - - Added __STDC_CONSTANT_MACROS define to CMakeLists.txt - - Since there is no guarantee that FFmpegHeaders.hpp will be - included before stdint.h is included, the define has been moved - from FFmpegHeaders.hpp to be part of the CMakeLists.txt for the - FFmpeg plugin. This will allow the define to work on all - compilers regardless of include order. - - - - Replaced AVFormatParameters with AVDictionary - - AVFormatParameters is no longer supported in FFmpeg and has been - replaced with a key/value map of strings for each setting. - FFmpegParameters and FFmpegDecoder has been updated to reflect - this. - - - - Replaced av_open_input_file with avformat_open_input - - FFmpeg now opens files using avformat_open_input. Since the - av_open_input_file method is deprecated, the FFmpegDecoder class - has been updated to reflect this change. - - - - Added custom AVIOContext field to options - - Since some formats and inputs may not be supported by FFmpeg, I - have added a new parameter that allows a user to allocate their - own AVIOContext. This class will allow for creating a read, seek, - and write callback if they desire. - - - - Checking for start_time validity - - It is possible for some file formats to not provide a start_time - to FFmpeg. This would cause stuttering in the video since the - clocks class would be incorrect. - - - - Removed findVideoStream and findAudioStream - - The new FFmpeg release already has a function that will find the - best audio and video stream. The code has been replaced with this - function. - - - - Updated error reporting - - Some functions would not log an error when opening a file or - modifying a file failed. New logs have been added as well as a - function to convert error numbers to their string descriptions. - - - - decode_video has been replaced - - The old decode_video function would remove extra data that some - decoders use in order to properly decode a packet. Now - av_codec_decode_video2 has replaced that function. - - - - Picture format changed from RGBA32 to RGB24 - - Since most video will not contain an alpha channel, using a 24 - bit texture will use less memory." +Fri, 21 Jun 2013 09:47:04 +0000 +Checked in by : Robert Osfield +Converted ArrayData usage across to set*Array() usage with new binding parameter -2013-02-06 12:02 robert +Fri, 21 Jun 2013 09:43:15 +0000 +Checked in by : Robert Osfield +Added new osg::Array::Binding parameter to osg::Geometry::set*Array(osg::Array* array, osg::Array::Binding binding=osg::Array::BIND_UNDEFINED) methods to make it easier for the user to set the binding without the need to call the deprecated osg::Geometry::set*Binding(osg::Geometry::AttributeBinding) - * Simplified include/osg/Math to use Standard C++ maths headers - - and +Fri, 21 Jun 2013 09:40:43 +0000 +Checked in by : Robert Osfield +Removed spaces at ends of lines -2013-02-06 11:16 robert +Fri, 21 Jun 2013 09:17:28 +0000 +Checked in by : Robert Osfield +From FrancoisTigeot, "OpenSceneGraph 3.0.1 doesn't build out of the box on DragonFly and needs a few modifications to these files: - applications/present3D/Cluster.cpp - src/osgDB/FileUtils.cppThe changes are needed to fix a few platform specific things such as the +absence of stat64, int/socklen_t differences, etc... and are in the same +line as Linux, Apple and FreeBSD specific checks. - * Fixed warning +I have attached the modified files; the original patches to 3.0.1 are +also visible here if you find it more convenient: +http://dl.wolfpond.org/dports/graphics.osg/dragonfly/patch-applications_present3D_Cluster.cpp +http://dl.wolfpond.org/dports/graphics.osg/dragonfly/patch-src_osgDB_FileUtils.cpp -2013-02-06 09:20 robert +With these changes, osg 3.0.1 is able to be built and packaged on DragonFly +whereas it previously failed to compile." - * From Stephan Huber, fixed for Windows 64bit build -2013-02-05 18:22 robert - * Added .get()'s to fix compilation when ref_ptr<> type conversion - is disabled -2013-02-04 16:25 robert +Fri, 21 Jun 2013 08:56:24 +0000 +Checked in by : Robert Osfield +From Matthias Helsing, "Here is the changed source to prefer using _NET_WM_STATE_ABOVE but fall back to XRaiseWindow should the Atoms not be supported. I'm not sure how many might be using the raiseWindow feature but I needed it for a splash on Ubuntu 12.04." - * Updated ChangeLog +Fri, 21 Jun 2013 08:37:47 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've updated the dds, png, and jpeg plugins to support writing images with the GL_DEPTH_COMPONENT pixel format. They will simply treat it the same as the GL_LUMINANCE pixel format." -2013-02-04 14:42 robert +Fri, 21 Jun 2013 08:03:56 +0000 +Checked in by : Robert Osfield +From Jan Ciger, " I have put there in the comment a nicer way of doing version checks, but that needs at least CMake 2.6.2." - * Updated version number after 3.1.4 developer release +Thu, 20 Jun 2013 16:44:14 +0000 +Checked in by : Robert Osfield +Fixed the handling the mouse min/max ranges of slave Cameras that have a parent Camera with a viewport. -2013-02-04 13:28 robert +Thu, 20 Jun 2013 15:48:14 +0000 +Checked in by : Robert Osfield +Temporarily commented out call to view.assignStereoOrKeystoneToCamera() for implementing stereo as this was causing problem in trackball manipulation - * From Jordi Torres, "The info about cdash reports was outdated. - Now it points to the right URL. - BTW I have checked it out and the cdash server is working ok - again. " +Thu, 20 Jun 2013 15:18:51 +0000 +Checked in by : Robert Osfield +Added local namespace for util functions, and fixed the return type of checkDeprecatedData() -2013-02-04 13:28 robert +Thu, 20 Jun 2013 12:15:57 +0000 +Checked in by : Robert Osfield +From Vladimir Chebaev, "I worked with osg::Particle and see that this class has setter osgParticle::setTextureTileRange and has no getters for startTile and endTile. This can be very uncomfortable. I attached file with two getters." - * Fixed warning +Thu, 20 Jun 2013 10:59:00 +0000 +Checked in by : Robert Osfield +Commented out verbose debug messages for shader composition -2013-02-04 13:27 robert +Thu, 20 Jun 2013 10:42:24 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file - * Fixed warnings +Thu, 20 Jun 2013 10:05:56 +0000 +Checked in by : Robert Osfield +From Juan Manuel Alvarez, "When handling keyboard events on osgQt, if a key is kept pressed, multiple sequences of KEYDOWN -> KEYUP events are fired.This is because Qt auto repeats keyboard events, so multiple calls are made to GLWidget::keyPressEvent and GLWidget::keyReleaseEvent by Qt, and subsequently translated to OSG events. -2013-02-04 13:11 robert +The way to solve this is ignoring key released auto repeated events (see http://qt-project.org/doc/qt-4.8/qkeyevent.html#isAutoRepeat), so multiple KEYDOWN events are fired, but only one KEYUP. - * Fixed warning +I attach a modified osgQt/GraphicsWindowQt.cpp with this change." -2013-02-04 12:50 robert - * Fixed warning and converted tabs to four spaces -2013-02-04 12:38 robert +Thu, 20 Jun 2013 09:30:31 +0000 +Checked in by : Robert Osfield +From Jan Ciger, compilation fix for Qt 5.0.2 - * Fixed warnings +Thu, 20 Jun 2013 09:27:50 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, build fix for VS. -2013-02-04 12:01 robert +Wed, 19 Jun 2013 17:28:28 +0000 +Checked in by : Robert Osfield +Removed svn:executable property. - * Fixed warning +Wed, 19 Jun 2013 17:26:59 +0000 +Checked in by : Robert Osfield +Removed svn:executable property -2013-01-31 16:26 robert +Wed, 19 Jun 2013 17:25:55 +0000 +Checked in by : Robert Osfield +Removed svn:executable property. - * Standardized use of GL_HALF_FLOAT_NV and GL_HALF_FLOAT_ARB to - GL_HALF_FLOAT +Wed, 19 Jun 2013 16:24:59 +0000 +Checked in by : Robert Osfield +Cleaned up usage of BIND_PER_PRIMITIVE where possible. -2013-01-31 11:09 robert +Wed, 19 Jun 2013 12:32:40 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, typo fixes to doxygen docs and comments - * From Stephan Huber, introduction of message id scheme were osc - messages are sent with an unique id, and can be dispatched - multiple times to workaround network packet losses. +Wed, 19 Jun 2013 12:28:06 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "gcc-4.8 flagged this:src/osgUtil/tristripper/src/tri_stripper.cpp:375:40: warning: typedef +â€tri_node_iter’ locally defined but not used [-Wunused-local-typedefs] + typedef triangle_graph::node_iterator tri_node_iter; + ^ +--- + src/osgUtil/tristripper/src/tri_stripper.cpp | 1 - + 1 file changed, 1 deletion(-) -2013-01-30 11:31 robert +diff --git a/src/osgUtil/tristripper/src/tri_stripper.cpp +b/src/osgUtil/tristripper/src/tri_stripper.cpp +index 2f5a7f3..3396881 100644 +--- a/src/osgUtil/tristripper/src/tri_stripper.cpp ++++ b/src/osgUtil/tristripper/src/tri_stripper.cpp +@@ -372,7 +372,6 @@ inline tri_stripper::const_link_iterator +tri_stripper::BackLinkToNeighbour(const - * Added handling of movies into Timeout + void tri_stripper::MarkTriAsTaken(const size_t i) + { +- typedef triangle_graph::node_iterator tri_node_iter; + typedef triangle_graph::out_arc_iterator tri_link_iter; -2013-01-30 10:49 robert + // Mark the triangle node" - * Added disabling of the traversal of the Timeout in update when - the timout is not displayed and disabled traversal by the - SlideEventHandler. -2013-01-30 10:40 robert - * Fixed the erronous header so that it is OSGPL like the rest of - the osgAnimation. +Wed, 19 Jun 2013 12:27:28 +0000 +Checked in by : Robert Osfield +Converted tabs to four spaces -2013-01-30 10:21 robert +Wed, 19 Jun 2013 12:19:28 +0000 +Checked in by : Robert Osfield +From Jan Ciger, "I have found a problem when building OSG with Qt 5 support. Qt has the following in the qopengl.h header:# include +# ifndef GL_DOUBLE +# define GL_DOUBLE GL_FLOAT +# endif +# ifndef GLdouble +typedef GLfloat GLdouble; +# endif - * From Stephan Huber, "As I have not all referenced image-data, - SlideShowConstructor crashed on my end. Attached is a fix for - that crash." +Unfortunately, when building for normal OpenGL (not GL/ES!) on Windows +with MSVC2012, GLdouble is not defined (it is not a macro but typedef) +and the code above produces a conflicting definition, making the +compile fail. I am attaching a bit hackish workaround for this problem +in osg/GL " -2013-01-28 14:56 robert - * From Wang Rui, "I've fixed the bug of writing/reading scenes - including the ImageSequence serializer. Current trunk version - will fail when handing image sequences because it forces to set - className to "osg::Image" in InputStream.cpp. I have to read a - value saved in file instead so I must add a hardhanded version - checking for backward compatibility. - - Now we can work with ImageSequence objects, in both osgt and osgb - files." -2013-01-28 14:30 robert +Wed, 19 Jun 2013 10:56:31 +0000 +Checked in by : Robert Osfield +Build fixes for new deprecated osg::Geometry functions - * From Laurens Voerman, "I have implemented and tested (on windows - only) your suggestion for resetCullingMask(), it's far less - intrusive than my previous submission. - attached are the changes to current svn (28 Jan 2013 / rev - :13312). - " +Tue, 18 Jun 2013 19:09:33 +0000 +Checked in by : Robert Osfield +Added #define OSG_USE_DEPRECATED_GEOMETRY_METHODS usage into code to allow code to compile enen when CMake configuration has set the #define to off in include/osg/Config. -2013-01-25 16:54 robert +Tue, 18 Jun 2013 17:49:57 +0000 +Checked in by : Robert Osfield +Moved the assignment of the normal binding to after the setNormalArray call - * From Thomas Hogarth, "Attached are two minor modifications to the - master CMakeLists.txt file. - - It now points to sdk version 6.0 (I do intend to make this - configurable my command line) - - It also added a search for libtiff to Apple builds mainly for use - with osg earth." +Tue, 18 Jun 2013 17:48:43 +0000 +Checked in by : Robert Osfield +Moved the Geometry::set*Binding to after the set*Array() to prevent problems when using the deprecated functionality. -2013-01-25 11:54 robert +Tue, 18 Jun 2013 15:54:38 +0000 +Checked in by : Robert Osfield +Removed BIND_PER_PRIMITIVE reference - * From Wang Rui, "In the attached files I've added the Compute - Shader support for OSG, as well as serializer updates and a new - osgcomputeshaders example. My submission also include a - setComputeGroups() function in Program for setting compute-shader - work groups, and a bindToImageUnit() function in Texture for - binding textures as image variables in shaders. - - All code are tested on Windows 7 + NVIDIA GFX 570 with the latest - GeForce 310.70 Driver (BETA), which could support OpenGL 4.3. - - Compute shader information can be found at - "http://www.opengl.org/registry/specs/ARB/compute_shader.txt" - " +Tue, 18 Jun 2013 15:03:26 +0000 +Checked in by : Robert Osfield +Moved the set binding and normalize for VertexAttrib to after the VertexAttrib array assignment -2013-01-25 11:08 robert +Tue, 18 Jun 2013 14:52:26 +0000 +Checked in by : Robert Osfield +Changed header guard back to original, and removed deprecated enum - * From Lukasz Izdebski, "Adding this GL mode makes possibly to use - this GL Modes (added in core OpenGL 3.2) in Windows." +Tue, 18 Jun 2013 14:22:43 +0000 +Checked in by : Robert Osfield +Fixed order of binding. -2013-01-25 10:36 robert +Tue, 18 Jun 2013 11:49:03 +0000 +Checked in by : Robert Osfield +Removed experiment GeometryNew as it's no longer required. - * Fixed compile warning +Tue, 18 Jun 2013 11:18:28 +0000 +Checked in by : Robert Osfield +Clean up up osg::Geometry, removing long deprecated support for array indices and BIND_PER_PRIMITIVE binding that forced OpenGL slow paths. osg::Geometry is now smaller and only supports OpenGL fasts paths. New methods osg::Geometry::containsDeprecatedData() and osg::Geometry::fixDeprecatedData() provide a means for converting geometries that still use the array indices and BIND_PER_PRIMITIVE across to complient versions.Cleaned up the rest of the OSG where use of array indices and BIND_PER_PRIMITIVE were accessed or used. -2013-01-25 10:24 robert - * Added debug message for Timout -2013-01-24 18:48 robert +Fri, 14 Jun 2013 09:43:04 +0000 +Checked in by : Robert Osfield +Fixed TextBase::computeBound() so it take into account all corners of the text box thus ensuring proper handling of rotated text - * Fixed usage of META_NodeVisitor so it doesn't include "" +Wed, 12 Jun 2013 12:49:18 +0000 +Checked in by : Robert Osfield +From Martin Naylor, replace osgDB::fstream with an osgDB::open() call. -2013-01-23 17:38 robert +Tue, 11 Jun 2013 10:52:37 +0000 +Checked in by : Robert Osfield +Introduced new osg::PatchParameter StateAttribute class to wrap up glPatchParameter associated state. Note, osg::Program::setParameter(GL_PATCH_VERTICES,num); is nolonger support and should be replaced by using the new PatchParameter class. - * From Pjotr Svetachov, "when you restart threading - with startThreading/stopThreading the _drawQueue and - _availableQueue - are not reset properly. This can lead to a deadlock when - threading is - started again. So before threading is started again the queues - must be - reset. This deadlock is also reported earlier by someone else in - here: - http://forum.openscenegraph.org/viewtopic.php?p=43415#43415" +Tue, 11 Jun 2013 10:49:57 +0000 +Checked in by : Robert Osfield +Fixed indentation -2013-01-23 17:37 robert +Tue, 11 Jun 2013 09:05:35 +0000 +Checked in by : Robert Osfield +Refactored the way the ReadResult/WriteResult lists are handled, with them now being sorted so that the Read/WriteResult with highest numerical value ReadStatus/WriteStatus is returned. Changed the enum order of ReadStatus/WriteStatus to ensure that the more relevant errors are last and with the highest numerical value - * From Pjotr Svetachov, "small bug which I have found in the - FlattenStaticTransformsDuplicatingSharedSubgraphsVisitor: the - visitor - will replace part of the tree when visiting the nodes but it does - not - update the current node path to reflect this. If you then have - multiple nested transform nodes it will usually crash and - sometimes it - won't crash but the resulting mesh will miss some nodes." +Mon, 10 Jun 2013 14:34:25 +0000 +Checked in by : Robert Osfield +From Kristofer Tingdahl, with additions from Riccardo Corsi and Robert Milharcic, support for Qt5 build -2013-01-23 16:27 robert +Mon, 10 Jun 2013 10:37:08 +0000 +Checked in by : Robert Osfield +Fixed remove and add callback so they properly handle nested callbacks - * From Mathias Froehlich, "I have extended the dds loader by some - newer DX10 texture formats. Especially - the float texture formats. - I need a few of these formats somewhere but have extended - everything that I - found plausible and was easy to find a GL texture type/format - for. - For some float32 type of texture the files the implementation - seem to work fine. - The rest lacks testing. - The writer side is not implemented." +Fri, 7 Jun 2013 10:54:55 +0000 +Checked in by : Robert Osfield +From Marcin Prus, "I don't know if you seen my second reply to your information about merging my Image and dds plugin changes. I found one problem in your latest submit. In ReaderWriterDDS::ComputeImageSizeInBytes pixelFormat and pixelType are not passed into osg::Image::computeImageSizeInBytes.It's +return osg::Image::computeImageSizeInBytes(width, height, depth, packing, slice_packing, image_packing); +but I think it should be +return osg::Image::computeImageSizeInBytes(width, height, depth, pixelFormat, pixelType, packing, slice_packing, image_packing);" -2013-01-23 16:22 robert - * From Wang Rui with edits from Robert Osfield, additional GLenums - for cross platform build -2013-01-23 15:54 robert +Fri, 7 Jun 2013 10:52:29 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "attached is a change to osgsharedarray to move completely to the fast geometry path. Also the arrays are moved back to static storage since this is the data that is actually referenced in draw. So the change moving this onto the stack that happend somewhere before broke this." - * From Lionel Lagarde, fixed typo bug +Thu, 6 Jun 2013 08:23:37 +0000 +Checked in by : Robert Osfield +Replaced OpenThreads::Mutex with a OpenThreads::ReentrantMutex to allow draw callbacks to use Renderer. -2013-01-23 11:50 robert +Wed, 5 Jun 2013 07:55:05 +0000 +Checked in by : Robert Osfield +Reorder member variables to ensure better packing in memory. - * Removed redundent code block +Wed, 5 Jun 2013 07:27:35 +0000 +Checked in by : Robert Osfield +Moved the Array::AttribDivisor into the Array::Binding enum to avoid conflicts in settings between Binding and AttribDivisor.Removed the vertify bindings/shared arrays handling from GeometryNew -2013-01-23 11:45 robert - * From Lukasz Izdebski, "I found problem with rgb plugin. - Internal format of rgb image is wrongly set ( diffrent then in - other images type plugin ), because of that using rgb images in - osg::Texture2DArray causes a bug." -2013-01-23 11:20 robert +Tue, 4 Jun 2013 19:04:26 +0000 +Checked in by : Robert Osfield +Updates to GeometryNew, Array and ArraDispatchers to clean up GeometryNew so that is no longer uses ArrayData. - * From Mathias Froehlich, "Attached is a patch that includes the - stereo cameras in - Renderer::*etCameraRequiresSetUp. - - I am not sure if the getter needs to be changed, but this is - currently - included for consistency." +Tue, 4 Jun 2013 14:55:57 +0000 +Checked in by : Robert Osfield +Added s/getNormalize(), s/getPreserveDataType(), s/getAttribDivisor() and s/getBinding() to osg::Array base class in preperation for refactor of osg::Geometry and introduction of new features. -2013-01-22 16:53 robert +Tue, 4 Jun 2013 14:43:19 +0000 +Checked in by : Robert Osfield +Removed now redundent osggeodemo - * From Alessandro Terenzi, "I've modified the avfoundation plugin - to copy the preferredTransform matrix into the UserData property - of the corresponding imagestream: by doing so, we can realize if - the video should be transformed when applied as a texture (this - should be the case, for instance, when we record a movie using an - iOS device with any orientation different than 'landscape - left')." +Tue, 4 Jun 2013 13:29:44 +0000 +Checked in by : Robert Osfield +Removed geo plugin as the modelling tool it was assocaited is long defunct. -2013-01-22 16:13 robert +Tue, 4 Jun 2013 10:06:19 +0000 +Checked in by : Robert Osfield +Cleaned up BIND_PER_PRIMITIVE and array indice usage - * Added and functionality to .p3d functionality. +Tue, 4 Jun 2013 09:32:59 +0000 +Checked in by : Robert Osfield +Introduced GeometryNew which is a cleaned up version of Geometry that removes support for array indices. GeometryNew is only temporary and will be renamed to Geometry on the completion of refactoring work and feedback from community. Ported osggeometry across to use GeometryNew. -2013-01-22 10:33 robert +Tue, 4 Jun 2013 09:29:37 +0000 +Checked in by : Robert Osfield +Removed deprecated usage of osg::Geometry indices and BIND_PER_PRIMITIVE - * Added extra check against whether node needs to be traversed in - update and event traversals to prevent osgPresentation::Timeout - being classified as a node that can be removed. +Mon, 3 Jun 2013 15:10:53 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, Added support for texture swizzle. -2013-01-18 17:11 robert +Mon, 3 Jun 2013 14:38:23 +0000 +Checked in by : Robert Osfield +Updated version and so_version in prep for 3.1.8 developer release - * Added Options support to ImageSequence LOAD_* functionality +Mon, 3 Jun 2013 14:27:14 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "Autodesk released a new version of their FBX Software Development Kit (web page http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=10775847). The API has changed quite a bit, so lots of changes had to be made in the osg readerwriter. The preious version of the FBX SDK (2013.3) already deprecated a lot of the names and functions. The code I submit now still compiles against 2013.3 (possibly needs a #define FBX_NEW_API). Not sure if that's useful, but it might ease the transition." -2013-01-18 16:30 robert +Mon, 3 Jun 2013 14:04:02 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "while updating dependencies I found a problem with libgif 5 from http://sourceforge.net/projects/giflib/ a change in version 5.0.0 required a call to the fuction "DGifOpen" to pass an int ref for an error code. My fix ignores the error, just fixes the compile." - * Update SO_VERSION to reflect new API changes +Mon, 3 Jun 2013 14:01:13 +0000 +Checked in by : Robert Osfield +From Sergey Polischuk, "this patch fixes light id in gl modes for osg::LightSource's readed from fbx (previously all lightsources were setting GL_LIGHT0 mode, while osg::Lights were using different id's), and enables GL_LIGHT# on root node for all lights contained in model " -2013-01-18 16:21 robert +Mon, 3 Jun 2013 13:13:18 +0000 +Checked in by : Robert Osfield +Added Vec*b, Vec4ub, Vec*s, Vec*i, Vec*ui serializers - * Added LOAD_AND_RETAIN_IN_UPDATE_TRAVERSAL and - LOAD_AND_DISCARD_IN_UPDATE_TRAVERSAL ImageSequence::Mode's to - allow for ImageSequence usage without using background paging - threads, instead loading all the images on demand in the update - traversal. +Mon, 3 Jun 2013 12:19:06 +0000 +Checked in by : Robert Osfield +Added Vec2i, Vec2ui, Vec3i, Vec3ui, Vec4i and Vec4ui headers to CMake header list -2013-01-17 13:51 robert +Mon, 3 Jun 2013 11:38:20 +0000 +Checked in by : Robert Osfield +From Art Tevs, int and uint Vec classes - * Added and - support to to allow the different timeout statges to be - broadcast. +Mon, 3 Jun 2013 09:19:46 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, "This submission is made against trunk version and add the loading of "glVertexAttribDivisor" extension." -2013-01-17 11:57 robert +Fri, 31 May 2013 10:28:39 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "I made some changes to the top level CMakeLists.txt that might be usefull to other visualstudio users. 1> Disable project grouping for VCExpress users: the version I proposed previously in Re: [osg-submissions] Cmake patch to support folders in IDE (29 Feb 2012)2> Remove FIND_PACKAGE(OpenAL): not used in any project - * Changed the defaults of the Timeout to be DBL_MAX by default. +3> add /wd4250 for Visual Studio 2012: + suppress the errors caused by a microsoft fix for a bugfix. + ref: "Warning messages VS2012..." on osg-users (30 May 2012) +" -2013-01-17 11:48 robert - * Completed support, to use it with p3d use it along the - lines: - - - - Test - - 3.0 - 5.0 - A - S - D - - w - t - Images/lz.rgb - - - - cow.osg - - -2013-01-17 09:51 robert +Fri, 31 May 2013 10:23:49 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "attached is a patch that fixes another clang++ compiler warning when returning std::vector::size() as 'unsigned int'. " - * Added support for to Timeout support. +Thu, 30 May 2013 09:07:46 +0000 +Checked in by : Robert Osfield +From Wang Rui, "The osgdb_nvtt plugin needs to be updated to work with the latest NVTT library, which changes the interface slightly (adding a new pure virtual method endImage()). I've modified the source file and attached it here." -2013-01-16 16:13 robert +Tue, 28 May 2013 19:16:59 +0000 +Checked in by : Robert Osfield +Renamed PanoramicSphericalDisplay.cpp to fix a typo - * Implemented basic Timeout display and timing codes +Tue, 28 May 2013 16:39:48 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and Contributors list -2013-01-15 11:31 robert +Tue, 28 May 2013 15:43:12 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "The logic for handling opacity maps in the 3ds reader seems to be incorrect. It checks whether the diffuse texture contains transparency, instead of the opacity texture. If the diffuse does not contain an alpha channel it outputs the warning:The plugin does not support images without alpha channel for opacity - * Added shell of Timeout class +This seems to indicate that the check for alpha should be against the opacity map. I've attached the updated file. -2013-01-11 11:30 robert +" - * Added movie volume animation control to and - tags to be used in the form: - - - - 0.20 - - - - - 0.0 - - - 1.0 - - - 1.0 - - - 0.0 - - - - - big_buck_bunny_1080p_stereo.ogg - - -2013-01-10 19:55 robert - * Added support for properties - that works in conjunction with the start="time" property support - checked in in previous submission, - together these control the delay, start position and stop - position of movies. +Tue, 28 May 2013 15:40:28 +0000 +Checked in by : Robert Osfield +From Michael Bach Jensen and Robert Osfield, "As discussed (http://forum.openscenegraph.org/viewtopic.php?t=12027) here is my submission :-)The following change to State.cpp fixes the case where textures in a stateset along with a compute shader program did not make those textures available to the shader, since it got evaluated before the texture bind(s)." -2013-01-10 14:37 robert +Note from Robert, Michael only change State::apply(StateSet*) so I also applied the same reversal in apply of texutre modes/state into the State::apply() method for consistency. - * Added support for property that tells a video - to start specificied number of sections into a video. -2013-01-10 10:53 robert - * From Stephan Huber, "thanks for your input, unfortunately I could - not get it working with packing, but setting the row-length works - now. Seems I had it wrong the first time. - - Attached are both files. This should fix the video-bug mentioned - on the dlf-wiki. - - " -2013-01-09 16:29 robert - * Changed the named colours back to having a alpha value of 1.0 to - avoid problems with text not appearing. +Tue, 28 May 2013 15:18:59 +0000 +Checked in by : Robert Osfield +Replaced the initialization of the strarray to use reseve instead of a initial size provided in the constructor as this was leading to a bug in output. -2013-01-09 16:03 robert +Tue, 28 May 2013 14:40:36 +0000 +Checked in by : Robert Osfield +Fixed date typo - * Added reset of the cursorFileName when hideCursor is activated to - prevent the custom cursor being enabled. +Tue, 28 May 2013 14:35:44 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I just started looking into the shader composition feature. I enabled shader composition on the osg::State object and noticed a 6x increase in draw time. I figured that the default composer might have performance issues, so I created a custom ShaderComposer that overrides "getOrCreateProgram" and does nothing. This still resulted in a performance drop.I looked into the "State::applyShaderComposition" method and noticed that it will print debug information to the osg::INFO stream. I commented that line out and the performance drop was gone. -2013-01-08 10:21 robert +I'm not sure if the printing was accidentally left in or is meant to be enabled. I've modified the function to only call the print function if INFO logging is enabled. I've attached the change." - * Added case for FORWARD_EVENT to address warning -2013-01-07 15:03 robert - * From Aurelien Albert, "I get a compile error on Windows VS2008 - wih new DAE plugin, here is a fix : - - - _document = _dae->openFromMemory(fileURI, buffer.data()); - - "data" method is unknow for std::vector with VS2008 - - I've replaced it with : - - _document = _dae->openFromMemory(fileURI, &buffer[0]); - " +Tue, 28 May 2013 14:14:45 +0000 +Checked in by : Robert Osfield +From Marcin Prus and Robert Osfield, moved the key parts of the .dds plugins computeRowWidthInBytes implementation into the osg::Image::computeImageSizeInBytes(..) to address bugs in the computation of image size. -2013-01-07 12:41 robert +Tue, 28 May 2013 11:47:08 +0000 +Checked in by : Robert Osfield +From Sukender, "Added ".dds" file deletion on writing failure." - * Added support for --show-cursor and --hide-cursor command line - options, and P3D_SHOW_CURSOR env var that can be set to YES or - NO. +Tue, 28 May 2013 11:46:01 +0000 +Checked in by : Robert Osfield +From Sukender, "Added vertical flipping to the writer depending on the Image::getOrigin() value (= flip the image when Image::BOTTOM_LEFT). Most of the time this will not change DDS writing (= no v-flip), as it seems images are rarely "BOTTOM_LEFT". To skip this behaviour, the "ddsNoAutoFlipWrite" option was added. I also moved a few lines of code about "dds_flip" option, and made options reading more like in other ReaderWriters." -2013-01-07 12:17 robert +Tue, 28 May 2013 11:44:36 +0000 +Checked in by : Robert Osfield +From Diane DelallĂ©e & Sukender, "Added some support of non-modulus-4 dimensions in S3TC-DXTC images (previous implementation seem just not to handle these properly). - Added missing packing value on S3TC images. Images are coded with 4x4 blocs, whatever the image size. So there is an horizontal packing of 4 pixels (2 bytes in DXT1, 4 bytes in DXT2-5). - Added crash guard against writing corrupted S3TC images. Notes: - What is missing is a support of "lines packing" in osg::Image (see code comments). - S3TC-DXTC vertical flipping crashes (access violation) with some unusual dimensions (see code). I could not implement missing cases, so I added guards to avoid crashing." - * From Stephan Huber, "* osgGA: fixed a small bug regarding - emulating mouse-events from touch-events - * resthttp/osc: encapsulate RequestHandler-classes in their own - namespaces to prevent class-name-lookup-errors in the - debugger/code (had some weird crashes) - * QTKit: fixed a compile-bug for gcc and blocks - * osgPresentation: click_to_* will fire on RELEASE, only if the - drawable received a PUSH beforehand - * p3d/osgPresentation: implemented - "forward_mouse_event_to_device"-tag, which will forward - mouse-events to all registered devices of a viewer, if an - intersection occurs. The mouse-coordinates get reprojected - * present3d: all devices get registered with the viewer - * osgViewer: only devices which are capable of receiving events - are queried for new events. - * GraphicWindowIOS: added a flag to GraphicWindowIOS::WindowData - to set up a retained backing buffer (defaults to false) This will - enable read-back of the render-buffer with glReadPixels even - after the renderbuffer got presented - * curl: added an optimized check for file-existance, now only the - headers are requested and checked, instead of reading the whole - file and handle it with a ReaderWriter - * p3d: fixed a bug, where the existence of a local file may - prevent the remote loading of a file with the same name. - - " +Tue, 28 May 2013 11:25:13 +0000 +Checked in by : Robert Osfield +From Diane DelallĂ©e and Sukender, "1. Image.cpp Failure to perform a vertical flip on S3TC-DXTC now simply leaves the original image instead of corrupting it. Image.cpp was sometimes performing a "normal" (= for uncompressed images) vertical flip on S3TC-DXTC images, producing weird results. Actually, code was trying a "DXTC vertical flip" and relied on the result to call a "normal vertical flip". But when the "DXTC v-flip" encounters an error, this is is not necessarily because the image is not S3TC (ex: unhandled image dimensions)! So now the code simply does "if dxtc, then flip_dxtc; else flip_normal;".Note from Robert Osfield, moved the isDXT function into the dxt_tool file and namespace. -2012-12-20 16:16 robert - * Made UpdateVisitor::TravesalMode default to - TRAVERSE_ACTIVE_CHILDREN -2012-12-20 12:14 robert - * Added region="$xmin $ymin $zmin $xmax $ymax $zmax" support to - tag, along with animation support via the - support. +Tue, 28 May 2013 10:46:47 +0000 +Checked in by : Robert Osfield +Fixed the computation of the spot light direction. -2012-12-19 17:14 robert +Tue, 28 May 2013 09:20:48 +0000 +Checked in by : Robert Osfield +Fixed View::setUpViewInWindow() parameter - * Removed lighting of trk lines +Tue, 28 May 2013 08:38:09 +0000 +Checked in by : Robert Osfield +Added an OSG_INIT_SINGLETON_PROXY(..) to initialize the static s_GLExtensionDisableString variable -2012-12-19 12:38 robert +Mon, 27 May 2013 09:10:18 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file - * Changed the colour calculation and added gl_ClipVertex to enable - clipping. +Mon, 27 May 2013 09:07:53 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file -2012-12-18 11:20 robert +Mon, 27 May 2013 09:05:14 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file - * Removed erroneous region setting +Mon, 27 May 2013 08:13:23 +0000 +Checked in by : Robert Osfield +From Martin Naylor, "I am receiving 1 build error whilst building the SVN, its in osgforest as follows:error C2065: 'GL_RGBA32F' : undeclared identifier -2012-12-18 09:49 robert +Shoudlnt that be GL_RGBA32F_ARB as defined in texture header? - * From Juergen Rensen, "This is a fix for the latest SVN version - (rev 13269). The â€destroyFrameBuffer’ method in - â€GraphicsWindowIOS.mm’ had â€glDeleteFramebuffersOES’ calls for - the stencil buffer, MSAA render buffer and MSAA depth buffer - instead of â€glDeleteRenderbuffersOES’. The fix changes the - mismatched calls to â€glDeleteRenderbuffersOES’. - - - - The impact of the bug was a memory leak that would affect - multi-sampling iOS apps that allow for device rotation or window - resizing in general. For our app, the leak ranged from ca. 10 MB - to 40 MB per device rotation, depending on device, for the MSAA - buffers. I have not been able to confirm impact for the stencil - buffer. " +Attached is the easy fix :)." -2012-12-17 15:58 robert - * Added support for RGBA colour buffer in osgframerenderer using - the --rgba command line option (--rgb selects the standard non - colour frame buffer which is the default). -2012-12-16 17:10 robert +Mon, 27 May 2013 08:10:42 +0000 +Checked in by : Robert Osfield +Moved quad buffer definitions into include/osg/Camera - * Added handling of aspect ratio for vertical/horizontal split - stereo. +Sun, 26 May 2013 10:44:11 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file -2012-12-14 16:31 robert +Sun, 26 May 2013 10:27:07 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * From Stephan Hunber, "* now you can create a transparent - opengl-view (see GraphicWindowIOS::WindowData) - * changes of the view's bound are reported via osg's event-system - more reliably - - " +Sat, 25 May 2013 10:09:23 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, " small update to TangentSpaceGenerator to support QUAD_STRIP primitive types." -2012-12-14 16:30 robert +Fri, 24 May 2013 17:16:57 +0000 +Checked in by : Robert Osfield +Resrtuctured the use of static's in the Uniform::getNameID() method to avoid problems under Android. - * Updated SO version +Fri, 24 May 2013 17:06:08 +0000 +Checked in by : Robert Osfield +From Jordi Torres, "We must use JNI_FALSE instead of false in JNI code. Otherwise the examples will not compile. This patch should be applied to osgAndroidExampleGLES1/jni and osgAndroidExampleGLES2/jni. the osgNativeLib.cpp is the same. " -2012-12-13 17:35 robert +Fri, 24 May 2013 09:43:08 +0000 +Checked in by : Robert Osfield +Removed redudent code - * From Lionel Lagarde, "Here is a correction on the - PixelBufferObject getter methods of Image. - - The set method modify the buffer object of the BufferData while - the get method returned the buffer object of the Image. - - I've also removed the _bufferObject member of Image (not used - anymore)." - --This line, Lionel Lagardeand those below, will be ignored-- - - M include/osg/Image +Fri, 24 May 2013 09:35:58 +0000 +Checked in by : Robert Osfield +Fixed panning bug, when using RUN_ON_DEMAND, that resulted in the camera being thrown off towards infinity.The solution for to refactor the way that events are checked so I add a bool return type to checkEvents() method across osgViewer::GraphcisWindow, osgGA::Devive and osgViewer::Viewer/CompositeViewer classes -2012-12-13 16:23 robert - * Added colouring and lighting of track using shader -2012-12-11 17:45 robert +Thu, 23 May 2013 18:29:47 +0000 +Checked in by : Robert Osfield +Added repolation of the _deadparts stack which would otherwise been invalidatd by the depth sort of particles. - * Fixed handling of image colour space conversion when pixel format - changes +Thu, 23 May 2013 15:55:22 +0000 +Checked in by : Robert Osfield +From Pawel Ksiezopolski, Added example of using osg::TextureBuffer + GLSL to render forest. -2012-12-11 17:27 robert +Thu, 23 May 2013 14:14:51 +0000 +Checked in by : Robert Osfield +From David Fries, "This updates the CMakeLists.txt instructions for the commands to make the doxygen documentation." - * Added automatic conversion of RGB to RGBA when doing - REPLACE_ALPHA_WITH_LUMINANCE colour space conversion. +Thu, 23 May 2013 12:29:55 +0000 +Checked in by : Robert Osfield +Refactored the idle mechanism to fix problems with the vnc thread going idle when it shouldn't have. -2012-12-11 10:44 robert +Thu, 23 May 2013 10:25:03 +0000 +Checked in by : Robert Osfield +Added assigned of the InteractiveImageHandler as a cull callback to enable the interactive image to know when it's being actively used as part of rendering a frame. - * Disabled lighting and set the colour to white +Wed, 22 May 2013 15:48:42 +0000 +Checked in by : Robert Osfield +Quitened down debug messages -2012-12-11 09:55 robert +Wed, 22 May 2013 13:16:44 +0000 +Checked in by : Robert Osfield +Removed debug messages - * First cut of generating lines from .trk data +Wed, 22 May 2013 13:09:38 +0000 +Checked in by : Robert Osfield +From Nico Kruithof, "For the VNC server, it seems that the wrong include path is used.Instead of +INCLUDE_DIRECTORIES(${LIBVNCCLIENT_INCLUDE_DIR}) +the CMake variable +INCLUDE_DIRECTORIES(${LIBVNCSERVER_INCLUDE_DIR}) +should be used. -2012-12-10 11:11 robert +Attached is a fix for src/osgPlugins/vnc/CMakeLists.txt" - * Added setting of the fusion distance. -2012-12-08 16:11 robert - * Added --flip and --no-flip command line options to enable/disable - a vertical flip of the captured image before writing out to disk. +Wed, 22 May 2013 12:49:46 +0000 +Checked in by : Robert Osfield +From Pawel Ksiezopolski, first email: "This submission adds texture buffer object ( defined in GL_ARB_texture_buffer_object extension ) to the osg::Texture* family.TextureBuffer objects may use osg::Texture::bindToImageUnit(), so GLSL shaders are able to use not only texelFetch() function , but also functions defined in GL_ARB_shader_image_load_store extension : imageLoad(), imageStore(), imageAtomicAdd() etc." -2012-12-07 19:05 robert +second email: "After a while I found that osg::Texture::applyTexParameters() used with TextureBuffer may cause some OpenGL errors ( applying texture filters and wraps to TextureBuffer makes no sense ) so I fixed it." - * From Stephan Huber, "attached you'll find a zip containing some - bug-fixes and some refactored + new code. - - * ZeroConfDevice does now return FILE_NOT_HANDLED instead of - FILE_NOT_FOUND - * present3D supports multiple devices per env-var P3D_DEVICE, - separate multiple device with a space - - I refactored parts the p3d-plugin, the curl-plugin and parts of - Registry and ReaderWriter. Currently the p3d-plugin tries to open - all remote files with the help of the curl-plugin. - - I added a new method to Registry called - getReaderWriterForProtocolAndExtension. which will return a - ReaderWriter which is capable in handling the remote file for the - given protocol and extension. If no readerwriter is found for the - given extension, a list is built of all readerwriters supporting - the given protocol and this list is checked for support of - wildcards (extension = "*"). If anything matches it get returned. - - I added this principle also to the Registry, so now it's possible - to register a generic ReaderWriter which can handle all filetypes - for a given protocol, similar what curl is doing. All you have to - do is to load the plugin at startup. The curl-fallback is still - in place. - - With these changes it is now possible to reference a movie inside - a presentation without a server-address, read the presentation - (with curl) and stream the movie with the correct plugin (e.g. - QTKit) - - " -2012-12-07 19:04 robert - * Added template swapBytes method -2012-12-07 13:59 robert +Wed, 22 May 2013 11:06:12 +0000 +Checked in by : Robert Osfield +From Jan Ciger, "Here is a little patch to fix a bug in the InfluenceMap serialization. The names of the maps weren't quoted properly and therefore it was breaking loading of rigged models exported from e.g. Blender. Also names that contained spaces wouldn't have been parsed properly. " - * Added naming of root of presentation and used this in the setup - of the position of the camera. +Wed, 22 May 2013 10:28:07 +0000 +Checked in by : Robert Osfield +From David Callu, "ust a simple IF ENDIF mismatch in last commit (I use git so no available SVN commit number ) :CMake Warning (dev) in CMakeLists.txt: + A logical block opening on the line -2012-12-07 12:47 robert + /home/ledocc/work/perso/osg_Workspace/osg/CMakeLists.txt:823 (IF) - * Fixed handling of window size/projection matrix + closes on the line -2012-12-07 10:19 robert + /home/ledocc/work/perso/osg_Workspace/osg/CMakeLists.txt:893 (ENDIF) - * From Stephan Huber, attached is a fix for the bug of present3D - not loading fonts across http. I pass SlideShowConstructor's - options-object to readFontFile when constructing any text-objects - so freetype can pick up the font-data from the curl-plugin. It - works fine now on my end. + with mis-matching arguments. -2012-12-06 19:09 robert +I remove ENDIF argument, it is no longer needed by cmake" - * Intial shell of .trk plugin -2012-12-06 18:12 robert - * From Stephan Huber, build fix +Tue, 21 May 2013 17:41:07 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I'm working on a custom ShaderComposer and I need access to the full StateSetStack of the State object within the getOrCreateProgram() method. The problem is that "State::apply(const StateSet* dstate)" does not add the specified stateset to the stack. I'm not sure if this was intentional, but I've updated the function to push/pop the stateset.I hope the change seems reasonable. I searched the entire code base for code that accesses the StateSetStack, and noticed RenderBin and RenderStage use it. However, I don't think that code would ever be called from within the State::apply() function, so I'm fairly confident the change should be safe." -2012-12-06 14:42 robert - * Added default value for initialization of port number -2012-12-06 11:36 robert +Tue, 21 May 2013 10:22:54 +0000 +Checked in by : Robert Osfield +From Valeriy Dubov, fix for Android build under OSX - * Fixed typo +Tue, 21 May 2013 09:48:16 +0000 +Checked in by : Robert Osfield +From Alexander Sinditskiy, "I just noticed that Dragger allways handle events even when handle(const PointerInfo&, const osgGA::GUIEventAdapter&, osgGA::GUIActionAdapter&) returns false.I think it is not correct...i think handled should be changed only when it is really handled." -2012-12-06 11:36 robert +Tue, 21 May 2013 09:44:26 +0000 +Checked in by : Robert Osfield +Added use of SingleWindow for when only one screen is used - * Added creation of directory path for ouput if one is required +Mon, 20 May 2013 19:24:34 +0000 +Checked in by : Robert Osfield +Refactored the support for stereo and keystone RTT setup so that it can be applied to an existing Camera. -2012-12-06 08:02 robert +Mon, 20 May 2013 14:17:43 +0000 +Checked in by : Robert Osfield +Added support for controlling border and override redirect to the SingleWindow View::Config - * From Stephan Huber, ZerConfDevice plugin for Windows and Apple +Mon, 20 May 2013 10:23:03 +0000 +Checked in by : Robert Osfield +Added a dedicated RTT texture for each of the left and right eyes when doing ANAGLYPHIC stereo to avoid issues with scene graphs containing ClearNode's such as when using in Present3D -2012-12-05 17:15 robert +Thu, 16 May 2013 15:52:29 +0000 +Checked in by : Robert Osfield +Added support for setting the left/right cull masks - * From Stephan Huber, "* imageio: removed - ReaderWriterImageIO_IOS.cpp, refactored ReaderWriterImageIO to - work on OS X and IOS - * avfoundation: added support for IOS (CoreVideo-support is still - in development, works only for SDK >= 6.0, set IPHONE_SDKVER in - cMake accordingly) - * zeroconf: added ZeroConf-device-plugin (Mac/Win only, linux - implementation missing) to advertise and discover services via - ZeroConf/Bonjour, on windows you'll need the Bonjour SDK from - Apple - * osgosc: modified the example to demonstrate the usage of the - ZeroConf-plugin (start the example with the command-line-argument - --zeroconf) - * SlideShowConstructor: enable/disable CoreVideo via a - environment variable (P3D_ENABLE_CORE_VIDEO) - * RestHttp: mouse-motion-events get interpolated - * RestHttp: unhandled http-requests get sent as an user-event to - the event-queue, all arguments get attached as user-values to the - event - * modified some CMakeModules to work correctly when compiling for - IOS - * fixed a compile-error for IOS in GraphicsWindowIOS - * some minor bugfixes" +Thu, 16 May 2013 14:51:07 +0000 +Checked in by : Robert Osfield +Changed the default of OSG_SPLIT_STEREO_AUTO_ADJUST_ASPECT_RATIO to OFF -2012-12-05 11:41 robert +Thu, 16 May 2013 14:11:23 +0000 +Checked in by : Robert Osfield +Fixed stereo offsets of HORIZONTAL_SPLIT and VERTICAL_SPLIT stereo modes - * Added --screen-distance , --screen-height and - --screen-width command line support and associated - settings to the configuration file. +Thu, 16 May 2013 14:07:35 +0000 +Checked in by : Robert Osfield +Reverted back to changes before experiements with ViewConfig -2012-12-05 10:13 robert +Thu, 16 May 2013 10:28:01 +0000 +Checked in by : Robert Osfield +Cleaned up the WoWVxDisplay command line parsing - * Moved the expansion of the key codes into ApplicationUsage so - that help is only generated for non zero keycodes. +Thu, 16 May 2013 10:11:06 +0000 +Checked in by : Robert Osfield +Renamed osgViewer::Config osgViewer::ViewConfig and moved it's declaration into include/osgViewer. -2012-12-04 19:02 robert +Thu, 16 May 2013 09:08:27 +0000 +Checked in by : Robert Osfield +Added WoWVxDisplay view config - * Fixed default camera position +Wed, 15 May 2013 16:15:38 +0000 +Checked in by : Robert Osfield +Created a dedicated include/osgViewer/config and src/osgViewer/config directories to place all the Config classes. -2012-12-04 18:51 robert +Wed, 15 May 2013 12:50:38 +0000 +Checked in by : Robert Osfield +Added support for osgViewer::Config in osgViewer::Viewer command line parsing - * Changed the -w and -h options to --width and --height - respectively. +Wed, 15 May 2013 11:31:49 +0000 +Checked in by : Robert Osfield +Introduced osgViewer::Config base class and beginnigs of various Config implementations. Introduced osgViewer serializers plugin for serialization support for osgViewer::Config implementations and Keystone -2012-12-04 18:30 robert +Tue, 14 May 2013 16:23:53 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, "When a function do:OSG_DEBUG << "Hello world!\n"; - * Cleaned up command line usage +the underlying stream is not automatically flushed. It is flushed +if endl is queued instead of \n: -2012-12-04 18:28 robert +OSG_DEBUG << "Hello world!" << std::endl; - * Tidied up command line docs. -2012-12-04 18:21 robert +The notify macros do: +stream->setCurrentSeverity(severity); +return *stream; - * Tidied up CaptureSettings and added command line docs +So, if a function do: -2012-12-04 12:47 robert +OSG_DEBUG << "This is a debug message\n"; +OSG_NOTICE << "This is a notice message" << std::endl; - * Added CameraProperty and associated command line parameters for - controlling camera position and animation. - - --center x y z - --eye x y z - --up x y z - --rotation-center x y z - --rotation-axis x y z - --rotation-speed degreesPerSecond - +the debug message will be classified as a notice message. -2012-12-04 09:11 robert +It is a problem when the application uses a NotifyHandler. The notify +method of the handler is called with: - * Added missing break; +severity = NOTICE +message = "This is a debug message\nThis is a notice message" -2012-12-03 16:49 robert +The attached Notify.cpp contains an automatic flush of the stream when +the current severity changes. - * From Stephan Huber, "I've found a bug in - SlideShowConstructor::findFileAndRecordPath which does return an - empty string if the file was not found, and this empty string got - added to the fileNames-vector, so the curl-plugin tried to load - only an empty file-name, the directory-prefix. I fixed - findFileAndRecordPath, so it returns the unmodified filename, - which can then be loaded by the curl-plugin. Please review my - fix, as I am not sure if it has any side effects, as I know the - code not that well. - - The file includes another small compile-fix when using - float-matrices." +" -2012-12-03 11:31 robert - * Renamed souce file -2012-12-03 10:10 robert +Tue, 14 May 2013 16:18:41 +0000 +Checked in by : Robert Osfield +From Michael Kapelko, "The provided patch (against SVN revision 13380) adds missing constness to returning calls (without it the user code does not compile)." - * From Wang Rui, "I've found a very covert bug in current VDSM - implementation. It makes the computation of positional texgen - incorrect if the shadow scene is under one or more child cameras - with view/proj offsets. Using current stage instead will fix it." +Tue, 14 May 2013 16:15:01 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "The tga image loader was not properly reading in 16-bit images. Fix is attached." -2012-12-03 09:50 robert +Tue, 14 May 2013 16:12:21 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "Attached is a patch that introduces 'static_cast' on some instances where the code returns '.size()' of a std::vector. This caused some warnings when using clang++ on OS X." - * Fixed error in Unfiform set method +Tue, 14 May 2013 13:35:10 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2012-12-03 09:35 robert +Tue, 14 May 2013 13:34:54 +0000 +Checked in by : Robert Osfield +Updated version after dev release - * Added include of osc plugin directory to help with Windows build +Mon, 13 May 2013 13:12:13 +0000 +Checked in by : Robert Osfield +Added OSGUTIL_EXPORT for Windows build -2012-12-02 11:45 robert +Mon, 13 May 2013 12:08:05 +0000 +Checked in by : Robert Osfield +Updated version number for dev release - * From Wang Rui, build fix +Mon, 13 May 2013 11:59:34 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for dev release -2012-11-30 20:03 robert +Mon, 13 May 2013 11:51:44 +0000 +Checked in by : Robert Osfield +Updated links to svn repository - * Fixed crash when no CameraManipulator is assigned to the viewer +Mon, 13 May 2013 11:02:40 +0000 +Checked in by : Robert Osfield +Fixed build for when automatic type conversion isn't enabled for ref_ptr<> -2012-11-30 16:52 robert +Mon, 13 May 2013 09:53:54 +0000 +Checked in by : Robert Osfield +Fixed the render order to the Render To Texture cameras used in stereo keystoning. - * Added support for 0x and numeric defintion of keys to be used - with functionality. +Mon, 13 May 2013 09:49:54 +0000 +Checked in by : Robert Osfield +Improved the use of the Keystone's defined in the DisplaySettings object. -2012-11-30 15:43 robert +Mon, 13 May 2013 09:18:37 +0000 +Checked in by : Robert Osfield +Added to Viewer::realize() automatic setup using Keystone when available and enabled, and when no other window setup has been selected. - * Added support for pausing and restart the property_animation. +Fri, 10 May 2013 17:59:07 +0000 +Checked in by : Robert Osfield +Added DisplaySettings::KeystoneHint flag that can be set via --keystone-on and --keystone-off command line parameters, and the OSG_KEYSTONE env var -2012-11-30 14:21 robert +Fri, 10 May 2013 16:06:10 +0000 +Checked in by : Robert Osfield +Added keystone file handling - * Added xml defined property/property animation to .p3d format for - propeties: - - alpha="$alphaname" - cutoff="$cutoffname" - region="$minx $miny $minz $maxx $maxy $maxz" - sampleDensity="$densityname" - sampleDensityWhenMoving="$densityname" - +Fri, 10 May 2013 11:56:09 +0000 +Checked in by : Robert Osfield +Added --keystone command line support into DisplaySettings, and added OSG_KEYSTONE_FILES env var support into osg::DisplaySettings. -2012-11-28 13:28 robert +Fri, 10 May 2013 10:00:38 +0000 +Checked in by : Robert Osfield +Moved Keystone support from osgkeystone example into osgViewer::View - * From Stephan Huber, New OscSendingDevice and OscReceivingDevice - classes +Thu, 9 May 2013 15:18:14 +0000 +Checked in by : Robert Osfield +Moved Keystone class into osgViewer library. -2012-11-28 10:43 robert +Tue, 7 May 2013 14:43:36 +0000 +Checked in by : Robert Osfield +Cleaned up event handler and namespaces in prep for integrating keystone functionality into osgViewer - * From Stephan Huber, added event sending support into - osgGA::Device along with implementation on this into the osc - plugin. Added osgoscdevice example to demonstate this in action. +Tue, 7 May 2013 13:34:47 +0000 +Checked in by : Robert Osfield +Added keystone support for left eye, right eye and quad buffer stereo -2012-11-27 16:00 robert +Tue, 7 May 2013 11:13:50 +0000 +Checked in by : Robert Osfield +Added keystone setup to vertical split stereo suport and cleaned up the horizontal split stereo code - * Added support for tag for , - and scope to compliment the scope of +Fri, 3 May 2013 20:12:15 +0000 +Checked in by : Robert Osfield +Commented out debug output -2012-11-27 15:09 robert +Fri, 3 May 2013 19:26:27 +0000 +Checked in by : Robert Osfield +Introduced new scheme for handling mouse events with osgViewer. The new scheme enables robust event handling even when using distortion correction render to texture Cameras. - * Added preliminary support for +Fri, 26 Apr 2013 10:00:16 +0000 +Checked in by : Robert Osfield +As a test of new repository updated date in README.txt -2012-11-22 15:13 robert +Thu, 18 Apr 2013 17:02:57 +0000 +Checked in by : Robert Osfield +Refactored Keystone setup as a step toward integrating Keystone correction with stereo - * From Stephan Huber, "Attached you'll find a new ImageSequence.cpp - which will fix an issue I had when moving the mouse cursor over - the left window-border, as the index becomes negative. And I - added a UdpSocket.cpp-file with more debuggin-output via some - sprinkled printf-calls. " +Thu, 18 Apr 2013 09:47:28 +0000 +Checked in by : Robert Osfield +Implemented stereo support into osgkeystone as a testbed for moving stereo support from SceneView into osgViewer -2012-11-22 11:55 robert +Wed, 17 Apr 2013 11:04:12 +0000 +Checked in by : Robert Osfield +Implemented initial cut of anaglyphic stereo - * Simplified CMakeLists and adjusted OscHostEndianness to - automatically detect the endian at compile time +Tue, 16 Apr 2013 09:26:40 +0000 +Checked in by : Robert Osfield +Changed point to osg::ref_ptr<> to prevent memory leaks. -2012-11-22 11:47 robert +Mon, 15 Apr 2013 14:21:32 +0000 +Checked in by : Robert Osfield +Preperation for adding stereo support direclty into osgViewer. - * From Stephan Huber, updates to explictly set the HOST Endian - using Cmake +Fri, 12 Apr 2013 13:01:51 +0000 +Checked in by : Robert Osfield +Added support for enable/disabling the keystone editing using the Ctrl-g key to toggle the UI and grid on/off. -2012-11-22 09:49 robert +Fri, 12 Apr 2013 09:05:11 +0000 +Checked in by : Robert Osfield +Moved keystone event handler onto the keystone distortion Camera. - * Added explict handling of osg::Image, osg::HeightField, - osg::Shader and osg::Node when doing writes to the archive. +Fri, 12 Apr 2013 08:52:21 +0000 +Checked in by : Robert Osfield +Refactoed the grid rendering so that it's now implemented as part of the distortion mesh pass, leaving the main scene graph alone. -2012-11-21 15:19 robert +Thu, 11 Apr 2013 17:12:32 +0000 +Checked in by : Robert Osfield +Add support for a finer grained mesh on the distortion mesh for higher quality results. - * From Stephan Huber, further work on osc plugin +Thu, 11 Apr 2013 16:07:49 +0000 +Checked in by : Robert Osfield +Moved the keystone geometry computation into a Keystone::compute3DPositions(..) method -2012-11-21 14:27 robert +Wed, 10 Apr 2013 16:36:49 +0000 +Checked in by : Robert Osfield +Removed old experimental keystone code to clean up the example - * Moved static for local to global scope in Uniform.cpp and removed - the local static usage in Registry.cpp +Thu, 28 Mar 2013 10:46:24 +0000 +Checked in by : Robert Osfield +Changed the way that the keystone geometry is calculated. -2012-11-21 13:38 robert +Wed, 27 Mar 2013 16:29:01 +0000 +Checked in by : Robert Osfield +Added keypad control of corner points - * Refactored osgDB::Input::readObjectOfType to use a template, and - updated associated wrappers to avoid using local static's +Tue, 26 Mar 2013 17:03:22 +0000 +Checked in by : Robert Osfield +Moved local variable into local scope to avoid it being created when not used. -2012-11-20 18:41 robert +Tue, 26 Mar 2013 16:47:52 +0000 +Checked in by : Robert Osfield +Introduced shearing of the image - * From Paul Martz, fix for Windows build +Tue, 26 Mar 2013 11:00:05 +0000 +Checked in by : Robert Osfield +Improved the setup of the keystone distortion correction mesh. -2012-11-20 13:01 robert +Thu, 21 Mar 2013 16:42:09 +0000 +Checked in by : Robert Osfield +Updated developer release number - * From Stephan Huber, added missing windows dependency +Thu, 21 Mar 2013 16:22:30 +0000 +Checked in by : Robert Osfield +Added check against isVertexBufferObjectSupported() in set*Pointer() methods -2012-11-20 10:37 robert +Thu, 21 Mar 2013 11:35:21 +0000 +Checked in by : Robert Osfield +Added keystone grid to aid editing - * Added ws2_32 library to Win32 build +Wed, 20 Mar 2013 14:03:28 +0000 +Checked in by : Robert Osfield +Added arrow key support. Added support for using ctrl and shift keys to modulate how senstive the mouse and key movement is when modifying the keystone parameters. -2012-11-19 11:25 robert +Tue, 19 Mar 2013 16:43:27 +0000 +Checked in by : Robert Osfield +Improve corner point tracking/keystone computation - * From Paul Martz, build fixes +Tue, 19 Mar 2013 12:44:03 +0000 +Checked in by : Robert Osfield +Added event handle for interactive setting of keystone variables -2012-11-19 10:48 robert +Fri, 15 Mar 2013 17:35:43 +0000 +Checked in by : Robert Osfield +Experiments with modifying the projection matrix to provide keystoning. - * Frm Stephan Huber, osc plugin that supports send and recieving - events via UDP packets. +Thu, 14 Mar 2013 16:24:22 +0000 +Checked in by : Robert Osfield +Initial skeleton of new osgkeystone example -2012-11-16 15:40 robert +Mon, 11 Mar 2013 17:16:32 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, "There is a little bug in the osg::Group::insertChild method :If the index is more than the size of _children vector, the new child is pushed at the end of the vector, but the index value is unmodified, so an incorrect value is passed to the "childInserted" method." - * Added first cut implememtation of PropertyAnimation class -2012-11-15 12:11 robert - * Moved PropertyManager related classes out from SlideEventHandler - into their own dedicated header/source file. +Fri, 22 Feb 2013 17:42:47 +0000 +Checked in by : Robert Osfield +From Chris Hanson, " Adds missing copy for _bbox member variable to copy constructor:LightPointNode::LightPointNode(const LightPointNode& lpn,const osg::CopyOp& copyop): + osg::Node(lpn,copyop), + _bbox(lpn._bbox), + _lightPointList(lpn._lightPointList), + _minPixelSize(lpn._minPixelSize), + _maxPixelSize(lpn._maxPixelSize), + _maxVisibleDistance2(lpn._maxVisibleDistance2), + _lightSystem(lpn._lightSystem), + _pointSprites(lpn._pointSprites) +{ +} -2012-11-13 16:15 robert - * Added support for P3D_UPDATE env var for setting the - UpdateVisitor::TRAVERSAL_MODE. Accepted settings are "active", - "Active", "ACTIVE", or "all", "All", "ALL". + Lacking this causes _bbox to be uninitialized after LOD changes when paged databases refer to shared subgraphs. -2012-11-13 15:26 robert +" - * Added --update-active and --update-all command line options that - set the UpdateVisitor::TraversalMode to TRAVERSE_ACTIVE_CHILDREN - and TRAVERSE_ALL_CHILDREN respecively. -2012-11-13 14:22 robert - * Added support for to - allow user definition of when to enable OpenGL blending for an - image or not. +Wed, 13 Feb 2013 16:29:03 +0000 +Checked in by : Robert Osfield +From Lukasz Izdebski,"added support for gl_SampleMaski." -2012-11-13 13:52 robert +Wed, 13 Feb 2013 16:03:35 +0000 +Checked in by : Robert Osfield +From Jordi Torres, "This error occurs when compiling current OSG with the NDK >=r8c:android-ndk-r8d/build/gmsl/__ +gmsl:512: *** non-numeric second argument to `wordlist' function: ''. Stop. - * From Stephan Huber, fixed warning +This is discussed in this thread[1]. +The solution is to add to the manifest as the OSG library will only run in devices with Android>=2.2 (Froyo) with API level 8 [2]. -2012-11-13 13:32 robert +The fix does not affect to older sdk's. - * Changed COLOUR to COLOR to be consistent with OpenGL spelling +Thanks to Jan Ciger for spotting the bug and find a possible solution. " -2012-11-13 13:16 robert - * Moved colour space conversion of volumes from the osgvolume - example into osg/ImageUtils and added support for - colorSpaceConversion="MODULATE_ALPHA_BY_LUMINANCE","MODULATE_ALPHA_BY_COLOUR","REPLACE_ALPHA_WITH_LUMINANCE" - and "REPLACE_RGB_WITH_LUMINANCE" to .p3d tag -2012-11-13 11:45 robert +Tue, 12 Feb 2013 15:44:52 +0000 +Checked in by : Robert Osfield +From Jordi Torres, Android build fix - * Added first step to adding pruning of expired image requests. +Tue, 12 Feb 2013 15:40:21 +0000 +Checked in by : Robert Osfield +From Jordi Torres, fix for Android build -2012-11-13 11:20 robert +Tue, 12 Feb 2013 15:18:06 +0000 +Checked in by : Robert Osfield +From Stephan Huber, fixed bug in setting _numMessagesPerEvent and added more debug information - * From Stephan Huber, introduced syncornization of osgGA::Device +Thu, 7 Feb 2013 19:16:07 +0000 +Checked in by : Robert Osfield +From Mike Connell, "3 smaller fixes for the 3DS loader (against trunk)1. Respect "noMatrixTransforms" option for matrices attached to meshes, not only those attached to nodes -2012-11-12 16:46 robert +2. traverse_nodes variable did the exact opposite of it's description. - * Cleaned up reported of events and added assigned of tag - region properities when using the wildcard definition of the - volume. +3. Always try to load referenced textures, even if we can't find the files (in order to the the registry's ReadFileCallback have a stab at it) +" -2012-11-12 15:26 robert - * Added osgframerenderer example -2012-11-12 10:36 robert +Thu, 7 Feb 2013 11:10:24 +0000 +Checked in by : Robert Osfield +From Lukasz Izdebski , "I added write and read numInstances in PrimitiveSet." - * Changed the default settings to fix a jump problems +Thu, 7 Feb 2013 11:08:34 +0000 +Checked in by : Robert Osfield +Updated SO version in prep for serialization foramt change -2012-11-10 12:12 robert +Thu, 7 Feb 2013 08:46:44 +0000 +Checked in by : Robert Osfield +Updated AUTHORS list - * Added missing files in support of key_jump and key_run tags +Wed, 6 Feb 2013 16:04:13 +0000 +Checked in by : Robert Osfield +From Wee See, Support for importing OpenFlight Surface Material Codes using osg::Object::UserValue. Notes from Wee See:See attached my ported code, which fulfills: -2012-11-09 21:32 robert +- using of setUserValue()/getUserValue() +- user-value will be attached to Geode or Drawable +- actually 3 values will be added: SMC (surface), FID (feature) and IRC (IRcolor). Its UserValue-names are < UA:SMC >, < UA:FID > and < UA:IRC > (without spaces!) +- user-value will be attached to Geode or Drawable +- has an option (named preserveNonOsgAttrsAsUserData) for control whether the UserValues should be attached (Default: no UserValues will be attached) - * Added support for naming slides and layers with slide_name and - layer_name properties respectively. - Added support for creating events based on key presses using a - and tags. +Reading out this values is very simple. Here is an example (uservalue-name without spaces!): -2012-11-09 21:23 robert +signed short smc; +if (myGeode.getUserValue("< UA:SMC >", smc)) +{ + doSomethingWithTheGeodeAndItsSmc(myGeode, smc); +} +else +{ + // geode has no SMC +} - * Added Node::getName() and getUserDataContainer() to check to see - if an node can be removed or not. -2012-11-08 17:19 robert - * From Alexander Sinditskiy, "I found issue with capturing mouse - buttons. - This issue can be reproduced: - 1. Create osgViewer window, - 2. Push right&left mouse buttons on the osgViewer window, - 3. Move mouse out of window, and release right&left mouse - buttons. - - osgViewer window handle only first mouse release, as result - window thinks that we did not released second mouse button. - - I attached fix for this issue." -2012-11-08 15:45 robert +Wed, 6 Feb 2013 14:50:37 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, "This line,I use the "useVertexAttributeAliasing" mode in my application, and color arrays are not normalized, so shaders get [0.0-255.0] values instead of [0.0-1.0] values. This patch fix this."and those below, will be ignored +---- - * Added support for +M include/osg/State -2012-11-08 15:28 robert - * Changed the way the mouse position is update to handle the remote - device control. -2012-11-08 14:15 robert +Wed, 6 Feb 2013 14:49:48 +0000 +Checked in by : Robert Osfield +Added TODO note about RGB -> RGBA - * Added check to avoid doing update when the imagesequence is - empty. +Wed, 6 Feb 2013 12:46:03 +0000 +Checked in by : Robert Osfield +From David Longest, "I have updated the FFmpeg plugin to support the 1.0 release version of FFmpeg. The files attached were modified in order to facilitate the update. Below are the details for all changes made.Header update -2012-11-08 11:19 robert +FindFFmpeg.cmake has been changed in order to support the new header include format for FFmpeg. In the 1.0 release, a new file had been added with the name “time.h” in the avutil library. The previous method of adding includes caused conflicts with the ANSI C “time.h” file. Now the include directive will only use the main include folder. All files using the old include format have been updated to reflect the change. - * Refactored ImageSequence to better handle random access usage. -2012-11-06 17:49 robert - * Tweaked casts/types to fix build under Linux +Added __STDC_CONSTANT_MACROS define to CMakeLists.txt -2012-11-06 14:25 robert +Since there is no guarantee that FFmpegHeaders.hpp will be included before stdint.h is included, the define has been moved from FFmpegHeaders.hpp to be part of the CMakeLists.txt for the FFmpeg plugin. This will allow the define to work on all compilers regardless of include order. - * Added f qualifer to 1.0 to fix build problem under MSVS -2012-11-06 11:18 robert - * From Stephan Huber, improved performance by using native apple - functions for flipping image +Replaced AVFormatParameters with AVDictionary -2012-11-05 17:22 robert +AVFormatParameters is no longer supported in FFmpeg and has been replaced with a key/value map of strings for each setting. FFmpegParameters and FFmpegDecoder has been updated to reflect this. - * From Stephan Huber, "Attached you'll find a fix for the - image-io-plugin to handle out-of-memory situations more - gracefully as before (don't crash)" -2012-11-05 12:21 robert - * Quitened down debug output +Replaced av_open_input_file with avformat_open_input -2012-11-05 12:03 robert +FFmpeg now opens files using avformat_open_input. Since the av_open_input_file method is deprecated, the FFmpegDecoder class has been updated to reflect this change. - * From Stephan Huber, updated to debug output to RestHttpDevice and - tweaks to ImageIO and QTKit plugins -2012-11-05 09:36 robert - * Added static cast to float to avoid compile error under MSV +Added custom AVIOContext field to options -2012-11-01 18:06 robert +Since some formats and inputs may not be supported by FFmpeg, I have added a new parameter that allows a user to allocate their own AVIOContext. This class will allow for creating a read, seek, and write callback if they desire. - * From David Longest, "When drawing, a transform with an absolute - reference frame will ignore the - calculated model / view matrices up to that point. The - IntersectionVisitor would instead keep the - view matrices calculated up to that point even though the - Transform class will throw out the - calculated model matrix via “computeLocalToWorldMatrix.” - - The change I made will push an identity matrix as the view matrix - when running into a transform - with an absolute reference frame and will pop the matrix off - after the traverse. - - To test this, I created a camera with a perspective view and - added a transform with some geometry - in it. Afterwards, I set the transform’s reference frame to - ABSOLUTE_RF and spun the camera around - using the trackball manipulator. When trying to pick with a - LineSegmentIntersector, it would not - pick the geometry in the transform with the reference frame set - to ABSOLUTE_RF." -2012-11-01 16:11 robert - * Changed the PropertyEventCallback to only respond to mouse - releated events. +Checking for start_time validity -2012-11-01 14:29 robert +It is possible for some file formats to not provide a start_time to FFmpeg. This would cause stuttering in the video since the clocks class would be incorrect. - * -2012-10-31 17:06 robert - * Added reading of the P3D_DEVICE env var for setting up the - --device entry. +Removed findVideoStream and findAudioStream -2012-10-31 16:07 robert +The new FFmpeg release already has a function that will find the best audio and video stream. The code has been replaced with this function. - * Added event and update callbacks to pass up changes to the mouse - position to the ImageSequence::seek() to control which images is - selected based on mouse x position -2012-10-30 12:31 robert - * From Stephan Huber, RestHttpDevice plugin for support of remote - application control via Rest http. +Updated error reporting -2012-10-29 15:58 robert +Some functions would not log an error when opening a file or modifying a file failed. New logs have been added as well as a function to convert error numbers to their string descriptions. - * Intial work towards support an interaction tag in - Present3D. -2012-10-26 15:31 robert - * From Luc Frauciel, "Compile Fix - KTX plugin with Visual Studio, - not defined under MSVC" +decode_video has been replaced -2012-10-24 16:10 robert +The old decode_video function would remove extra data that some decoders use in order to properly decode a packet. Now av_codec_decode_video2 has replaced that function. - * Fixed bug in click_to_run feature where events would be handled - by hidden labels -2012-10-24 10:43 robert - * From Stephan Huber, "attached you'll find the latest versions of - the QTKit + the AVFoundation-plugin, some changes to - osgPresentation and a small enhancement fĂĽr ImageIO. - - I fixed some bugs and did some more tests with both of the - video-plugins. I integrated CoreVideo with osgPresentation, - ImageStream has a new virtual method called createSuitableTexture - which returns NULL for default implementations. Specialized - implementations like the QTKit-plugin return a CoreVideo-texture. - I refactored the code in SlideShowConstructor::createTexturedQuad - to use a texture returned from - ImageStream::createSuitableTexture. - - I did not use osgDB::readObjectFile to get the texture-object, as - a lot of image-related code in SlideShowConstructor had to be - refactored to use a texture. My changes are minimal and should - not break existing code. - - There's one minor issue with CoreVideo in general: As the - implementation is asynchronous, there might be no texture - available, when first showing the video the first frame. I am a - bit unsure how to tackle this problem, any input on this is - appreciated. - - Back to the AVFoundation-plugin: the current implementation does - not support CoreVideo as the QTKit-plugin supports it. There's no - way to get decoded frames from AVFoundation stored on the GPU, - which is kind of sad. I added some support for CoreVideo to - transfer decoded frames back to the GPU, but in my testings the - performance was worse than using the normal approach using - glTexSubImage. This is why I disabled CoreVideo for AVFoundation. - You can still request a CoreVideoTexture via readObjectFile, - though. - " +Picture format changed from RGBA32 to RGB24 -2012-10-23 16:15 robert +Since most video will not contain an alpha channel, using a 24 bit texture will use less memory." - * Added osgGA::Device class for integration of both physical and - virtual devices. - - Added template readFile(..) function to make it more convinient - to cast to a specific object type. - - Added support for osgGA::Device to osgViewer. - - Added sdl plugin to provides very basic joystick osgGA::Device - integration. -2012-10-22 16:21 robert - * Added mutex lock to Uniform::addParent()/removeParent(). +Wed, 6 Feb 2013 12:02:05 +0000 +Checked in by : Robert Osfield +Simplified include/osg/Math to use Standard C++ maths headers - and -2012-10-12 14:51 robert +Wed, 6 Feb 2013 11:16:29 +0000 +Checked in by : Robert Osfield +Fixed warning - * Added serializers for osgGA +Wed, 6 Feb 2013 09:20:10 +0000 +Checked in by : Robert Osfield +From Stephan Huber, fixed for Windows 64bit build -2012-10-09 16:14 robert +Tue, 5 Feb 2013 18:22:46 +0000 +Checked in by : Robert Osfield +Added .get()'s to fix compilation when ref_ptr<> type conversion is disabled - * Removed the insert of requests in the - ImageSequence::_filesRequested data structure so that it always - requests files, leaving it up the ImagePager to decide to track - duplicates +Mon, 4 Feb 2013 16:25:52 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2012-10-09 16:05 robert +Mon, 4 Feb 2013 14:42:44 +0000 +Checked in by : Robert Osfield +Updated version number after 3.1.4 developer release - * From Wang Rui, "I modified the Serializer header to add a - UPDATE_TO_VERSION_SCOPED - macro, which could set version within brackets and reset it after - that. All related serializers are also modified so that the - backward-compatibility bug reported by Farshid can be fixed. - " - - From Robert Osfield, removed the use of osg::Referenced and - creating the proxy object on the heap. +Mon, 4 Feb 2013 13:28:45 +0000 +Checked in by : Robert Osfield +From Jordi Torres, "The info about cdash reports was outdated. Now it points to the right URL. BTW I have checked it out and the cdash server is working ok again. " -2012-10-08 16:14 robert +Mon, 4 Feb 2013 13:28:05 +0000 +Checked in by : Robert Osfield +Fixed warning - * From Wang Rui, "I've added CDATA tag support to XmlParser so that - we can keep user - data (e.g., GLSL shader texts) in XML files without parsing them. - This - will be necessary for the coming-soon effect compositor - submission. - :-)" +Mon, 4 Feb 2013 13:27:46 +0000 +Checked in by : Robert Osfield +Fixed warnings -2012-10-08 16:12 robert +Mon, 4 Feb 2013 13:11:13 +0000 +Checked in by : Robert Osfield +Fixed warning - * Added a static_cast to avoid build issues under Windows +Mon, 4 Feb 2013 12:50:51 +0000 +Checked in by : Robert Osfield +Fixed warning and converted tabs to four spaces -2012-10-08 16:03 robert +Mon, 4 Feb 2013 12:38:08 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Fixed warning +Mon, 4 Feb 2013 12:01:26 +0000 +Checked in by : Robert Osfield +Fixed warning -2012-10-08 15:10 robert +Thu, 31 Jan 2013 16:26:06 +0000 +Checked in by : Robert Osfield +Standardized use of GL_HALF_FLOAT_NV and GL_HALF_FLOAT_ARB to GL_HALF_FLOAT - * From Aurelein Albert, "Under some Visual Studio configuration, I - get compile error on "lib3ds_io.c" due to use of these kind of - conversion : - - b[1] = uint8_t((w & 0xFF00) >> 8); - - I replaced it with : - - b[1] = (uint8_t)((w & 0xFF00) >> 8); - - And it compiles fine - " +Thu, 31 Jan 2013 11:09:03 +0000 +Checked in by : Robert Osfield +From Stephan Huber, introduction of message id scheme were osc messages are sent with an unique id, and can be dispatched multiple times to workaround network packet losses. -2012-10-08 12:00 robert +Wed, 30 Jan 2013 11:31:27 +0000 +Checked in by : Robert Osfield +Added handling of movies into Timeout - * From Gill Peacegood, "In the attached file I have changed the - colour space used for writing images to match the one used for - reading images. Also this color space does not make subtle - changes to the original colours which i think is probably what - most people intend when writing an image and is more consistent - with other plugins. - - The effect is that an image that is written does not have a - noticeably different colour when it is read back." +Wed, 30 Jan 2013 10:49:18 +0000 +Checked in by : Robert Osfield +Added disabling of the traversal of the Timeout in update when the timout is not displayed and disabled traversal by the SlideEventHandler. -2012-10-08 11:54 robert +Wed, 30 Jan 2013 10:40:26 +0000 +Checked in by : Robert Osfield +Fixed the erronous header so that it is OSGPL like the rest of the osgAnimation. - * From Oren Fromberg, "" - --This line, and thosAttached is an update to - ReaderWriterDAE.cpp/h and daeReader.cpp/h that implements - - osgDB::ReaderWriter::ReadResult - - ReaderWriterDAE::readNode (std::istream&, const - osgDB::ReaderWriter::Options*) - - This virtual function had never been implemented in - ReaderWriterDAE. I implemented this function because the DAE - plugin could not load files from other ReaderWriter derived - objects that use protocol handlers. - - I have updated function declarations in the header to have - identical signatures with the base class declarations that - include the default parameter. - - - readNode (std::istream&, …) is nearly identical to readNode(const - std::string &, …) except it uses a new private function to - convert the file from standard input: - - bool daeReader::convert( std::istream& fin ) - - When this function is called fileURI is the string “from - std::istream” to make the user aware where the file is coming - from. Then instead of calling - - _dae->open(fileURI) - - we call - - _dae->openFromMemory(fileURI, buffer.data()) - - Where buffer.data() is a pointer to the dae file text in memory. - - - Other changes include private functions to clear caches and to - consolidate redundant code that appears between the two convert - functions. - - - e below, will be ignored-- - - M src/osgPlugins/dae/ReaderWriterDAE.cpp - M src/osgPlugins/dae/daeReader.cpp - M src/osgPlugins/dae/ReaderWriterDAE.h - M src/osgPlugins/dae/daeReader.h +Wed, 30 Jan 2013 10:21:45 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "As I have not all referenced image-data, SlideShowConstructor crashed on my end. Attached is a fix for that crash." -2012-10-08 11:10 robert +Mon, 28 Jan 2013 14:56:52 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've fixed the bug of writing/reading scenes including the ImageSequence serializer. Current trunk version will fail when handing image sequences because it forces to set className to "osg::Image" in InputStream.cpp. I have to read a value saved in file instead so I must add a hardhanded version checking for backward compatibility.Now we can work with ImageSequence objects, in both osgt and osgb files." - * From James Athey, "I've attached a new osgDB ReaderWriter that - can read Khronos Texture Files - (KTX). The KTX file format is straightforward and designed to be - easy to - use in OpenGL. - - http://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/ - http://www.khronos.org/opengles/sdk/tools/KTX/ - - The attached plugin can read: - - * 1D, 2D, and 3D textures - * uncompressed and compressed images - * mipmapped and non-mipmapped textures - * little-endian and big-endian files - * textures from files as well as seekable istream objects - - It does not handle: - - * array textures (not supported by the ReaderWriter API) - * cubemap textures (not supported by the ReaderWriter API) - * the "KTXorientation" key-value pair; support could be added - later (see - the file format spec for more information) - * non-seekable istream objects (would require more complicated - memory - management) - " -2012-10-05 16:31 robert - * Made TouchData and osg::Object to aid with serialization. +Mon, 28 Jan 2013 14:30:21 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "I have implemented and tested (on windows only) your suggestion for resetCullingMask(), it's far less intrusive than my previous submission. attached are the changes to current svn (28 Jan 2013 / rev :13312). " -2012-10-05 10:37 robert +Fri, 25 Jan 2013 16:54:30 +0000 +Checked in by : Robert Osfield +From Thomas Hogarth, "Attached are two minor modifications to the master CMakeLists.txt file.It now points to sdk version 6.0 (I do intend to make this configurable my command line) - * Improved ImageSequence's handling of seek() and added a simply - hack to ImagePager to prevent the number of requests - accumulating. +It also added a search for libtiff to Apple builds mainly for use with osg earth." -2012-10-05 10:35 robert - * From Stephan Huber and Robert Osfield, addded interactive setting - of the ImageSequence::seek() based on the mouse x position. -2012-10-05 10:07 robert +Fri, 25 Jan 2013 11:54:03 +0000 +Checked in by : Robert Osfield +From Wang Rui, "In the attached files I've added the Compute Shader support for OSG, as well as serializer updates and a new osgcomputeshaders example. My submission also include a setComputeGroups() function in Program for setting compute-shader work groups, and a bindToImageUnit() function in Texture for binding textures as image variables in shaders.All code are tested on Windows 7 + NVIDIA GFX 570 with the latest GeForce 310.70 Driver (BETA), which could support OpenGL 4.3. - * Added set methods to assist with serialization support +Compute shader information can be found at "http://www.opengl.org/registry/specs/ARB/compute_shader.txt" +" -2012-10-04 13:45 robert - * From Stephan Huber, "attached you'll find a fix for Registry.cpp - not using the QTKit-plugin for video-files. W/o this fix you had - to preload the plugin to open movie-files." -2012-10-02 14:07 robert - * From Stephan Huber, OSX and iOS Video support via a QTKit plugin - from OSX 10.7 and before, and an AVFoundation plugin for iOS and - OSX10.8 and later. +Fri, 25 Jan 2013 11:08:32 +0000 +Checked in by : Robert Osfield +From Lukasz Izdebski, "Adding this GL mode makes possibly to use this GL Modes (added in core OpenGL 3.2) in Windows." -2012-09-28 16:36 robert +Fri, 25 Jan 2013 10:36:42 +0000 +Checked in by : Robert Osfield +Fixed compile warning - * From Leigh Stivers, "We had this problem which shows up with - nVidia's latest Quadro driver, 305.93 - and older drivers when - the nVidia's setting "Thread Optimization" was turned on, running - Windows 7. The symptom, is that after creating a first view and - using it, and then creating a second view, the first view will - never render anything but black. - - What happens is this: - A view is created, and then the viewers thread is created and - runs. - The setReleaseContextAtEndOfFrameHint is true. - To create a second view, the viewer is setDone(true), and we wait - for the thread exit. - - At this point, inside the ViewerBase::RenderingTraversals code, - there are places where it reads "if(_done) return;" - - The problem, is that it won't reach the code that will - releaseContext(). - - Apparently, this driver won't let any other thread to - makeCurrent(), if another thread (dead or not) has ownership. So - when the Viewers is re-started, the first view won't be able to - use the gc. - - The change attached (against rev 13153) corrects this." +Fri, 25 Jan 2013 10:24:11 +0000 +Checked in by : Robert Osfield +Added debug message for Timout -2012-09-27 08:34 robert +Thu, 24 Jan 2013 18:48:34 +0000 +Checked in by : Robert Osfield +Fixed usage of META_NodeVisitor so it doesn't include "" - * From Thomas Hogarth, "Apple have decided in their eternal wisdom - to do away with separate depth and stencil buffers on iOS from - version 5 and above. - - Attached are changes to GraphicsWindowIOS.mm to support setting - up the new buffer type when compiling for iOS5, - also attached is a small change to FrameBufferObject.cpp to - report support for packed depth stencil via the - GL_OES_packed_depth_stencil extension. - - For anyone reading this you can attach a packed depth stencil to - your FBO like so - - _rttCamera->attach( osg::Camera::PACKED_DEPTH_STENCIL_BUFFER, - GL_DEPTH24_STENCIL8_EXT ); - - Luckily GL_DEPTH24_STENCIL8_EXT happens to have the same value as - iOSs GL_DEPTH24_STENCIL8_OES" +Wed, 23 Jan 2013 17:38:28 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "when you restart threading with startThreading/stopThreading the _drawQueue and _availableQueue are not reset properly. This can lead to a deadlock when threading is started again. So before threading is started again the queues must be reset. This deadlock is also reported earlier by someone else in here: http://forum.openscenegraph.org/viewtopic.php?p=43415#43415" -2012-09-26 08:42 robert +Wed, 23 Jan 2013 17:37:26 +0000 +Checked in by : Robert Osfield +From Pjotr Svetachov, "small bug which I have found in the FlattenStaticTransformsDuplicatingSharedSubgraphsVisitor: the visitor will replace part of the tree when visiting the nodes but it does not update the current node path to reflect this. If you then have multiple nested transform nodes it will usually crash and sometimes it won't crash but the resulting mesh will miss some nodes." - * From Paul Martz, "This change to include/osg/GL correctly - includes the OpenGL header on OSX 10.7 when building OSG trunk - for GL3. It also adds some CPP defines for compatibility." +Wed, 23 Jan 2013 16:27:22 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "I have extended the dds loader by some newer DX10 texture formats. Especially the float texture formats. I need a few of these formats somewhere but have extended everything that I found plausible and was easy to find a GL texture type/format for. For some float32 type of texture the files the implementation seem to work fine. The rest lacks testing. The writer side is not implemented." -2012-09-25 11:04 robert +Wed, 23 Jan 2013 16:22:45 +0000 +Checked in by : Robert Osfield +From Wang Rui with edits from Robert Osfield, additional GLenums for cross platform build - * Changed dispatch to virtual +Wed, 23 Jan 2013 15:54:20 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, fixed typo bug -2012-09-24 10:10 robert +Wed, 23 Jan 2013 11:50:45 +0000 +Checked in by : Robert Osfield +Removed redundent code block - * From Frederic Bouvier, "fix PNG write for images with bits per - components different than 8 that was hard coded." +Wed, 23 Jan 2013 11:45:31 +0000 +Checked in by : Robert Osfield +From Lukasz Izdebski, "I found problem with rgb plugin. Internal format of rgb image is wrongly set ( diffrent then in other images type plugin ), because of that using rgb images in osg::Texture2DArray causes a bug." -2012-09-20 14:06 robert +Wed, 23 Jan 2013 11:20:00 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Attached is a patch that includes the stereo cameras in Renderer::*etCameraRequiresSetUp.I am not sure if the getter needs to be changed, but this is currently +included for consistency." - * From Aurelien Albert, "In the DXF plugin, DXF layers are decoded - and each layer is added in a separate group, which is very - usefull to retrieve a layer or display a list of all layers in - the aplication. - - But the layers are not always children of the "model root" node : - there can be a matrix transform between "model root" and "layers - parent", so I've added the name "Layers" on the node which - contains all layers to easily retrieve the layers groups from - application code." -2012-09-20 14:03 robert - * From Luc Frauciel, Added sRGB FrameBuffer string +Tue, 22 Jan 2013 16:53:50 +0000 +Checked in by : Robert Osfield +From Alessandro Terenzi, "I've modified the avfoundation plugin to copy the preferredTransform matrix into the UserData property of the corresponding imagestream: by doing so, we can realize if the video should be transformed when applied as a texture (this should be the case, for instance, when we record a movie using an iOS device with any orientation different than 'landscape left')." -2012-09-20 11:27 robert +Tue, 22 Jan 2013 16:13:59 +0000 +Checked in by : Robert Osfield +Added and functionality to .p3d functionality. - * From Vladimir Cheaev, " - I worked with a osg::Constraint and found strange part of code: - class OSGMANIPULATOR_EXPORT Constraint : public osg::Referenced - { - public: - ... - virtual bool constrain(ScaleUniformCommand& command) const { - return constrain((MotionCommand&)command); } - virtual bool constrain(const Rotate3DCommand& command) { return - constrain((MotionCommand&)command); } - ... - - If i use osgManipulator::Rotate3DCommand then method - Rotate3DCommand::accept(const Constraint& constraint) calls - Constraint::constrain(MotionCommand&) instead Constraint:: - constrain(const Rotate3DCommand&). - - If you replace - virtual bool constrain(const Rotate3DCommand& command) { return - constrain((MotionCommand&)command); } - on to - virtual bool constrain(Rotate3DCommand& command) const { return - constrain((MotionCommand&)command); } - then all works correctly. - " +Tue, 22 Jan 2013 10:33:19 +0000 +Checked in by : Robert Osfield +Added extra check against whether node needs to be traversed in update and event traversals to prevent osgPresentation::Timeout being classified as a node that can be removed. -2012-09-20 11:18 robert +Fri, 18 Jan 2013 17:11:49 +0000 +Checked in by : Robert Osfield +Added Options support to ImageSequence LOAD_* functionality - * From Farshid Lashkari, Added GLBeginEndAdapter::reset(), and - _overallNormalAssigned, _overallColorAssigned flags to avoid the - GLBeginEndAdapter adapter setting colour and normals when none - has been assigned. +Fri, 18 Jan 2013 16:30:55 +0000 +Checked in by : Robert Osfield +Update SO_VERSION to reflect new API changes -2012-09-20 11:16 robert +Fri, 18 Jan 2013 16:21:17 +0000 +Checked in by : Robert Osfield +Added LOAD_AND_RETAIN_IN_UPDATE_TRAVERSAL and LOAD_AND_DISCARD_IN_UPDATE_TRAVERSAL ImageSequence::Mode's to allow for ImageSequence usage without using background paging threads, instead loading all the images on demand in the update traversal. - * From Ulrich Hertlein, "attached is a patch to - src/osgViewer/CMakeLists.txt that inverts the logic of when to - use - Cocoa and when to use the old Carbon interface for the windowing - system. - - The old code had to be modified for every new OS X release to - default to Cocoa. - The new code uses Carbon for <= OS X 10.4 and Cocoa on everything - else." +Thu, 17 Jan 2013 13:51:52 +0000 +Checked in by : Robert Osfield +Added and support to to allow the different timeout statges to be broadcast. -2012-09-20 11:14 robert +Thu, 17 Jan 2013 11:57:18 +0000 +Checked in by : Robert Osfield +Changed the defaults of the Timeout to be DBL_MAX by default. - * Added ReadQueue::size() method to help with debugging. +Thu, 17 Jan 2013 11:48:20 +0000 +Checked in by : Robert Osfield +Completed support, to use it with p3d use it along the lines: + + Test + + 3.0 + 5.0 + A + S + D + + w + t + Images/lz.rgb + + + + cow.osg + + -2012-09-12 16:35 robert - * Added handling of directory names in osgimagesequence - commandline. - - From Stephan Huber, added support for controlling the - ImageSequence seek position via mouse x position, toggled on/off - via 'i' key. -2012-09-12 16:02 robert - * Added osgDB::getSortedDirectoryContents and - osgDB::FileNameComparator to help with sorting directory contents - into alphabetic and numerical order. +Thu, 17 Jan 2013 09:51:15 +0000 +Checked in by : Robert Osfield +Added support for to Timeout support. -2012-09-12 11:09 robert +Wed, 16 Jan 2013 16:13:30 +0000 +Checked in by : Robert Osfield +Implemented basic Timeout display and timing codes - * Converted sorting of directory contents across to use the new - osgDB::FileNameComparator and osgDB::getSortedDirectoryContents() +Tue, 15 Jan 2013 11:31:44 +0000 +Checked in by : Robert Osfield +Added shell of Timeout class -2012-09-10 08:24 robert +Fri, 11 Jan 2013 11:30:44 +0000 +Checked in by : Robert Osfield +Added movie volume animation control to and tags to be used in the form: + + 0.20 + - * Updated version after 3.1.3 dev release + + + 0.0 + + + 1.0 + + + 1.0 + + + 0.0 + + -2012-09-07 17:04 robert + + big_buck_bunny_1080p_stereo.ogg + + - * Updated ChangeLog for 3.1.3 dev release -2012-09-07 14:55 robert - * From Wojciech Lewandowski, "With current trunk I had an error - while compiling osg/Image.cpp for IOS simulator / GLES2. Symbol - GL_RGBA16 was missing. Adding #define GL_RGBA16 0x805B to Image - header solves the problem. " -2012-09-07 09:31 robert +Thu, 10 Jan 2013 19:55:50 +0000 +Checked in by : Robert Osfield +Added support for properties that works in conjunction with the start="time" property support checked in in previous submission, together these control the delay, start position and stop position of movies. - * Added setting of the input range of the event state based on the - master cameras viewport. +Thu, 10 Jan 2013 14:37:52 +0000 +Checked in by : Robert Osfield +Added support for property that tells a video to start specificied number of sections into a video. -2012-09-07 08:33 robert +Thu, 10 Jan 2013 10:53:22 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "thanks for your input, unfortunately I could not get it working with packing, but setting the row-length works now. Seems I had it wrong the first time.Attached are both files. This should fix the video-bug mentioned on the dlf-wiki. - * Added check so not intialization is down when you select the - current camera manipulator +" -2012-09-06 13:53 robert - * From Piotr Domagalski, "I've added reading of node names ('DEF' - element) to the VRML reading plugin. The changes were based on - trunk's version of the plugin." -2012-09-06 13:48 robert +Wed, 9 Jan 2013 16:29:28 +0000 +Checked in by : Robert Osfield +Changed the named colours back to having a alpha value of 1.0 to avoid problems with text not appearing. - * From Piotr Domagalski, "I've rewritten some bits of the STL - plugin in order to support ASCII STL files with multiple named - solids (reading and writing). The names are also used as OSG - nodes names. - - - Also, a 'dontSaveNormals' was added. It allows to ignore - normals when writing an STL file. For example, it is useful for - me when writing an STL file for CFD simulations. - - - Some comments and code formatting were improved (to be - consistent with the formatting already used in the plugin). - - - With 'separateFiles' option files are now named fooX.stl - instead of foo.stlX - - The changes have been tested on various STL, both ASCII and - binary found on the net. The change was based on the trunk - branch." - - From Robert Osfield, changed assert in Piotr's code to a runtime - check warning report. +Wed, 9 Jan 2013 16:03:22 +0000 +Checked in by : Robert Osfield +Added reset of the cursorFileName when hideCursor is activated to prevent the custom cursor being enabled. -2012-09-06 10:52 robert +Tue, 8 Jan 2013 10:21:13 +0000 +Checked in by : Robert Osfield +Added case for FORWARD_EVENT to address warning - * From Piotr Domagalski, "Currently, code using OpenSceneGraph - doesn't build with clang due to the way - __sync_bool_compare_and_swap() is used in OpenThreads/Atomic - header file. - - I tested it with clang 3.1 and it seems that clang is enforcing - the use of the same type for all parameters in this builtin. - Looking at the function declaration [1] - - bool __sync_bool_compare_and_swap (type *ptr, type oldval type - newval, ...) - - it seems to be doing the right thing: here the same type is used - for *ptr, oldval and newval. - - [1] - http://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html#g_t_005f_005fsync-Builtins - " +Mon, 7 Jan 2013 15:03:22 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, "I get a compile error on Windows VS2008 wih new DAE plugin, here is a fix : _document = _dae->openFromMemory(fileURI, buffer.data()); -2012-09-06 10:32 robert +"data" method is unknow for std::vector with VS2008 - * From Fredric Bouvier, fix to CMake build selection of FLTK +I've replaced it with : -2012-09-05 21:03 robert + _document = _dae->openFromMemory(fileURI, &buffer[0]); +" - * From Colin McDonald and Robert Osfield, converted - Traits::sharedContext from GraphicsContext* to - osg:observer_ptr to prevent dangling pointer - issues. -2012-09-05 13:51 robert - * Fixed inappropriate comment +Mon, 7 Jan 2013 12:41:16 +0000 +Checked in by : Robert Osfield +Added support for --show-cursor and --hide-cursor command line options, and P3D_SHOW_CURSOR env var that can be set to YES or NO. -2012-09-05 13:48 robert +Mon, 7 Jan 2013 12:17:26 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "* osgGA: fixed a small bug regarding emulating mouse-events from touch-events * resthttp/osc: encapsulate RequestHandler-classes in their own namespaces to prevent class-name-lookup-errors in the debugger/code (had some weird crashes) * QTKit: fixed a compile-bug for gcc and blocks * osgPresentation: click_to_* will fire on RELEASE, only if the drawable received a PUSH beforehand * p3d/osgPresentation: implemented "forward_mouse_event_to_device"-tag, which will forward mouse-events to all registered devices of a viewer, if an intersection occurs. The mouse-coordinates get reprojected * present3d: all devices get registered with the viewer * osgViewer: only devices which are capable of receiving events are queried for new events. * GraphicWindowIOS: added a flag to GraphicWindowIOS::WindowData to set up a retained backing buffer (defaults to false) This will enable read-back of the render-buffer with glReadPixels even after the renderbuffer got presented * curl: added an optimized check for file-existance, now only the headers are requested and checked, instead of reading the whole file and handle it with a ReaderWriter * p3d: fixed a bug, where the existence of a local file may prevent the remote loading of a file with the same name." - * Moved the OSG_INIT_SINGLETON_PROXY macro into include/osg/Object - to make it more generally useful and added it's usage into the - RenderBinPrototypeList initialization. -2012-09-05 10:27 robert - * From Thomas Hogarth, "I submitted a change for the IOS CMake - system a few weeks back which hasn't made it into the trunk. I've - just made the modifications again against the latest trunk and - have attached the file - - It basically accounts for the fact that XCode has changed it's - default install location. - - " +Thu, 20 Dec 2012 16:16:07 +0000 +Checked in by : Robert Osfield +Made UpdateVisitor::TravesalMode default to TRAVERSE_ACTIVE_CHILDREN -2012-09-05 10:24 robert +Thu, 20 Dec 2012 12:14:53 +0000 +Checked in by : Robert Osfield +Added region="$xmin $ymin $zmin $xmax $ymax $zmax" support to tag, along with animation support via the support. - * From Andreas Ekstrand, The attached ESRIShape.cpp contains fixes - for comparing calculated byte sizes with the content length from - the record header. According to the ESRI Shape documentation - (http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf), the - content length is specified in 16 bit words, which is why I have - multiplied it by 2 when comparing to byte sizes. Note that the - comparison in line 813 is made with a fix number of 16-bit words - so it hasn't been changed. - - This fixes problems with PolygonZ records where the previous code - was reading past the end of the record since it thought it had M - values even if it didn't. I suspect the problem that James - McGlone had back in 2006 was the same but reversed, when he tried - to simply comment out the check, which was a (correctly) refused - submission."" +Wed, 19 Dec 2012 17:14:29 +0000 +Checked in by : Robert Osfield +Removed lighting of trk lines -2012-09-05 10:19 robert +Wed, 19 Dec 2012 12:38:17 +0000 +Checked in by : Robert Osfield +Changed the colour calculation and added gl_ClipVertex to enable clipping. - * From Nico Kruithof, "There is a small typo in the ShapeDrawable - code for a sphere. There was a gl.Begin(GL_QUAD_STRIP) that was - never closed, nor used. - - " +Tue, 18 Dec 2012 11:20:20 +0000 +Checked in by : Robert Osfield +Removed erroneous region setting -2012-09-05 09:30 robert +Tue, 18 Dec 2012 09:49:01 +0000 +Checked in by : Robert Osfield +From Juergen Rensen, "This is a fix for the latest SVN version (rev 13269). The â€destroyFrameBuffer’ method in â€GraphicsWindowIOS.mm’ had â€glDeleteFramebuffersOES’ calls for the stencil buffer, MSAA render buffer and MSAA depth buffer instead of â€glDeleteRenderbuffersOES’. The fix changes the mismatched calls to â€glDeleteRenderbuffersOES’.The impact of the bug was a memory leak that would affect multi-sampling iOS apps that allow for device rotation or window resizing in general. For our app, the leak ranged from ca. 10 MB to 40 MB per device rotation, depending on device, for the MSAA buffers. I have not been able to confirm impact for the stencil buffer. " - * Updated SO version number to avoid collision with new additions - to serializers -2012-09-05 09:08 robert - * Added GL_RGBA8 and GL_RGBA16 entries to the - Image::computePixelFormat() and improved he readability of the - method by inserting line spacing. +Mon, 17 Dec 2012 15:58:57 +0000 +Checked in by : Robert Osfield +Added support for RGBA colour buffer in osgframerenderer using the --rgba command line option (--rgb selects the standard non colour frame buffer which is the default). -2012-09-05 08:48 robert +Sun, 16 Dec 2012 17:10:37 +0000 +Checked in by : Robert Osfield +Added handling of aspect ratio for vertical/horizontal split stereo. - * From Ulrich Hertlein, "fixes a typo and adds support for OS X - 10.8" +Fri, 14 Dec 2012 16:31:07 +0000 +Checked in by : Robert Osfield +From Stephan Hunber, "* now you can create a transparent opengl-view (see GraphicWindowIOS::WindowData) * changes of the view's bound are reported via osg's event-system more reliably" -2012-09-05 08:42 robert - * Added deprecated note to indices entry. -2012-09-04 08:21 robert +Fri, 14 Dec 2012 16:30:28 +0000 +Checked in by : Robert Osfield +Updated SO version - * From Brad Christiansen, changed OSG_INFO to OSG_DEBUG to quieten - down volume of messages in INFO +Thu, 13 Dec 2012 17:35:27 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, "Here is a correction on the PixelBufferObject getter methods of Image.The set method modify the buffer object of the BufferData while the get method returned the buffer object of the Image. -2012-09-03 15:19 robert +I've also removed the _bufferObject member of Image (not used anymore)." +--This line, Lionel Lagardeand those below, will be ignored-- - * From Brad Christiansen, "fix for the NVTTImageProcessor. When the - code was updated in revision 12912 a couple of typos where made. - These cause a crash when compressing transparent images and - mangled colours when compressing rgb images. " +M include/osg/Image -2012-09-03 09:08 robert - * Adjusted the #define's to help GLES2 build -2012-09-03 08:30 robert +Thu, 13 Dec 2012 16:23:38 +0000 +Checked in by : Robert Osfield +Added colouring and lighting of track using shader - * From Lilin Xiong, " there is a small bug in - osgDB::readNodeFiles(std::vector& fileList,const - Options* options) in file ReadFile.cpp line 85: - osg::Node *node = osgDB::readNodeFile( *itr , - Registry::instance()->getOptions() ); - It should be: - osg::Node *node = osgDB::readNodeFile( *itr , options );" +Tue, 11 Dec 2012 17:45:20 +0000 +Checked in by : Robert Osfield +Fixed handling of image colour space conversion when pixel format changes -2012-08-31 16:00 robert +Tue, 11 Dec 2012 17:27:22 +0000 +Checked in by : Robert Osfield +Added automatic conversion of RGB to RGBA when doing REPLACE_ALPHA_WITH_LUMINANCE colour space conversion. - * Added a fix for a multi-threading bug that occured when - TerrainTiles were accessed via the Terrain::_updateTerrainTileSet - that were being deleted at the same time by the DatabasePager - thread. +Tue, 11 Dec 2012 10:44:00 +0000 +Checked in by : Robert Osfield +Disabled lighting and set the colour to white -2012-08-29 16:48 robert +Tue, 11 Dec 2012 09:55:48 +0000 +Checked in by : Robert Osfield +First cut of generating lines from .trk data - * From Wang Rui, "This patch fixes a problem of the osg::Program - serializers that can't - save/load GeometryInputType data correctly. The bug is initially - found - by John Kelso." +Mon, 10 Dec 2012 11:11:19 +0000 +Checked in by : Robert Osfield +Added setting of the fusion distance. -2012-08-24 15:05 robert +Sat, 8 Dec 2012 16:11:00 +0000 +Checked in by : Robert Osfield +Added --flip and --no-flip command line options to enable/disable a vertical flip of the captured image before writing out to disk. - * From Johannes Scholz, fix for writing out of hexidecimal numbers +Fri, 7 Dec 2012 19:05:47 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a zip containing some bug-fixes and some refactored + new code.* ZeroConfDevice does now return FILE_NOT_HANDLED instead of FILE_NOT_FOUND +* present3D supports multiple devices per env-var P3D_DEVICE, separate multiple device with a space -2012-08-23 15:06 robert +I refactored parts the p3d-plugin, the curl-plugin and parts of Registry and ReaderWriter. Currently the p3d-plugin tries to open all remote files with the help of the curl-plugin. - * Fixed bug in - GLBufferObjectSet::discardAllDeletedGLBufferObjects() and - GLBufferObjectSet::flushDeletedGLBufferObjects(double - currentTime, double& availableTime) - where the NumberActiveGLBufferObjects was errneously being - incremented by numDiscarded. - - M osg/BufferObject.cpp +I added a new method to Registry called getReaderWriterForProtocolAndExtension. which will return a ReaderWriter which is capable in handling the remote file for the given protocol and extension. If no readerwriter is found for the given extension, a list is built of all readerwriters supporting the given protocol and this list is checked for support of wildcards (extension = "*"). If anything matches it get returned. -2012-08-22 16:39 robert +I added this principle also to the Registry, so now it's possible to register a generic ReaderWriter which can handle all filetypes for a given protocol, similar what curl is doing. All you have to do is to load the plugin at startup. The curl-fallback is still in place. - * Fixed typo +With these changes it is now possible to reference a movie inside a presentation without a server-address, read the presentation (with curl) and stream the movie with the correct plugin (e.g. QTKit) -2012-08-21 09:45 robert +" - * Added check against the Camera NodeMask to decide whether it's - appropriate to test for events on that camera. -2012-08-15 12:40 robert - * Added ShadowSettings::s/getMaximumShadowMapDistance(double) - property, usage of these property in ViewDependentShadowMap, - and setting of it with --max-shadow-distance in the - osgshadow example. +Fri, 7 Dec 2012 19:04:49 +0000 +Checked in by : Robert Osfield +Added template swapBytes method -2012-08-14 20:15 robert +Fri, 7 Dec 2012 13:59:57 +0000 +Checked in by : Robert Osfield +Added naming of root of presentation and used this in the setup of the position of the camera. - * Added a mutex to protect the removal and addition of Uniform and - Program to StateSet to avoid parents being invalidated when - multi-threading. +Fri, 7 Dec 2012 12:47:42 +0000 +Checked in by : Robert Osfield +Fixed handling of window size/projection matrix -2012-08-03 16:14 robert +Fri, 7 Dec 2012 10:19:05 +0000 +Checked in by : Robert Osfield +From Stephan Huber, attached is a fix for the bug of present3D not loading fonts across http. I pass SlideShowConstructor's options-object to readFontFile when constructing any text-objects so freetype can pick up the font-data from the curl-plugin. It works fine now on my end. - * Introduced --near-far-mode into osgshadow and - ShadowSettings::setComputeNearFarModeOverride(..) to allow user - control of how the cull traversal is optimized for computing the - depth range of the shadow map. +Thu, 6 Dec 2012 19:09:17 +0000 +Checked in by : Robert Osfield +Intial shell of .trk plugin -2012-08-03 15:23 robert +Thu, 6 Dec 2012 18:12:00 +0000 +Checked in by : Robert Osfield +From Stephan Huber, build fix - * Removed the erronous creation of a local ShadowSettings object +Thu, 6 Dec 2012 14:42:36 +0000 +Checked in by : Robert Osfield +Added default value for initialization of port number -2012-07-24 09:05 robert +Thu, 6 Dec 2012 11:36:35 +0000 +Checked in by : Robert Osfield +Fixed typo - * Added FireGL to prefernce list for use glGenerateMipMap +Thu, 6 Dec 2012 11:36:13 +0000 +Checked in by : Robert Osfield +Added creation of directory path for ouput if one is required -2012-07-23 08:15 robert +Thu, 6 Dec 2012 08:02:08 +0000 +Checked in by : Robert Osfield +From Stephan Huber, ZerConfDevice plugin for Windows and Apple - * Fixed build +Wed, 5 Dec 2012 17:15:53 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "* imageio: removed ReaderWriterImageIO_IOS.cpp, refactored ReaderWriterImageIO to work on OS X and IOS * avfoundation: added support for IOS (CoreVideo-support is still in development, works only for SDK >= 6.0, set IPHONE_SDKVER in cMake accordingly) * zeroconf: added ZeroConf-device-plugin (Mac/Win only, linux implementation missing) to advertise and discover services via ZeroConf/Bonjour, on windows you'll need the Bonjour SDK from Apple * osgosc: modified the example to demonstrate the usage of the ZeroConf-plugin (start the example with the command-line-argument --zeroconf) * SlideShowConstructor: enable/disable CoreVideo via a environment variable (P3D_ENABLE_CORE_VIDEO) * RestHttp: mouse-motion-events get interpolated * RestHttp: unhandled http-requests get sent as an user-event to the event-queue, all arguments get attached as user-values to the event * modified some CMakeModules to work correctly when compiling for IOS * fixed a compile-error for IOS in GraphicsWindowIOS * some minor bugfixes" -2012-07-12 16:41 robert +Wed, 5 Dec 2012 11:41:27 +0000 +Checked in by : Robert Osfield +Added --screen-distance , --screen-height and --screen-width command line support and associated settings to the configuration file. - * Introduced - Texture::Extensions::s/getPreferGenerateMipmapSGISForPowerOfTwo() - flag that defaults to false for Radeon, true elsewhere. - This is used to workaround mipmapping bugs with ATI/AMD cards. +Wed, 5 Dec 2012 10:13:51 +0000 +Checked in by : Robert Osfield +Moved the expansion of the key codes into ApplicationUsage so that help is only generated for non zero keycodes. -2012-07-11 14:36 robert +Tue, 4 Dec 2012 19:02:45 +0000 +Checked in by : Robert Osfield +Fixed default camera position - * Fixed indentation +Tue, 4 Dec 2012 18:51:21 +0000 +Checked in by : Robert Osfield +Changed the -w and -h options to --width and --height respectively. -2012-07-11 08:39 robert +Tue, 4 Dec 2012 18:30:33 +0000 +Checked in by : Robert Osfield +Cleaned up command line usage - * Fixed parameter default value to avoid warning +Tue, 4 Dec 2012 18:28:28 +0000 +Checked in by : Robert Osfield +Tidied up command line docs. -2012-07-10 16:20 robert +Tue, 4 Dec 2012 18:21:53 +0000 +Checked in by : Robert Osfield +Tidied up CaptureSettings and added command line docs - * Replaced use of now deprecated methods. +Tue, 4 Dec 2012 12:47:46 +0000 +Checked in by : Robert Osfield +Added CameraProperty and associated command line parameters for controlling camera position and animation. --center x y z + --eye x y z + --up x y z + --rotation-center x y z + --rotation-axis x y z + --rotation-speed degreesPerSecond + -2012-07-10 16:11 robert - * Enabled the use the getReceivesShadowTraversalMask(). -2012-07-10 16:11 robert +Tue, 4 Dec 2012 09:11:17 +0000 +Checked in by : Robert Osfield +Added missing break; - * Changed settings of masks to use ShadowSettings. +Mon, 3 Dec 2012 16:49:47 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "I've found a bug in SlideShowConstructor::findFileAndRecordPath which does return an empty string if the file was not found, and this empty string got added to the fileNames-vector, so the curl-plugin tried to load only an empty file-name, the directory-prefix. I fixed findFileAndRecordPath, so it returns the unmodified filename, which can then be loaded by the curl-plugin. Please review my fix, as I am not sure if it has any side effects, as I know the code not that well.The file includes another small compile-fix when using float-matrices." -2012-07-10 15:50 robert - * Moved mask settings into ShadowSettings -2012-07-09 17:49 robert +Mon, 3 Dec 2012 11:31:13 +0000 +Checked in by : Robert Osfield +Renamed souce file - * Changed updateCamera(Camera*) to updateCamera(Camera&) to make it - clear that a valid Camera object should be passed in. +Mon, 3 Dec 2012 10:10:46 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've found a very covert bug in current VDSM implementation. It makes the computation of positional texgen incorrect if the shadow scene is under one or more child cameras with view/proj offsets. Using current stage instead will fix it." -2012-07-09 17:32 robert +Mon, 3 Dec 2012 09:50:41 +0000 +Checked in by : Robert Osfield +Fixed error in Unfiform set method - * From Riccardo Corsi, introduced CameraManipulator::updateCamera() - method that allows more Camera properties to be controlled by the - CameraManipulator. +Mon, 3 Dec 2012 09:35:12 +0000 +Checked in by : Robert Osfield +Added include of osc plugin directory to help with Windows build -2012-06-25 16:31 robert +Sun, 2 Dec 2012 11:45:57 +0000 +Checked in by : Robert Osfield +From Wang Rui, build fix - * Refactored the way that the static Scene cache is managed by - moving all the functionality into a SceneSingleton +Fri, 30 Nov 2012 20:03:31 +0000 +Checked in by : Robert Osfield +Fixed crash when no CameraManipulator is assigned to the viewer -2012-06-22 16:21 robert +Fri, 30 Nov 2012 16:52:59 +0000 +Checked in by : Robert Osfield +Added support for 0x and numeric defintion of keys to be used with functionality. - * Restructed the way that the global notify variables are - initialized to avoid problems with multi-threaded initialization - of these variables. +Fri, 30 Nov 2012 15:43:31 +0000 +Checked in by : Robert Osfield +Added support for pausing and restart the property_animation. -2012-06-16 09:08 robert +Fri, 30 Nov 2012 14:21:45 +0000 +Checked in by : Robert Osfield +Added xml defined property/property animation to .p3d format for propeties: alpha="$alphaname" + cutoff="$cutoffname" + region="$minx $miny $minz $maxx $maxy $maxz" + sampleDensity="$densityname" + sampleDensityWhenMoving="$densityname" + - * Fixed spelling of FileNameComparator -2012-06-15 09:04 robert - * Moved the frame() event into the event traversal after then - events and their state have been accumulated. +Wed, 28 Nov 2012 13:28:20 +0000 +Checked in by : Robert Osfield +From Stephan Huber, New OscSendingDevice and OscReceivingDevice classes -2012-06-12 20:15 robert +Wed, 28 Nov 2012 10:43:58 +0000 +Checked in by : Robert Osfield +From Stephan Huber, added event sending support into osgGA::Device along with implementation on this into the osc plugin. Added osgoscdevice example to demonstate this in action. - * Added FileNameComparator to sort the filenames in an - ImageSequence into alphanumerical order so that it can handle the - numerical ordering found in screenshot numbered sets of files +Tue, 27 Nov 2012 16:00:43 +0000 +Checked in by : Robert Osfield +Added support for tag for , and scope to compliment the scope of -2012-06-12 18:29 robert +Tue, 27 Nov 2012 15:09:44 +0000 +Checked in by : Robert Osfield +Added preliminary support for - * Enabled 6 ImageThreads in the ImagePager +Thu, 22 Nov 2012 15:13:46 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "Attached you'll find a new ImageSequence.cpp which will fix an issue I had when moving the mouse cursor over the left window-border, as the index becomes negative. And I added a UdpSocket.cpp-file with more debuggin-output via some sprinkled printf-calls. " -2012-06-12 10:31 robert +Thu, 22 Nov 2012 11:55:38 +0000 +Checked in by : Robert Osfield +Simplified CMakeLists and adjusted OscHostEndianness to automatically detect the endian at compile time - * Commented out the disabling of use of PBO's in ImageStream, and - disabled the use ClientStoreHint in Present3D. +Thu, 22 Nov 2012 11:47:03 +0000 +Checked in by : Robert Osfield +From Stephan Huber, updates to explictly set the HOST Endian using Cmake -2012-06-11 19:54 robert +Thu, 22 Nov 2012 09:49:24 +0000 +Checked in by : Robert Osfield +Added explict handling of osg::Image, osg::HeightField, osg::Shader and osg::Node when doing writes to the archive. - * Added support for setting the paging_mode property to - PRE_LOAD_ALL_IMAGES, PAGE_AND_RETAIN_IMAGES or - PAGE_AND_DICARD_IMAGE for osg::ImageStream, - with PAGE_AND_DICARD_IMAGE set as the default. +Wed, 21 Nov 2012 15:19:58 +0000 +Checked in by : Robert Osfield +From Stephan Huber, further work on osc plugin -2012-06-08 10:26 robert +Wed, 21 Nov 2012 14:27:54 +0000 +Checked in by : Robert Osfield +Moved static for local to global scope in Uniform.cpp and removed the local static usage in Registry.cpp - * Added ImageStream support to and tags in - .p3d +Wed, 21 Nov 2012 13:38:11 +0000 +Checked in by : Robert Osfield +Refactored osgDB::Input::readObjectOfType to use a template, and updated associated wrappers to avoid using local static's -2012-06-08 04:18 robert +Tue, 20 Nov 2012 18:41:30 +0000 +Checked in by : Robert Osfield +From Paul Martz, fix for Windows build - * Added osg::ImageSequence support into - osgPresentation::SlideShowConstructor and the associated - tag in .p3d. +Tue, 20 Nov 2012 13:01:57 +0000 +Checked in by : Robert Osfield +From Stephan Huber, added missing windows dependency -2012-06-07 10:08 robert +Tue, 20 Nov 2012 10:37:42 +0000 +Checked in by : Robert Osfield +Added ws2_32 library to Win32 build - * Added --fps support +Mon, 19 Nov 2012 11:25:52 +0000 +Checked in by : Robert Osfield +From Paul Martz, build fixes -2012-05-31 14:45 robert +Mon, 19 Nov 2012 10:48:37 +0000 +Checked in by : Robert Osfield +Frm Stephan Huber, osc plugin that supports send and recieving events via UDP packets. - * Added typdef for Win32 +Fri, 16 Nov 2012 15:40:41 +0000 +Checked in by : Robert Osfield +Added first cut implememtation of PropertyAnimation class -2012-05-25 16:07 robert +Thu, 15 Nov 2012 12:11:19 +0000 +Checked in by : Robert Osfield +Moved PropertyManager related classes out from SlideEventHandler into their own dedicated header/source file. - * From Wang Rui, "A very small but maybe fatal problem was found - when I saved models with shader and uniforms (with new double - types support) to osgb format and tried to read it again. The - application will crash here. And the serializer file should be - slightly changed to fix it. Please replace the original file in - osgWrappers/serializers/osg/Uniform.cpp." +Tue, 13 Nov 2012 16:15:20 +0000 +Checked in by : Robert Osfield +Added support for P3D_UPDATE env var for setting the UpdateVisitor::TRAVERSAL_MODE. Accepted settings are "active", "Active", "ACTIVE", or "all", "All", "ALL". -2012-05-25 15:32 robert +Tue, 13 Nov 2012 15:26:06 +0000 +Checked in by : Robert Osfield +Added --update-active and --update-all command line options that set the UpdateVisitor::TraversalMode to TRAVERSE_ACTIVE_CHILDREN and TRAVERSE_ALL_CHILDREN respecively. - * Added Dragger::get/setActivationMouseButtonMask(uint). +Tue, 13 Nov 2012 14:22:37 +0000 +Checked in by : Robert Osfield +Added support for to allow user definition of when to enable OpenGL blending for an image or not. -2012-05-25 08:56 robert +Tue, 13 Nov 2012 13:52:33 +0000 +Checked in by : Robert Osfield +From Stephan Huber, fixed warning - * From Jaap Glas, "Added a default parameter to the following - constructor in TabPlaneDragger - and TabPlaneDragger.cpp: - - TabPlaneDragger(float handleScaleFactor=20.0f); - - The reason for this is that the default OSG tab sizes are way - bigger than - those we used in our application so far. And since - handleScaleFactor_ - is already a (constant) class member, I see no objection against - making - it user defined." +Tue, 13 Nov 2012 13:32:01 +0000 +Checked in by : Robert Osfield +Changed COLOUR to COLOR to be consistent with OpenGL spelling -2012-05-24 18:15 robert +Tue, 13 Nov 2012 13:16:10 +0000 +Checked in by : Robert Osfield +Moved colour space conversion of volumes from the osgvolume example into osg/ImageUtils and added support for colorSpaceConversion="MODULATE_ALPHA_BY_LUMINANCE","MODULATE_ALPHA_BY_COLOUR","REPLACE_ALPHA_WITH_LUMINANCE" and "REPLACE_RGB_WITH_LUMINANCE" to .p3d tag - * From Jaap Gas, added missing break, and missing - removeDraggerCallback. +Tue, 13 Nov 2012 11:45:20 +0000 +Checked in by : Robert Osfield +Added first step to adding pruning of expired image requests. -2012-05-21 09:12 robert +Tue, 13 Nov 2012 11:20:36 +0000 +Checked in by : Robert Osfield +From Stephan Huber, introduced syncornization of osgGA::Device - * Removed -ftree-vectorize from OSX 10.7 build to avoid warning - when building with clang. +Mon, 12 Nov 2012 16:46:08 +0000 +Checked in by : Robert Osfield +Cleaned up reported of events and added assigned of tag region properities when using the wildcard definition of the volume. -2012-05-02 14:13 robert +Mon, 12 Nov 2012 15:26:30 +0000 +Checked in by : Robert Osfield +Added osgframerenderer example - * Removed trailing spaces +Mon, 12 Nov 2012 10:36:21 +0000 +Checked in by : Robert Osfield +Changed the default settings to fix a jump problems -2012-05-02 13:58 robert +Sat, 10 Nov 2012 12:12:24 +0000 +Checked in by : Robert Osfield +Added missing files in support of key_jump and key_run tags - * Fixed for including cmath before osg/Math. +Fri, 9 Nov 2012 21:32:54 +0000 +Checked in by : Robert Osfield +Added support for naming slides and layers with slide_name and layer_name properties respectively. Added support for creating events based on key presses using a and tags. -2012-04-27 09:43 robert +Fri, 9 Nov 2012 21:23:42 +0000 +Checked in by : Robert Osfield +Added Node::getName() and getUserDataContainer() to check to see if an node can be removed or not. - * Added using base_class::set to the Matrix*Template class to - enable the set() method from the base class to be used. +Thu, 8 Nov 2012 17:19:51 +0000 +Checked in by : Robert Osfield +From Alexander Sinditskiy, "I found issue with capturing mouse buttons. This issue can be reproduced: 1. Create osgViewer window, 2. Push right&left mouse buttons on the osgViewer window, 3. Move mouse out of window, and release right&left mouse buttons.osgViewer window handle only first mouse release, as result window thinks that we did not released second mouse button. -2012-04-26 10:07 robert +I attached fix for this issue." - * From Christophe Herreman, Added viewer.setCameraManipulator( - keyswitchManipulator.get() ) to fix problem with master Camera - not being updated -2012-04-20 10:01 robert - * From Mathias Froehlich,"Attached is a change to the ac3d model - loader as of rev 11498, that uses - indexed draws instead of plain array draws to save some amount of - main memory. - Draw performance does not change with the nvidia binary blob as - well as with - the open source drivers." +Thu, 8 Nov 2012 15:45:23 +0000 +Checked in by : Robert Osfield +Added support for -2012-04-20 09:53 robert +Thu, 8 Nov 2012 15:28:24 +0000 +Checked in by : Robert Osfield +Changed the way the mouse position is update to handle the remote device control. - * From John Kaniarz, "Here's a patch to add new extensions for - tessellation shaders to the GLSL - plugin." "I went with .tctrl and .teval for the shader - extensions." +Thu, 8 Nov 2012 14:15:59 +0000 +Checked in by : Robert Osfield +Added check to avoid doing update when the imagesequence is empty. -2012-04-20 09:40 robert +Thu, 8 Nov 2012 11:19:31 +0000 +Checked in by : Robert Osfield +Refactored ImageSequence to better handle random access usage. - * Ran dos2unx on file +Tue, 6 Nov 2012 17:49:32 +0000 +Checked in by : Robert Osfield +Tweaked casts/types to fix build under Linux -2012-04-20 09:38 robert +Tue, 6 Nov 2012 14:25:28 +0000 +Checked in by : Robert Osfield +Added f qualifer to 1.0 to fix build problem under MSVS - * From John Kaniarz, "Here is an example of using tessellation - shaders in osg. With permission from the author, I adapted it - from this tutorial: - http://prideout.net/blog/?p=48" +Tue, 6 Nov 2012 11:18:33 +0000 +Checked in by : Robert Osfield +From Stephan Huber, improved performance by using native apple functions for flipping image -2012-04-19 14:58 robert +Mon, 5 Nov 2012 17:22:34 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "Attached you'll find a fix for the image-io-plugin to handle out-of-memory situations more gracefully as before (don't crash)" - * Restructed how the GL_SAMPLER_* #define's are placed to avoid - build problems under GLES. +Mon, 5 Nov 2012 12:21:34 +0000 +Checked in by : Robert Osfield +Quitened down debug output -2012-04-19 14:34 robert +Mon, 5 Nov 2012 12:03:50 +0000 +Checked in by : Robert Osfield +From Stephan Huber, updated to debug output to RestHttpDevice and tweaks to ImageIO and QTKit plugins - * Changed #ifdef __IPHONE_4_0 to #if defined(__IPHONE_4_0) to fix - error that Clang compile warning highlighted +Mon, 5 Nov 2012 09:36:00 +0000 +Checked in by : Robert Osfield +Added static cast to float to avoid compile error under MSV -2012-04-19 13:18 robert +Thu, 1 Nov 2012 18:06:46 +0000 +Checked in by : Robert Osfield +From David Longest, "When drawing, a transform with an absolute reference frame will ignore the calculated model / view matrices up to that point. The IntersectionVisitor would instead keep the view matrices calculated up to that point even though the Transform class will throw out the calculated model matrix via “computeLocalToWorldMatrix.”The change I made will push an identity matrix as the view matrix when running into a transform +with an absolute reference frame and will pop the matrix off after the traverse. - * Fixed build with OSG_USE_REF_PTR_IMPLICIT_OUTPUT set to OFF. +To test this, I created a camera with a perspective view and added a transform with some geometry +in it. Afterwards, I set the transform’s reference frame to ABSOLUTE_RF and spun the camera around +using the trackball manipulator. When trying to pick with a LineSegmentIntersector, it would not +pick the geometry in the transform with the reference frame set to ABSOLUTE_RF." -2012-04-19 10:27 robert - * From David Callu, "Here the fix for Matrix{2,3,4}x{2,3,4}{fd} - defined in Uniform header. - - My previous patch for Atomic Counter Uniform provide new template - implementation - of Matrix{2,3,4}x{2,3,4}{fd}. This new implementation use - Column-Major Matrix. - Original code define matrix as Row-Major matrix like other Matrix - in OSG, and - my matrix implementation break compatibility with previous code. - For example osg_normalMatrix define in osg::State report by - Roland Hill. - Thanks to Paul Martz to spot me when the bug appear." -2012-04-19 10:10 robert - * Added missing getUniformBlocks implmentation +Thu, 1 Nov 2012 16:11:13 +0000 +Checked in by : Robert Osfield +Changed the PropertyEventCallback to only respond to mouse releated events. -2012-04-19 09:50 robert +Thu, 1 Nov 2012 14:29:26 +0000 +Checked in by : Robert Osfield - * From Jorge Izquierdo Ciges, "Mostly small changes to add more - compile options, and shared linking (still testing that - capability, but this enables on a compile basis if the user - wants). Robert, when you give the Ok I'll update/rewrite the - Android section in the old/new wiki you'll say where is better. - Mostly to be clear for the future users what options can - configure and what are their purpose." -2012-04-18 10:16 robert +Wed, 31 Oct 2012 17:06:29 +0000 +Checked in by : Robert Osfield +Added reading of the P3D_DEVICE env var for setting up the --device entry. - * Refactored the handling of GLES adaptations of the 1,2,3,4 - internal formats and added handling of GL_RGB8_OES and - GL_RGBA8_OES. +Wed, 31 Oct 2012 16:07:23 +0000 +Checked in by : Robert Osfield +Added event and update callbacks to pass up changes to the mouse position to the ImageSequence::seek() to control which images is selected based on mouse x position -2012-04-18 09:56 robert +Tue, 30 Oct 2012 12:31:27 +0000 +Checked in by : Robert Osfield +From Stephan Huber, RestHttpDevice plugin for support of remote application control via Rest http. - * From Mathias Froehlich, "Attached is a change to the slow path - geometry dispatch tables that allows the - use of 3 component float color vectors." +Mon, 29 Oct 2012 15:58:02 +0000 +Checked in by : Robert Osfield +Intial work towards support an interaction tag in Present3D. -2012-04-18 09:51 robert +Fri, 26 Oct 2012 15:31:18 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, "Compile Fix - KTX plugin with Visual Studio, not defined under MSVC" - * From Martin Naylor, "I have been experiencing a crash in the - example osgtexture2D. - Not sure why my system seems to be so sensitive to these - problems. - - But attached is a fix which seems to stabilise the example. - Note: it only seems to crash intermittently when spinning the - object with - your mouse. - - So I assume this is a threading issue because of the data - variance missing - in some of the text node setups in the example. - " +Wed, 24 Oct 2012 16:10:38 +0000 +Checked in by : Robert Osfield +Fixed bug in click_to_run feature where events would be handled by hidden labels -2012-04-18 09:50 robert +Wed, 24 Oct 2012 10:43:01 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find the latest versions of the QTKit + the AVFoundation-plugin, some changes to osgPresentation and a small enhancement fĂĽr ImageIO.I fixed some bugs and did some more tests with both of the video-plugins. I integrated CoreVideo with osgPresentation, ImageStream has a new virtual method called createSuitableTexture which returns NULL for default implementations. Specialized implementations like the QTKit-plugin return a CoreVideo-texture. I refactored the code in SlideShowConstructor::createTexturedQuad to use a texture returned from ImageStream::createSuitableTexture. - * Updated version number +I did not use osgDB::readObjectFile to get the texture-object, as a lot of image-related code in SlideShowConstructor had to be refactored to use a texture. My changes are minimal and should not break existing code. -2012-04-06 11:29 robert +There's one minor issue with CoreVideo in general: As the implementation is asynchronous, there might be no texture available, when first showing the video the first frame. I am a bit unsure how to tackle this problem, any input on this is appreciated. - * From Martin Naylor, "Please find attached a fix for the STD - library(tested under Windowsx64 - VS2008) when atomiccounter is found but not used." +Back to the AVFoundation-plugin: the current implementation does not support CoreVideo as the QTKit-plugin supports it. There's no way to get decoded frames from AVFoundation stored on the GPU, which is kind of sad. I added some support for CoreVideo to transfer decoded frames back to the GPU, but in my testings the performance was worse than using the normal approach using glTexSubImage. This is why I disabled CoreVideo for AVFoundation. You can still request a CoreVideoTexture via readObjectFile, though. +" -2012-04-06 10:42 robert - * From Ulrich Hertlein, Fix for MatrixTemplate compile errors -2012-04-05 13:53 robert +Tue, 23 Oct 2012 16:15:03 +0000 +Checked in by : Robert Osfield +Added osgGA::Device class for integration of both physical and virtual devices.Added template readFile(..) function to make it more convinient to cast to a specific object type. - * From Wang Rui, "I'd like to submit the changes that will put - ObjectProperty and ObjectMark variables into the - InputStream/OutputStream class instead of static ones. This - should avoid the threading problem and won't repeatedly - reallocate memory for the properties. Some of the wrappers will - be slightly modified to use the property variable stored in the - InputStream/OutputStream as well." +Added support for osgGA::Device to osgViewer. -2012-03-30 17:08 robert +Added sdl plugin to provides very basic joystick osgGA::Device integration. - * Update AUTHORS for release -2012-03-30 16:58 robert - * Updated ChangeLog for dev release -2012-03-30 10:10 robert - * Added check to avoid accessing pointer past the end of the - string. +Mon, 22 Oct 2012 16:21:04 +0000 +Checked in by : Robert Osfield +Added mutex lock to Uniform::addParent()/removeParent(). -2012-03-29 15:08 robert +Fri, 12 Oct 2012 14:51:08 +0000 +Checked in by : Robert Osfield +Added serializers for osgGA - * From Magnus Kessler, typo and documentation fixes +Tue, 9 Oct 2012 16:14:21 +0000 +Checked in by : Robert Osfield +Removed the insert of requests in the ImageSequence::_filesRequested data structure so that it always requests files, leaving it up the ImagePager to decide to track duplicates -2012-03-29 14:58 robert +Tue, 9 Oct 2012 16:05:50 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I modified the Serializer header to add a UPDATE_TO_VERSION_SCOPED macro, which could set version within brackets and reset it after that. All related serializers are also modified so that the backward-compatibility bug reported by Farshid can be fixed. "From Robert Osfield, removed the use of osg::Referenced and creating the proxy object on the heap. - * From Cedric Pinson, "I Updated the ply plugin to support alpha - color in files. Plus I updated it to use by default an alpha of - 1.0 instead of 0 when no alpha is specified. - Last changes is to divide byte color by 255.0 instead of 256.0." -2012-03-29 09:57 robert - * From Magnus Kessler, "remove unecessary conversion from float in - double precision method" +Mon, 8 Oct 2012 16:14:23 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've added CDATA tag support to XmlParser so that we can keep user data (e.g., GLSL shader texts) in XML files without parsing them. This will be necessary for the coming-soon effect compositor submission. :-)" -2012-03-29 09:43 robert +Mon, 8 Oct 2012 16:12:59 +0000 +Checked in by : Robert Osfield +Added a static_cast to avoid build issues under Windows - * From David Callu, "Here an update of osg::Uniform : - - add non square matrix - - add double - - add all uniform type available in OpenGL 4.2 - - backward compatibility for Matrixd to set/get an float uniform - matrix - - update of IVE / Wrapper ReadWriter - - implementation of AtomicCounterBuffer based on BufferIndexBinding - - add example that use AtomicCounterBuffer and show rendering order - of fragments, - original idea from geeks3d.com." +Mon, 8 Oct 2012 16:03:16 +0000 +Checked in by : Robert Osfield +Fixed warning -2012-03-29 08:27 robert +Mon, 8 Oct 2012 15:10:56 +0000 +Checked in by : Robert Osfield +From Aurelein Albert, "Under some Visual Studio configuration, I get compile error on "lib3ds_io.c" due to use of these kind of conversion : b[1] = uint8_t((w & 0xFF00) >> 8); - * Added int packing parameter to Image::readPixels(..) +I replaced it with : -2012-03-23 16:09 robert + b[1] = (uint8_t)((w & 0xFF00) >> 8); - * Removed trailing spaces +And it compiles fine +" -2012-03-23 11:32 robert - * Updated ChangeLog and AUTHORS for 3.1.2 dev release -2012-03-23 11:20 robert +Mon, 8 Oct 2012 12:00:53 +0000 +Checked in by : Robert Osfield +From Gill Peacegood, "In the attached file I have changed the colour space used for writing images to match the one used for reading images. Also this color space does not make subtle changes to the original colours which i think is probably what most people intend when writing an image and is more consistent with other plugins.The effect is that an image that is written does not have a noticeably different colour when it is read back." - * Fixed potential memory leak -2012-03-23 11:16 robert - * From Luc Frauciel, "I've encoutered a nasty group of dae which - are incompatible with dae plugins (and probably collada schema ) - in 4 different ways : - - 1) they use direct link to texture - - -> this is already handle by current plugin : OK - - 2) they defined colors with only 3 color components - - -> it leads to a crash when trying to acces to the fourth - component - I fixed that - - 3) they contain empty primitive lists - - -> reading is ok, but osgviewer crashes when trying to display - the geometries - The reason is that osg assume that DrawElementsare never empty - (blunt acces to DrawElements.front() in PrimitiveSet.cpp) - I corrected this (on the plugin side), but I wonder : - Is it the responsability of plugins to create non empty - DrawElements, or of osg core not to crash when they occur ? - If the responsability is on the osg core side, I can submit a - patch to PrimitiveSet.cpp regarding that aspect. - - 4) they use a material binding scheme not supported by the plugin - - ->I've implemented a mechanism to handle this binding scheme - - You will also find in the patch an example of these evil dae and - comments on the offending elements. - They seems to be produced by ComputaMaps (www.computamaps.com) - They load well in Google Earth - " +Mon, 8 Oct 2012 11:54:40 +0000 +Checked in by : Robert Osfield +From Oren Fromberg, "" --This line, and thosAttached is an update to ReaderWriterDAE.cpp/h and daeReader.cpp/h that implementsosgDB::ReaderWriter::ReadResult -2012-03-23 10:24 robert +ReaderWriterDAE::readNode (std::istream&, const osgDB::ReaderWriter::Options*) - * From Ulrich Hertlein, "as discussed on osg-users there is an - issue with clang++ on OS X and iOS that results in - the following error: - - Users/stephan/Documents/Projekte/cefix/cefix/ios/../../libs/ios/include/OpenThreads/Atomic:244:48: - error: cannot initialize a parameter of type 'void *' with an - lvalue of - type 'const void *const' - return __sync_bool_compare_and_swap(&_ptr, ptrOld, ptrNew); - - This can be solved by a cast to '(void*)ptrOld'. This should be - benign since both - 'ptrOld' and 'ptrNew' are only read and the cast is in fact in - place for all other - implementations as well. - - On OS X the cast compiles cleanly on both g++ - (i686-apple-darwin11-llvm-g++-4.2 (GCC) - 4.2.1) and clang++ (Apple clang version 3.1 - (tags/Apple/clang-318.0.54)). - " +This virtual function had never been implemented in ReaderWriterDAE. I implemented this function because the DAE plugin could not load files from other ReaderWriter derived objects that use protocol handlers. -2012-03-23 10:21 robert +I have updated function declarations in the header to have identical signatures with the base class declarations that include the default parameter. - * As per Ulrich Hertlrein's suggestion, changed - APPLE_PLATFORM_SDK_CANONICAL_NAME to OSG_OSX_SDK_NAME. -2012-03-23 10:18 robert +readNode (std::istream&, …) is nearly identical to readNode(const std::string &, …) except it uses a new private function to convert the file from standard input: - * From Erik den Dekker, " - IF(${CMAKE_OSX_SYSROOT} STREQUAL - "/Developer/SDKs/MacOSX10.7.sdk") - ... - - ELSEIF(${CMAKE_OSX_SYSROOT} STREQUAL - "/Developer/SDKs/MacOSX10.5.sdk" OR ${CMAKE_OSX_SYSROOT} STREQUAL - "/Developer/SDKs/MacOSX10.6.sdk") - - ... - - ELSEIF(EXISTS /Developer/SDKs/MacOSX10.4u.sdk) - ... - - ELSE() - - ... - - ENDIF() - - - Which is fragile because XCode could be installed into another - directory than /Developer. (In case XCode is not installed into - the /Developer directory CMake can automatically resolve the path - via command line utility ${CMAKE_XCODE_SELECT} --print-path) - - This issue bites me currently because the latest XCode (Version - 4.3.1 - 4E1019) installed through the Mac App Store is per - default installed in "/Applications/Xcode.app/Contents/Developer" - and hence the 10.7 SDK in - "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk" - - Searching the web to find the proper way to determine the version - of the Platform SDK programmatically, I found no standard way. I - came up with 2 options myself: - - 1) Parse the path string to extract the version number - - 2) Read a value from the SDKSettings.plist found in the root of - each SDK (e.g., "defaults read - ${CMAKE_OSX_ROOT}/SDKSettings.plist CanonicalName" gives - "macosx10.7") - - I implemented the last option and verified that at least the - following Mac OS SDKs (10.3.9, 10.4, 10.5, 10.6, 10.7) support - this method. It also looks reasonably future proof. An additional - benefit of this method is that it also seems to be compatible - with iOS and iOS Simulator SDKs (at least for version 5.1, but I - assume this also applies to older versions). This is interesting - because the CMake infrastructure to build OSG for iOS currently - still contains similar hard-coded paths and even requires you to - manually change the cmake file to build for another iOS SDK - version. In the near future I hope to address these issues, but I - haven't been able to try this yet." +bool daeReader::convert( std::istream& fin ) -2012-03-21 17:36 robert +When this function is called fileURI is the string “from std::istream” to make the user aware where the file is coming from. Then instead of calling - * Ran script to remove trailing spaces and tabs +_dae->open(fileURI) -2012-03-21 16:02 robert +we call - * For all OSG_GL*_FEATURE #defines changed 1's to true and 0's to - false. +_dae->openFromMemory(fileURI, buffer.data()) -2012-03-21 14:08 robert +Where buffer.data() is a pointer to the dae file text in memory. - * From David Callu, "just a typo fix that break the compilation - under windows" -2012-03-21 11:36 robert +Other changes include private functions to clear caches and to consolidate redundant code that appears between the two convert functions. - * Added Traits::getContextVersion(uint,uint) -2012-03-21 11:26 robert +e below, will be ignored-- - * Updated version number +M src/osgPlugins/dae/ReaderWriterDAE.cpp +M src/osgPlugins/dae/daeReader.cpp +M src/osgPlugins/dae/ReaderWriterDAE.h +M src/osgPlugins/dae/daeReader.h -2012-03-20 12:01 robert - * Removed inappropriate warning -2012-03-20 11:18 robert +Mon, 8 Oct 2012 11:10:25 +0000 +Checked in by : Robert Osfield +From James Athey, "I've attached a new osgDB ReaderWriter that can read Khronos Texture Files (KTX). The KTX file format is straightforward and designed to be easy to use in OpenGL.http://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/ +http://www.khronos.org/opengles/sdk/tools/KTX/ - * Replaced && with & to address error in handling bitmask +The attached plugin can read: -2012-03-19 09:49 robert +* 1D, 2D, and 3D textures +* uncompressed and compressed images +* mipmapped and non-mipmapped textures +* little-endian and big-endian files +* textures from files as well as seekable istream objects - * From Lukasz Izdebski, Added StencilTwoSided support to ive plugin +It does not handle: -2012-03-16 13:22 robert +* array textures (not supported by the ReaderWriter API) +* cubemap textures (not supported by the ReaderWriter API) +* the "KTXorientation" key-value pair; support could be added later (see +the file format spec for more information) +* non-seekable istream objects (would require more complicated memory +management) +" - * Fixed the order of setting of CenterMode -2012-03-14 16:42 robert - * From Wang Rui, "I'd like to submit a slightly modified version of - the ViewDependentShadowMap. It includes two fixes: one is in - ComputeLightSpaceBounds::update(), which changes the statement - "if (v.z()<0.0f)" to "if (v.z()<-1.0f)" as clipping space - coordinates should be transformed to [-1, 1] and should not be - discarded unless they go beyond the range; the other is in - ViewDependentShadowMap::computeShadowCameraSettings(), in which I - changed the line: - viewMatrix.makeLookAt(frustum.center+positionedLight.lightDir*zMin, - frustum.center, lightUp); - to - viewMatrix.makeLookAt(frustum.center+positionedLight.lightDir*zMin, - frustum.center+positionedLight.lightDir*zMax, lightUp); - - The reason I've done such a change is that for huge scenes like a - city on the earth, the values of frustum.center can be extremely - large, but zMin may be very small (e.g., when model depth in - light coords equals the model radius by chance) in some cases so - the result of (eye - center) might jiggle while moving around the - shadow scene and thus make the shadow map suddenly disappear some - time. The small change here also considers the effect of zMax to - avoid such problems. - - " +Fri, 5 Oct 2012 16:31:23 +0000 +Checked in by : Robert Osfield +Made TouchData and osg::Object to aid with serialization. -2012-03-12 14:22 robert +Fri, 5 Oct 2012 10:37:36 +0000 +Checked in by : Robert Osfield +Improved ImageSequence's handling of seek() and added a simply hack to ImagePager to prevent the number of requests accumulating. - * Moved static initializers into global scope to prevent problems - with using exit(). +Fri, 5 Oct 2012 10:35:06 +0000 +Checked in by : Robert Osfield +From Stephan Huber and Robert Osfield, addded interactive setting of the ImageSequence::seek() based on the mouse x position. -2012-03-11 22:05 cedricpinson +Fri, 5 Oct 2012 10:07:09 +0000 +Checked in by : Robert Osfield +Added set methods to assist with serialization support - * Changed osgAnimation::StackedTransform::update(t). It can now be - used for custom usage +Thu, 4 Oct 2012 13:45:54 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a fix for Registry.cpp not using the QTKit-plugin for video-files. W/o this fix you had to preload the plugin to open movie-files." -2012-03-09 13:16 robert +Tue, 2 Oct 2012 14:07:12 +0000 +Checked in by : Robert Osfield +From Stephan Huber, OSX and iOS Video support via a QTKit plugin from OSX 10.7 and before, and an AVFoundation plugin for iOS and OSX10.8 and later. - * Updated ChangeLog and AUTHORS file for 3.1.1 dev release +Fri, 28 Sep 2012 16:36:42 +0000 +Checked in by : Robert Osfield +From Leigh Stivers, "We had this problem which shows up with nVidia's latest Quadro driver, 305.93 - and older drivers when the nVidia's setting "Thread Optimization" was turned on, running Windows 7. The symptom, is that after creating a first view and using it, and then creating a second view, the first view will never render anything but black.What happens is this: +A view is created, and then the viewers thread is created and runs. +The setReleaseContextAtEndOfFrameHint is true. +To create a second view, the viewer is setDone(true), and we wait for the thread exit. -2012-03-09 10:20 robert +At this point, inside the ViewerBase::RenderingTraversals code, there are places where it reads "if(_done) return;" - * From Chuck Seberino, "Attached are modified versions of - RotateCylinderDragger and Projector files that clean up the use - of _onCylinder / isProjectionOnCylinder(). - - I have also made changes to the RotateCylinderDragger to provide - a cylinder ring with a thickness. It is totally optional, but - IMHO makes the default behavior work better than a solid cylinder - (which typically obscures the geometry you are trying to drag). - Gives it a bit more to grab, especially in the case where - eyepoint and cylinder axis are near parallel. - " +The problem, is that it won't reach the code that will releaseContext(). -2012-03-08 16:33 robert +Apparently, this driver won't let any other thread to makeCurrent(), if another thread (dead or not) has ownership. So when the Viewers is re-started, the first view won't be able to use the gc. - * Updated version number for 3.1.1 dev release +The change attached (against rev 13153) corrects this." -2012-03-08 16:05 robert - * From Farshid Lashkari, "I've added support for reading contents - of cubemap textures to the - osg::Image::readImageFromCurrentTexture method. I added a new - parameter to the method for specifying which face of the cubemap - to read." -2012-03-07 09:32 robert +Thu, 27 Sep 2012 08:34:56 +0000 +Checked in by : Robert Osfield +From Thomas Hogarth, "Apple have decided in their eternal wisdom to do away with separate depth and stencil buffers on iOS from version 5 and above.Attached are changes to GraphicsWindowIOS.mm to support setting up the new buffer type when compiling for iOS5, +also attached is a small change to FrameBufferObject.cpp to report support for packed depth stencil via the +GL_OES_packed_depth_stencil extension. - * From Olaf Flebbe, "Appended now a bugfixed proposition for the - Win7 Multitouch Support. - - Now examples/osgmultitouch really works ;-) - - Based on yesterdays trunk. - - * It should now work with all Visual Studio Versions. - * WIN_VER is left as-is - * I added the missing declarations from a recent SDK, if not - supplied by the SDK - * If someone chooses to update WIN_VER, the declarations should - not break. - * All API Calls are runtime detected. - * No CMake Variable, Support is enabled automatically ." +For anyone reading this you can attach a packed depth stencil to your FBO like so -2012-03-06 10:35 robert +_rttCamera->attach( osg::Camera::PACKED_DEPTH_STENCIL_BUFFER, GL_DEPTH24_STENCIL8_EXT ); - * From Guillaume Millet, "Please find a small fix to avoid crash of - texture Atlas builder in case of textures with NULL image. - - If an object is comming with texture and NULL image, the texture - atlas builder crash when sorting textures according to texture - height. - The fix is to skip textures with NULL image when inserting - textures in the builder texture list. - " +Luckily GL_DEPTH24_STENCIL8_EXT happens to have the same value as iOSs GL_DEPTH24_STENCIL8_OES" -2012-03-06 10:33 robert - * From Farshild Laskari, "The vertex shader for the point stateset - of PrecipitationEffect was not properly computing the clip - vertex. It needed to apply a modelview transformation to the clip - vertex. Attached is the fix." -2012-03-06 10:29 robert +Wed, 26 Sep 2012 08:42:04 +0000 +Checked in by : Robert Osfield +From Paul Martz, "This change to include/osg/GL correctly includes the OpenGL header on OSX 10.7 when building OSG trunk for GL3. It also adds some CPP defines for compatibility." - * From Christian Buchner, "The attached openscenegraph example is - much simpler than - osgshaders.cpp and demonstrates the use of GLSL vertex and - fragment - shaders with a simple animation callback. I found the - osgshaders.cpp - too complex to serve as a starting point for GLSL programming" +Tue, 25 Sep 2012 11:04:11 +0000 +Checked in by : Robert Osfield +Changed dispatch to virtual -2012-03-06 10:08 robert +Mon, 24 Sep 2012 10:10:28 +0000 +Checked in by : Robert Osfield +From Frederic Bouvier, "fix PNG write for images with bits per components different than 8 that was hard coded." - * From Chuck Seberino, "Here is a fix for the - RotateCylinderDragger. This patch fixes the case where the - picking direction is close to the cylinder axis. The current - behavior is this: - - * If the eyepoint and cylinder axis are close to parallel (given - some tolerance), then it uses a plane perpendicular to the - cylinder axis. - * Otherwise it uses a plane parallel to the cylinder axis - oriented towards the eyepoint (previous behavior). This gives - decent behavior and is the only path that was taken in the - previous code. I kept with previous behavior and that allowed a - good bit of code to be removed, simplifying things. There is now - no need for the _onCylinder flag, but since there is a public - accessor, I wasn't sure how to handle it for backwards - compatibility, so I left it in. NOTE - there is no default - initialized value, so if it is kept in, it should be set to - 'false' to keep same behavior as before. I am not quite sure how - the _onCylinder case was supposed to behave as even forcing that - path gave undesirable behavior, even with carefully controlled - dragging. - " +Thu, 20 Sep 2012 14:06:01 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, "In the DXF plugin, DXF layers are decoded and each layer is added in a separate group, which is very usefull to retrieve a layer or display a list of all layers in the aplication.But the layers are not always children of the "model root" node : there can be a matrix transform between "model root" and "layers parent", so I've added the name "Layers" on the node which contains all layers to easily retrieve the layers groups from application code." -2012-03-06 10:06 robert - * Added RotateCylinderDragger and RotateSphereDragger to list of - manipulators for testing purposes -2012-03-05 14:17 robert +Thu, 20 Sep 2012 14:03:47 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, Added sRGB FrameBuffer string - * From Paul Martz, "Just a minor update and typo fix. - " +Thu, 20 Sep 2012 11:27:57 +0000 +Checked in by : Robert Osfield +From Vladimir Cheaev, " I worked with a osg::Constraint and found strange part of code: class OSGMANIPULATOR_EXPORT Constraint : public osg::Referenced { public: ... virtual bool constrain(ScaleUniformCommand& command) const { return constrain((MotionCommand&)command); } virtual bool constrain(const Rotate3DCommand& command) { return constrain((MotionCommand&)command); } ...If i use osgManipulator::Rotate3DCommand then method Rotate3DCommand::accept(const Constraint& constraint) calls Constraint::constrain(MotionCommand&) instead Constraint:: constrain(const Rotate3DCommand&). -2012-03-01 11:33 robert +If you replace + virtual bool constrain(const Rotate3DCommand& command) { return constrain((MotionCommand&)command); } +on to + virtual bool constrain(Rotate3DCommand& command) const { return constrain((MotionCommand&)command); } +then all works correctly. +" - * From Luc Frauciel, "I've modified dxf writer : - - - correction to writeFace : the fourth point was defined with an - incorrect code - (http://www.autodesk.com/techpubs/autocad/acad2000/dxf/3dface_dxf_06.htm) - - if no layer name was found, an empty string was used, with is - incorrect according to dxf specifications and was rejected by - Autodesk DWG TrueView - - the plugin was writting polygons and triangles as LINE, as if - PolygonMode GL_LINE was active, and didn't use 3DFACE primitive. - I changed this behaviour to write 3DFACE as default, and LINE - when PolygonMode GL_LINE is active. - when reading back the file with osg, the result is now consistent - with the source - - Tested with osg plugin, FME (Safe software), Autodesk DWG - TrueView - " -2012-03-01 11:03 robert - * From Luc Frauciel, "In 3ds plugin, asGeometry() is used on a - drawable but the resulting pointer is not tested for nullity. - It leads to a crash when writing osgText::Text or Shapes" +Thu, 20 Sep 2012 11:18:19 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, Added GLBeginEndAdapter::reset(), and _overallNormalAssigned, _overallColorAssigned flags to avoid the GLBeginEndAdapter adapter setting colour and normals when none has been assigned. -2012-03-01 10:38 robert +Thu, 20 Sep 2012 11:16:02 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "attached is a patch to src/osgViewer/CMakeLists.txt that inverts the logic of when to use Cocoa and when to use the old Carbon interface for the windowing system.The old code had to be modified for every new OS X release to default to Cocoa. +The new code uses Carbon for <= OS X 10.4 and Cocoa on everything else." - * From David Callu, "I found a bug in osg::Program. - - in osg::Program::PerContextProgram : - - typedef std::vector - LastAppliedUniformList; - should be - typedef std::map - LastAppliedUniformList; - - Intel driver can use index uniform value > 200000. - With a std::vector, this index uniform value generate an out of - memory error - - Nothing in OpenGL or GLSL specification define index uniform - value rules. - And all other implementation that deal with uniform index in - osg::Program - use a std::map. - This fix could have a little performance impact but this is the - cost - to pay to work with - all driver." -2012-03-01 10:14 robert - * Removed redudent spaces at ends of lines +Thu, 20 Sep 2012 11:14:10 +0000 +Checked in by : Robert Osfield +Added ReadQueue::size() method to help with debugging. -2012-02-29 14:01 robert +Wed, 12 Sep 2012 16:35:12 +0000 +Checked in by : Robert Osfield +Added handling of directory names in osgimagesequence commandline.From Stephan Huber, added support for controlling the ImageSequence seek position via mouse x position, toggled on/off via 'i' key. - * Updated ChangeLog and AUTHORS for dev release -2012-02-29 10:22 robert - * Improved the handling of endian swap of osg::Array +Wed, 12 Sep 2012 16:02:02 +0000 +Checked in by : Robert Osfield +Added osgDB::getSortedDirectoryContents and osgDB::FileNameComparator to help with sorting directory contents into alphabetic and numerical order. -2012-02-29 10:22 robert +Wed, 12 Sep 2012 11:09:41 +0000 +Checked in by : Robert Osfield +Converted sorting of directory contents across to use the new osgDB::FileNameComparator and osgDB::getSortedDirectoryContents() - * From Glenn Waldron, "Attached are modifications to ZipArchive to - make it safe for mutli-threaded access. - Here's a summary: - - * Uses a separate ZIP file handle per thread - * Maintains a single shared (read-only) index, created the first - time through - * Stress-tested with the DatabasePager using 24 threads under - osgEarth - - I also updated the member variables to use OSG's - leading-underscore convention." +Mon, 10 Sep 2012 08:24:49 +0000 +Checked in by : Robert Osfield +Updated version after 3.1.3 dev release -2012-02-28 12:03 robert +Fri, 7 Sep 2012 17:04:31 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 3.1.3 dev release - * From Guillaume Millet, "When using the texture Atlas builder, it - will convert from REPEAT to - CLAMP all textures using only texcoord between [-0.001 1.001] to - give a - chance to create an Atlas. - If the atlas creation failed for other reason (texture size, only - one - compatible texture, ...) the texture remain modified in CLAMP - mode. - - But if you use texcoords between [0.0 1.0] using CLAMP mode - instead - REPEAT it is not safe because you will have a blend to the border - color - at extremities. - If we want to have exactly the same rendering after changing mode - from - REPEAT to CLAMP we should use the CLAMP_TO_EDGE mode instead of - CLAMP to - avoid blending to border color at extremities. - - Please find as attachment the proposed patch against latest svn - version. - " +Fri, 7 Sep 2012 14:55:09 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "With current trunk I had an error while compiling osg/Image.cpp for IOS simulator / GLES2. Symbol GL_RGBA16 was missing. Adding #define GL_RGBA16 0x805B to Image header solves the problem. " -2012-02-28 11:37 robert +Fri, 7 Sep 2012 09:31:26 +0000 +Checked in by : Robert Osfield +Added setting of the input range of the event state based on the master cameras viewport. - * Added build problem with using float Matrix. +Fri, 7 Sep 2012 08:33:24 +0000 +Checked in by : Robert Osfield +Added check so not intialization is down when you select the current camera manipulator -2012-02-28 10:21 robert +Thu, 6 Sep 2012 13:53:58 +0000 +Checked in by : Robert Osfield +From Piotr Domagalski, "I've added reading of node names ('DEF' element) to the VRML reading plugin. The changes were based on trunk's version of the plugin." - * From Thomas Hogarth, build fix for IOS build +Thu, 6 Sep 2012 13:48:17 +0000 +Checked in by : Robert Osfield +From Piotr Domagalski, "I've rewritten some bits of the STL plugin in order to support ASCII STL files with multiple named solids (reading and writing). The names are also used as OSG nodes names.- Also, a 'dontSaveNormals' was added. It allows to ignore normals when writing an STL file. For example, it is useful for me when writing an STL file for CFD simulations. -2012-02-27 09:50 robert +- Some comments and code formatting were improved (to be consistent with the formatting already used in the plugin). - * Added fin.imbue(std::locale::classic()); to avoid problems with - parsing of .obj files +- With 'separateFiles' option files are now named fooX.stl instead of foo.stlX -2012-02-24 21:07 robert +The changes have been tested on various STL, both ASCII and binary found on the net. The change was based on the trunk branch." - * Added s/getByteSwap to teh InputStreamOperator base class and use - of this method in the InputStream::start(InputStreamOperator*) - method to ensure the bytes are swapped consistently. +From Robert Osfield, changed assert in Piotr's code to a runtime check warning report. -2012-02-24 12:15 robert - * Added support for using glGenerateMipmap instead of - GL_GENERATE_MIPMAP_SGIS on GLES2 -2012-02-24 11:43 robert - * Added support for checking the possible endian reversal the - OSG_HEADER_LOW and OSG_HEADER_HIGH when reading binary files - written out from systems that have a different endian to the - system reading it. +Thu, 6 Sep 2012 10:52:28 +0000 +Checked in by : Robert Osfield +From Piotr Domagalski, "Currently, code using OpenSceneGraph doesn't build with clang due to the way __sync_bool_compare_and_swap() is used in OpenThreads/Atomic header file.I tested it with clang 3.1 and it seems that clang is enforcing the use of the same type for all parameters in this builtin. Looking at the function declaration [1] -2012-02-24 10:56 robert +bool __sync_bool_compare_and_swap (type *ptr, type oldval type newval, ...) - * Cleaned up CMake warning +it seems to be doing the right thing: here the same type is used for *ptr, oldval and newval. -2012-02-23 17:51 robert +[1] http://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html#g_t_005f_005fsync-Builtins +" - * Moved the - - state.applyTextureMode(0,GL_TEXTURE_2D,osg::StateAttribute::ON); - - into the #if defined(OSG_GL_FIXED_FUNCTION_AVAILABLE) block to - solve problems under GLES and GL3.x/GL4.x -2012-02-23 15:55 robert - * From Mathieu Marache, "I was trying to play with the - configuratiion files from the data but - couldn't load them with osgviewer's -c CLI switch, this - correction - should make the alias work :-) - " +Thu, 6 Sep 2012 10:32:07 +0000 +Checked in by : Robert Osfield +From Fredric Bouvier, fix to CMake build selection of FLTK -2012-02-22 10:50 robert +Wed, 5 Sep 2012 21:03:41 +0000 +Checked in by : Robert Osfield +From Colin McDonald and Robert Osfield, converted Traits::sharedContext from GraphicsContext* to osg:observer_ptr to prevent dangling pointer issues. - * From Sergey Polischuk, "In and Out control points were computed - incorrectly for some animation channels with cubic bezier - interpolation" +Wed, 5 Sep 2012 13:51:34 +0000 +Checked in by : Robert Osfield +Fixed inappropriate comment -2012-02-22 10:46 robert +Wed, 5 Sep 2012 13:48:23 +0000 +Checked in by : Robert Osfield +Moved the OSG_INIT_SINGLETON_PROXY macro into include/osg/Object to make it more generally useful and added it's usage into the RenderBinPrototypeList initialization. - * From Miha Ravsel, "While trying to create my custom serializer - class, i created some dummy data which accidentally popped-up bug - in InputStream readObjectFields function. - - Bug description: - Let's say we have class A - namespace Bug - { - class A : public osg::Object - { - public: - //... - typedef std::vector > AList; - - protected: - AList _alist; - //... - } - } - - REGISTER_OBJECT_WRAPPER( A, - new Bug::A, - Bug::A, - "osg::Object Bug::A" ) - { - ADD_LIST_SERIALIZER(A,Bug::A::AList); - } - - - Bug: - We create say 3 instances of class A: A1,A2,A3 and then we add A2 - and A3 and A1 as child instances of A1 so we get next structure: - A1 - |- A2,A3,A1 - - we call osgDB::writeObjectFile(A1,"/data/a.osgt") -> saved - correctly( third element in list is saved as unique id that - references parentClass - - now we call - A1 = osgDB::readObjectFile("/data/a.osgt"); - - Everything is deserialized correctely except last element in list - which should be same instance as parent A1. - - The attached code resolves this issue by passing UniqueID in - readObjectFields method and saving object in _identifierMap as - soon as we have valid object instance so we can make reference to - parent object from any child instance. - " +Wed, 5 Sep 2012 10:27:08 +0000 +Checked in by : Robert Osfield +From Thomas Hogarth, "I submitted a change for the IOS CMake system a few weeks back which hasn't made it into the trunk. I've just made the modifications again against the latest trunk and have attached the fileIt basically accounts for the fact that XCode has changed it's default install location. -2012-02-21 17:20 robert +" - * From Paul Martz, "The attached fixes a few issues that are - present when ref_ptr implicit casting is disabled." -2012-02-21 11:30 robert - * From Olaf Flebbe, "Macos X cleanup: - I added AFAIK proper defaults for several Macos X Version API - targets. - - * In order to determine which defaults to apply, consult the - CMAKE_OSX_SYSROOT variable pointing to the used SDK, not the pure - existence of an SDK. - - * Defaults are now: - 10.7: Support Intel 32 and 64 Bit Cocoa with imageio picture - reader - 10.6 + 10.5: Support Cocoa with imageio on Intel and PowerPC - 10.4: Carbon, Quicktime and PowerPC - - Now OSG compiles out of the box for MacOSX 10.7. , tested with - gcc and clang with FlightGear." +Wed, 5 Sep 2012 10:24:10 +0000 +Checked in by : Robert Osfield +From Andreas Ekstrand, The attached ESRIShape.cpp contains fixes for comparing calculated byte sizes with the content length from the record header. According to the ESRI Shape documentation (http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf), the content length is specified in 16 bit words, which is why I have multiplied it by 2 when comparing to byte sizes. Note that the comparison in line 813 is made with a fix number of 16-bit words so it hasn't been changed.This fixes problems with PolygonZ records where the previous code was reading past the end of the record since it thought it had M values even if it didn't. I suspect the problem that James McGlone had back in 2006 was the same but reversed, when he tried to simply comment out the check, which was a (correctly) refused submission."" -2012-02-21 11:13 robert - * From Chris Denham, "ReaderWriter3DS smoothing group handling - corrections" -2012-02-21 10:42 robert +Wed, 5 Sep 2012 10:19:01 +0000 +Checked in by : Robert Osfield +From Nico Kruithof, "There is a small typo in the ShapeDrawable code for a sphere. There was a gl.Begin(GL_QUAD_STRIP) that was never closed, nor used." - * Fixed warnings -2012-02-21 10:38 robert - * Fixed erroneous use #if !defined(OSG_GLES1_FEATURES) && - !defined(OSG_GLES2_FEATURES) which should have been #if - !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) +Wed, 5 Sep 2012 09:30:33 +0000 +Checked in by : Robert Osfield +Updated SO version number to avoid collision with new additions to serializers -2012-02-20 16:00 robert +Wed, 5 Sep 2012 09:08:25 +0000 +Checked in by : Robert Osfield +Added GL_RGBA8 and GL_RGBA16 entries to the Image::computePixelFormat() and improved he readability of the method by inserting line spacing. - * From Luc Frauciel, "When dae plugin is used with - daeUseSequencedTextureUnitsoption, the transparency processing is - done with the wrong texture unit - I've remplaced the unused parameter diffuseColorName by the - diffuseTextureUnit effectively used." +Wed, 5 Sep 2012 08:48:10 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "fixes a typo and adds support for OS X 10.8" -2012-02-20 12:36 robert +Wed, 5 Sep 2012 08:42:14 +0000 +Checked in by : Robert Osfield +Added deprecated note to indices entry. - * From Alexander Sinditskiy, "Fix loading small monochrome bmp - images" +Tue, 4 Sep 2012 08:21:09 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, changed OSG_INFO to OSG_DEBUG to quieten down volume of messages in INFO -2012-02-20 12:33 robert +Mon, 3 Sep 2012 15:19:00 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, "fix for the NVTTImageProcessor. When the code was updated in revision 12912 a couple of typos where made. These cause a crash when compressing transparent images and mangled colours when compressing rgb images. " - * From Dietmar Funck, "in order to use a customized database thread - it's necessary to use a customized database pager, which creates - such customized database threads, too. - I think the best way to achieve this is to overwrite the - DatabasePager::addDatabaseThread() method within the customized - database pager. However this method is not 'virtual' yet, so I - propose to make the method 'virtual'." +Mon, 3 Sep 2012 09:08:16 +0000 +Checked in by : Robert Osfield +Adjusted the #define's to help GLES2 build -2012-02-20 12:23 robert +Mon, 3 Sep 2012 08:30:01 +0000 +Checked in by : Robert Osfield +From Lilin Xiong, " there is a small bug in osgDB::readNodeFiles(std::vector& fileList,const Options* options) in file ReadFile.cpp line 85: osg::Node *node = osgDB::readNodeFile( *itr , Registry::instance()->getOptions() ); It should be: osg::Node *node = osgDB::readNodeFile( *itr , options );" - * From Farshid Lashkari, "I've attached a small optimization to - osgDB::Registry::removeExpiredObjectsInCache that removes the - expired items while iterating over the cache, instead of saving - to a temporary vector and then removing." +Fri, 31 Aug 2012 16:00:55 +0000 +Checked in by : Robert Osfield +Added a fix for a multi-threading bug that occured when TerrainTiles were accessed via the Terrain::_updateTerrainTileSet that were being deleted at the same time by the DatabasePager thread. -2012-02-20 12:18 robert +Wed, 29 Aug 2012 16:48:27 +0000 +Checked in by : Robert Osfield +From Wang Rui, "This patch fixes a problem of the osg::Program serializers that can't save/load GeometryInputType data correctly. The bug is initially found by John Kelso." - * From Riccardo Corsi, Added passing of EventVisitor pointer to - event handlers. +Fri, 24 Aug 2012 15:05:03 +0000 +Checked in by : Robert Osfield +From Johannes Scholz, fix for writing out of hexidecimal numbers -2012-02-20 12:12 robert +Thu, 23 Aug 2012 15:06:27 +0000 +Checked in by : Robert Osfield +Fixed bug in GLBufferObjectSet::discardAllDeletedGLBufferObjects() and GLBufferObjectSet::flushDeletedGLBufferObjects(double currentTime, double& availableTime) where the NumberActiveGLBufferObjects was errneously being incremented by numDiscarded.M osg/BufferObject.cpp - * From Riccardo Corsi, "please find attached a small patch for HDR - plugin, - which simply set by default the internal pixel format to - GL_RGB32F_ARB where appropriate. - - In the current version there's a comment saying that the plugin - set it to GL_RGB8 (even when reading from float) to support old - graphics cards, - but the comment dates back to 2004... - What's more I believe that it's correct to expect a floating - texture format if you're loading an hdr image. - It was quite troublesome for us to discover why our background - image wasn't showing hdr data... - - In case you accept the submission, I've removed the comment as it - would be misleading to leave it there." -2012-02-20 12:03 robert - * From Johannes Baeurele, "The osg::Image class now contains a - 'supportsTextureSubloading()' method that is used inside the - Texture2D::apply method. For now it only checks for the etc1 - format in which case it returns 'false'. All other formats lead - to a return value of 'true'. - - Without the change the application does not work properly. First - I get the notification that an OpenGL error occured. After some - more of this error messages I see broken textures on the screen. - With the changes attached to this message my application works as - intended." - - Note from Robert Osfield, changed the - Image::supportsTextureSubloading() to be const and to be - implemented in the .cpp rather than inline. +Wed, 22 Aug 2012 16:39:47 +0000 +Checked in by : Robert Osfield +Fixed typo -2012-02-17 16:51 robert +Tue, 21 Aug 2012 09:45:24 +0000 +Checked in by : Robert Osfield +Added check against the Camera NodeMask to decide whether it's appropriate to test for events on that camera. - * From Kim Bale, "The application description for osg2cpp was cut - and pasted from osgconv and not changed. - - I've added a more relevant description." +Wed, 15 Aug 2012 12:40:48 +0000 +Checked in by : Robert Osfield +Added ShadowSettings::s/getMaximumShadowMapDistance(double) property, usage of these property in ViewDependentShadowMap, and setting of it with --max-shadow-distance in the osgshadow example. -2012-02-17 16:45 robert +Tue, 14 Aug 2012 20:15:00 +0000 +Checked in by : Robert Osfield +Added a mutex to protect the removal and addition of Uniform and Program to StateSet to avoid parents being invalidated when multi-threading. - * From Martin Lambers, "It adds a new ReaderWriter plugin for the - GTA file format - (http://gta.nongnu.org). This allows to read and write floating - point - image data. Unlike other formats, GTA also allows very good - compression - ratios for floating point data. The compression method can be - selected - with the COMPRESSION option of the plugin. - " +Fri, 3 Aug 2012 16:14:14 +0000 +Checked in by : Robert Osfield +Introduced --near-far-mode into osgshadow and ShadowSettings::setComputeNearFarModeOverride(..) to allow user control of how the cull traversal is optimized for computing the depth range of the shadow map. -2012-02-17 16:13 robert +Fri, 3 Aug 2012 15:23:44 +0000 +Checked in by : Robert Osfield +Removed the erronous creation of a local ShadowSettings object - * Added usage of OSG_CPP_EXCEPTIONS_AVAILABLE for plugins that use - std::exceptions. +Tue, 24 Jul 2012 09:05:04 +0000 +Checked in by : Robert Osfield +Added FireGL to prefernce list for use glGenerateMipMap -2012-02-10 17:24 robert +Mon, 23 Jul 2012 08:15:57 +0000 +Checked in by : Robert Osfield +Fixed build - * From Stephan Huber, " - Here's another small submission for IOS, which adds unique ids to - the - touchpoints, so the ids stay the same during a touch-sequence. - - (and some minor code enhancements)" +Thu, 12 Jul 2012 16:41:53 +0000 +Checked in by : Robert Osfield +Introduced Texture::Extensions::s/getPreferGenerateMipmapSGISForPowerOfTwo() flag that defaults to false for Radeon, true elsewhere. This is used to workaround mipmapping bugs with ATI/AMD cards. -2012-02-10 17:20 robert +Wed, 11 Jul 2012 14:36:14 +0000 +Checked in by : Robert Osfield +Fixed indentation - * From Colin McDonald, "Upgrading to OpenSceneGraph 3.0.1, texture - mip mapping stopped - working on some junk low-end graphics cards which I still have to - support. They worked ok with osg 2.8 and earlier. - - The problem turned out to be with gl proxy textures, which are - unreliable on those devices. Proxy textures are used by the glu - mipmap build routines to determine if a texture size is - supported. The external glu library had a nice fallback - behaviour, so that if proxy textures didn't work then the mipmap - texture was still created. But in the work on the new embedded - glu routines that fallback behaviour has been inadvertently - lost. I have restored the fallback in - src/osg/glu/libutil/mipmap.cpp. It doesn't add any extra - complexity." +Wed, 11 Jul 2012 08:39:11 +0000 +Checked in by : Robert Osfield +Fixed parameter default value to avoid warning -2012-02-10 16:12 robert +Tue, 10 Jul 2012 16:20:32 +0000 +Checked in by : Robert Osfield +Replaced use of now deprecated methods. - * From Domenico Mangieri, "Implementation for MoveRight and MoveUp - methods in FirstPersonManipulator is missing. - - I'm using the manipulator, so I added it." +Tue, 10 Jul 2012 16:11:40 +0000 +Checked in by : Robert Osfield +Enabled the use the getReceivesShadowTraversalMask(). -2012-02-10 15:57 robert +Tue, 10 Jul 2012 16:11:15 +0000 +Checked in by : Robert Osfield +Changed settings of masks to use ShadowSettings. - * From Stephan Huber, attached you'll find a compile fix for the - new introduced rowlength-feature on IOS/OpenGL ES builds +Tue, 10 Jul 2012 15:50:46 +0000 +Checked in by : Robert Osfield +Moved mask settings into ShadowSettings -2012-02-09 18:10 robert +Mon, 9 Jul 2012 17:49:04 +0000 +Checked in by : Robert Osfield +Changed updateCamera(Camera*) to updateCamera(Camera&) to make it clear that a valid Camera object should be passed in. - * From Luc Frauciel, "osgUtil Tessellator : beginTessellation() - made virtual to allow configuration of tessellation: - - The initialisation of glu low level tessellator is done in - osgUtil::Tessellator::beginTessellation() - This function is not virtual, preventing any customization of the - tesselation. - In particular, there in an option in glu tesselator that force - the generated primitives to be triangles and that I'd like to use - (GLU_TESS_EDGE_FLAG). - " +Mon, 9 Jul 2012 17:32:13 +0000 +Checked in by : Robert Osfield +From Riccardo Corsi, introduced CameraManipulator::updateCamera() method that allows more Camera properties to be controlled by the CameraManipulator. -2012-02-09 17:52 robert +Mon, 25 Jun 2012 16:31:36 +0000 +Checked in by : Robert Osfield +Refactored the way that the static Scene cache is managed by moving all the functionality into a SceneSingleton - * From Torben Dannhauer, "Modification to osgfilecache: Now source - data can also be local.: - - find attached my modifications to osgfilecache. - - It now allows also the caching of LOCAL terrain databases. In - combination with the extends and level cmd parameter it allows to - extract parts of terrain databases and write it in a new "Sub - database". - I also modified osgDB::FileCache to create correct filenames if - the data source is local." +Fri, 22 Jun 2012 16:21:08 +0000 +Checked in by : Robert Osfield +Restructed the way that the global notify variables are initialized to avoid problems with multi-threaded initialization of these variables. -2012-02-09 17:45 robert +Sat, 16 Jun 2012 09:08:05 +0000 +Checked in by : Robert Osfield +Fixed spelling of FileNameComparator - * Updated ChangeLog, AUTHORS and Contriburos.cpp files +Fri, 15 Jun 2012 09:04:32 +0000 +Checked in by : Robert Osfield +Moved the frame() event into the event traversal after then events and their state have been accumulated. -2012-02-09 16:42 robert +Tue, 12 Jun 2012 20:15:58 +0000 +Checked in by : Robert Osfield +Added FileNameComparator to sort the filenames in an ImageSequence into alphanumerical order so that it can handle the numerical ordering found in screenshot numbered sets of files - * From Martin von Gagern, "The xine osg plugin won't compile - against xine-lib-1.2.0: - - OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c:2772:25: - error: ?video_driver_class_t? has no member named - ?get_identifier? - OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c:2773:25: - error: ?video_driver_class_t? has no member named - ?get_description? - - This has been reported on Gentoo: https://bugs.gentoo.org/397643 - The relevant commit to the xine-lib repository is - http://anonscm.debian.org/hg/xine-lib/xine-lib-1.2/diff/806b590a4d38/src/xine-engine/video_out.h - - This change addresses the issue. I'm sending the full modified - file as - an attachment. It is based on the 3.0.1 release of OSG. I'll also - paste - a diff below. You will find a colorized view in the Gentoo - bugzilla. - - The xine-lib API changed in the following way: the identifier and - description members are now "const char*" strings instead of - "char* - (*)(video_driver_class_t*)" getter function. As the functions in - the osg - plugin will always simply return a string literal, without - accessing - their argument, it is safe to simply call them with a NULL - argument and - use the returned string. This makes it easy to support both API - versions. When you drop support for older xine one day, you might - want - to move the string literals to the assignment, getting rid of the - functions in the process. - - The modified code compiles for me. I'm not sure how to test it, - as I've - only got OSG around in order to build (and hopefully one day even - use) - Flightgear. - - I'm assigning my copyright in this change to the osg project - leads. - " +Tue, 12 Jun 2012 18:29:03 +0000 +Checked in by : Robert Osfield +Enabled 6 ImageThreads in the ImagePager -2012-02-09 15:54 robert +Tue, 12 Jun 2012 10:31:50 +0000 +Checked in by : Robert Osfield +Commented out the disabling of use of PBO's in ImageStream, and disabled the use ClientStoreHint in Present3D. - * From Olaf Flebbe, "there are two ocurrences where pointer to bool - is mixed with bool. Fixes warnings on MacOSX with llvm. - - diff --git a/src/osg/State.cpp b/src/osg/State.cpp - index 0b88d63..2137bbd 100644 - --- a/src/osg/State.cpp - +++ b/src/osg/State.cpp - @@ -109,7 +109,7 @@ State::State(): - } - } - - - _abortRenderingPtr = false; - + _abortRenderingPtr = NULL; - - _checkGLErrors = ONCE_PER_FRAME; - - @@ -689,7 +689,7 @@ bool - State::getLastAppliedTextureMode(unsigned int unit,Stat - - const StateAttribute* - State::getLastAppliedTextureAttribute(unsigned int unit,S - { - - if (unit>=_textureAttributeMapList.size()) return false; - + if (unit>=_textureAttributeMapList.size()) return NULL; - return - getLastAppliedAttribute(_textureAttributeMapList[unit],type,member); - } - - " +Mon, 11 Jun 2012 19:54:07 +0000 +Checked in by : Robert Osfield +Added support for setting the paging_mode property to PRE_LOAD_ALL_IMAGES, PAGE_AND_RETAIN_IMAGES or PAGE_AND_DICARD_IMAGE for osg::ImageStream, with PAGE_AND_DICARD_IMAGE set as the default. -2012-02-09 15:51 robert +Fri, 8 Jun 2012 10:26:23 +0000 +Checked in by : Robert Osfield +Added ImageStream support to and tags in .p3d - * From Paul Martz, a simple GL3 example +Fri, 8 Jun 2012 04:18:28 +0000 +Checked in by : Robert Osfield +Added osg::ImageSequence support into osgPresentation::SlideShowConstructor and the associated tag in .p3d. -2012-02-09 15:08 robert +Thu, 7 Jun 2012 10:08:42 +0000 +Checked in by : Robert Osfield +Added --fps support - * From Colin McDonald, "The bounding box returned by getBound() for - Text which is not - auto-rotated (e.g. HUD text) is not always correct, because it - doesn't take account of the base line offsets added by the - various alignment options such as CENTER_TOP, CENTER_BOTTOM etc. - - The attached src/osgText/TextBase.cpp fixes the problem." +Thu, 31 May 2012 14:45:24 +0000 +Checked in by : Robert Osfield +Added typdef for Win32 -2012-02-09 14:40 robert +Fri, 25 May 2012 16:07:11 +0000 +Checked in by : Robert Osfield +From Wang Rui, "A very small but maybe fatal problem was found when I saved models with shader and uniforms (with new double types support) to osgb format and tried to read it again. The application will crash here. And the serializer file should be slightly changed to fix it. Please replace the original file in osgWrappers/serializers/osg/Uniform.cpp." - * From Colin McDonald, fix for Solaris build. +Fri, 25 May 2012 15:32:51 +0000 +Checked in by : Robert Osfield +Added Dragger::get/setActivationMouseButtonMask(uint). -2012-02-09 14:33 robert +Fri, 25 May 2012 08:56:25 +0000 +Checked in by : Robert Osfield +From Jaap Glas, "Added a default parameter to the following constructor in TabPlaneDragger and TabPlaneDragger.cpp:TabPlaneDragger(float handleScaleFactor=20.0f); - * From Filip Arlet,"I ran into problem with osg::Text _BASE_LINE - alignment. It didn't account line spacing. Btw. same problem in - 3D text - - Changed _offset from: -_characterHeight*(_lineCount-1) - to: -_characterHeight*(1.0 + _lineSpacing)*(_lineCount-1)" +The reason for this is that the default OSG tab sizes are way bigger than +those we used in our application so far. And since handleScaleFactor_ +is already a (constant) class member, I see no objection against making +it user defined." -2012-02-09 14:28 robert - * Added back in support for checking the current working directory - by default, but now do the check - after the Options and Registry DataFilePathLists have been - checked, which will allow users to better control - over where files are searched for. -2012-02-09 14:11 robert +Thu, 24 May 2012 18:15:44 +0000 +Checked in by : Robert Osfield +From Jaap Gas, added missing break, and missing removeDraggerCallback. - * From Chris Denham, "This is a submission to fix a problem with - use of mode GL_RESCALE_NORMAL for geometries below a scaling - transform which is not equal in X, Y & Z components. In this - case, the 'slow' method of mode GL_NORMALIZE should be used to - perform the normalization. - - I have attached a correction to daeRTransforms.cpp based on trunk - at [12892] which corrects this problem. - - This is the changed section: - - Code: - if (scale.x() == scale.y() && scale.y() == scale.z()) - { - // This mode may be quicker than GL_NORMALIZE, but ONLY works if - x, y & z components of scale are the same. - ss->setMode(GL_RESCALE_NORMAL, - osg::StateAttribute::ON|osg::StateAttribute::OVERRIDE); - } - else - { - // This mode may be slower than GL_RESCALE_NORMAL, but does work - if x, y & z components of scale are not the same. - ss->setMode(GL_NORMALIZE, - osg::StateAttribute::ON|osg::StateAttribute::OVERRIDE); - }" +Mon, 21 May 2012 09:12:13 +0000 +Checked in by : Robert Osfield +Removed -ftree-vectorize from OSX 10.7 build to avoid warning when building with clang. -2012-02-09 12:50 robert +Wed, 2 May 2012 14:13:29 +0000 +Checked in by : Robert Osfield +Removed trailing spaces - * From Thorsten Brehm, "attached update changes OSG's - src/osgDB/Registry.cpp, so it doesn't (accidentally) resolve - relative paths against the current working directory when - searching for resources. So far, such paths were always resolved - against the cwd first. - - I guess the previous behaviour of giving the cwd precedence over - any path configured in the "database path list" (osgDB::Options) - wasn't intentional. Otherwise, if it was intentional after all, - it'd be good to add another feature instead, to make this - configurable - e.g. a flag in osgDB::Options to disable this, if - an application doesn't want the cwd being considered. - " - - Note from Robert Osfield, this submission will change the default - behaviour of searching for files so can potentially break - existing applications as it - won't search the current working direction unless it's included - in the DataFilePathList entry in the Options or Registy. I'll add - a follow - up submission to add back in this feature. +Wed, 2 May 2012 13:58:34 +0000 +Checked in by : Robert Osfield +Fixed for including cmath before osg/Math. -2012-02-08 17:12 robert +Fri, 27 Apr 2012 09:43:25 +0000 +Checked in by : Robert Osfield +Added using base_class::set to the Matrix*Template class to enable the set() method from the base class to be used. - * From Hartmut Seichter, "attached a revised CMakeLists.txt file - for Android that avoids the problems with a ARM gcc bug that - appears in the NDK. It only overrides the optimization level for - one file. As it resides only in the cfg parser this should not - have side effects on performance." +Thu, 26 Apr 2012 10:07:36 +0000 +Checked in by : Robert Osfield +From Christophe Herreman, Added viewer.setCameraManipulator( keyswitchManipulator.get() ) to fix problem with master Camera not being updated -2012-02-08 10:50 robert +Fri, 20 Apr 2012 10:01:50 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich,"Attached is a change to the ac3d model loader as of rev 11498, that uses indexed draws instead of plain array draws to save some amount of main memory. Draw performance does not change with the nvidia binary blob as well as with the open source drivers." - * From Paul Martz, "This change clarifies the description for - OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE." +Fri, 20 Apr 2012 09:53:41 +0000 +Checked in by : Robert Osfield +From John Kaniarz, "Here's a patch to add new extensions for tessellation shaders to the GLSL plugin." "I went with .tctrl and .teval for the shader extensions." -2012-02-08 10:06 robert +Fri, 20 Apr 2012 09:40:29 +0000 +Checked in by : Robert Osfield +Ran dos2unx on file - * From Leandro Motto Barros, - - "I've made a few changes to osgUtil::PolytopeIntersector so that - it - actually uses double precision floating point numbers everywhere - (as - long as OSG_USE_FLOAT_PLANE is not defined). - - I needed double precision intersections in a project I am working - on. - These changes fixed the problems I was having -- this is all - testing I - have done. - - Notice that I have changed - osgUtil::PolytopeIntersector::Intersection's members to use - doubles - (osg::Vec3d, instead of osg::Vec3). I could have added #ifdef's - there - too, but I think it is better to not change the types of stuff in - the - public interface depending on some preprocessor definition. - - The modified files are attached. A diff also follows, for those - who like it." - - With the following changes from Robert Osfield: - - "I've just reviewed your changes and have just tweaked them a - little to - streamline them. What I have done in the PolytopeIntersector - header - is add: - - typedef osg::Plane::Vec3_type Vec3_type; - - And then use this typedef in the definition of the vertices - rather - then Vec3d as you did. Next changes were to - PolytopeInteresector.cpp - where to the PolytopeIntersectorUtils defintions of the - Vec3_type, and - value_type which now simply read: - - typedef osg::Plane::Vec3_type Vec3_type; - typedef Vec3_type::value_type value_type; - - This way I was able to complete avoid any if def's and have - essential - the same implementation as you achieved. Changes now checked into - svn/trunk." +Fri, 20 Apr 2012 09:38:51 +0000 +Checked in by : Robert Osfield +From John Kaniarz, "Here is an example of using tessellation shaders in osg. With permission from the author, I adapted it from this tutorial: http://prideout.net/blog/?p=48" -2012-02-08 09:34 robert +Thu, 19 Apr 2012 14:58:35 +0000 +Checked in by : Robert Osfield +Restructed how the GL_SAMPLER_* #define's are placed to avoid build problems under GLES. - * From Claus Scheiblauer, "in GraphicsWindowQt.cpp the - GLWidget::keyReleaseEvent was implemented slightly different to - the GLWidget::keyPressEvent, which caused the cursor keys values - to be not correctly mapped from an QKeyEvent value to an osg key - value when releasing a cursor key." +Thu, 19 Apr 2012 14:34:28 +0000 +Checked in by : Robert Osfield +Changed #ifdef __IPHONE_4_0 to #if defined(__IPHONE_4_0) to fix error that Clang compile warning highlighted -2012-02-07 16:14 robert +Thu, 19 Apr 2012 13:18:58 +0000 +Checked in by : Robert Osfield +Fixed build with OSG_USE_REF_PTR_IMPLICIT_OUTPUT set to OFF. - * Fixed build issues when compile with - OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION set to OFF. +Thu, 19 Apr 2012 10:27:58 +0000 +Checked in by : Robert Osfield +From David Callu, "Here the fix for Matrix{2,3,4}x{2,3,4}{fd} defined in Uniform header.My previous patch for Atomic Counter Uniform provide new template implementation +of Matrix{2,3,4}x{2,3,4}{fd}. This new implementation use Column-Major Matrix. +Original code define matrix as Row-Major matrix like other Matrix in OSG, and +my matrix implementation break compatibility with previous code. +For example osg_normalMatrix define in osg::State report by Roland Hill. +Thanks to Paul Martz to spot me when the bug appear." -2012-02-07 12:37 robert - * From Alexander Irion, "Added missing format GL_ALPHA to - Image::computeFormatDataType()." -2012-02-07 12:02 robert +Thu, 19 Apr 2012 10:10:26 +0000 +Checked in by : Robert Osfield +Added missing getUniformBlocks implmentation - * From Johannes Baeuerle, "The first problem is wrong value of the - block size of etc1 textures in the getCompressedSize call in - Texture.cpp. With the current block size of 16 the target - application crashes with a GL_INVALID_VALUE. The reason is that - the calculated size passed to OpenGL does not match the size of - the passed data(data pointer,texture width,texture height,spec of - etc1). - With a block size of 8 in the getCompressedSize call this error - dissapears." +Thu, 19 Apr 2012 09:50:10 +0000 +Checked in by : Robert Osfield +From Jorge Izquierdo Ciges, "Mostly small changes to add more compile options, and shared linking (still testing that capability, but this enables on a compile basis if the user wants). Robert, when you give the Ok I'll update/rewrite the Android section in the old/new wiki you'll say where is better. Mostly to be clear for the future users what options can configure and what are their purpose." -2012-02-07 11:43 robert +Wed, 18 Apr 2012 10:16:09 +0000 +Checked in by : Robert Osfield +Refactored the handling of GLES adaptations of the 1,2,3,4 internal formats and added handling of GL_RGB8_OES and GL_RGBA8_OES. - * From Nico Kruithof, "I found that Collada wasn't found correctly - with visual studio 2010." +Wed, 18 Apr 2012 09:56:00 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Attached is a change to the slow path geometry dispatch tables that allows the use of 3 component float color vectors." -2012-02-07 11:41 robert +Wed, 18 Apr 2012 09:51:39 +0000 +Checked in by : Robert Osfield +From Martin Naylor, "I have been experiencing a crash in the example osgtexture2D. Not sure why my system seems to be so sensitive to these problems.But attached is a fix which seems to stabilise the example. +Note: it only seems to crash intermittently when spinning the object with +your mouse. - * From Marius Kintel, "GraphicsWindowQt::WindowData no longer - requires the parent widget of a graphics window to be of type - GLWidget." +So I assume this is a threading issue because of the data variance missing +in some of the text node setups in the example. +" -2012-02-07 11:29 robert - * From David Fries, "Of the two ways to use the Tessellator object, - only - retessellatePolygons was applying the winding and boundary - option. - Moved the gluTessProperty calls into beginTessellation(). - - There's a comment typo fix, removing an unused VertexPointList - typedef, and allocates one _tobj instead of one per tesellation. - Protections were added to check that _tobj was allocated in the - few - remaining places it wasn't being checked. - - --- - On a side note, I would like to avoid the 'new Vec3d' in - Tessellator::addVertex for each call to - gluTessVertex(tess, location, data). - The RedBook leaves it ambiguous if the location pointer must - remain valid after gluTessVertex or not. - http://www.opengl.org/sdk/docs/man/xhtml/gluTessVertex.xml - says that changing location is not safe, so being conservative, - I'll - leave it as is, even though the Mesa GLU library copies the data - not - the pointer, so it is currently safe." -2012-02-07 11:21 robert +Wed, 18 Apr 2012 09:50:23 +0000 +Checked in by : Robert Osfield +Updated version number - * From Lionel Lagarde, "The setNormal method of osg::Billboard has - side effects (it calls updateCache and update the normal to Z - rotation matrix). When cloning billboards, copying the normal - vector is not enough. In the correction, the copy constructor - calls setNormal to update the internal members." +Fri, 6 Apr 2012 11:29:29 +0000 +Checked in by : Robert Osfield +From Martin Naylor, "Please find attached a fix for the STD library(tested under Windowsx64 VS2008) when atomiccounter is found but not used." -2012-02-07 10:57 robert +Fri, 6 Apr 2012 10:42:17 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, Fix for MatrixTemplate compile errors - * From Wojciech Lewandowski, "This is a one line modification of - StatsHandler.cpp to work correctly while dumping states to - console when ViewerStats getEarliesFrameNumber() and - getLatestFrameNumber() return zeroes. If that happened in current - version, printing loop was iterating between 0 and 0xFFFF FFFF - indices and that was hanging our system. - " +Thu, 5 Apr 2012 13:53:47 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I'd like to submit the changes that will put ObjectProperty and ObjectMark variables into the InputStream/OutputStream class instead of static ones. This should avoid the threading problem and won't repeatedly reallocate memory for the properties. Some of the wrappers will be slightly modified to use the property variable stored in the InputStream/OutputStream as well." -2012-02-07 10:51 robert +Fri, 30 Mar 2012 17:08:21 +0000 +Checked in by : Robert Osfield +Update AUTHORS for release - * From Tamer Fahmy, Fix for bug when scrolling down and using - render on demand. - - "Currently issuing a mouse scroll DOWN event would stop updating - animations in progress. - - The fix consists of changing the line - us.requestContinuousUpdate( false ); - to: - us.requestContinuousUpdate( isAnimating() || _thrown ); - - in OrbitManipulator::handleMouseWheel() as has been done for the - GUIEventAdapter::SCROLL_UP case a couple of lines earlier or in - src/osgGA/FirstPersonManipulator.cpp." +Fri, 30 Mar 2012 16:58:24 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for dev release -2012-02-07 10:40 robert +Fri, 30 Mar 2012 10:10:27 +0000 +Checked in by : Robert Osfield +Added check to avoid accessing pointer past the end of the string. - * From Rudolf Wiedemann, "the file attached fixes the incomplete - implementation of "osg::DefaultUserDataContainer"'s copy - constructor. - Copying user objects was missing." - - Note from Robert Osfield, in submission changed - _objectList.push_back((*itr)->clone(copyop)); - to - _objectList.push_back(copyop(*itr)); +Thu, 29 Mar 2012 15:08:15 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, typo and documentation fixes -2012-02-07 10:33 robert +Thu, 29 Mar 2012 14:58:00 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "I Updated the ply plugin to support alpha color in files. Plus I updated it to use by default an alpha of 1.0 instead of 0 when no alpha is specified. Last changes is to divide byte color by 255.0 instead of 256.0." - * From Sukender, "I just fixed using UTF8 paths in JP2 readerwriter - under Windows. Jpeg2000 plugin could not handle UTF8 paths as it - was using an Japser open() function which seems to be based on - the standard fopen(). The fix simply opens the file beforehand - and only gives a FILE* to the Jasper lib (and then closes the - file, of course). - " +Thu, 29 Mar 2012 09:57:47 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "remove unecessary conversion from float in double precision method" -2012-02-06 13:45 robert +Thu, 29 Mar 2012 09:43:12 +0000 +Checked in by : Robert Osfield +From David Callu, "Here an update of osg::Uniform : - add non square matrix - add double - add all uniform type available in OpenGL 4.2 - backward compatibility for Matrixd to set/get an float uniform matrix - update of IVE / Wrapper ReadWriterimplementation of AtomicCounterBuffer based on BufferIndexBinding - * From Mathias Froehlich, "In Optimizer.cpp a nodes update callback - is checked twice and the cull - callback is checked never for the decision of a node being - redundant. - The change replaces one of the update callback tests with a cull - callback - test." +add example that use AtomicCounterBuffer and show rendering order of fragments, +original idea from geeks3d.com." -2012-02-06 13:40 robert - * From Mathias Froehlich, "Attached is a change to the stats - handler so that the aspect ratio of the - viewer stats coordinates always stay about 1:1 to the pixels. - This helps for more readable stats with very wide windows for - example." -2012-02-06 13:35 robert +Thu, 29 Mar 2012 08:27:21 +0000 +Checked in by : Robert Osfield +Added int packing parameter to Image::readPixels(..) - * From Mathias Froehlich, "The attached change to the default font - makes the baseline correctly working - and makes the glyphs aspect ratio match their 12x8 bitmaps. - I am not exactly sure about osgTexts current internals but it - matches the - changes that happened lately to the txf font. - " +Fri, 23 Mar 2012 16:09:30 +0000 +Checked in by : Robert Osfield +Removed trailing spaces -2012-02-06 13:29 robert +Fri, 23 Mar 2012 11:32:10 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS for 3.1.2 dev release - * From Cory Riddell, "I've been using the dot plugin and found that - our application which sets - the global locale was generating bad dot files. Specifically, the - node - numbers had comma separators in them (like 1,234 rather than - 1234). - - The attached file simply forces the stringstreams used to build - up the - dot file to use the "C" locale." +Fri, 23 Mar 2012 11:20:17 +0000 +Checked in by : Robert Osfield +Fixed potential memory leak -2012-02-06 13:27 robert +Fri, 23 Mar 2012 11:16:01 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, "I've encoutered a nasty group of dae which are incompatible with dae plugins (and probably collada schema ) in 4 different ways :1) they use direct link to texture - * From Robert Milharcic, "In attached file I implemented - LOAD_IMMEDIATELY mode for new osg ProxyNode wrapper. Current - version of proxynode loading uses DatabasePager for both - modes(DEFER_LOADING_TO_DATABASE_PAGER and LOAD_IMMEDIATELY). - - Immediate loading of external references begins after ProxyNode - has been deserialized in ProxyNodeFinishedObjectReadCallback." +-> this is already handle by current plugin : OK -2012-02-06 12:42 robert +2) they defined colors with only 3 color components - * From Paul Palumbo, "This change seems to fix a problem reading - 32-bit Floating point tiff images. Without this fix, I'm only - getting half my image displayed in "osgviewer --image"." +-> it leads to a crash when trying to acces to the fourth component + I fixed that -2012-02-06 12:38 robert +3) they contain empty primitive lists - * From Jason Beverage, "Attached is a patch to the SVG plugin to - use cairo_surface_destroy - instead of free. This was causing a crash on Windows. - " +-> reading is ok, but osgviewer crashes when trying to display the geometries +The reason is that osg assume that DrawElementsare never empty (blunt acces to DrawElements.front() in PrimitiveSet.cpp) +I corrected this (on the plugin side), but I wonder : +Is it the responsability of plugins to create non empty DrawElements, or of osg core not to crash when they occur ? +If the responsability is on the osg core side, I can submit a patch to PrimitiveSet.cpp regarding that aspect. -2012-02-06 12:36 robert +4) they use a material binding scheme not supported by the plugin - * From Jan Peciva, "attaching improved StatsVisitor. Changes: - - apply() and reset() methods made virtual to allow overriding - - added apply(StateSet&) to make more easier to gather - StateAttribute - statistics in user-derived classes - " +->I've implemented a mechanism to handle this binding scheme -2012-02-06 12:29 robert +You will also find in the patch an example of these evil dae and comments on the offending elements. +They seems to be produced by ComputaMaps (www.computamaps.com) +They load well in Google Earth +" - * Fixed indendation and line endings -2012-02-06 12:06 robert - * From Brad Christiansen, "The attached files add the ability to - control when a paged child becomes eligible for expiry based on - time and/or elapsed frames. - - - - I found that some of the items that had been paged in were being - expired on the first frame that they were not visible (as the - cache was full). This resulted in excessive paging every time the - view was moved. With the following changes I could only allow - children to be expired if they had not been used for e.g. 30 - seconds or 60 frames." +Fri, 23 Mar 2012 10:24:50 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "as discussed on osg-users there is an issue with clang++ on OS X and iOS that results in the following error:Users/stephan/Documents/Projekte/cefix/cefix/ios/../../libs/ios/include/OpenThreads/Atomic:244:48: +error: cannot initialize a parameter of type 'void *' with an lvalue of +type 'const void *const' + return __sync_bool_compare_and_swap(&_ptr, ptrOld, ptrNew); -2012-02-06 12:05 robert +This can be solved by a cast to '(void*)ptrOld'. This should be benign since both +'ptrOld' and 'ptrNew' are only read and the cast is in fact in place for all other +implementations as well. - * Fixed silly compiler warning that was being produced in error. +On OS X the cast compiles cleanly on both g++ (i686-apple-darwin11-llvm-g++-4.2 (GCC) +4.2.1) and clang++ (Apple clang version 3.1 (tags/Apple/clang-318.0.54)). +" -2012-02-06 11:17 robert - * From Alexander Sinditskiy, "looks like GlyphGeometries - _glyphGeometries; should be removed because Glyph3D have the same - named local variable." -2012-02-03 15:15 robert +Fri, 23 Mar 2012 10:21:51 +0000 +Checked in by : Robert Osfield +As per Ulrich Hertlrein's suggestion, changed APPLE_PLATFORM_SDK_CANONICAL_NAME to OSG_OSX_SDK_NAME. - * From Stephan Huber, "attached you'll find a first version of - multi-touch-support for OS X (>= - 10.6), which will forward all multi-touch events from a trackpad - to the - corresponding osgGA-event-structures. - - The support is switched off per default, but you can enable - multi-touch - support via a new flag for GraphicsWindowCocoa::WindowData or - directly - via the GraphicsWindowCocoa-class. - - After switching multi-touch-support on, all mouse-events from the - trackpad get ignored, otherwise you'll have multiple events for - the same - pointer which is very confusing (as the trackpad reports absolute - movement, and as a mouse relative movement). - - I think this is not a problem, as multi-touch-input is a - completely - different beast as a mouse, so you'll have to code your own - event-handlers anyway. - - While coding this stuff, I asked myself if we should refactor - GUIEventAdapter/EventQueue and assign a specific event-type for - touch-input instead of using PUSH/DRAG/RELEASE. This will make it - clearer how to use the code, but will break the mouse-emulation - for the - first touch-point and with that all existing manipulators. What - do you - think? I am happy to code the proposed changes. - - Additionally I created a small (and ugly) example osgmultitouch - which - makes use of the osgGA::MultiTouchTrackballManipulator, shows all - touch-points on a HUD and demonstrates how to get the touchpoints - from - an osgGA::GUIEventAdapter. - - There's even a small example video here: - http://vimeo.com/31611842" +Fri, 23 Mar 2012 10:18:27 +0000 +Checked in by : Robert Osfield +From Erik den Dekker, " IF(${CMAKE_OSX_SYSROOT} STREQUAL "/Developer/SDKs/MacOSX10.7.sdk") ... ELSEIF(${CMAKE_OSX_SYSROOT} STREQUAL "/Developer/SDKs/MacOSX10.5.sdk" OR ${CMAKE_OSX_SYSROOT} STREQUAL "/Developer/SDKs/MacOSX10.6.sdk") -2012-02-03 14:25 robert +... - * From Stephan Huber, "attached you'll find a first version of - multi-touch-support for OS X (>= - 10.6), which will forward all multi-touch events from a trackpad - to the - corresponding osgGA-event-structures. - - The support is switched off per default, but you can enable - multi-touch - support via a new flag for GraphicsWindowCocoa::WindowData or - directly - via the GraphicsWindowCocoa-class. - - After switching multi-touch-support on, all mouse-events from the - trackpad get ignored, otherwise you'll have multiple events for - the same - pointer which is very confusing (as the trackpad reports absolute - movement, and as a mouse relative movement). - - I think this is not a problem, as multi-touch-input is a - completely - different beast as a mouse, so you'll have to code your own - event-handlers anyway. - - While coding this stuff, I asked myself if we should refactor - GUIEventAdapter/EventQueue and assign a specific event-type for - touch-input instead of using PUSH/DRAG/RELEASE. This will make it - clearer how to use the code, but will break the mouse-emulation - for the - first touch-point and with that all existing manipulators. What - do you - think? I am happy to code the proposed changes. - - Additionally I created a small (and ugly) example osgmultitouch - which - makes use of the osgGA::MultiTouchTrackballManipulator, shows all - touch-points on a HUD and demonstrates how to get the touchpoints - from - an osgGA::GUIEventAdapter. - - There's even a small example video here: - http://vimeo.com/31611842" +ELSEIF(EXISTS /Developer/SDKs/MacOSX10.4u.sdk) +... -2012-02-03 11:10 robert + ELSE() - * Improved handling of archives +... -2012-02-03 11:09 robert + ENDIF() - * From Terry Welsh, improved support for handling archives -2012-02-01 17:42 robert +Which is fragile because XCode could be installed into another directory than /Developer. (In case XCode is not installed into the /Developer directory CMake can automatically resolve the path via command line utility ${CMAKE_XCODE_SELECT} --print-path) - * From Colin McDonald, "I have an application with multiple - windows. They share GL objects - between the contexts, using the GraphicsContext::Traits - sharedContext - and setting the same contextID. - - When one of these shared contexts is closed, - GraphicsContext::close - deletes all GLObjects for that contextID, regardless of the fact - that - they are shared. This means that all of the other contexts - sharing the - objects have to recompile them. - - The attached tweak makes GraphicsContext::close a bit less brutal - for - shared contexts. I have also changed a misleading diagnostic - message. - " +This issue bites me currently because the latest XCode (Version 4.3.1 - 4E1019) installed through the Mac App Store is per default installed in "/Applications/Xcode.app/Contents/Developer" and hence the 10.7 SDK in "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk" -2012-02-01 17:38 robert +Searching the web to find the proper way to determine the version of the Platform SDK programmatically, I found no standard way. I came up with 2 options myself: - * From Luc Frauciel, "FBX plugin was locked on version 2012.1 of - FBX SDK which is not available anymore on Autodesk website. - This patch allows version of FBX >= 2012.1, which includes - current one : 2012.2 - " +1) Parse the path string to extract the version number -2012-02-01 17:16 robert +2) Read a value from the SDKSettings.plist found in the root of each SDK (e.g., "defaults read ${CMAKE_OSX_ROOT}/SDKSettings.plist CanonicalName" gives "macosx10.7") - * Renamed selection to transform to make it clear to understand - what is being done. +I implemented the last option and verified that at least the following Mac OS SDKs (10.3.9, 10.4, 10.5, 10.6, 10.7) support this method. It also looks reasonably future proof. An additional benefit of this method is that it also seems to be compatible with iOS and iOS Simulator SDKs (at least for version 5.1, but I assume this also applies to older versions). This is interesting because the CMake infrastructure to build OSG for iOS currently still contains similar hard-coded paths and even requires you to manually change the cmake file to build for another iOS SDK version. In the near future I hope to address these issues, but I haven't been able to try this yet." -2012-02-01 17:10 robert - * Added example usage of teh new DraggerTransforCallback's - HandleCommandMask which is tied to the TabPlaneDragger example. -2012-02-01 13:55 robert +Wed, 21 Mar 2012 17:36:20 +0000 +Checked in by : Robert Osfield +Ran script to remove trailing spaces and tabs - * Added DraggerTransformCallback::HandleCommandMask to - DraggerTransformCallback to allow applications to select which - commands they want the dragger callback to respond to why - updating the transform. +Wed, 21 Mar 2012 16:02:32 +0000 +Checked in by : Robert Osfield +For all OSG_GL*_FEATURE #defines changed 1's to true and 0's to false. -2012-01-31 10:56 robert +Wed, 21 Mar 2012 14:08:07 +0000 +Checked in by : Robert Osfield +From David Callu, "just a typo fix that break the compilation under windows" - * Improved the handling of osgManipulator::Constraint, - DraggerCallbacks and Command so that they now use a Visitor - Pattern - to ensure the correct methods on constraints and callbaks are - called for each Command. Also fixed the handling of - Constraints when applied to composite Draggers. +Wed, 21 Mar 2012 11:36:54 +0000 +Checked in by : Robert Osfield +Added Traits::getContextVersion(uint,uint) -2012-01-30 12:26 robert +Wed, 21 Mar 2012 11:26:09 +0000 +Checked in by : Robert Osfield +Updated version number - * Added support for Scale1DDragger, Scale2DDragger and - TranslatePlaneDragger to --dragger command line option +Tue, 20 Mar 2012 12:01:02 +0000 +Checked in by : Robert Osfield +Removed inappropriate warning -2012-01-27 09:49 robert +Tue, 20 Mar 2012 11:18:45 +0000 +Checked in by : Robert Osfield +Replaced && with & to address error in handling bitmask - * From Kristofer Tingdahl, Added missing core OSG libraries. +Mon, 19 Mar 2012 09:49:41 +0000 +Checked in by : Robert Osfield +From Lukasz Izdebski, Added StencilTwoSided support to ive plugin -2012-01-26 18:03 robert +Fri, 16 Mar 2012 13:22:20 +0000 +Checked in by : Robert Osfield +Fixed the order of setting of CenterMode - * From Stephan Huber, "a recent submission added a 10.6-feature to - GraphicsWindowCocoa. I added - some ifdefs around, so it compiles again with 10.5 SDK" +Wed, 14 Mar 2012 16:42:07 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I'd like to submit a slightly modified version of the ViewDependentShadowMap. It includes two fixes: one is in ComputeLightSpaceBounds::update(), which changes the statement "if (v.z()<0.0f)" to "if (v.z()<-1.0f)" as clipping space coordinates should be transformed to [-1, 1] and should not be discarded unless they go beyond the range; the other is in ViewDependentShadowMap::computeShadowCameraSettings(), in which I changed the line: viewMatrix.makeLookAt(frustum.center+positionedLight.lightDir*zMin, frustum.center, lightUp); to viewMatrix.makeLookAt(frustum.center+positionedLight.lightDir*zMin, frustum.center+positionedLight.lightDir*zMax, lightUp);The reason I've done such a change is that for huge scenes like a city on the earth, the values of frustum.center can be extremely large, but zMin may be very small (e.g., when model depth in light coords equals the model radius by chance) in some cases so the result of (eye - center) might jiggle while moving around the shadow scene and thus make the shadow map suddenly disappear some time. The small change here also considers the effect of zMax to avoid such problems. -2012-01-26 14:26 robert +" - * Quietend down debug message -2012-01-26 13:08 robert - * From J.P. Delport, "when switching from windowed mode to - fullscreen (with the 'f' key) in X11, no RESIZE event is - generated. This confuses handlers that perform some processing on - the RESIZE event, e.g. the InteractiveImageHandler. - - To reproduce the problem I attach a minimally modified osgviewer - that just prints resize events. You can check what's printed in - the console when you go fullscreen and windowed a few times. - - The attached version of GraphicsWindowX11 fixes the problem for - me, but I'm not sure this is the right approach. Maybe you can - see a fix for the problem clearer. - - The only place where the RESIZE event is generated in - GraphicsWindowX11 is in CheckEvents and it then depends on the - ConfigureNotify message. For some reason, either ConfigureNotify - is not sent when going fullscreen or the traits already reflect - the latest window size." +Mon, 12 Mar 2012 14:22:48 +0000 +Checked in by : Robert Osfield +Moved static initializers into global scope to prevent problems with using exit(). -2012-01-25 17:37 robert +Sun, 11 Mar 2012 22:05:29 +0000 +Checked in by : Cedric Pinson +Changed osgAnimation::StackedTransform::update(t). It can now be used for custom usage - * From J.P. Delport, "this fall-through had me scratching my head - for a while... - - It made InteractiveImageHandler eat keypresses outside its - image." +Fri, 9 Mar 2012 13:16:39 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file for 3.1.1 dev release -2012-01-25 17:35 robert +Fri, 9 Mar 2012 10:20:23 +0000 +Checked in by : Robert Osfield +From Chuck Seberino, "Attached are modified versions of RotateCylinderDragger and Projector files that clean up the use of _onCylinder / isProjectionOnCylinder().I have also made changes to the RotateCylinderDragger to provide a cylinder ring with a thickness. It is totally optional, but IMHO makes the default behavior work better than a solid cylinder (which typically obscures the geometry you are trying to drag). Gives it a bit more to grab, especially in the case where eyepoint and cylinder axis are near parallel. +" - * From J.P. Delport, "GraphicsWindowX11 typo, I believe X/Y's - should match." -2012-01-25 17:31 robert - * From Luc Frauciel, "Ati FirePro is as much crippled as other Ati - drivers. - This patch add "FirePro" to the black list of renderers in - State.cpp / initializeExtensionProcs - - It allows to avoid an OpenGL error on Viewer initialization. - Tested on FirePro M7740 / Windows7 x64 Driver 8.85.7.2" +Thu, 8 Mar 2012 16:33:44 +0000 +Checked in by : Robert Osfield +Updated version number for 3.1.1 dev release -2012-01-25 15:38 robert +Thu, 8 Mar 2012 16:05:17 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've added support for reading contents of cubemap textures to the osg::Image::readImageFromCurrentTexture method. I added a new parameter to the method for specifying which face of the cubemap to read." - * Changed the KeyEventToggleTexturing to 'e' to avoid conflict with - 't' used for transparency. +Wed, 7 Mar 2012 09:32:38 +0000 +Checked in by : Robert Osfield +From Olaf Flebbe, "Appended now a bugfixed proposition for the Win7 Multitouch Support.Now examples/osgmultitouch really works ;-) -2012-01-24 17:57 robert +Based on yesterdays trunk. - * Made the cursor state protected. +* It should now work with all Visual Studio Versions. +* WIN_VER is left as-is +* I added the missing declarations from a recent SDK, if not supplied by the SDK +* If someone chooses to update WIN_VER, the declarations should not break. +* All API Calls are runtime detected. +* No CMake Variable, Support is enabled automatically ." -2012-01-24 17:49 robert - * From Tobias Ottenweller, "this is a fix for the problem where all - input freezes for a quarter second when calling - requestWarpPointer under Mac OS X (described here: - http://forum.openscenegraph.org/viewtopic.php?t=3933 ). - - I used the latest version available via subversion. - - My fix is using some API only available on 10.4 and later. I used - some preprocessor statements to gain compatibility with 10.3 and - earlier using (now) deprecated API. - - Only tested on OS X Lion (10.7). Please do some testing as well - since I'm fairly new to OpenSceneGraph. Someone should also test - the code for 10.3 and earlier." -2012-01-24 17:47 robert +Tue, 6 Mar 2012 10:35:57 +0000 +Checked in by : Robert Osfield +From Guillaume Millet, "Please find a small fix to avoid crash of texture Atlas builder in case of textures with NULL image.If an object is comming with texture and NULL image, the texture atlas builder crash when sorting textures according to texture height. +The fix is to skip textures with NULL image when inserting textures in the builder texture list. +" - * Fixed indentation and spaces at ends of lines. -2012-01-24 17:40 robert - * From Paulk Martz, "Looks like the ClipNode::setReferenceFrame - comment block came from LightSource. Fixing the comment block to - refer to ClipNode instead of light source." +Tue, 6 Mar 2012 10:33:20 +0000 +Checked in by : Robert Osfield +From Farshild Laskari, "The vertex shader for the point stateset of PrecipitationEffect was not properly computing the clip vertex. It needed to apply a modelview transformation to the clip vertex. Attached is the fix." -2012-01-24 17:38 robert +Tue, 6 Mar 2012 10:29:47 +0000 +Checked in by : Robert Osfield +From Christian Buchner, "The attached openscenegraph example is much simpler than osgshaders.cpp and demonstrates the use of GLSL vertex and fragment shaders with a simple animation callback. I found the osgshaders.cpp too complex to serve as a starting point for GLSL programming" - * Chris Denham, fixed type of parameters to ensure they are longs - where appropriate. +Tue, 6 Mar 2012 10:08:49 +0000 +Checked in by : Robert Osfield +From Chuck Seberino, "Here is a fix for the RotateCylinderDragger. This patch fixes the case where the picking direction is close to the cylinder axis. The current behavior is this:* If the eyepoint and cylinder axis are close to parallel (given some tolerance), then it uses a plane perpendicular to the cylinder axis. +* Otherwise it uses a plane parallel to the cylinder axis oriented towards the eyepoint (previous behavior). This gives decent behavior and is the only path that was taken in the previous code. I kept with previous behavior and that allowed a good bit of code to be removed, simplifying things. There is now no need for the _onCylinder flag, but since there is a public accessor, I wasn't sure how to handle it for backwards compatibility, so I left it in. NOTE - there is no default initialized value, so if it is kept in, it should be set to 'false' to keep same behavior as before. I am not quite sure how the _onCylinder case was supposed to behave as even forcing that path gave undesirable behavior, even with carefully controlled dragging. +" -2012-01-24 17:30 robert - * Moved setEndBarrierOperation(..) implementation into .cpp and - added support for stoppig and starting threading if required. -2012-01-24 17:21 robert +Tue, 6 Mar 2012 10:06:00 +0000 +Checked in by : Robert Osfield +Added RotateCylinderDragger and RotateSphereDragger to list of manipulators for testing purposes - * From Paul Martz, Added ViewerBase::s/getEndBarrierOperation(..) - method to allow user control of how viewers are sync'd. +Mon, 5 Mar 2012 14:17:01 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Just a minor update and typo fix. " -2012-01-24 15:44 robert +Thu, 1 Mar 2012 11:33:31 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, "I've modified dxf writer :- correction to writeFace : the fourth point was defined with an incorrect code (http://www.autodesk.com/techpubs/autocad/acad2000/dxf/3dface_dxf_06.htm) +- if no layer name was found, an empty string was used, with is incorrect according to dxf specifications and was rejected by Autodesk DWG TrueView +- the plugin was writting polygons and triangles as LINE, as if PolygonMode GL_LINE was active, and didn't use 3DFACE primitive. + I changed this behaviour to write 3DFACE as default, and LINE when PolygonMode GL_LINE is active. + when reading back the file with osg, the result is now consistent with the source - * Fixed compile error +Tested with osg plugin, FME (Safe software), Autodesk DWG TrueView +" -2012-01-24 14:34 robert - * Added support for using GL_UNPACK_ROW_LENGTH in conjunction with - texture's + osg::Image via new RowLength - parameter in osg::Image. To support this Image::setData(..) now - has a new optional rowLength parameter which - defaults to 0, which provides the original behaviour, - Image::setRowLength(int) and int Image::getRowLength() are also - provided. - - With the introduction of RowLength support in osg::Image it is - now possible to create a sub image where - the t size of the image are smaller than the row length, useful - for when you have a large image on the CPU - and which to use a small portion of it on the GPU. However, when - these sub images are created the data - within the image is no longer contiguous so data access can no - longer assume that all the data is in - one block. The new method Image::isDataContiguous() enables the - user to check whether the data is contiguous, - and if not one can either access the data row by row using - Image::data(column,row,image) accessor, or use the - new Image::DataIterator for stepping through each block on memory - assocatied with the image. - - To support the possibility of non contiguous osg::Image usage of - image objects has had to be updated to - check DataContiguous and handle the case or use access via the - DataIerator or by row by row. To achieve - this a relatively large number of files has had to be modified, - in particular the texture classes and - image plugins that doing writing. -2012-01-24 14:27 robert +Thu, 1 Mar 2012 11:03:18 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, "In 3ds plugin, asGeometry() is used on a drawable but the resulting pointer is not tested for nullity. It leads to a crash when writing osgText::Text or Shapes" - * Refactored the click_to_run implementation to avoid bug - associated with running the first click_to_run entry in a layer - when - subsequent click to run's are called. +Thu, 1 Mar 2012 10:38:28 +0000 +Checked in by : Robert Osfield +From David Callu, "I found a bug in osg::Program.in osg::Program::PerContextProgram : -2012-01-23 18:48 robert +typedef std::vector LastAppliedUniformList; +should be +typedef std::map LastAppliedUniformList; - * Changed float QuicktimeImageStream::getCurrentTime() to double - QuicktimeImageStream::getCurrentTime() to keep it consistent with - the type of the virtual function ImageStream::getCurrentTime(), - and with this fixing a compile and runtime error. - - Changed time variables all to use doubles rather than float to be - consist with the change to getCurrentTime(). +Intel driver can use index uniform value > 200000. +With a std::vector, this index uniform value generate an out of memory error -2012-01-05 14:07 robert +Nothing in OpenGL or GLSL specification define index uniform value rules. +And all other implementation that deal with uniform index in osg::Program +use a std::map. +This fix could have a little performance impact but this is the cost +to pay to work with +all driver." - * From Alberto Luacus, "The ffmpeg plugin fails to compile with the - upcoming libav 0.8 because - the required header mathematics.h is not being included - explicitly. - - I have just included it, and verified that this also works with - current - version 0.7, since the header is also available there." -2012-01-03 15:59 robert - * Fixed the return value of SlideEventHandler::selectLayer() so - that the 'n' now works correctly. +Thu, 1 Mar 2012 10:14:55 +0000 +Checked in by : Robert Osfield +Removed redudent spaces at ends of lines -2012-01-02 16:54 robert +Wed, 29 Feb 2012 14:01:44 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS for dev release - * From Farshid Lashkari, "Attached is a simple fix to osg::Sequence - that allows it to load properly with the serializer formats - (osgt/osgb). The problem was that the internal _nrepsRemain - member was not being initialized properly if the number of - repeats was equal to the default value of -1. When the number of - repeats is explicitly set using setNumRepeats(), _nrepsRemain is - set to the same value. However, in the constructor of - osg::Sequence, it was not being initialized to the same value as - _nreps. This fix simply changes the initial value of _nrepsRemain - to the same as _nreps." +Wed, 29 Feb 2012 10:22:56 +0000 +Checked in by : Robert Osfield +Improved the handling of endian swap of osg::Array -2012-01-02 16:38 robert +Wed, 29 Feb 2012 10:22:18 +0000 +Checked in by : Robert Osfield +From Glenn Waldron, "Attached are modifications to ZipArchive to make it safe for mutli-threaded access. Here's a summary:* Uses a separate ZIP file handle per thread +* Maintains a single shared (read-only) index, created the first time through +* Stress-tested with the DatabasePager using 24 threads under osgEarth - * From Chris Denham, Implementation of write functions in CURL - plugin +I also updated the member variables to use OSG's leading-underscore convention." -2011-12-23 17:40 robert - * From Paul Martz and David Glenn, - - "From David Glenn and Paul Martz. This change adds support for - the NO_COLOR bit in the Vertex records' flags field. If NO_COLOR - is set, and PACKED_COLOR is not set, the code will now properly - default to using the face color at those vertices. See the - osg-users thread "Open Flight characteristic not reflected in the - current OSG" for more info." - - and - - "In consultation with David Glenn, it appears we needed to change - a second file to correct how OpenFlight handles transparency when - vertices have NO_COLOR. " -2011-12-23 17:34 robert +Tue, 28 Feb 2012 12:03:48 +0000 +Checked in by : Robert Osfield +From Guillaume Millet, "When using the texture Atlas builder, it will convert from REPEAT to CLAMP all textures using only texcoord between [-0.001 1.001] to give a chance to create an Atlas. If the atlas creation failed for other reason (texture size, only one compatible texture, ...) the texture remain modified in CLAMP mode.But if you use texcoords between [0.0 1.0] using CLAMP mode instead +REPEAT it is not safe because you will have a blend to the border color +at extremities. +If we want to have exactly the same rendering after changing mode from +REPEAT to CLAMP we should use the CLAMP_TO_EDGE mode instead of CLAMP to +avoid blending to border color at extremities. - * Gunnar Holm, "After upgrading from 2.8.3 to 3.0.1 we experienced - a lock in the Mutex - functionality when using Terrain::setVerticalScale. This was - caused by - the following call sequence resulting in a lockup: - - void Terrain::setVerticalScale(float scale) - CALLS dirtyRegisteredTiles(); - - - void Terrain::dirtyRegisteredTiles(int dirtyMask) - SETS LOCK OpenThreads::ScopedLock - lock(_mutex); - and CALLS (on every tile) setDirtyMask(dirtyMask); - - - void TerrainTile::setDirtyMask(int dirtyMask) - CALLS _terrain->updateTerrainTileOnNextFrame(this); - - - void Terrain::updateTerrainTileOnNextFrame(TerrainTile* - terrainTile) - SETS LOCK OpenThreads::ScopedLock - lock(_mutex); - ******* PROBLEM - since lock has already been set! ******** - - - The suggested fix submitted changes from using Mutex to - ReentrantMutex. - " +Please find as attachment the proposed patch against latest svn version. +" -2011-12-23 17:21 robert - * From Aurelien Albert, "I made a modification in the Dragger class - : - - You can now set a "intersection mask" and it will be used when - looking for intersections. - - So you can now easily "hide" some objects from manipulators." -2011-12-23 17:16 robert +Tue, 28 Feb 2012 11:37:09 +0000 +Checked in by : Robert Osfield +Added build problem with using float Matrix. - * From Brad Christiansen, "I have added an implementation for - set/getVolume in the direct show plug-in." +Tue, 28 Feb 2012 10:21:21 +0000 +Checked in by : Robert Osfield +From Thomas Hogarth, build fix for IOS build -2011-12-23 17:15 robert +Mon, 27 Feb 2012 09:50:47 +0000 +Checked in by : Robert Osfield +Added fin.imbue(std::locale::classic()); to avoid problems with parsing of .obj files - * From Glenn Waldron, "Attached is a change to - ClusterCullingCallback to make it work properly under an RTT - camera with an INHERIT_VIEWPOINT reference frame." +Fri, 24 Feb 2012 21:07:02 +0000 +Checked in by : Robert Osfield +Added s/getByteSwap to teh InputStreamOperator base class and use of this method in the InputStream::start(InputStreamOperator*) method to ensure the bytes are swapped consistently. -2011-12-23 16:57 robert +Fri, 24 Feb 2012 12:15:15 +0000 +Checked in by : Robert Osfield +Added support for using glGenerateMipmap instead of GL_GENERATE_MIPMAP_SGIS on GLES2 - * From James Turner, "Testing FlightGear with Cocoa osgViewer, - encountered some problems with hiding / re-showing the cursor. - Attached version fixes this, by tracking the current cursor - value, and ensuring we don't nest calls to [NSCursor hide] or - [NSCursor unhide]." +Fri, 24 Feb 2012 11:43:35 +0000 +Checked in by : Robert Osfield +Added support for checking the possible endian reversal the OSG_HEADER_LOW and OSG_HEADER_HIGH when reading binary files written out from systems that have a different endian to the system reading it. -2011-12-23 16:29 robert +Fri, 24 Feb 2012 10:56:48 +0000 +Checked in by : Robert Osfield +Cleaned up CMake warning - * From Ulrich Hertlein, "attached is a patch for - osgPlugins/mdl/MDLReader.cpp that improves its functionality on - Unix filesystems. It also includes code cleanups/refactoring." +Thu, 23 Feb 2012 17:51:40 +0000 +Checked in by : Robert Osfield +Moved the state.applyTextureMode(0,GL_TEXTURE_2D,osg::StateAttribute::ON); -2011-12-23 16:27 robert +into the #if defined(OSG_GL_FIXED_FUNCTION_AVAILABLE) block to solve problems under GLES and GL3.x/GL4.x - * From Brad Christiansen, "Attached are some small changes to the - ImageStream interface and the DirectShow and FFMPEG plugins to - provide the current time being displayed in the image stream. - I don’t have access to an OSX or Linux dev machine to make the - changes required to the quick time plugin. This plugin will just - default to returning 0." -2011-12-23 16:14 robert - * From Ulrich Hertlein, typo fixes -2011-12-23 12:42 robert +Thu, 23 Feb 2012 15:55:30 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, "I was trying to play with the configuratiion files from the data but couldn't load them with osgviewer's -c CLI switch, this correction should make the alias work :-) " - * Added handling of an empty filename when writing out an image - file. +Wed, 22 Feb 2012 10:50:38 +0000 +Checked in by : Robert Osfield +From Sergey Polischuk, "In and Out control points were computed incorrectly for some animation channels with cubic bezier interpolation" -2011-12-19 16:18 robert +Wed, 22 Feb 2012 10:46:35 +0000 +Checked in by : Robert Osfield +From Miha Ravsel, "While trying to create my custom serializer class, i created some dummy data which accidentally popped-up bug in InputStream readObjectFields function.Bug description: + Let's say we have class A +namespace Bug +{ +class A : public osg::Object +{ +public: + //... + typedef std::vector > AList; - * Removed inappropriate static usage +protected: + AList _alist; + //... +} +} -2011-12-19 09:37 robert +REGISTER_OBJECT_WRAPPER( A, + new Bug::A, + Bug::A, + "osg::Object Bug::A" ) +{ + ADD_LIST_SERIALIZER(A,Bug::A::AList); +} - * Moved the createSpotLightImage function into - include/osg/ImageUtils -2011-12-19 09:09 robert +Bug: +We create say 3 instances of class A: A1,A2,A3 and then we add A2 and A3 and A1 as child instances of A1 so we get next structure: +A1 + |- A2,A3,A1 - * Added --num-sm and --parallel-split and --cascaded command line - options to set the appriopriate ViewDependentShadowMap settings. +we call osgDB::writeObjectFile(A1,"/data/a.osgt") -> saved correctly( third element in list is saved as unique id that references parentClass -2011-12-13 21:14 robert +now we call +A1 = osgDB::readObjectFile("/data/a.osgt"); - * Moved osgshaders example across to use the new - osgUtil::PerlinNoise example +Everything is deserialized correctely except last element in list which should be same instance as parent A1. -2011-12-13 21:12 robert +The attached code resolves this issue by passing UniqueID in readObjectFields method and saving object in _identifierMap as soon as we have valid object instance so we can make reference to parent object from any child instance. +" - * Created new PerlinNoise class from the Noise.h+Noise.cpp code in - the osgshaders example. -2011-11-30 19:14 robert - * Fixed build under Tiny Core. +Tue, 21 Feb 2012 17:20:58 +0000 +Checked in by : Robert Osfield +From Paul Martz, "The attached fixes a few issues that are present when ref_ptr implicit casting is disabled." -2011-11-25 12:48 robert +Tue, 21 Feb 2012 11:30:07 +0000 +Checked in by : Robert Osfield +From Olaf Flebbe, "Macos X cleanup: I added AFAIK proper defaults for several Macos X Version API targets.* In order to determine which defaults to apply, consult the CMAKE_OSX_SYSROOT variable pointing to the used SDK, not the pure existence of an SDK. - * To fix problems in tight bound computation of the shadow map made - the ComputeLightSpaceBounds usage always used when the - CastShadowMask is active. Changed the ComputeLightSpaceBounds to - use just VIEW_FRUSTUM_CULLING. +* Defaults are now: +10.7: Support Intel 32 and 64 Bit Cocoa with imageio picture reader +10.6 + 10.5: Support Cocoa with imageio on Intel and PowerPC +10.4: Carbon, Quicktime and PowerPC -2011-11-25 09:24 robert +Now OSG compiles out of the box for MacOSX 10.7. , tested with gcc and clang with FlightGear." - * From Jean-Sebastien Guay, fix for handling texture unit >= 8 and - negative LigthNum. -2011-11-22 21:55 robert - * Added prelimanary support for parallel split shadow maps into - ViewDependentShadowMap. +Tue, 21 Feb 2012 11:13:25 +0000 +Checked in by : Robert Osfield +From Chris Denham, "ReaderWriter3DS smoothing group handling corrections" -2011-11-18 08:20 robert +Tue, 21 Feb 2012 10:42:59 +0000 +Checked in by : Robert Osfield +Fixed warnings - * From Trajce Nikolov, "Here is extended version of the osgforest - example - technique with geometry shader added, was doing it for - a project so I thought might be useful to update the example as - well - " +Tue, 21 Feb 2012 10:38:12 +0000 +Checked in by : Robert Osfield +Fixed erroneous use #if !defined(OSG_GLES1_FEATURES) && !defined(OSG_GLES2_FEATURES) which should have been #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) -2011-11-18 08:15 robert +Mon, 20 Feb 2012 16:00:46 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, "When dae plugin is used with daeUseSequencedTextureUnitsoption, the transparency processing is done with the wrong texture unit I've remplaced the unused parameter diffuseColorName by the diffuseTextureUnit effectively used." - * Fixed indentation +Mon, 20 Feb 2012 12:36:53 +0000 +Checked in by : Robert Osfield +From Alexander Sinditskiy, "Fix loading small monochrome bmp images" -2011-11-17 18:45 robert +Mon, 20 Feb 2012 12:33:17 +0000 +Checked in by : Robert Osfield +From Dietmar Funck, "in order to use a customized database thread it's necessary to use a customized database pager, which creates such customized database threads, too. I think the best way to achieve this is to overwrite the DatabasePager::addDatabaseThread() method within the customized database pager. However this method is not 'virtual' yet, so I propose to make the method 'virtual'." - * Added .get() to fix build +Mon, 20 Feb 2012 12:23:36 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've attached a small optimization to osgDB::Registry::removeExpiredObjectsInCache that removes the expired items while iterating over the cache, instead of saving to a temporary vector and then removing." -2011-11-11 10:36 robert +Mon, 20 Feb 2012 12:18:50 +0000 +Checked in by : Robert Osfield +From Riccardo Corsi, Added passing of EventVisitor pointer to event handlers. - * Updated built in volume shaders to honour the osg::Matierial - setting +Mon, 20 Feb 2012 12:12:43 +0000 +Checked in by : Robert Osfield +From Riccardo Corsi, "please find attached a small patch for HDR plugin, which simply set by default the internal pixel format to GL_RGB32F_ARB where appropriate.In the current version there's a comment saying that the plugin set it to GL_RGB8 (even when reading from float) to support old graphics cards, +but the comment dates back to 2004... +What's more I believe that it's correct to expect a floating texture format if you're loading an hdr image. +It was quite troublesome for us to discover why our background image wasn't showing hdr data... -2011-11-11 10:25 robert +In case you accept the submission, I've removed the comment as it would be misleading to leave it there." - * Enabled blending for the iso surface rendering to enable fade - in/fade out of volume. -2011-11-10 15:50 robert - * Added handling of osgGA::GUIEventAdapter::getMouseYOrientation() - in the orientation of mouse y position. - - Added updating of properties on both mouse move/drag and keydown. +Mon, 20 Feb 2012 12:03:14 +0000 +Checked in by : Robert Osfield +From Johannes Baeurele, "The osg::Image class now contains a 'supportsTextureSubloading()' method that is used inside the Texture2D::apply method. For now it only checks for the etc1 format in which case it returns 'false'. All other formats lead to a return value of 'true'.Without the change the application does not work properly. First I get the notification that an OpenGL error occured. After some more of this error messages I see broken textures on the screen. With the changes attached to this message my application works as intended." -2011-11-07 14:36 robert +Note from Robert Osfield, changed the Image::supportsTextureSubloading() to be const and to be implemented in the .cpp rather than inline. - * Added a check against OSX 10.6 to enable better selection of when - to provide custom cosf etc. definition. - This change has been introduced to address recurcsion problems in - 10.7 in the ac3d plugin. -2011-11-04 12:50 robert - * Implement presentation update feature that reloads the - presentation on pressing 'u'. +Fri, 17 Feb 2012 16:51:10 +0000 +Checked in by : Robert Osfield +From Kim Bale, "The application description for osg2cpp was cut and pasted from osgconv and not changed.I've added a more relevant description." -2011-11-04 12:47 robert - * Improved the handling of setStartTick() being called mid app, - such as when idirectly called when doing a - Viewer::setSceneData(). - Improved the setting the the initial event state. -2011-11-04 12:45 robert +Fri, 17 Feb 2012 16:45:49 +0000 +Checked in by : Robert Osfield +From Martin Lambers, "It adds a new ReaderWriter plugin for the GTA file format (http://gta.nongnu.org). This allows to read and write floating point image data. Unlike other formats, GTA also allows very good compression ratios for floating point data. The compression method can be selected with the COMPRESSION option of the plugin. " - * Improved handling of resetting of the EventQueue::startTick(). +Fri, 17 Feb 2012 16:13:16 +0000 +Checked in by : Robert Osfield +Added usage of OSG_CPP_EXCEPTIONS_AVAILABLE for plugins that use std::exceptions. -2011-11-04 12:44 robert +Fri, 10 Feb 2012 17:24:08 +0000 +Checked in by : Robert Osfield +From Stephan Huber, " Here's another small submission for IOS, which adds unique ids to the touchpoints, so the ids stay the same during a touch-sequence.(and some minor code enhancements)" - * Added removeFromObjectCache method. -2011-11-02 10:57 robert - * Add check to filter out the return of FILE_NOT_FOUND from archive - results to prevent these from prematurely exiting the - Registry::read(..) method - bofore it loads plugins to try and load requested file. +Fri, 10 Feb 2012 17:20:43 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "Upgrading to OpenSceneGraph 3.0.1, texture mip mapping stopped working on some junk low-end graphics cards which I still have to support. They worked ok with osg 2.8 and earlier.The problem turned out to be with gl proxy textures, which are +unreliable on those devices. Proxy textures are used by the glu +mipmap build routines to determine if a texture size is +supported. The external glu library had a nice fallback +behaviour, so that if proxy textures didn't work then the mipmap +texture was still created. But in the work on the new embedded +glu routines that fallback behaviour has been inadvertently +lost. I have restored the fallback in +src/osg/glu/libutil/mipmap.cpp. It doesn't add any extra +complexity." -2011-11-01 16:13 robert - * Replaced the use of PrtScrn with 'm' for taking screenshots, - replaced the use of 'm' with 'M' for taking movies. -2011-11-01 13:41 robert +Fri, 10 Feb 2012 16:12:28 +0000 +Checked in by : Robert Osfield +From Domenico Mangieri, "Implementation for MoveRight and MoveUp methods in FirstPersonManipulator is missing.I'm using the manipulator, so I added it." - * From Stephan Huber, "A recent commit - (https://github.com/openscenegraph/osg/commit/41e23f466d0749d0d9db7ca0b0ada996432a1ee1) - for GraphicWindowsIOS.mm broke the compilation for OpenGL ES 1.x - as - GL_DEPTH_COMPONENT32_OES is not defined for 1.x. I added a - #define-guard." -2011-11-01 13:36 robert - * Added screen capture handler to present3D, with the PrtScn button - used for a single frame capture and 'm' for continuous frame - capture. - The --screenshot filename command line option can be used to - configure the name of the screen capture. +Fri, 10 Feb 2012 15:57:51 +0000 +Checked in by : Robert Osfield +From Stephan Huber, attached you'll find a compile fix for the new introduced rowlength-feature on IOS/OpenGL ES builds -2011-11-01 11:08 robert +Thu, 9 Feb 2012 18:10:52 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, "osgUtil Tessellator : beginTessellation() made virtual to allow configuration of tessellation:The initialisation of glu low level tessellator is done in osgUtil::Tessellator::beginTessellation() +This function is not virtual, preventing any customization of the tesselation. +In particular, there in an option in glu tesselator that force the generated primitives to be triangles and that I'd like to use (GLU_TESS_EDGE_FLAG). +" - * Added setting of the sampleDensityWhenMovingProperty at the same - time as when setting the sampleDensityProperty -2011-11-01 10:30 robert - * Fixed the use DCM_SeriesDescription +Thu, 9 Feb 2012 17:52:13 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, "Modification to osgfilecache: Now source data can also be local.:find attached my modifications to osgfilecache. -2011-11-01 10:27 robert +It now allows also the caching of LOCAL terrain databases. In combination with the extends and level cmd parameter it allows to extract parts of terrain databases and write it in a new "Sub database". +I also modified osgDB::FileCache to create correct filenames if the data source is local." - * Improved the handling of multiple datasets being read at once, - with all the images in a series being group according to Series - UID and SeriesDescription and orientation. -2011-10-31 15:29 robert - * Adding missing checks against View's Camera and SceneData for any - update callbacks that need calling. +Thu, 9 Feb 2012 17:45:23 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, AUTHORS and Contriburos.cpp files -2011-10-28 11:00 robert +Thu, 9 Feb 2012 16:42:47 +0000 +Checked in by : Robert Osfield +From Martin von Gagern, "The xine osg plugin won't compile against xine-lib-1.2.0:OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c:2772:25: +error: ?video_driver_class_t? has no member named ?get_identifier? +OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c:2773:25: +error: ?video_driver_class_t? has no member named ?get_description? - * Changed the notification level to INFO. +This has been reported on Gentoo: https://bugs.gentoo.org/397643 +The relevant commit to the xine-lib repository is +http://anonscm.debian.org/hg/xine-lib/xine-lib-1.2/diff/806b590a4d38/src/xine-engine/video_out.h -2011-10-28 11:00 robert +This change addresses the issue. I'm sending the full modified file as +an attachment. It is based on the 3.0.1 release of OSG. I'll also paste +a diff below. You will find a colorized view in the Gentoo bugzilla. - * Changed the setting of Traits::sampleBuffers so that it's set to - 1 when DisplaySettings::getMultiSamples() is set to a non zero - value. +The xine-lib API changed in the following way: the identifier and +description members are now "const char*" strings instead of "char* +(*)(video_driver_class_t*)" getter function. As the functions in the osg +plugin will always simply return a string literal, without accessing +their argument, it is safe to simply call them with a NULL argument and +use the returned string. This makes it easy to support both API +versions. When you drop support for older xine one day, you might want +to move the string literals to the assignment, getting rid of the +functions in the process. -2011-10-28 10:36 robert +The modified code compiles for me. I'm not sure how to test it, as I've +only got OSG around in order to build (and hopefully one day even use) +Flightgear. - * Changed the default for SampleBuffers to be 1 when set. +I'm assigning my copyright in this change to the osg project leads. +" -2011-10-28 09:45 robert - * Removed OSX codepath for setting the depth value to 32 as this - turned out to be unneccesary. -2011-10-28 09:11 robert +Thu, 9 Feb 2012 15:54:13 +0000 +Checked in by : Robert Osfield +From Olaf Flebbe, "there are two ocurrences where pointer to bool is mixed with bool. Fixes warnings on MacOSX with llvm.diff --git a/src/osg/State.cpp b/src/osg/State.cpp +index 0b88d63..2137bbd 100644 +--- a/src/osg/State.cpp ++++ b/src/osg/State.cpp +@@ -109,7 +109,7 @@ State::State(): + } + } - * Changed the default depth to 24. +- _abortRenderingPtr = false; ++ _abortRenderingPtr = NULL; -2011-10-27 16:33 robert + _checkGLErrors = ONCE_PER_FRAME; - * Updated volume shaders to use the GL_LIGHT 0 values to control - the direction of the light source +@@ -689,7 +689,7 @@ bool State::getLastAppliedTextureMode(unsigned int unit,Stat -2011-10-27 13:11 robert + const StateAttribute* State::getLastAppliedTextureAttribute(unsigned int unit,S + { +- if (unit>=_textureAttributeMapList.size()) return false; ++ if (unit>=_textureAttributeMapList.size()) return NULL; + return getLastAppliedAttribute(_textureAttributeMapList[unit],type,member); + } - * Reimplement the light direction controls so that they now work - correctly with osgViewer::Viewer. - - Improved the computation of the light direction from - non-dimensional mouse coords so that they now project onto a - hemisphere making - the interaction more intuitive. +" -2011-10-27 09:24 robert - * Added support for ignore returns as white space. -2011-10-27 08:34 robert +Thu, 9 Feb 2012 15:51:20 +0000 +Checked in by : Robert Osfield +From Paul Martz, a simple GL3 example - * Added support for American spelling of swap and add - supportOptions(..) documentation for the new options. +Thu, 9 Feb 2012 15:08:30 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "The bounding box returned by getBound() for Text which is not auto-rotated (e.g. HUD text) is not always correct, because it doesn't take account of the base line offsets added by the various alignment options such as CENTER_TOP, CENTER_BOTTOM etc.The attached src/osgText/TextBase.cpp fixes the problem." -2011-10-26 14:25 robert - * Added support into the .p3d format for specifying the - osgDB::Options::OptionString via the . - - Added support into .vnc plugin for passing in the keywords - "swap", "RGB", "RGBA", "BGR", "BGRA" as OptionString values to - allow .p3d presentations to control - whether the pixelformat should be swapped or set to a specific - format. -2011-10-26 12:48 robert +Thu, 9 Feb 2012 14:40:07 +0000 +Checked in by : Robert Osfield +From Colin McDonald, fix for Solaris build. - * Added password support into present3D's vnc support via the tag - usage : hostname +Thu, 9 Feb 2012 14:33:13 +0000 +Checked in by : Robert Osfield +From Filip Arlet,"I ran into problem with osg::Text _BASE_LINE alignment. It didn't account line spacing. Btw. same problem in 3D textChanged _offset from: -_characterHeight*(_lineCount-1) +to: -_characterHeight*(1.0 + _lineSpacing)*(_lineCount-1)" -2011-10-26 12:29 robert - * Added password support into osgvnc example and vnc plugin -2011-10-26 09:34 robert +Thu, 9 Feb 2012 14:28:39 +0000 +Checked in by : Robert Osfield +Added back in support for checking the current working directory by default, but now do the check after the Options and Registry DataFilePathLists have been checked, which will allow users to better control over where files are searched for. - * Implement a simply attempt at detecting when the pixel format - needs to be swapped. +Thu, 9 Feb 2012 14:11:36 +0000 +Checked in by : Robert Osfield +From Chris Denham, "This is a submission to fix a problem with use of mode GL_RESCALE_NORMAL for geometries below a scaling transform which is not equal in X, Y & Z components. In this case, the 'slow' method of mode GL_NORMALIZE should be used to perform the normalization.I have attached a correction to daeRTransforms.cpp based on trunk at [12892] which corrects this problem. -2011-10-25 15:55 robert +This is the changed section: - * Added support for 32bit depth buffer +Code: + if (scale.x() == scale.y() && scale.y() == scale.z()) + { + // This mode may be quicker than GL_NORMALIZE, but ONLY works if x, y & z components of scale are the same. + ss->setMode(GL_RESCALE_NORMAL, osg::StateAttribute::ON|osg::StateAttribute::OVERRIDE); + } + else + { + // This mode may be slower than GL_RESCALE_NORMAL, but does work if x, y & z components of scale are not the same. + ss->setMode(GL_NORMALIZE, osg::StateAttribute::ON|osg::StateAttribute::OVERRIDE); + }" -2011-10-25 15:31 robert - * Added hack of using a 32bit depth buffer default setting for - Traits when compiling under Apple. -2011-10-24 13:40 robert +Thu, 9 Feb 2012 12:50:42 +0000 +Checked in by : Robert Osfield +From Thorsten Brehm, "attached update changes OSG's src/osgDB/Registry.cpp, so it doesn't (accidentally) resolve relative paths against the current working directory when searching for resources. So far, such paths were always resolved against the cwd first.I guess the previous behaviour of giving the cwd precedence over any path configured in the "database path list" (osgDB::Options) wasn't intentional. Otherwise, if it was intentional after all, it'd be good to add another feature instead, to make this configurable - e.g. a flag in osgDB::Options to disable this, if an application doesn't want the cwd being considered. +" - * Moved switching off of the cursor till after the slide event - handler has had a chance to switch off the scene. +Note from Robert Osfield, this submission will change the default behaviour of searching for files so can potentially break existing applications as it +won't search the current working direction unless it's included in the DataFilePathList entry in the Options or Registy. I'll add a follow +up submission to add back in this feature. -2011-10-24 11:09 robert - * Fixed handling of slide with no layers. -2011-10-22 09:02 robert - * Fixed build of StreamOperator +Wed, 8 Feb 2012 17:12:58 +0000 +Checked in by : Robert Osfield +From Hartmut Seichter, "attached a revised CMakeLists.txt file for Android that avoids the problems with a ARM gcc bug that appears in the NDK. It only overrides the optimization level for one file. As it resides only in the cfg parser this should not have side effects on performance." -2011-10-21 15:39 robert +Wed, 8 Feb 2012 10:50:04 +0000 +Checked in by : Robert Osfield +From Paul Martz, "This change clarifies the description for OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE." - * Fixed handling of Vec3dArray in - GLBeginEdnAdapter/ArrayDispatchers. +Wed, 8 Feb 2012 10:06:58 +0000 +Checked in by : Robert Osfield +From Leandro Motto Barros,"I've made a few changes to osgUtil::PolytopeIntersector so that it +actually uses double precision floating point numbers everywhere (as +long as OSG_USE_FLOAT_PLANE is not defined). -2011-10-21 11:00 robert +I needed double precision intersections in a project I am working on. +These changes fixed the problems I was having -- this is all testing I +have done. - * Added support for using negative scale_x, scale_y and scale_z - values in the tag to allow presentations to flip the - imagery +Notice that I have changed +osgUtil::PolytopeIntersector::Intersection's members to use doubles +(osg::Vec3d, instead of osg::Vec3). I could have added #ifdef's there +too, but I think it is better to not change the types of stuff in the +public interface depending on some preprocessor definition. -2011-10-21 10:59 robert +The modified files are attached. A diff also follows, for those who like it." - * Added flipDepth() method +With the following changes from Robert Osfield: -2011-10-21 09:31 robert +"I've just reviewed your changes and have just tweaked them a little to +streamline them. What I have done in the PolytopeIntersector header +is add: - * Fixed handling of scale.x, scale.y and scale.z paramters so that - all of them now take an effect. + typedef osg::Plane::Vec3_type Vec3_type; -2011-10-20 16:49 robert +And then use this typedef in the definition of the vertices rather +then Vec3d as you did. Next changes were to PolytopeInteresector.cpp +where to the PolytopeIntersectorUtils defintions of the Vec3_type, and +value_type which now simply read: - * Fixed handling of reading/writing of osgVolume::VolumeTile tiles + typedef osg::Plane::Vec3_type Vec3_type; + typedef Vec3_type::value_type value_type; -2011-10-20 16:35 robert +This way I was able to complete avoid any if def's and have essential +the same implementation as you achieved. Changes now checked into +svn/trunk." - * Added support for calling throwException() from InputIterator and - added a check for negative string sizes. -2011-10-20 11:50 robert - * Added check against build type to avoid the build of the - osgviewerWX example with debug build as this fails with - unresolved symbols within the internals of WxWidgets. -2011-10-20 10:52 robert - * From Ulrich Hertlein, fixed build problem due to cmake_policy - CMP0017 being only available from cmake-2.8.4, added guard to - prevent build problems +Wed, 8 Feb 2012 09:34:44 +0000 +Checked in by : Robert Osfield +From Claus Scheiblauer, "in GraphicsWindowQt.cpp the GLWidget::keyReleaseEvent was implemented slightly different to the GLWidget::keyPressEvent, which caused the cursor keys values to be not correctly mapped from an QKeyEvent value to an osg key value when releasing a cursor key." -2011-10-20 09:23 robert +Tue, 7 Feb 2012 16:14:13 +0000 +Checked in by : Robert Osfield +Fixed build issues when compile with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION set to OFF. - * Improved handling of recent Cmake versions +Tue, 7 Feb 2012 12:37:48 +0000 +Checked in by : Robert Osfield +From Alexander Irion, "Added missing format GL_ALPHA to Image::computeFormatDataType()." -2011-10-20 08:59 robert +Tue, 7 Feb 2012 12:02:04 +0000 +Checked in by : Robert Osfield +From Johannes Baeuerle, "The first problem is wrong value of the block size of etc1 textures in the getCompressedSize call in Texture.cpp. With the current block size of 16 the target application crashes with a GL_INVALID_VALUE. The reason is that the calculated size passed to OpenGL does not match the size of the passed data(data pointer,texture width,texture height,spec of etc1). With a block size of 8 in the getCompressedSize call this error dissapears." - * Fixed typo in command line output, and add an explanation message - for when createTexture3D fails to create an osg::Image from a - list of input osg::Image. +Tue, 7 Feb 2012 11:43:42 +0000 +Checked in by : Robert Osfield +From Nico Kruithof, "I found that Collada wasn't found correctly with visual studio 2010." -2011-10-17 15:39 robert +Tue, 7 Feb 2012 11:41:20 +0000 +Checked in by : Robert Osfield +From Marius Kintel, "GraphicsWindowQt::WindowData no longer requires the parent widget of a graphics window to be of type GLWidget." - * Fixed typo +Tue, 7 Feb 2012 11:29:47 +0000 +Checked in by : Robert Osfield +From David Fries, "Of the two ways to use the Tessellator object, only retessellatePolygons was applying the winding and boundary option. Moved the gluTessProperty calls into beginTessellation().There's a comment typo fix, removing an unused VertexPointList +typedef, and allocates one _tobj instead of one per tesellation. +Protections were added to check that _tobj was allocated in the few +remaining places it wasn't being checked. -2011-10-17 14:41 robert +--- +On a side note, I would like to avoid the 'new Vec3d' in +Tessellator::addVertex for each call to +gluTessVertex(tess, location, data). +The RedBook leaves it ambiguous if the location pointer must +remain valid after gluTessVertex or not. +http://www.opengl.org/sdk/docs/man/xhtml/gluTessVertex.xml +says that changing location is not safe, so being conservative, I'll +leave it as is, even though the Mesa GLU library copies the data not +the pointer, so it is currently safe." - * Improvements to the compute near/far -2011-10-17 14:40 robert - * Improvements to osgShadow::ViewDependentShadowMap and - ShadowSettings +Tue, 7 Feb 2012 11:21:11 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, "The setNormal method of osg::Billboard has side effects (it calls updateCache and update the normal to Z rotation matrix). When cloning billboards, copying the normal vector is not enough. In the correction, the copy constructor calls setNormal to update the internal members." -2011-10-17 11:12 robert +Tue, 7 Feb 2012 10:57:19 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "This is a one line modification of StatsHandler.cpp to work correctly while dumping states to console when ViewerStats getEarliesFrameNumber() and getLatestFrameNumber() return zeroes. If that happened in current version, printing loop was iterating between 0 and 0xFFFF FFFF indices and that was hanging our system. " - * Quitened down debug message +Tue, 7 Feb 2012 10:51:22 +0000 +Checked in by : Robert Osfield +From Tamer Fahmy, Fix for bug when scrolling down and using render on demand."Currently issuing a mouse scroll DOWN event would stop updating +animations in progress. -2011-10-17 10:25 robert +The fix consists of changing the line + us.requestContinuousUpdate( false ); +to: + us.requestContinuousUpdate( isAnimating() || _thrown ); - * From Jean-Sebastien Guay, add --mapres size option to - ViewDependentShadowMap settings. +in OrbitManipulator::handleMouseWheel() as has been done for the +GUIEventAdapter::SCROLL_UP case a couple of lines earlier or in +src/osgGA/FirstPersonManipulator.cpp." -2011-10-03 15:57 robert - * Add catch for when shadows are enabled between the update and - draw traversals. -2011-10-03 15:25 robert - * From Jean-Sebastien Guay, changed the border colour for the - shadow map to be 1 rather the 0 used for debugging so that areas - outside the shadow map default to being unshadowed rather than - shadowed. - changed the shadow map texture assigment to StateSet so that it - doesn't use OVERRIDE, enabling subgraphs to use the same texture - unit for other textures if they so required. - tidied up indentation. -2011-10-03 14:57 robert +Tue, 7 Feb 2012 10:40:04 +0000 +Checked in by : Robert Osfield +From Rudolf Wiedemann, "the file attached fixes the incomplete implementation of "osg::DefaultUserDataContainer"'s copy constructor. Copying user objects was missing."Note from Robert Osfield, in submission changed + _objectList.push_back((*itr)->clone(copyop)); +to + _objectList.push_back(copyop(*itr)); - * Changed getVertical(..) so it uses the same coord scale as the - getGlyph -2011-10-03 14:56 robert - * Fixed handling of ShadowSetting LightNum +Tue, 7 Feb 2012 10:33:09 +0000 +Checked in by : Robert Osfield +From Sukender, "I just fixed using UTF8 paths in JP2 readerwriter under Windows. Jpeg2000 plugin could not handle UTF8 paths as it was using an Japser open() function which seems to be based on the standard fopen(). The fix simply opens the file beforehand and only gives a FILE* to the Jasper lib (and then closes the file, of course). " -2011-10-03 10:36 robert +Mon, 6 Feb 2012 13:45:20 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "In Optimizer.cpp a nodes update callback is checked twice and the cull callback is checked never for the decision of a node being redundant. The change replaces one of the update callback tests with a cull callback test." - * Added Font::getVertical(float& ascender, float& descender) - methods. +Mon, 6 Feb 2012 13:40:01 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Attached is a change to the stats handler so that the aspect ratio of the viewer stats coordinates always stay about 1:1 to the pixels. This helps for more readable stats with very wide windows for example." -2011-09-28 11:52 robert +Mon, 6 Feb 2012 13:35:45 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "The attached change to the default font makes the baseline correctly working and makes the glyphs aspect ratio match their 12x8 bitmaps. I am not exactly sure about osgTexts current internals but it matches the changes that happened lately to the txf font. " - * Added catch for NaN vertices that were being generated by - osgText, these NaN vertices were causing glu tesselation - functions to crash. +Mon, 6 Feb 2012 13:29:38 +0000 +Checked in by : Robert Osfield +From Cory Riddell, "I've been using the dot plugin and found that our application which sets the global locale was generating bad dot files. Specifically, the node numbers had comma separators in them (like 1,234 rather than 1234).The attached file simply forces the stringstreams used to build up the +dot file to use the "C" locale." -2011-09-28 10:54 robert - * Added computation of the extents, in light space, of the shadow - maps RenderStage contents and use of this to produce a tighter - bound light space projection. -2011-09-20 11:46 robert +Mon, 6 Feb 2012 13:27:25 +0000 +Checked in by : Robert Osfield +From Robert Milharcic, "In attached file I implemented LOAD_IMMEDIATELY mode for new osg ProxyNode wrapper. Current version of proxynode loading uses DatabasePager for both modes(DEFER_LOADING_TO_DATABASE_PAGER and LOAD_IMMEDIATELY).Immediate loading of external references begins after ProxyNode has been deserialized in ProxyNodeFinishedObjectReadCallback." - * Added a half second sleep after calling system command when the - command is run in the background so - that this command has a chance to run and open a window before - the calling present3D moves on to the next frame. -2011-09-20 10:59 robert - * Added better error reporting and handling when tag contents - are not valid. +Mon, 6 Feb 2012 12:42:52 +0000 +Checked in by : Robert Osfield +From Paul Palumbo, "This change seems to fix a problem reading 32-bit Floating point tiff images. Without this fix, I'm only getting half my image displayed in "osgviewer --image"." -2011-09-20 10:01 robert +Mon, 6 Feb 2012 12:38:11 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "Attached is a patch to the SVG plugin to use cairo_surface_destroy instead of free. This was causing a crash on Windows. " - * Added handling of tag and "" options. +Mon, 6 Feb 2012 12:36:25 +0000 +Checked in by : Robert Osfield +From Jan Peciva, "attaching improved StatsVisitor. Changes: - apply() and reset() methods made virtual to allow overriding - added apply(StateSet&) to make more easier to gather StateAttribute statistics in user-derived classes " -2011-09-19 10:42 robert +Mon, 6 Feb 2012 12:29:29 +0000 +Checked in by : Robert Osfield +Fixed indendation and line endings - * From Ulrich Hertlein, "attached is a patch that cleans up - compiler warnings and common functionality." +Mon, 6 Feb 2012 12:06:40 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, "The attached files add the ability to control when a paged child becomes eligible for expiry based on time and/or elapsed frames.I found that some of the items that had been paged in were being expired on the first frame that they were not visible (as the cache was full). This resulted in excessive paging every time the view was moved. With the following changes I could only allow children to be expired if they had not been used for e.g. 30 seconds or 60 frames." -2011-09-19 10:39 robert - * From Wojciech Lewandowski, "There was a bug in reading modifier - keys when focus to GraphicsWindowWin32 was restored. Handler of - WM_SETFOCUS was reading pressed keys and sending WM_KEYDOWN - messages to fill initial keyboard state. But WM_KEYDOWN messages - sent had 0 on lParam and adaptKey method computing state of - modifier mask was using lParam to find which modifier keys are - down. Obviously when lParam was 0 it was not recording proper - modifier masks. - - This patch fixes this code sending proper lParam and also makes - sure LEFT_CONTROL will be not confused with RIGHT_CONTROL." -2011-09-19 10:34 robert +Mon, 6 Feb 2012 12:05:36 +0000 +Checked in by : Robert Osfield +Fixed silly compiler warning that was being produced in error. - * From Luc Frauciel, "You'll find attached a new option that allow, - when using LOD in USER_DEFINED_CENTER mode to expand the radius - of the node by the radius of loaded objets. - Motivation ; - When using PagedLODs, you don't always know the real size of - loaded children, - If it occurs that they are out of predefined bounds, picking on - the parts that are out of bound will fail - They also can be culled out too soon. - The problem often occurs with long object (roads). - I've modified LOD and ProxyNode to include this option." - - and later email: - - "Attached the UNION_OF_BOUNDING_SPHERE_AND_USER_DEFINED version - There are impacts on some serializers (dae, osgWrapper). - I haven't modified deprecated osg, since it's deprecated" +Mon, 6 Feb 2012 11:17:12 +0000 +Checked in by : Robert Osfield +From Alexander Sinditskiy, "looks like GlyphGeometries _glyphGeometries; should be removed because Glyph3D have the same named local variable." -2011-09-19 10:12 robert +Fri, 3 Feb 2012 15:15:37 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a first version of multi-touch-support for OS X (>= 10.6), which will forward all multi-touch events from a trackpad to the corresponding osgGA-event-structures.The support is switched off per default, but you can enable multi-touch +support via a new flag for GraphicsWindowCocoa::WindowData or directly +via the GraphicsWindowCocoa-class. - * Added removal of [..] from names returned from glGetActiveUniform - results to avoid issues with name lookups when the driver add the - [..] for uniform arrays. +After switching multi-touch-support on, all mouse-events from the +trackpad get ignored, otherwise you'll have multiple events for the same +pointer which is very confusing (as the trackpad reports absolute +movement, and as a mouse relative movement). -2011-09-19 09:44 robert +I think this is not a problem, as multi-touch-input is a completely +different beast as a mouse, so you'll have to code your own +event-handlers anyway. - * Copya and Paste Anti-Pattern strikes again! Renamed FreeType - usage to Revisions to correct previous mistake when copying and - modifying the ReaderWriter. +While coding this stuff, I asked myself if we should refactor +GUIEventAdapter/EventQueue and assign a specific event-type for +touch-input instead of using PUSH/DRAG/RELEASE. This will make it +clearer how to use the code, but will break the mouse-emulation for the +first touch-point and with that all existing manipulators. What do you +think? I am happy to code the proposed changes. -2011-09-14 10:45 robert +Additionally I created a small (and ugly) example osgmultitouch which +makes use of the osgGA::MultiTouchTrackballManipulator, shows all +touch-points on a HUD and demonstrates how to get the touchpoints from +an osgGA::GUIEventAdapter. - * Fixed memory leak +There's even a small example video here: http://vimeo.com/31611842" -2011-09-14 10:22 robert - * Added missing forward declaration -2011-09-14 10:02 robert +Fri, 3 Feb 2012 14:25:08 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a first version of multi-touch-support for OS X (>= 10.6), which will forward all multi-touch events from a trackpad to the corresponding osgGA-event-structures.The support is switched off per default, but you can enable multi-touch +support via a new flag for GraphicsWindowCocoa::WindowData or directly +via the GraphicsWindowCocoa-class. - * Added asCamera() methods into osg::Camera and osg::Node +After switching multi-touch-support on, all mouse-events from the +trackpad get ignored, otherwise you'll have multiple events for the same +pointer which is very confusing (as the trackpad reports absolute +movement, and as a mouse relative movement). -2011-09-14 09:49 robert +I think this is not a problem, as multi-touch-input is a completely +different beast as a mouse, so you'll have to code your own +event-handlers anyway. - * From Laurens Voerman, "attached is a zipped - OpenSceneGraph\src\osgPlugins\ffmpeg\FFmpegDecoderAudio.cpp - - It solves a wrong sample format being set for audiostreams type - S32 and F32, for the - enum AVSampleFormat (in include/avutil/samplefmt.h) doesn't match - enum SampleFormat (in include/osg/AudioStream) for anything but - SAMPLE_FORMAT_U8 and SAMPLE_FORMAT_S16 - " - - and follow up that address versioning issue - - "I can find the change, avutil version 50.38.0 introduced a new - header file: - libavutil/samplefmt.h - older versions use - libavcodec/avcodec.h - with the sampleformats without AV_ - - an intermideate fix with the FF_API_OLD_SAMPLE_FMT is removed - from ffmpeg 0.8.3 so - I think this is the correct fix: - - #if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(50,38,0) - #define AV_SAMPLE_FMT_NONE SAMPLE_FMT_NONE - #define AV_SAMPLE_FMT_U8 SAMPLE_FMT_U8 - #define AV_SAMPLE_FMT_S16 SAMPLE_FMT_S16 - #define AV_SAMPLE_FMT_S32 SAMPLE_FMT_S32 - #define AV_SAMPLE_FMT_FLT SAMPLE_FMT_FLT - #define AV_SAMPLE_FMT_DBL SAMPLE_FMT_DBL - #define AV_SAMPLE_FMT_NB SAMPLE_FMT_NB - #endif - " +While coding this stuff, I asked myself if we should refactor +GUIEventAdapter/EventQueue and assign a specific event-type for +touch-input instead of using PUSH/DRAG/RELEASE. This will make it +clearer how to use the code, but will break the mouse-emulation for the +first touch-point and with that all existing manipulators. What do you +think? I am happy to code the proposed changes. -2011-09-13 13:38 robert +Additionally I created a small (and ugly) example osgmultitouch which +makes use of the osgGA::MultiTouchTrackballManipulator, shows all +touch-points on a HUD and demonstrates how to get the touchpoints from +an osgGA::GUIEventAdapter. - * From Morten Hauknes, "I have been using the - getLastVisiblePixelCount on pre 3.0 osg. I believe maybe this was - a private function that we made public in our side. I use(d) this - method to make a simple algorithm to tell how much visible an - object was in percent. - - So with the 3.0 api change we propose the following change: - - put OSG_EXPORT on the QueryGeometry class so that we get access - to the getNumPixels method. - - Create a function called getQueryGeometry that returns a casted - _queryGeode->getDrawable(). Or a function called getQueryGeode - that returns _queryGeode." +There's even a small example video here: http://vimeo.com/31611842" -2011-09-13 13:33 robert - * From Jean-Sebastien Guay, removed unneccessary BUILD_QT_EXAMPLES - cmake option -2011-09-13 11:48 robert +Fri, 3 Feb 2012 11:10:17 +0000 +Checked in by : Robert Osfield +Improved handling of archives - * From Sukender, "I just fount that writing double precision values - (eg. Vec3dArray for vertices) works with .osg but not - .osgt/.osgx. So here is the fix (SVN trunk r12712). I suppose - .osgb works as expected on this point and did not change - anything. - So, as for .osg, if you add "precision 16" (for instance) to the - optionString, then you'll get double precision vertices written - correctly. - " +Fri, 3 Feb 2012 11:09:45 +0000 +Checked in by : Robert Osfield +From Terry Welsh, improved support for handling archives -2011-09-13 11:09 robert +Wed, 1 Feb 2012 17:42:42 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "I have an application with multiple windows. They share GL objects between the contexts, using the GraphicsContext::Traits sharedContext and setting the same contextID.When one of these shared contexts is closed, GraphicsContext::close +deletes all GLObjects for that contextID, regardless of the fact that +they are shared. This means that all of the other contexts sharing the +objects have to recompile them. - * From Robert Milharcic, "This will hopefully fix some issues with - osgQt, more precisely with GLWidget event handling. There are at - least two current GL context braking events, QEvent::Hide and - QEvent::ParentChange. When running in a multithreaded mode they - both try to change current GL context in a wrong thread (main GUI - thread). The QEvent::ParentChange is also problematic when - running in a single threaded model because Qt is going to release - current contex then delete it, and then it will create new one, - and as a result the osg will continue to render to an invalid - deleted context. This changes workaround above problems by - deferring execution of the problematic evens. These events has to - be enqueued and executed later. The enqueued event processing is - currently done right after swap in a swapBuffersImplementation of - GraphicsWindowQt while code is running in a render thread by - calling QGLWidget handler directly. In principle the deferred - events queue should be executed while in GUI thread but I - couldn't find any reliable way to do this, that is without - risking a deadlock. For now it is assumed, Qt is not going to - execute any GUI thread only operations inside the QGLWidget - handler." +The attached tweak makes GraphicsContext::close a bit less brutal for +shared contexts. I have also changed a misleading diagnostic message. +" -2011-09-13 10:15 robert - * From Farshid Lashkari, " - The osgUtil::CullVisitor class will display an OSG_INFO - notification when attempting to clamp the projection matrix with - invalid near/var values. This usually appears when the scene - graph is empty or all objects are culled. I don't think this - scenario warrants having this message appear every frame. It - makes it very difficult to debug other issues when this - notification floods the output window. - - I'd prefer to have the notification removed, but there might be - legitimate cases where you want this displayed. Instead, I just - disabled the output if the near/far values are equal to FLT_MAX - (their initial values). This should at least prevent the - notification for the common case where everything was culled." -2011-09-13 09:59 robert +Wed, 1 Feb 2012 17:38:37 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, "FBX plugin was locked on version 2012.1 of FBX SDK which is not available anymore on Autodesk website. This patch allows version of FBX >= 2012.1, which includes current one : 2012.2 " - * From Paul Martz, "Here's my proposed change regarding the - osg-users post "small feature culling threshold". I've updated - the comments and brought the default values into agreement, but - didn't bother to add the environment variable support." +Wed, 1 Feb 2012 17:16:44 +0000 +Checked in by : Robert Osfield +Renamed selection to transform to make it clear to understand what is being done. -2011-09-13 09:53 robert +Wed, 1 Feb 2012 17:10:48 +0000 +Checked in by : Robert Osfield +Added example usage of teh new DraggerTransforCallback's HandleCommandMask which is tied to the TabPlaneDragger example. - * From Jean-Sebastien Guay, "I added a simple setting in OSG's - CMakeLists.txt to be able to disable building anything related to - Qt. It just skips the FindPackage(...) for Qt3 and Qt4, so since - they are not found nothing related to Qt will be generated by - CMake. The default is to build the Qt related stuff, so current - behavior is unchanged." +Wed, 1 Feb 2012 13:55:38 +0000 +Checked in by : Robert Osfield +Added DraggerTransformCallback::HandleCommandMask to DraggerTransformCallback to allow applications to select which commands they want the dragger callback to respond to why updating the transform. -2011-09-13 09:46 robert +Tue, 31 Jan 2012 10:56:52 +0000 +Checked in by : Robert Osfield +Improved the handling of osgManipulator::Constraint, DraggerCallbacks and Command so that they now use a Visitor Pattern to ensure the correct methods on constraints and callbaks are called for each Command. Also fixed the handling of Constraints when applied to composite Draggers. - * From Sukender, "I added a tiny check to avoid an integer - divide-by-zero, when image is invalid (ie. all values are 0)." +Mon, 30 Jan 2012 12:26:28 +0000 +Checked in by : Robert Osfield +Added support for Scale1DDragger, Scale2DDragger and TranslatePlaneDragger to --dragger command line option -2011-09-13 09:43 robert +Fri, 27 Jan 2012 09:49:06 +0000 +Checked in by : Robert Osfield +From Kristofer Tingdahl, Added missing core OSG libraries. - * From Sukender, "I added a crash-guard against corrupted 3DS - files, having faces indexes out of the range of existing - vertices." +Thu, 26 Jan 2012 18:03:26 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "a recent submission added a 10.6-feature to GraphicsWindowCocoa. I added some ifdefs around, so it compiles again with 10.5 SDK" -2011-09-13 09:21 robert +Thu, 26 Jan 2012 14:26:59 +0000 +Checked in by : Robert Osfield +Quietend down debug message - * From Farshild Lashkari, "Attached is a simple patch that avoids - the depth write pass in Text::renderWithDelayedDepthWrites if the - current osg::State object has GL_DEPTH_TEST disabled." +Thu, 26 Jan 2012 13:08:19 +0000 +Checked in by : Robert Osfield +From J.P. Delport, "when switching from windowed mode to fullscreen (with the 'f' key) in X11, no RESIZE event is generated. This confuses handlers that perform some processing on the RESIZE event, e.g. the InteractiveImageHandler.To reproduce the problem I attach a minimally modified osgviewer that just prints resize events. You can check what's printed in the console when you go fullscreen and windowed a few times. -2011-09-13 09:17 robert +The attached version of GraphicsWindowX11 fixes the problem for me, but I'm not sure this is the right approach. Maybe you can see a fix for the problem clearer. - * Reverted Paul Idstein warning fix as this was breaking the build +The only place where the RESIZE event is generated in GraphicsWindowX11 is in CheckEvents and it then depends on the ConfigureNotify message. For some reason, either ConfigureNotify is not sent when going fullscreen or the traits already reflect the latest window size." -2011-09-12 16:24 robert - * From Ulrich Hertlein, Added some error checks and memory cleanup. -2011-09-12 16:20 robert +Wed, 25 Jan 2012 17:37:55 +0000 +Checked in by : Robert Osfield +From J.P. Delport, "this fall-through had me scratching my head for a while...It made InteractiveImageHandler eat keypresses outside its image." - * From Stephan Huber, fixed build for OSX 10.6 and earlier -2011-09-12 16:17 robert - * From Johannes Baeuerle, opptimization of ES support of - osg/BufferObject +Wed, 25 Jan 2012 17:35:17 +0000 +Checked in by : Robert Osfield +From J.P. Delport, "GraphicsWindowX11 typo, I believe X/Y's should match." -2011-09-12 12:38 robert +Wed, 25 Jan 2012 17:31:07 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, "Ati FirePro is as much crippled as other Ati drivers. This patch add "FirePro" to the black list of renderers in State.cpp / initializeExtensionProcsIt allows to avoid an OpenGL error on Viewer initialization. +Tested on FirePro M7740 / Windows7 x64 Driver 8.85.7.2" - * From Bjorn Blissing, "Found a minor (probably a copy & paste) bug - in ViewerEventHandlers. - Line 251: - int getKeyEventWindowedResolutionDown() const { return - _keyEventWindowedResolutionUp; } - - Should be replaced with: - int getKeyEventWindowedResolutionDown() const { return - _keyEventWindowedResolutionDown; }" -2011-09-12 12:26 robert - * From Luc Frauciel, "When osgUtil::DelaunayTriangulator - triangulate() function ends with no triangle generated, it - crashes. - This patch fixes that" +Wed, 25 Jan 2012 15:38:31 +0000 +Checked in by : Robert Osfield +Changed the KeyEventToggleTexturing to 'e' to avoid conflict with 't' used for transparency. -2011-09-12 12:14 robert +Tue, 24 Jan 2012 17:57:01 +0000 +Checked in by : Robert Osfield +Made the cursor state protected. - * From Magnus Kessler, documentation fixes +Tue, 24 Jan 2012 17:49:18 +0000 +Checked in by : Robert Osfield +From Tobias Ottenweller, "this is a fix for the problem where all input freezes for a quarter second when calling requestWarpPointer under Mac OS X (described here: http://forum.openscenegraph.org/viewtopic.php?t=3933 ).I used the latest version available via subversion. -2011-09-12 12:04 robert +My fix is using some API only available on 10.4 and later. I used some preprocessor statements to gain compatibility with 10.3 and earlier using (now) deprecated API. - * Improved the clarity of doxygen comments +Only tested on OS X Lion (10.7). Please do some testing as well since I'm fairly new to OpenSceneGraph. Someone should also test the code for 10.3 and earlier." -2011-09-12 11:51 robert - * Fixed typos in the documentation -2011-09-12 11:28 robert +Tue, 24 Jan 2012 17:47:04 +0000 +Checked in by : Robert Osfield +Fixed indentation and spaces at ends of lines. - * From Cedric Pinson, from three submissions: - - "Here a patch that correct like the previous assign collada - material name - to stateset." - - and - - "I changed how the collada reader set object name in osg. Current - implementation use collada ID to setup name. with this patch I - use - collada name to setup name in osg object and if collada provide - no name - I use as fallback ID. I am not sure we want this fallback. - - The motivation of this change is that when an artist set names to - its - objects and export to collada, I am not able to use those names - in osg - to retrieve the node." - - and - - "Here the update of the file that fix the light id stuff" +Tue, 24 Jan 2012 17:40:31 +0000 +Checked in by : Robert Osfield +From Paulk Martz, "Looks like the ClipNode::setReferenceFrame comment block came from LightSource. Fixing the comment block to refer to ClipNode instead of light source." -2011-09-12 11:24 robert +Tue, 24 Jan 2012 17:38:23 +0000 +Checked in by : Robert Osfield +Chris Denham, fixed type of parameters to ensure they are longs where appropriate. - * From Bob Kuehne, build fix for OSX 10.7 SDK. +Tue, 24 Jan 2012 17:30:44 +0000 +Checked in by : Robert Osfield +Moved setEndBarrierOperation(..) implementation into .cpp and added support for stoppig and starting threading if required. -2011-09-12 11:24 robert +Tue, 24 Jan 2012 17:21:14 +0000 +Checked in by : Robert Osfield +From Paul Martz, Added ViewerBase::s/getEndBarrierOperation(..) method to allow user control of how viewers are sync'd. - * From Paul Idstein, warning fixes for OSX 10.7 +Tue, 24 Jan 2012 15:44:58 +0000 +Checked in by : Robert Osfield +Fixed compile error -2011-09-12 10:52 robert +Tue, 24 Jan 2012 14:34:02 +0000 +Checked in by : Robert Osfield +Added support for using GL_UNPACK_ROW_LENGTH in conjunction with texture's + osg::Image via new RowLength parameter in osg::Image. To support this Image::setData(..) now has a new optional rowLength parameter which defaults to 0, which provides the original behaviour, Image::setRowLength(int) and int Image::getRowLength() are also provided.With the introduction of RowLength support in osg::Image it is now possible to create a sub image where +the t size of the image are smaller than the row length, useful for when you have a large image on the CPU +and which to use a small portion of it on the GPU. However, when these sub images are created the data +within the image is no longer contiguous so data access can no longer assume that all the data is in +one block. The new method Image::isDataContiguous() enables the user to check whether the data is contiguous, +and if not one can either access the data row by row using Image::data(column,row,image) accessor, or use the +new Image::DataIterator for stepping through each block on memory assocatied with the image. - * From Magnus Kessler, typo fixes +To support the possibility of non contiguous osg::Image usage of image objects has had to be updated to +check DataContiguous and handle the case or use access via the DataIerator or by row by row. To achieve +this a relatively large number of files has had to be modified, in particular the texture classes and +image plugins that doing writing. -2011-09-12 10:47 robert - * From Wang Rui, "I've encountered a strange problem that - osgviewerMFC doesn't work well - with the StatsHandler. When the 's' key is pressed, the rendering - window will be halted. I tried solving the problem by commenting - a - line in CMFC_OSG_MDIView::OnKeyDown() and it seems to work now. - - Another improvement here is to use a thread class derived from - OpenThreads to replace the old _beginthread(). It helps a lot in - keeping a high frame rate when you open more than one MDI child - windows. And the application using OpenThreads in my opinion will - be - more compatible and portable." -2011-09-12 10:46 robert - * Updated SO version number to 90 to allow for recent changes to - the ABI, and to set the base for the 3.1.0 series. +Tue, 24 Jan 2012 14:27:17 +0000 +Checked in by : Robert Osfield +Refactored the click_to_run implementation to avoid bug associated with running the first click_to_run entry in a layer when subsequent click to run's are called. -2011-09-12 10:43 robert +Mon, 23 Jan 2012 18:48:18 +0000 +Checked in by : Robert Osfield +Changed float QuicktimeImageStream::getCurrentTime() to double QuicktimeImageStream::getCurrentTime() to keep it consistent with the type of the virtual function ImageStream::getCurrentTime(), and with this fixing a compile and runtime error.Changed time variables all to use doubles rather than float to be consist with the change to getCurrentTime(). - * From Sukender, "I added private constructors to osg::ValueObject - & TemplatedValueObject, to avoid allocation on the stack and ugly - things like: - TemplatedValueObject value(....); - container->addUserObject(value);" -2011-09-07 20:05 robert - * Added handling the ShadowSettings::LightNum for selecting which - light to use. -2011-09-07 16:26 robert +Thu, 5 Jan 2012 14:07:56 +0000 +Checked in by : Robert Osfield +From Alberto Luacus, "The ffmpeg plugin fails to compile with the upcoming libav 0.8 because the required header mathematics.h is not being included explicitly.I have just included it, and verified that this also works with current +version 0.7, since the header is also available there." - * Added handling of the case when RenderLeaf::_modelview matrix is - NULL, such as when LightPointNode is used in the scene graph. -2011-09-07 15:55 robert - * Moved ViewDependetShadowMap parameter settings into a dedicated - ShadowSettings object in prep for making it possible to scale the - API to handle multiple lights and multiple shadow maps per light. +Tue, 3 Jan 2012 15:59:19 +0000 +Checked in by : Robert Osfield +Fixed the return value of SlideEventHandler::selectLayer() so that the 'n' now works correctly. -2011-09-06 17:26 robert +Mon, 2 Jan 2012 16:54:05 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "Attached is a simple fix to osg::Sequence that allows it to load properly with the serializer formats (osgt/osgb). The problem was that the internal _nrepsRemain member was not being initialized properly if the number of repeats was equal to the default value of -1. When the number of repeats is explicitly set using setNumRepeats(), _nrepsRemain is set to the same value. However, in the constructor of osg::Sequence, it was not being initialized to the same value as _nreps. This fix simply changes the initial value of _nrepsRemain to the same as _nreps." - * Added setting of the shadow map Camera's name to "ShadowCamera" - to improve integration with osgOcean. +Mon, 2 Jan 2012 16:38:01 +0000 +Checked in by : Robert Osfield +From Chris Denham, Implementation of write functions in CURL plugin -2011-09-06 14:13 robert +Fri, 23 Dec 2011 17:40:31 +0000 +Checked in by : Robert Osfield +From Paul Martz and David Glenn,"From David Glenn and Paul Martz. This change adds support for the NO_COLOR bit in the Vertex records' flags field. If NO_COLOR is set, and PACKED_COLOR is not set, the code will now properly default to using the face color at those vertices. See the osg-users thread "Open Flight characteristic not reflected in the current OSG" for more info." - * Added optimization of the mutliple cessna shadow model to address - peformance issues when rendering 100 cessna's. +and -2011-09-06 11:42 robert +"In consultation with David Glenn, it appears we needed to change a second file to correct how OpenFlight handles transparency when vertices have NO_COLOR. " - * Added -5 model option using Wang Rui's test demo as a base -2011-09-06 11:11 robert - * Fixed the heights of the trees and houses -2011-09-06 10:12 robert - * Added s/getPerspectiveShadowMapCutOffAngle() and use of this when - setting up light space to avoid sigularaties when - the light and view directions are co-incident. +Fri, 23 Dec 2011 17:34:07 +0000 +Checked in by : Robert Osfield +Gunnar Holm, "After upgrading from 2.8.3 to 3.0.1 we experienced a lock in the Mutex functionality when using Terrain::setVerticalScale. This was caused by the following call sequence resulting in a lockup:void Terrain::setVerticalScale(float scale) + CALLS dirtyRegisteredTiles(); -2011-09-05 12:36 robert - * Added support for setting whether ViewDependentShadowMap should - provide it's own vertex and fragment shaders. +void Terrain::dirtyRegisteredTiles(int dirtyMask) + SETS LOCK OpenThreads::ScopedLock lock(_mutex); + and CALLS (on every tile) setDirtyMask(dirtyMask); -2011-09-05 12:27 robert - * Replaced use of ShapeDrawable with osgTerrain for the terrain - tile +void TerrainTile::setDirtyMask(int dirtyMask) + CALLS _terrain->updateTerrainTileOnNextFrame(this); -2011-09-02 10:16 robert - * Added s/getTextureSize() method for setting the shadow map - texture size. +void Terrain::updateTerrainTileOnNextFrame(TerrainTile* terrainTile) + SETS LOCK OpenThreads::ScopedLock lock(_mutex); +******* PROBLEM - since lock has already been set! ******** -2011-09-02 07:46 robert - * Disabled the use of the ReceivesShadowTraversalMask() mask +The suggested fix submitted changes from using Mutex to ReentrantMutex. +" -2011-09-01 18:49 robert - * Added test line for COMPUTE_NEAR_USING_PRIMITIVES -2011-09-01 18:48 robert +Fri, 23 Dec 2011 17:21:59 +0000 +Checked in by : Robert Osfield +From Aurelien Albert, "I made a modification in the Dragger class :You can now set a "intersection mask" and it will be used when looking for intersections. - * Added fine grained computation of the far plane when using the - COMPUTE_NEAR_FAR_USING_PRIMITIVES ComputeNearFarMode. - Added COMPUTE_NEAR_FAR_USING_PRIMITIVES option that provides the - original functionality where only the near plane - is computed in a fine grained way, with the far plane being - computed simply from bound volumes. +So you can now easily "hide" some objects from manipulators." -2011-08-29 16:01 robert - * From Tony Horrobin, build fix -2011-08-29 10:26 robert +Fri, 23 Dec 2011 17:16:06 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, "I have added an implementation for set/getVolume in the direct show plug-in." - * Added fallback base texture +Fri, 23 Dec 2011 17:15:06 +0000 +Checked in by : Robert Osfield +From Glenn Waldron, "Attached is a change to ClusterCullingCallback to make it work properly under an RTT camera with an INHERIT_VIEWPOINT reference frame." -2011-08-29 09:59 robert +Fri, 23 Dec 2011 16:57:34 +0000 +Checked in by : Robert Osfield +From James Turner, "Testing FlightGear with Cocoa osgViewer, encountered some problems with hiding / re-showing the cursor. Attached version fixes this, by tracking the current cursor value, and ensuring we don't nest calls to [NSCursor hide] or [NSCursor unhide]." - * Added support for setting the MinimumShadowMapNearFarRatio. +Fri, 23 Dec 2011 16:29:51 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "attached is a patch for osgPlugins/mdl/MDLReader.cpp that improves its functionality on Unix filesystems. It also includes code cleanups/refactoring." -2011-08-26 15:40 robert +Fri, 23 Dec 2011 16:27:25 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, "Attached are some small changes to the ImageStream interface and the DirectShow and FFMPEG plugins to provide the current time being displayed in the image stream. I don’t have access to an OSX or Linux dev machine to make the changes required to the quick time plugin. This plugin will just default to returning 0." - * Fixed bug in computaton of the min/max x/z ratios. +Fri, 23 Dec 2011 16:14:51 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, typo fixes -2011-08-26 15:36 robert +Fri, 23 Dec 2011 12:42:18 +0000 +Checked in by : Robert Osfield +Added handling of an empty filename when writing out an image file. - * Added names to models to help with debugging. +Mon, 19 Dec 2011 16:18:18 +0000 +Checked in by : Robert Osfield +Removed inappropriate static usage -2011-08-26 10:52 robert +Mon, 19 Dec 2011 09:37:57 +0000 +Checked in by : Robert Osfield +Moved the createSpotLightImage function into include/osg/ImageUtils - * Added releaseGLObjects/resizeGLObjectBuffers support +Mon, 19 Dec 2011 09:09:30 +0000 +Checked in by : Robert Osfield +Added --num-sm and --parallel-split and --cascaded command line options to set the appriopriate ViewDependentShadowMap settings. -2011-08-25 17:21 robert +Tue, 13 Dec 2011 21:14:33 +0000 +Checked in by : Robert Osfield +Moved osgshaders example across to use the new osgUtil::PerlinNoise example - * Improved the handling of depth partitioning and orthographic - datasets +Tue, 13 Dec 2011 21:12:00 +0000 +Checked in by : Robert Osfield +Created new PerlinNoise class from the Noise.h+Noise.cpp code in the osgshaders example. -2011-08-25 15:39 robert +Wed, 30 Nov 2011 19:14:14 +0000 +Checked in by : Robert Osfield +Fixed build under Tiny Core. - * Added event handling for toggling on/off the light source - animation. +Fri, 25 Nov 2011 12:48:03 +0000 +Checked in by : Robert Osfield +To fix problems in tight bound computation of the shadow map made the ComputeLightSpaceBounds usage always used when the CastShadowMask is active. Changed the ComputeLightSpaceBounds to use just VIEW_FRUSTUM_CULLING. -2011-08-24 19:38 robert +Fri, 25 Nov 2011 09:24:50 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, fix for handling texture unit >= 8 and negative LigthNum. - * Added support for user defined setting of the shadow texture unit +Tue, 22 Nov 2011 21:55:30 +0000 +Checked in by : Robert Osfield +Added prelimanary support for parallel split shadow maps into ViewDependentShadowMap. -2011-08-24 13:57 robert +Fri, 18 Nov 2011 08:20:04 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov, "Here is extended version of the osgforest example - technique with geometry shader added, was doing it for a project so I thought might be useful to update the example as well " - * Changed new ViewDependentShadowMap to default to a perspective - shadow map with automatic detection of a spot light/perspetive - light projection - matrix to prevent inappropriate usage of perspective shadow map. +Fri, 18 Nov 2011 08:15:36 +0000 +Checked in by : Robert Osfield +Fixed indentation -2011-08-24 12:32 robert +Thu, 17 Nov 2011 18:45:18 +0000 +Checked in by : Robert Osfield +Added .get() to fix build - * Imorovements to the new perspective/lispsm style shadow - implementation. +Fri, 11 Nov 2011 10:36:17 +0000 +Checked in by : Robert Osfield +Updated built in volume shaders to honour the osg::Matierial setting -2011-08-24 12:31 robert +Fri, 11 Nov 2011 10:25:20 +0000 +Checked in by : Robert Osfield +Enabled blending for the iso surface rendering to enable fade in/fade out of volume. - * Quitened down and fixed warning +Thu, 10 Nov 2011 15:50:22 +0000 +Checked in by : Robert Osfield +Added handling of osgGA::GUIEventAdapter::getMouseYOrientation() in the orientation of mouse y position.Added updating of properties on both mouse move/drag and keydown. -2011-08-19 12:42 robert - * Quitended down debug messages and added passing of RenderStage to - LispSM code -2011-08-19 10:43 robert +Mon, 7 Nov 2011 14:36:50 +0000 +Checked in by : Robert Osfield +Added a check against OSX 10.6 to enable better selection of when to provide custom cosf etc. definition. This change has been introduced to address recurcsion problems in 10.7 in the ac3d plugin. - * Improved the LispSM computation +Fri, 4 Nov 2011 12:50:05 +0000 +Checked in by : Robert Osfield +Implement presentation update feature that reloads the presentation on pressing 'u'. -2011-08-19 10:43 robert +Fri, 4 Nov 2011 12:47:24 +0000 +Checked in by : Robert Osfield +Improved the handling of setStartTick() being called mid app, such as when idirectly called when doing a Viewer::setSceneData(). Improved the setting the the initial event state. - * Changed the local variable near/far type +Fri, 4 Nov 2011 12:45:32 +0000 +Checked in by : Robert Osfield +Improved handling of resetting of the EventQueue::startTick(). -2011-08-17 17:06 robert +Fri, 4 Nov 2011 12:44:01 +0000 +Checked in by : Robert Osfield +Added removeFromObjectCache method. - * Added back in control of the backface culling. +Wed, 2 Nov 2011 10:57:17 +0000 +Checked in by : Robert Osfield +Add check to filter out the return of FILE_NOT_FOUND from archive results to prevent these from prematurely exiting the Registry::read(..) method bofore it loads plugins to try and load requested file. -2011-08-17 16:09 robert +Tue, 1 Nov 2011 16:13:24 +0000 +Checked in by : Robert Osfield +Replaced the use of PrtScrn with 'm' for taking screenshots, replaced the use of 'm' with 'M' for taking movies. - * intermin check-in of work on new LispSM implementation +Tue, 1 Nov 2011 13:41:48 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "A recent commit (https://github.com/openscenegraph/osg/commit/41e23f466d0749d0d9db7ca0b0ada996432a1ee1) for GraphicWindowsIOS.mm broke the compilation for OpenGL ES 1.x as GL_DEPTH_COMPONENT32_OES is not defined for 1.x. I added a #define-guard." -2011-08-15 14:37 robert +Tue, 1 Nov 2011 13:36:07 +0000 +Checked in by : Robert Osfield +Added screen capture handler to present3D, with the PrtScn button used for a single frame capture and 'm' for continuous frame capture. The --screenshot filename command line option can be used to configure the name of the screen capture. - * Added missing assignement of _simulationTime. +Tue, 1 Nov 2011 11:08:48 +0000 +Checked in by : Robert Osfield +Added setting of the sampleDensityWhenMovingProperty at the same time as when setting the sampleDensityProperty -2011-08-13 19:09 robert +Tue, 1 Nov 2011 10:30:18 +0000 +Checked in by : Robert Osfield +Fixed the use DCM_SeriesDescription - * From Paul Martz, "Recent changes to osgShadow on trunk were - apparently not yet tested with ref_ptr implicit casting disabled. - Attached is a fix. " +Tue, 1 Nov 2011 10:27:12 +0000 +Checked in by : Robert Osfield +Improved the handling of multiple datasets being read at once, with all the images in a series being group according to Series UID and SeriesDescription and orientation. -2011-08-12 20:29 robert +Mon, 31 Oct 2011 15:29:49 +0000 +Checked in by : Robert Osfield +Adding missing checks against View's Camera and SceneData for any update callbacks that need calling. - * Added public interface for selecting use of perspective and light - space perspective shadow maps. Implementation - of backends not implemented yet so will follow. +Fri, 28 Oct 2011 11:00:55 +0000 +Checked in by : Robert Osfield +Changed the notification level to INFO. -2011-08-12 14:53 robert +Fri, 28 Oct 2011 11:00:08 +0000 +Checked in by : Robert Osfield +Changed the setting of Traits::sampleBuffers so that it's set to 1 when DisplaySettings::getMultiSamples() is set to a non zero value. - * Implemented first pass at shaders for new ViewDepedentShadow map - class +Fri, 28 Oct 2011 10:36:29 +0000 +Checked in by : Robert Osfield +Changed the default for SampleBuffers to be 1 when set. -2011-08-09 15:57 robert +Fri, 28 Oct 2011 09:45:51 +0000 +Checked in by : Robert Osfield +Removed OSX codepath for setting the depth value to 32 as this turned out to be unneccesary. - * Implemented ViewDependentShadowMap::setDebugDraw(bool) to allow - osgshadow to enable/disable the debug display via the - standard --debugHUD option. +Fri, 28 Oct 2011 09:11:21 +0000 +Checked in by : Robert Osfield +Changed the default depth to 24. -2011-08-09 15:20 robert +Thu, 27 Oct 2011 16:33:18 +0000 +Checked in by : Robert Osfield +Updated volume shaders to use the GL_LIGHT 0 values to control the direction of the light source - * Changed RTT Camera to use depth. +Thu, 27 Oct 2011 13:11:20 +0000 +Checked in by : Robert Osfield +Reimplement the light direction controls so that they now work correctly with osgViewer::Viewer.Improved the computation of the light direction from non-dimensional mouse coords so that they now project onto a hemisphere making +the interaction more intuitive. -2011-08-09 13:39 robert - * Implemented caching of Camera, Texture and TexGen -2011-08-09 06:54 robert - * Added replacement of the placeholder StateSet in the StateGraph - with custom StateSet implemented just for the - needs of that particular frame. +Thu, 27 Oct 2011 09:24:34 +0000 +Checked in by : Robert Osfield +Added support for ignore returns as white space. -2011-08-08 17:00 robert +Thu, 27 Oct 2011 08:34:53 +0000 +Checked in by : Robert Osfield +Added support for American spelling of swap and add supportOptions(..) documentation for the new options. - * Further work on basic ViewDependentShadowMaps, adding - implementation of RTT camera and texgen setup. +Wed, 26 Oct 2011 14:25:56 +0000 +Checked in by : Robert Osfield +Added support into the .p3d format for specifying the osgDB::Options::OptionString via the .Added support into .vnc plugin for passing in the keywords "swap", "RGB", "RGBA", "BGR", "BGRA" as OptionString values to allow .p3d presentations to control +whether the pixelformat should be swapped or set to a specific format. -2011-08-07 15:54 robert - * From Jean-Sebestien Guay and Robert Osfield, mixture of two sets - of change - one from JS that adds more controls for specifying - positional and spot lights, and from RO adding support for the - new ViewDepedentShadowMap -2011-08-07 15:51 robert - * Preliminary work on new ViewDependentShadowMap base class -2011-07-29 11:22 robert +Wed, 26 Oct 2011 12:48:57 +0000 +Checked in by : Robert Osfield +Added password support into present3D's vnc support via the tag usage : hostname - * Commented out the colorAmbientEmissive += - gl_FrontLightProduct[0].ambient; line from the fragment shader as - it was - causing problems with the shadowed region being sporadically lit - when using a spotlight. +Wed, 26 Oct 2011 12:29:38 +0000 +Checked in by : Robert Osfield +Added password support into osgvnc example and vnc plugin -2011-07-29 07:42 robert +Wed, 26 Oct 2011 09:34:50 +0000 +Checked in by : Robert Osfield +Implement a simply attempt at detecting when the pixel format needs to be swapped. - * Fixed comment on end barrier position. +Tue, 25 Oct 2011 15:55:33 +0000 +Checked in by : Robert Osfield +Added support for 32bit depth buffer -2011-07-28 16:40 robert +Tue, 25 Oct 2011 15:31:46 +0000 +Checked in by : Robert Osfield +Added hack of using a 32bit depth buffer default setting for Traits when compiling under Apple. - * Improved handling of the scaling of dicom imagery. +Mon, 24 Oct 2011 13:40:29 +0000 +Checked in by : Robert Osfield +Moved switching off of the cursor till after the slide event handler has had a chance to switch off the scene. -2011-07-28 12:07 robert +Mon, 24 Oct 2011 11:09:35 +0000 +Checked in by : Robert Osfield +Fixed handling of slide with no layers. - * Refectored the EGL setup so that it's honours the Traits values. +Sat, 22 Oct 2011 09:02:18 +0000 +Checked in by : Robert Osfield +Fixed build of StreamOperator -2011-07-28 11:05 robert +Fri, 21 Oct 2011 15:39:51 +0000 +Checked in by : Robert Osfield +Fixed handling of Vec3dArray in GLBeginEdnAdapter/ArrayDispatchers. - * Reverted the change to the default setting of - _resizeNonPowerOfTwoHint back to true for all platforms to ensure - the - same behaivour across platforms, something that can be achieved - now thanks to the integrated GLU library. - - Corrected the default of the ResizeNonPowerOfTwoHint to true to - reflect the actual default setting set by the - Texture default constructor. +Fri, 21 Oct 2011 11:00:29 +0000 +Checked in by : Robert Osfield +Added support for using negative scale_x, scale_y and scale_z values in the tag to allow presentations to flip the imagery -2011-07-28 08:19 robert +Fri, 21 Oct 2011 10:59:42 +0000 +Checked in by : Robert Osfield +Added flipDepth() method - * From Johannes Baeuerle, "in the file src/osgDB/ObjectWrapper.cpp, - where the GlobalLookupTable for gl enums for serialization - purposes is defined, some of the compressed texture formats are - missing. I added enums for the pvr and etc formats." +Fri, 21 Oct 2011 09:31:56 +0000 +Checked in by : Robert Osfield +Fixed handling of scale.x, scale.y and scale.z paramters so that all of them now take an effect. -2011-07-28 07:46 robert +Thu, 20 Oct 2011 16:49:08 +0000 +Checked in by : Robert Osfield +Fixed handling of reading/writing of osgVolume::VolumeTile tiles - * From Jason Beverage, "Here is a small fix for - getCameraContainingPosition. getXMin was - being used in a case where getYMin should be used instead." - +Thu, 20 Oct 2011 16:35:50 +0000 +Checked in by : Robert Osfield +Added support for calling throwException() from InputIterator and added a check for negative string sizes. -2011-07-25 17:07 robert +Thu, 20 Oct 2011 11:50:04 +0000 +Checked in by : Robert Osfield +Added check against build type to avoid the build of the osgviewerWX example with debug build as this fails with unresolved symbols within the internals of WxWidgets. - * Fixed stats bug where not all stats fields were being collected - by the cull_draw() method used in the SingleThreaded and - CullDrawThreadPerContext threading models. +Thu, 20 Oct 2011 10:52:32 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, fixed build problem due to cmake_policy CMP0017 being only available from cmake-2.8.4, added guard to prevent build problems -2011-07-22 09:27 robert +Thu, 20 Oct 2011 09:23:26 +0000 +Checked in by : Robert Osfield +Improved handling of recent Cmake versions - * From Alexander Irion, "Texture borders are not supported in ES. - - _isTextureBorderClampSupported is set to "TRUE" in Texture.cpp, - because of the version number check (GL VERSION >= 1.3). - - This leads to an invalid enum error, when GL_TEXTURE_BORDER_COLOR - is tried to set. - " +Thu, 20 Oct 2011 08:59:47 +0000 +Checked in by : Robert Osfield +Fixed typo in command line output, and add an explanation message for when createTexture3D fails to create an osg::Image from a list of input osg::Image. -2011-07-22 08:25 robert +Mon, 17 Oct 2011 15:39:46 +0000 +Checked in by : Robert Osfield +Fixed typo - * In the RecordCameraPathhandler fixed the handling of pressing 'Z' - before 'z' which was causing the view - to be reset to 0,0,0 by AnimationPathManipualtor with an empty - AnimationPath. +Mon, 17 Oct 2011 14:41:49 +0000 +Checked in by : Robert Osfield +Improvements to the compute near/far -2011-07-21 09:55 robert +Mon, 17 Oct 2011 14:40:29 +0000 +Checked in by : Robert Osfield +Improvements to osgShadow::ViewDependentShadowMap and ShadowSettings - * Fixed typo +Mon, 17 Oct 2011 11:12:05 +0000 +Checked in by : Robert Osfield +Quitened down debug message -2011-07-21 09:07 robert +Mon, 17 Oct 2011 10:25:28 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, add --mapres size option to ViewDependentShadowMap settings. - * From Mathias Froehlich, "I have attached an updated version of - the VRML2 loader. - That change is the result of the '[osgPlugins] VRML plugin - - "file" url' - discussion on osg-users. - - The attached change avoids rewriting file names into some kind of - file urls - and then use the url for opening an fstream. Instead just use the - given file - name to open the stream. - Also this change adds some Notify output for the error paths. - " +Mon, 3 Oct 2011 15:57:06 +0000 +Checked in by : Robert Osfield +Add catch for when shadows are enabled between the update and draw traversals. -2011-07-21 08:52 robert +Mon, 3 Oct 2011 15:25:16 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, changed the border colour for the shadow map to be 1 rather the 0 used for debugging so that areas outside the shadow map default to being unshadowed rather than shadowed. changed the shadow map texture assigment to StateSet so that it doesn't use OVERRIDE, enabling subgraphs to use the same texture unit for other textures if they so required. tidied up indentation. - * From Wang Rui, "This fixes a small problem in the FindFBX file. - In CMake scripts, - VS2010 is not marked as MSVC100 but MSVC10. And CMake defines - MSVC_VERSION instead of MSVC_VER to indicate the version number. - The - modification can find fbx sdk for VS2010 automatically now. - " +Mon, 3 Oct 2011 14:57:39 +0000 +Checked in by : Robert Osfield +Changed getVertical(..) so it uses the same coord scale as the getGlyph -2011-07-20 10:17 robert +Mon, 3 Oct 2011 14:56:38 +0000 +Checked in by : Robert Osfield +Fixed handling of ShadowSetting LightNum - * From Claus Scheiblauer, fixed handling of horizontal mouse wheel - events. +Mon, 3 Oct 2011 10:36:18 +0000 +Checked in by : Robert Osfield +Added Font::getVertical(float& ascender, float& descender) methods. -2011-07-20 09:10 robert +Wed, 28 Sep 2011 11:52:27 +0000 +Checked in by : Robert Osfield +Added catch for NaN vertices that were being generated by osgText, these NaN vertices were causing glu tesselation functions to crash. - * Introduced workaround for problem of text that is scaled in - screen coords, but hasn't been rendered yet - so doesn't have knowledge of screen space yet, so assume that - scaling is 1 rather than 0 as was previously - assumed in the previous handling of screen space text. +Wed, 28 Sep 2011 10:54:30 +0000 +Checked in by : Robert Osfield +Added computation of the extents, in light space, of the shadow maps RenderStage contents and use of this to produce a tighter bound light space projection. -2011-07-18 12:41 robert +Tue, 20 Sep 2011 11:46:45 +0000 +Checked in by : Robert Osfield +Added a half second sleep after calling system command when the command is run in the background so that this command has a chance to run and open a window before the calling present3D moves on to the next frame. - * Added doxygen comments explaining read file callback - functionality. +Tue, 20 Sep 2011 10:59:18 +0000 +Checked in by : Robert Osfield +Added better error reporting and handling when tag contents are not valid. -2011-07-18 09:40 robert +Tue, 20 Sep 2011 10:01:07 +0000 +Checked in by : Robert Osfield +Added handling of tag and "" options. - * Changed the HAVE_CONFIG_H guard so that it uses #ifndef _MSC_VER - rather than _WIN32 to avoid problems with Mingw and Cygwin builds - of DCMTK. +Mon, 19 Sep 2011 10:42:54 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "attached is a patch that cleans up compiler warnings and common functionality." -2011-07-17 16:24 robert +Mon, 19 Sep 2011 10:39:19 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "There was a bug in reading modifier keys when focus to GraphicsWindowWin32 was restored. Handler of WM_SETFOCUS was reading pressed keys and sending WM_KEYDOWN messages to fill initial keyboard state. But WM_KEYDOWN messages sent had 0 on lParam and adaptKey method computing state of modifier mask was using lParam to find which modifier keys are down. Obviously when lParam was 0 it was not recording proper modifier masks.This patch fixes this code sending proper lParam and also makes sure LEFT_CONTROL will be not confused with RIGHT_CONTROL." - * From Alberto Luacas, typo fixes -2011-07-17 10:30 robert - * From Wang Rui, improved the handling of the _preReadString within - the readWrappedString method by factoring the - reading of the next character into a dedicated getCharacter(..) - method. +Mon, 19 Sep 2011 10:34:31 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, "You'll find attached a new option that allow, when using LOD in USER_DEFINED_CENTER mode to expand the radius of the node by the radius of loaded objets. Motivation ; When using PagedLODs, you don't always know the real size of loaded children, If it occurs that they are out of predefined bounds, picking on the parts that are out of bound will fail They also can be culled out too soon. The problem often occurs with long object (roads). I've modified LOD and ProxyNode to include this option."and later email: -2011-07-15 10:24 robert +"Attached the UNION_OF_BOUNDING_SPHERE_AND_USER_DEFINED version +There are impacts on some serializers (dae, osgWrapper). +I haven't modified deprecated osg, since it's deprecated" - * From Wang Rui, "I've found that the latest ffmpeg made some - functions and macros - deprecated, which led to compilation errors in the OSG plugin. I - tried - fixing them and tested with the version ffmpeg-git-5d4fd1d - (ffmpeg - version > 0.8, libavcodec = 53.7.0) under Windows. - " -2011-07-15 10:22 cedricpinson - * Fix crash in osgAnimation when keyframe container are empty +Mon, 19 Sep 2011 10:12:53 +0000 +Checked in by : Robert Osfield +Added removal of [..] from names returned from glGetActiveUniform results to avoid issues with name lookups when the driver add the [..] for uniform arrays. -2011-07-15 09:47 robert +Mon, 19 Sep 2011 09:44:29 +0000 +Checked in by : Robert Osfield +Copya and Paste Anti-Pattern strikes again! Renamed FreeType usage to Revisions to correct previous mistake when copying and modifying the ReaderWriter. - * From Sukender, Fix for compile errors "public: static char const - * const osg::ValueObjectClassNameTrait< xxx >::s_className" - already defined in xxx.obj" +Wed, 14 Sep 2011 10:45:11 +0000 +Checked in by : Robert Osfield +Fixed memory leak -2011-07-15 09:14 robert +Wed, 14 Sep 2011 10:22:04 +0000 +Checked in by : Robert Osfield +Added missing forward declaration - * From Wang Rui,"The files attached should be separately put into - the directories - src/osgPlugins/osg and src/osgWrappers/serializers/osgSim. They - fix a - serious infinite loop problem that may be caused by the stream - buffer - mechanism under Windows and some osgSim wrapper bugs pointed by - Andreas. I've asked the community to help test them and hope now - we - can solve these recent .osgt file reading issues." +Wed, 14 Sep 2011 10:02:11 +0000 +Checked in by : Robert Osfield +Added asCamera() methods into osg::Camera and osg::Node -2011-07-15 08:43 robert +Wed, 14 Sep 2011 09:49:28 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "attached is a zipped OpenSceneGraph\src\osgPlugins\ffmpeg\FFmpegDecoderAudio.cppIt solves a wrong sample format being set for audiostreams type S32 and F32, for the +enum AVSampleFormat (in include/avutil/samplefmt.h) doesn't match +enum SampleFormat (in include/osg/AudioStream) for anything but +SAMPLE_FORMAT_U8 and SAMPLE_FORMAT_S16 +" - * From Ryan Pavlik, "Fix inventor state copy constructor. - - Clang warning: - In file included from - src/osgPlugins/Inventor/ConvertToInventor.cpp:80: - src/osgPlugins/Inventor/ConvertToInventor.h:117:71: warning: - field is uninitialized when used here [-Wuninitialized] - osgTexGenS(s.osgTexGenS), osgTexGenT(s.osgTexGenT), - osgTexGen(osgTexGen), - ^" +and follow up that address versioning issue -2011-07-15 08:32 robert +"I can find the change, avutil version 50.38.0 introduced a new header file: +libavutil/samplefmt.h +older versions use +libavcodec/avcodec.h +with the sampleformats without AV_ - * From Philip Lamp, submitted by Stephan Huber, "Modify the - ReaderWriteImageIO_IOS to correctly handle relative paths - when reading from a file. This means that no longer do all image - files - have to live at the root of the Resources folder inside the app - bundle, - but can now be organized inside folders. Also improved error - handling - and fixed a potential leak of a CGColorSpaceRef each once per - image load." +an intermideate fix with the FF_API_OLD_SAMPLE_FMT is removed from ffmpeg 0.8.3 so +I think this is the correct fix: -2011-07-15 08:16 robert +#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(50,38,0) +#define AV_SAMPLE_FMT_NONE SAMPLE_FMT_NONE +#define AV_SAMPLE_FMT_U8 SAMPLE_FMT_U8 +#define AV_SAMPLE_FMT_S16 SAMPLE_FMT_S16 +#define AV_SAMPLE_FMT_S32 SAMPLE_FMT_S32 +#define AV_SAMPLE_FMT_FLT SAMPLE_FMT_FLT +#define AV_SAMPLE_FMT_DBL SAMPLE_FMT_DBL +#define AV_SAMPLE_FMT_NB SAMPLE_FMT_NB +#endif +" - * Converted tabs to four spaces -2011-06-28 07:54 robert - * Merged the OSG-3.0 branch versions of into svn/trunk. -2011-06-28 07:23 robert - * Added #if lib curl version check around #include - as this header was deprecated and now - removed entirely from libcurl-7.21.7. -2011-06-28 07:22 robert +Tue, 13 Sep 2011 13:38:26 +0000 +Checked in by : Robert Osfield +From Morten Hauknes, "I have been using the getLastVisiblePixelCount on pre 3.0 osg. I believe maybe this was a private function that we made public in our side. I use(d) this method to make a simple algorithm to tell how much visible an object was in percent.So with the 3.0 api change we propose the following change: +- put OSG_EXPORT on the QueryGeometry class so that we get access to the getNumPixels method. +- Create a function called getQueryGeometry that returns a casted _queryGeode->getDrawable(). Or a function called getQueryGeode that returns _queryGeode." - * From Wang Rui, "I've found a small problem which causes crashes - in the 3ds plugin - while trying to load a model. The fix here will ensure that the - texture map is valid and everything could work well then." -2011-06-27 21:33 robert - * Tweaked the comments +Tue, 13 Sep 2011 13:33:41 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, removed unneccessary BUILD_QT_EXAMPLES cmake option -2011-06-27 21:32 robert +Tue, 13 Sep 2011 11:48:06 +0000 +Checked in by : Robert Osfield +From Sukender, "I just fount that writing double precision values (eg. Vec3dArray for vertices) works with .osg but not .osgt/.osgx. So here is the fix (SVN trunk r12712). I suppose .osgb works as expected on this point and did not change anything. So, as for .osg, if you add "precision 16" (for instance) to the optionString, then you'll get double precision vertices written correctly. " - * From Jean-Sebestien Guay, workaround for bug under windows with - the seek implementation when handling ascii files with unix file - endings. +Tue, 13 Sep 2011 11:09:39 +0000 +Checked in by : Robert Osfield +From Robert Milharcic, "This will hopefully fix some issues with osgQt, more precisely with GLWidget event handling. There are at least two current GL context braking events, QEvent::Hide and QEvent::ParentChange. When running in a multithreaded mode they both try to change current GL context in a wrong thread (main GUI thread). The QEvent::ParentChange is also problematic when running in a single threaded model because Qt is going to release current contex then delete it, and then it will create new one, and as a result the osg will continue to render to an invalid deleted context. This changes workaround above problems by deferring execution of the problematic evens. These events has to be enqueued and executed later. The enqueued event processing is currently done right after swap in a swapBuffersImplementation of GraphicsWindowQt while code is running in a render thread by calling QGLWidget handler directly. In principle the deferred events queue should be executed while in GUI thread but I couldn't find any reliable way to do this, that is without risking a deadlock. For now it is assumed, Qt is not going to execute any GUI thread only operations inside the QGLWidget handler." -2011-06-27 15:43 robert +Tue, 13 Sep 2011 10:15:07 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, " The osgUtil::CullVisitor class will display an OSG_INFO notification when attempting to clamp the projection matrix with invalid near/var values. This usually appears when the scene graph is empty or all objects are culled. I don't think this scenario warrants having this message appear every frame. It makes it very difficult to debug other issues when this notification floods the output window.I'd prefer to have the notification removed, but there might be legitimate cases where you want this displayed. Instead, I just disabled the output if the near/far values are equal to FLT_MAX (their initial values). This should at least prevent the notification for the common case where everything was culled." - * Updated NEWS and fixed typo in Contributors. -2011-06-27 10:20 robert - * Fixed typo +Tue, 13 Sep 2011 09:59:21 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Here's my proposed change regarding the osg-users post "small feature culling threshold". I've updated the comments and brought the default values into agreement, but didn't bother to add the environment variable support." -2011-06-27 10:19 robert +Tue, 13 Sep 2011 09:53:34 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "I added a simple setting in OSG's CMakeLists.txt to be able to disable building anything related to Qt. It just skips the FindPackage(...) for Qt3 and Qt4, so since they are not found nothing related to Qt will be generated by CMake. The default is to build the Qt related stuff, so current behavior is unchanged." - * Improved the setContextID doxygen comment. +Tue, 13 Sep 2011 09:46:22 +0000 +Checked in by : Robert Osfield +From Sukender, "I added a tiny check to avoid an integer divide-by-zero, when image is invalid (ie. all values are 0)." -2011-06-25 20:51 robert +Tue, 13 Sep 2011 09:43:45 +0000 +Checked in by : Robert Osfield +From Sukender, "I added a crash-guard against corrupted 3DS files, having faces indexes out of the range of existing vertices." - * From Andreas Eskland, "I found that a binary PNM file couldn't be - read by the PNM plugin in the 3.0 branch. Attached is a small fix - in ReaderWriterPNM.cpp, simply opening the file in binary mode." +Tue, 13 Sep 2011 09:21:07 +0000 +Checked in by : Robert Osfield +From Farshild Lashkari, "Attached is a simple patch that avoids the depth write pass in Text::renderWithDelayedDepthWrites if the current osg::State object has GL_DEPTH_TEST disabled." -2011-06-25 11:00 robert +Tue, 13 Sep 2011 09:17:21 +0000 +Checked in by : Robert Osfield +Reverted Paul Idstein warning fix as this was breaking the build - * Fixed memory growth issue when using Texture2D::SubloadCallbacks - that don't set the TextureObjects sizes. +Mon, 12 Sep 2011 16:24:08 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, Added some error checks and memory cleanup. -2011-06-25 07:07 robert +Mon, 12 Sep 2011 16:20:45 +0000 +Checked in by : Robert Osfield +From Stephan Huber, fixed build for OSX 10.6 and earlier - * Tightened up float usage. +Mon, 12 Sep 2011 16:17:33 +0000 +Checked in by : Robert Osfield +From Johannes Baeuerle, opptimization of ES support of osg/BufferObject -2011-06-24 19:17 robert +Mon, 12 Sep 2011 12:38:41 +0000 +Checked in by : Robert Osfield +From Bjorn Blissing, "Found a minor (probably a copy & paste) bug in ViewerEventHandlers. Line 251: int getKeyEventWindowedResolutionDown() const { return _keyEventWindowedResolutionUp; }Should be replaced with: +int getKeyEventWindowedResolutionDown() const { return _keyEventWindowedResolutionDown; }" - * Tightened up the float/double usage -2011-06-24 16:15 robert - * Removed redundent assert and associated variables to fix - warnings. +Mon, 12 Sep 2011 12:26:55 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, "When osgUtil::DelaunayTriangulator triangulate() function ends with no triangle generated, it crashes. This patch fixes that" -2011-06-24 15:04 robert +Mon, 12 Sep 2011 12:14:17 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, documentation fixes - * Implemented missing writeShader +Mon, 12 Sep 2011 12:04:46 +0000 +Checked in by : Robert Osfield +Improved the clarity of doxygen comments -2011-06-24 13:35 robert +Mon, 12 Sep 2011 11:51:14 +0000 +Checked in by : Robert Osfield +Fixed typos in the documentation - * From Martin Innus, fixed erroneous change of INTEGER to UNKNOWN, - reverting back to INTEGER. +Mon, 12 Sep 2011 11:28:14 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, from three submissions:"Here a patch that correct like the previous assign collada material name +to stateset." -2011-06-24 12:40 robert +and - * Implemented missing Archive::readShader/writeShader, and added - searching of the archive list in Registr::read() so that files - that are stored in the archives can be found. +"I changed how the collada reader set object name in osg. Current +implementation use collada ID to setup name. with this patch I use +collada name to setup name in osg object and if collada provide no name +I use as fallback ID. I am not sure we want this fallback. -2011-06-24 08:32 robert +The motivation of this change is that when an artist set names to its +objects and export to collada, I am not able to use those names in osg +to retrieve the node." - * From Ulrich Hertlein, "While we're on osgSim/ShapeAttribute, - here's a fix that fixes the 'UNKNOW' typo and some - doxygen" +and -2011-06-24 08:13 robert +"Here the update of the file that fix the light id stuff" - * From Wang Rui, "I've modified the code to handle -1.#IND and - other kinds of infinite - values. Please see the attachments for details" -2011-06-24 08:05 robert - * Added operator ==, != and < to fix VS build -2011-06-23 19:58 robert +Mon, 12 Sep 2011 11:24:52 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, build fix for OSX 10.7 SDK. - * Fixed warnings generated by clang, - - src/osgAnimation/Skeleton.cpp:25:87: warning: addition of default - argument on redeclaration makes this constructor a copy - constructor [-Wdefault-arg-special-member] - Skeleton::UpdateSkeleton::UpdateSkeleton(const UpdateSkeleton& - us, const osg::CopyOp& copyop= osg::CopyOp::SHALLOW_COPY) : - osg::Object(us, copyop), osg::NodeCallback(us, copyop) - - /src/OpenThreads/pthreads/PThread.cpp:1024:15: warning: - comparison of unsigned expression < 0 is always false - [-Wtautological-compare] - if (cpunum<0) return -1; - - src/osgDB/ExternalFileWriter.cpp:221:122: warning: expression - result unused [-Wunused-value] - _objects.insert(ObjectsSet::value_type(&obj, - ObjectData(absoluteDestinationPath, relativeDestinationPath, - written))).first; - - src/osgManipulator/Dragger.cpp:175:18: warning: using the result - of an assignment as a condition without parentheses - [-Wparentheses] - if (*itr = constraint) return; - - src/osgManipulator/Dragger.cpp:187:18: warning: using the result - of an assignment as a condition without parentheses - [-Wparentheses] - if (*itr = constraint) +Mon, 12 Sep 2011 11:24:24 +0000 +Checked in by : Robert Osfield +From Paul Idstein, warning fixes for OSX 10.7 -2011-06-23 18:24 robert +Mon, 12 Sep 2011 10:52:16 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, typo fixes - * Warning fixes for: - - OpenSceneGraph/src/osgPlugins/Inventor/ConvertFromInventor.cpp: - In member function ?virtual SbBool - SoVRMLImageTextureOsg::readInstance(SoInput*, short unsigned - int)?: - OpenSceneGraph/src/osgPlugins/Inventor/ConvertFromInventor.cpp:1264:16: - warning: variable ?retval? set but not used - [-Wunused-but-set-variable] - OpenSceneGraph/src/osgPlugins/ac/Geode.cpp: In member function - ?void ac3d::Geode::ProcessGeometry(std::ostream&, unsigned int)?: - OpenSceneGraph/src/osgPlugins/ac/Geode.cpp:806:35: warning: - variable ?fRep_s? set but not used [-Wunused-but-set-variable] - OpenSceneGraph/src/osgPlugins/ac/Geode.cpp:806:43: warning: - variable ?fRep_t? set but not used [-Wunused-but-set-variable] - OpenSceneGraph/src/osgPlugins/ac/Geode.cpp:807:35: warning: - variable ?fOffset_s? set but not used [-Wunused-but-set-variable] - OpenSceneGraph/src/osgPlugins/ac/Geode.cpp:807:46: warning: - variable ?fOffset_t? set but not used [-Wunused-but-set-variable] - OpenSceneGraph/src/osgViewer/GraphicsWindowX11.cpp: In member - function ?virtual void - osgViewer::GraphicsWindowX11::checkEvents()?: - OpenSceneGraph/src/osgViewer/GraphicsWindowX11.cpp:1181:10: - warning: variable ?destroyWindowRequested? set but not used - [-Wunused-but-set-variable] +Mon, 12 Sep 2011 10:47:59 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've encountered a strange problem that osgviewerMFC doesn't work well with the StatsHandler. When the 's' key is pressed, the rendering window will be halted. I tried solving the problem by commenting a line in CMFC_OSG_MDIView::OnKeyDown() and it seems to work now.Another improvement here is to use a thread class derived from +OpenThreads to replace the old _beginthread(). It helps a lot in +keeping a high frame rate when you open more than one MDI child +windows. And the application using OpenThreads in my opinion will be +more compatible and portable." -2011-06-23 16:36 robert - * Fixed virtual method mismtaches between subclasses and parent - classes. -2011-06-23 15:42 robert +Mon, 12 Sep 2011 10:46:42 +0000 +Checked in by : Robert Osfield +Updated SO version number to 90 to allow for recent changes to the ABI, and to set the base for the 3.1.0 series. - * From Ulrich Hertlein, build fix for OSX. +Mon, 12 Sep 2011 10:43:24 +0000 +Checked in by : Robert Osfield +From Sukender, "I added private constructors to osg::ValueObject & TemplatedValueObject, to avoid allocation on the stack and ugly things like: TemplatedValueObject value(....); container->addUserObject(value);" -2011-06-23 15:37 robert +Wed, 7 Sep 2011 20:05:25 +0000 +Checked in by : Robert Osfield +Added handling the ShadowSettings::LightNum for selecting which light to use. - * Added better handling of archives in ReaderWriterZip::readNode() - so that if there is no master file definition it - loads all the available nodes in the zip archive and returns an - osg::Group containing all the nodes if there is more - than one, or just returns the node if there is just one. Also - implemented this functionality for ReaderWriterZip::readImage(). +Wed, 7 Sep 2011 16:26:57 +0000 +Checked in by : Robert Osfield +Added handling of the case when RenderLeaf::_modelview matrix is NULL, such as when LightPointNode is used in the scene graph. -2011-06-23 12:24 robert +Wed, 7 Sep 2011 15:55:54 +0000 +Checked in by : Robert Osfield +Moved ViewDependetShadowMap parameter settings into a dedicated ShadowSettings object in prep for making it possible to scale the API to handle multiple lights and multiple shadow maps per light. - * Fixed typo in name +Tue, 6 Sep 2011 17:26:27 +0000 +Checked in by : Robert Osfield +Added setting of the shadow map Camera's name to "ShadowCamera" to improve integration with osgOcean. -2011-06-23 11:27 robert +Tue, 6 Sep 2011 14:13:13 +0000 +Checked in by : Robert Osfield +Added optimization of the mutliple cessna shadow model to address peformance issues when rendering 100 cessna's. - * Updated ChangeLog and AUTHORS file +Tue, 6 Sep 2011 11:42:54 +0000 +Checked in by : Robert Osfield +Added -5 model option using Wang Rui's test demo as a base -2011-06-23 11:26 robert +Tue, 6 Sep 2011 11:11:38 +0000 +Checked in by : Robert Osfield +Fixed the heights of the trees and houses - * Fixed name typo +Tue, 6 Sep 2011 10:12:45 +0000 +Checked in by : Robert Osfield +Added s/getPerspectiveShadowMapCutOffAngle() and use of this when setting up light space to avoid sigularaties when the light and view directions are co-incident. -2011-06-23 11:09 robert +Mon, 5 Sep 2011 12:36:47 +0000 +Checked in by : Robert Osfield +Added support for setting whether ViewDependentShadowMap should provide it's own vertex and fragment shaders. - * Fixed warnings. - - OpenSceneGraph/src/osgGA/NodeTrackerManipulator.cpp:32:1: - warning: base class ?class osg::Object? should be explicitly - initialized in the copy constructor - OpenSceneGraph/src/osgGA/TerrainManipulator.cpp:31:1: warning: - base class ?class osg::Object? should be explicitly initialized - in the copy constructor - OpenSceneGraph/include/osgSim/ShapeAttribute:99:9: warning: base - class ?class std::vector? should be - explicitly initialized in the copy constructor - OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: - missing initializer for member ?unz_s::gi? - OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: - missing initializer for member ?unz_s::byte_before_the_zipfile? - OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: - missing initializer for member ?unz_s::num_file? - OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: - missing initializer for member ?unz_s::pos_in_central_dir? - OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: - missing initializer for member ?unz_s::current_file_ok? - OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: - missing initializer for member ?unz_s::central_pos? - OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: - missing initializer for member ?unz_s::size_central_dir? - OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: - missing initializer for member ?unz_s::offset_central_dir? - OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: - missing initializer for member ?unz_s::cur_file_info? - OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: - missing initializer for member ?unz_s::cur_file_info_internal? - OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: - missing initializer for member ?unz_s::pfile_in_zip_read? - OpenSceneGraph/src/osgViewer/CompositeViewer.cpp:30:1: warning: - base class ?class osg::Object? should be explicitly initialized - in the copy constructor - OpenSceneGraph/src/osgViewer/View.cpp:159:1: warning: base class - ?class osg::Object? should be explicitly initialized in the copy - constructor - OpenSceneGraph/src/osgViewer/Viewer.cpp:196:1: warning: base - class ?class osg::Object? should be explicitly initialized in the - copy constructor - OpenSceneGraph/src/osgViewer/Viewer.cpp:196:1: warning: base - class ?class osgViewer::ViewerBase? should be explicitly - initialized in the copy constructor - OpenSceneGraph/include/osgManipulator/Dragger:47:9: warning: base - class ?class osg::Object? should be explicitly initialized in the - copy constructor +Mon, 5 Sep 2011 12:27:20 +0000 +Checked in by : Robert Osfield +Replaced use of ShapeDrawable with osgTerrain for the terrain tile -2011-06-23 09:26 robert +Fri, 2 Sep 2011 10:16:16 +0000 +Checked in by : Robert Osfield +Added s/getTextureSize() method for setting the shadow map texture size. - * From Ryan Pavlik, "I have successfully compiled OpenSceneGraph - trunk using the Clang compiler (using a recent trunk build of - llvm and clang, haven't tested an older release). The attached - files contain the change shown in the diff below, which was - required to finish the build with Clang. It fixes an issue with - two-phase name lookup - there's more information here - http://blog.llvm.org/2009/12/dreaded-two-phase-name-lookup.html - " +Fri, 2 Sep 2011 07:46:08 +0000 +Checked in by : Robert Osfield +Disabled the use of the ReceivesShadowTraversalMask() mask -2011-06-23 09:22 robert +Thu, 1 Sep 2011 18:49:33 +0000 +Checked in by : Robert Osfield +Added test line for COMPUTE_NEAR_USING_PRIMITIVES - * From Dimi Christopoulos, "I attach a fixed version of mipmap.cpp - which produced a lot of warning on my gcc - compiler." +Thu, 1 Sep 2011 18:48:21 +0000 +Checked in by : Robert Osfield +Added fine grained computation of the far plane when using the COMPUTE_NEAR_FAR_USING_PRIMITIVES ComputeNearFarMode. Added COMPUTE_NEAR_FAR_USING_PRIMITIVES option that provides the original functionality where only the near plane is computed in a fine grained way, with the far plane being computed simply from bound volumes. -2011-06-23 07:13 robert +Mon, 29 Aug 2011 16:01:02 +0000 +Checked in by : Robert Osfield +From Tony Horrobin, build fix - * Converted tabs to four spaces +Mon, 29 Aug 2011 10:26:05 +0000 +Checked in by : Robert Osfield +Added fallback base texture -2011-06-22 16:18 robert +Mon, 29 Aug 2011 09:59:47 +0000 +Checked in by : Robert Osfield +Added support for setting the MinimumShadowMapNearFarRatio. - * From Magnus Kessler, "I have recently installed the latest - version of collada-dom on Linux, and - found that the include path has changed. By default, collada-dom - now installs - its header files under /usr/local/include/collada-dom - or/usr/include/collada- - dom. The attached FindCollada.cmake has been updated to look for - these - locations in addition to the previous candidate locations." +Fri, 26 Aug 2011 15:40:09 +0000 +Checked in by : Robert Osfield +Fixed bug in computaton of the min/max x/z ratios. -2011-06-22 12:30 robert +Fri, 26 Aug 2011 15:36:33 +0000 +Checked in by : Robert Osfield +Added names to models to help with debugging. - * Resolved warnings reported by g++ 4.6's - -Wunused-but-set-variable. - - Warnings were: - - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osg/ShapeDrawable.cpp: - In member function â€void - PrimitiveShapeVisitor::createHalfSphere(unsigned int, unsigned - int, float, int, float, const Matrix&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osg/ShapeDrawable.cpp:1409:11: - warning: variable â€nzBase’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osg/ShapeDrawable.cpp:1410:11: - warning: variable â€nRatioBase’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgUtil/DelaunayTriangulator.cpp: - In function â€osgUtil::Triangle_list - osgUtil::fillHole(osg::Vec3Array*, std::vector >)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgUtil/DelaunayTriangulator.cpp:569:27: - warning: variable â€ptest’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgUtil/DelaunayTriangulator.cpp: - In member function â€bool - osgUtil::DelaunayTriangulator::triangulate()’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgUtil/DelaunayTriangulator.cpp:979:45: - warning: variable â€curp’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgUtil/RenderStage.cpp: - In member function â€void - osgUtil::RenderStage::runCameraSetUp(osg::RenderInfo&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgUtil/RenderStage.cpp:631:18: - warning: variable â€stencilAttached’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgText/FadeText.cpp: - In member function â€void FadeTextPolytopeData::buildPolytope()’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgText/FadeText.cpp:74:20: - warning: variable â€edge23’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgText/FadeText.cpp:75:20: - warning: variable â€edge30’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgText/Text.cpp: - In member function â€void - osgText::Text::computeBackdropPositions(unsigned int) const’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgText/Text.cpp:747:10: - warning: variable â€is_valid_size’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgGA/NodeTrackerManipulator.cpp: - In member function â€virtual bool - osgGA::NodeTrackerManipulator::performMovementLeftMouseButton(double, - double, double)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgGA/NodeTrackerManipulator.cpp:257:21: - warning: variable â€lookVector’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgGA/NodeTrackerManipulator.cpp:259:21: - warning: variable â€upVector’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgGA/TerrainManipulator.cpp: - In member function â€virtual bool - osgGA::TerrainManipulator::performMovementMiddleMouseButton(double, - double, double)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgGA/TerrainManipulator.cpp:217:11: - warning: variable â€lookVector’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgGA/TerrainManipulator.cpp:219:11: - warning: variable â€upVector’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgVolume/FixedFunctionTechnique.cpp: - In member function â€virtual void - osgVolume::FixedFunctionTechnique::init()’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgVolume/FixedFunctionTechnique.cpp:124:30: - warning: variable â€tf’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgParticle/FluidProgram.cpp: - In member function â€virtual void - osgParticle::FluidProgram::execute(double)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgParticle/FluidProgram.cpp:38:23: - warning: variable â€velBefore’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgShadow/ParallelSplitShadowMap.cpp: - In member function â€virtual void - osgShadow::ParallelSplitShadowMap::cull(osgUtil::CullVisitor&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgShadow/ParallelSplitShadowMap.cpp:593:22: - warning: variable â€bb’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgTerrain/GeometryTechnique.cpp: - In member function â€virtual void - osgTerrain::GeometryTechnique::generateGeometry(osgTerrain::GeometryTechnique::BufferData&, - osgTerrain::Locator*, const osg::Vec3d&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgTerrain/GeometryTechnique.cpp:777:12: - warning: variable â€i_sampleFactor’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgTerrain/GeometryTechnique.cpp:778:12: - warning: variable â€j_sampleFactor’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/dds/ReaderWriterDDS.cpp: - In function â€osg::Image* ReadDDSFile(std::istream&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/dds/ReaderWriterDDS.cpp:314:10: - warning: variable â€is3dImage’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/dds/ReaderWriterDDS.cpp: - In function â€bool WriteDDSFile(const osg::Image*, - std::ostream&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/dds/ReaderWriterDDS.cpp:721:10: - warning: variable â€is3dImage’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/hdr/hdrloader.cpp: - In static member function â€static bool HDRLoader::load(const - char*, bool, HDRLoaderResult&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/hdr/hdrloader.cpp:101:10: - warning: variable â€cmd’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/vtf/ReaderWriterVTF.cpp: - In function â€osg::Image* ReadVTFFile(std::istream&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/vtf/ReaderWriterVTF.cpp:360:23: - warning: variable â€base’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/jp2/ReaderWriterJP2.cpp: - In function â€int putdata(jas_stream_t*, jas_image_t*, int)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/jp2/ReaderWriterJP2.cpp:41:13: - warning: variable â€linelen’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/Inventor/ConvertToInventor.cpp: - In member function â€void ConvertToInventor::processGeometry(const - osg::Geometry*, ConvertToInventor::InventorState*)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/Inventor/ConvertToInventor.cpp:1639:10: - warning: variable â€ok’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/Inventor/ConvertFromInventor.cpp: - In member function â€virtual SbBool - SoVRMLImageTextureOsg::readInstance(SoInput*, short unsigned - int)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/Inventor/ConvertFromInventor.cpp:1264:16: - warning: variable â€retval’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/OpenFlight/GeometryRecords.cpp: - In member function â€virtual void - flt::Face::readRecord(flt::RecordInputStream&, flt::Document&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/OpenFlight/GeometryRecords.cpp:369:19: - warning: variable â€secondaryPackedColor’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/OpenFlight/GeometryRecords.cpp: - In member function â€virtual void - flt::Mesh::readRecord(flt::RecordInputStream&, flt::Document&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/OpenFlight/GeometryRecords.cpp:942:19: - warning: variable â€secondaryPackedColor’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/OpenFlight/ReaderWriterFLT.cpp: - In member function â€virtual osgDB::ReaderWriter::ReadResult - FLTReaderWriter::readNode(std::istream&, const Options*) const’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/OpenFlight/ReaderWriterFLT.cpp:427:40: - warning: variable â€pos’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ive/ShapeAttributeList.cpp: - In member function â€void - ive::ShapeAttributeList::write(ive::DataOutputStream*)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ive/ShapeAttributeList.cpp:31:48: - warning: variable â€it’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ac/Geode.cpp: - In member function â€void - ac3d::Geode::ProcessGeometry(std::ostream&, unsigned int)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ac/Geode.cpp:806:35: - warning: variable â€fRep_s’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ac/Geode.cpp:806:43: - warning: variable â€fRep_t’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ac/Geode.cpp:807:35: - warning: variable â€fOffset_s’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ac/Geode.cpp:807:46: - warning: variable â€fOffset_t’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ac/Geode.cpp:932:38: - warning: variable â€primLength’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/txp/trpage_geom.cpp: - In member function â€virtual bool - trpgGeometry::Write(trpgWriteBuffer&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/txp/trpage_geom.cpp:615:19: - warning: variable â€u’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/txp/trpage_material.cpp: - In member function â€int trpgMatTable::AddMaterial(const - trpgMaterial&, bool)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/txp/trpage_material.cpp:103:10: - warning: variable â€spaceInTable’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/txp/trpage_rarchive.cpp: - In member function â€virtual bool - trpgr_Archive::ReadHeader(bool)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/txp/trpage_rarchive.cpp:261:14: - warning: variable â€headerHasTexTable’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/zip/unzip.cpp: - In member function â€ZRESULT TUnzip::Get(int, ZIPENTRY*)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/zip/unzip.cpp:4055:8: - warning: variable â€hidden’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/zip/unzip.cpp:4055:22: - warning: variable â€system’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/zip/unzip.cpp:4055:36: - warning: variable â€archive’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/zip/ZipArchive.cpp: - In member function â€virtual bool - ZipArchive::getFileNames(osgDB::Archive::FileNameList&) const’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/zip/ZipArchive.cpp:91:37: - warning: variable â€iterEnd’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/pvr/ReaderWriterPVR.cpp: - In member function â€osgDB::ReaderWriter::ReadResult - ReaderWriterPVR::readPVRStream(std::istream&) const’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/pvr/ReaderWriterPVR.cpp:155:14: - warning: variable â€hasAlpha’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgViewer/View.cpp: - In function â€osg::Geometry* - create3DSphericalDisplayDistortionMesh(const Vec3&, const Vec3&, - const Vec3&, double, double, osg::Image*, const Matrix&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgViewer/View.cpp:737:15: - warning: variable â€cursor’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgViewer/View.cpp: - In function â€osg::Geometry* - createParoramicSphericalDisplayDistortionMesh(const Vec3&, const - Vec3&, const Vec3&, double, double, osg::Image*, const Matrix&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgViewer/View.cpp:1130:19: - warning: variable â€cursor’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgViewer/View.cpp:1118:15: - warning: variable â€dx’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgViewer/GraphicsWindowX11.cpp: - In member function â€virtual void - osgViewer::GraphicsWindowX11::checkEvents()’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgViewer/GraphicsWindowX11.cpp:1181:10: - warning: variable â€destroyWindowRequested’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/cfg/ConfigParser.cpp: - In member function â€bool - osgProducer::CameraConfig::parseFile(const string&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/cfg/ConfigParser.cpp:2247:13: - warning: variable â€result’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgQt/QGraphicsViewAdapter.cpp: - In member function â€bool - osgQt::QGraphicsViewAdapter::handlePointerEvent(int, int, int)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgQt/QGraphicsViewAdapter.cpp:344:17: - warning: variable â€viewportGeometry’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgdistortion/osgdistortion.cpp: - In function â€osg::Node* createDistortionSubgraph(osg::Node*, - const Vec4&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgdistortion/osgdistortion.cpp:125:19: - warning: variable â€cursor’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgdistortion/osgdistortion.cpp:126:19: - warning: variable â€texcoord’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgdistortion/osgdistortion.cpp: - In function â€osg::Geometry* createDomeDistortionMesh(const Vec3&, - const Vec3&, const Vec3&, osg::ArgumentParser&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgdistortion/osgdistortion.cpp:358:15: - warning: variable â€cursor’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgposter/osgposter.cpp: - In function â€int main(int, char**)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgposter/osgposter.cpp:253:31: - warning: variable â€outputTiles’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgthreadedterrain/osgthreadedterrain.cpp: - In function â€int main(int, char**)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgthreadedterrain/osgthreadedterrain.cpp:669:10: - warning: variable â€readParameter’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgtext3D/TextNode.cpp: - In member function â€virtual void - osgText::Layout::layout(osgText::TextNode&) const’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgtext3D/TextNode.cpp:80:11: - warning: variable â€characterHeightScale’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgvolume/osgvolume.cpp: - In function â€int main(int, char**)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgvolume/osgvolume.cpp:678:38: - warning: variable â€internalFormatMode’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgwidgetcanvas/osgwidgetcanvas.cpp: - In function â€bool windowMouseOver(osgWidget::Event&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgwidgetcanvas/osgwidgetcanvas.cpp:27:24: - warning: variable â€xy’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgwidgetcanvas/osgwidgetcanvas.cpp: - In function â€bool widgetMouseOver(osgWidget::Event&)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgwidgetcanvas/osgwidgetcanvas.cpp:35:24: - warning: variable â€xy’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/p3d/ReaderWriterP3D.cpp: - In member function â€osg::Node* - ReaderWriterP3DXML::parseXmlGraph(osgDB::XmlNode*, bool, - osgDB::Options*) const’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/p3d/ReaderWriterP3D.cpp:2121:10: - warning: variable â€readSlide’ set but not used - [-Wunused-but-set-variable] - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/applications/present3D/present3D.cpp: - In function â€int main(int, char**)’: - /home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/applications/present3D/present3D.cpp:639:10: - warning: variable â€sizesSpecified’ set but not used - [-Wunused-but-set-variable] +Fri, 26 Aug 2011 10:52:25 +0000 +Checked in by : Robert Osfield +Added releaseGLObjects/resizeGLObjectBuffers support -2011-06-22 09:12 robert +Thu, 25 Aug 2011 17:21:38 +0000 +Checked in by : Robert Osfield +Improved the handling of depth partitioning and orthographic datasets - * Fixed regression in --run-on-demand feature +Thu, 25 Aug 2011 15:39:09 +0000 +Checked in by : Robert Osfield +Added event handling for toggling on/off the light source animation. -2011-06-21 17:26 robert +Wed, 24 Aug 2011 19:38:58 +0000 +Checked in by : Robert Osfield +Added support for user defined setting of the shadow texture unit - * Removed assert() that always evaluated to true. +Wed, 24 Aug 2011 13:57:15 +0000 +Checked in by : Robert Osfield +Changed new ViewDependentShadowMap to default to a perspective shadow map with automatic detection of a spot light/perspetive light projection matrix to prevent inappropriate usage of perspective shadow map. -2011-06-21 13:01 robert +Wed, 24 Aug 2011 12:32:03 +0000 +Checked in by : Robert Osfield +Imorovements to the new perspective/lispsm style shadow implementation. - * From Torben Dannhauer, "originally I posted the addendum of - 'freetype244MT', but that was wrong. - I updated it to the correct addendum of 'freetype244' yesterday, - but supposedly that was not forwarded to you by the - forum-to-mail-gateway. - - Find attached the corrected CMake module. " +Wed, 24 Aug 2011 12:31:35 +0000 +Checked in by : Robert Osfield +Quitened down and fixed warning -2011-06-21 10:15 robert +Fri, 19 Aug 2011 12:42:51 +0000 +Checked in by : Robert Osfield +Quitended down debug messages and added passing of RenderStage to LispSM code - * Updated ChangeLog +Fri, 19 Aug 2011 10:43:38 +0000 +Checked in by : Robert Osfield +Improved the LispSM computation -2011-06-21 09:54 robert +Fri, 19 Aug 2011 10:43:15 +0000 +Checked in by : Robert Osfield +Changed the local variable near/far type - * Added returns to end of files +Wed, 17 Aug 2011 17:06:55 +0000 +Checked in by : Robert Osfield +Added back in control of the backface culling. -2011-06-21 09:54 robert +Wed, 17 Aug 2011 16:09:17 +0000 +Checked in by : Robert Osfield +intermin check-in of work on new LispSM implementation - * Added return to end of file +Mon, 15 Aug 2011 14:37:16 +0000 +Checked in by : Robert Osfield +Added missing assignement of _simulationTime. -2011-06-21 09:53 robert +Sat, 13 Aug 2011 19:09:58 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Recent changes to osgShadow on trunk were apparently not yet tested with ref_ptr implicit casting disabled. Attached is a fix. " - * Conveted tabs to four spaces and added a return to end of file +Fri, 12 Aug 2011 20:29:14 +0000 +Checked in by : Robert Osfield +Added public interface for selecting use of perspective and light space perspective shadow maps. Implementation of backends not implemented yet so will follow. -2011-06-21 09:29 mplatings +Fri, 12 Aug 2011 14:53:40 +0000 +Checked in by : Robert Osfield +Implemented first pass at shaders for new ViewDepedentShadow map class - * Fixed redundant "enumeration not handled in switch" warnings. - Fixed a warning about a comparison between different enums - - EUnifiedMappingType was being compared with EMappingType. In - general the FBX SDK is moving away from Get & Set functions to - giving direct access to properties, so I have changed - GetMappingType() to CurrentMappingType.Get() +Tue, 9 Aug 2011 15:57:37 +0000 +Checked in by : Robert Osfield +Implemented ViewDependentShadowMap::setDebugDraw(bool) to allow osgshadow to enable/disable the debug display via the standard --debugHUD option. -2011-06-21 09:00 robert +Tue, 9 Aug 2011 15:20:25 +0000 +Checked in by : Robert Osfield +Changed RTT Camera to use depth. - * Disabled VisualStudio warning warning C4611: interaction between - '_setjmp' and C++ object destruction is non-portable +Tue, 9 Aug 2011 13:39:57 +0000 +Checked in by : Robert Osfield +Implemented caching of Camera, Texture and TexGen -2011-06-20 19:15 robert +Tue, 9 Aug 2011 06:54:44 +0000 +Checked in by : Robert Osfield +Added replacement of the placeholder StateSet in the StateGraph with custom StateSet implemented just for the needs of that particular frame. - * Fixed a range of issues reported by cppcheck: - - [examples/osgphotoalbum/PhotoArchive.cpp:56]: (error) Memory - leak: fileIndentifier - [examples/osgphotoalbum/PhotoArchive.cpp:257]: (error) - Deallocating a deallocated pointer: newData - [examples/osgphotoalbum/PhotoArchive.cpp:318]: (error) - Deallocating a deallocated pointer: newData - [src/osg/ImageUtils.cpp:116]: (portability) Extra qualification - 'osg::' unnecessary and considered an error by many compilers. - [src/osg/ImageUtils.cpp:307]: (portability) Extra qualification - 'osg::' unnecessary and considered an error by many compilers. - [src/osg/ImageUtils.cpp:312]: (portability) Extra qualification - 'osg::' unnecessary and considered an error by many compilers. - [src/osg/ImageUtils.cpp:367]: (portability) Extra qualification - 'osg::' unnecessary and considered an error by many compilers. - [src/osg/ImageUtils.cpp:399]: (portability) Extra qualification - 'osg::' unnecessary and considered an error by many compilers. - [src/osg/ImageUtils.cpp:400]: (portability) Extra qualification - 'osg::' unnecessary and considered an error by many compilers. - [src/osg/ImageUtils.cpp:482]: (portability) Extra qualification - 'osg::' unnecessary and considered an error by many compilers. - [src/osg/ImageUtils.cpp:483]: (portability) Extra qualification - 'osg::' unnecessary and considered an error by many compilers. - [src/osg/ImageUtils.cpp:484]: (portability) Extra qualification - 'osg::' unnecessary and considered an error by many compilers. - [src/osg/ImageUtils.cpp:519]: (portability) Extra qualification - 'osg::' unnecessary and considered an error by many compilers. - [src/osg/ImageUtils.cpp:536]: (portability) Extra qualification - 'osg::' unnecessary and considered an error by many compilers. - [src/osg/OcclusionQueryNode.cpp:71]: (portability) Extra - qualification 'osg::' unnecessary and considered an error by many - compilers. - [src/osg/OcclusionQueryNode.cpp:74]: (portability) Extra - qualification 'osg::' unnecessary and considered an error by many - compilers. - [src/osg/OcclusionQueryNode.cpp:77]: (portability) Extra - qualification 'osg::' unnecessary and considered an error by many - compilers. - [src/osg/OcclusionQueryNode.cpp:82]: (portability) Extra - qualification 'osg::' unnecessary and considered an error by many - compilers. - [src/osg/OcclusionQueryNode.cpp:102]: (portability) Extra - qualification 'osg::' unnecessary and considered an error by many - compilers. - [src/osg/OcclusionQueryNode.cpp:107]: (portability) Extra - qualification 'osg::' unnecessary and considered an error by many - compilers. - [src/osg/OcclusionQueryNode.cpp:599]: (portability) Extra - qualification 'osg::' unnecessary and considered an error by many - compilers. - [src/osg/OcclusionQueryNode.cpp:600]: (portability) Extra - qualification 'osg::' unnecessary and considered an error by many - compilers. - [src/osg/OcclusionQueryNode.cpp:601]: (portability) Extra - qualification 'osg::' unnecessary and considered an error by many - compilers. - [src/osg/OcclusionQueryNode.cpp:602]: (portability) Extra - qualification 'osg::' unnecessary and considered an error by many - compilers. - [src/osg/OcclusionQueryNode.cpp:603]: (portability) Extra - qualification 'osg::' unnecessary and considered an error by many - compilers. - [src/osg/OcclusionQueryNode.cpp:604]: (portability) Extra - qualification 'osg::' unnecessary and considered an error by many - compilers. - [src/osg/OcclusionQueryNode.cpp:605]: (portability) Extra - qualification 'osg::' unnecessary and considered an error by many - compilers. - [src/osg/OcclusionQueryNode.cpp:606]: (portability) Extra - qualification 'osg::' unnecessary and considered an error by many - compilers. - [src/osgDB/ExternalFileWriter.cpp:134]: (portability) Extra - qualification 'osgDB::' unnecessary and considered an error by - many compilers. - [src/osgDB/ExternalFileWriter.cpp:135]: (portability) Extra - qualification 'osgDB::' unnecessary and considered an error by - many compilers. - [src/osgDB/ExternalFileWriter.cpp:136]: (portability) Extra - qualification 'osgDB::' unnecessary and considered an error by - many compilers. - [src/osgDB/ExternalFileWriter.cpp:137]: (portability) Extra - qualification 'osgDB::' unnecessary and considered an error by - many compilers. - [src/osgDB/ExternalFileWriter.cpp:139]: (portability) Extra - qualification 'osgDB::' unnecessary and considered an error by - many compilers. - [src/osgDB/ExternalFileWriter.cpp:177]: (portability) Extra - qualification 'osgDB::' unnecessary and considered an error by - many compilers. - [src/osgDB/ExternalFileWriter.cpp:178]: (portability) Extra - qualification 'osgDB::' unnecessary and considered an error by - many compilers. - [src/osgDB/ExternalFileWriter.cpp:195]: (portability) Extra - qualification 'osgDB::' unnecessary and considered an error by - many compilers. - [src/osgDB/ExternalFileWriter.cpp:198]: (portability) Extra - qualification 'osgDB::' unnecessary and considered an error by - many compilers. - [src/osgDB/ExternalFileWriter.cpp:203]: (portability) Extra - qualification 'osgDB::' unnecessary and considered an error by - many compilers. - [src/osgDB/ExternalFileWriter.cpp:205]: (portability) Extra - qualification 'osgDB::' unnecessary and considered an error by - many compilers. - [src/osgDB/ExternalFileWriter.cpp:253]: (portability) Extra - qualification 'osgDB::' unnecessary and considered an error by - many compilers. - [src/osgDB/InputStream.cpp:553]: (error) Memory leak: data - [src/osgDB/OutputStream.cpp:393]: (error) Memory leak: data - [src/osgPlugins/Inventor/ConvertToInventor.cpp:656]: (error) - Mismatching allocation and deallocation: tmpArray - [src/osgPlugins/Inventor/ReaderWriterIV.cpp:237]: (error) Common - realloc mistake: 'buf' nulled but not freed upon failure - [src/osgPlugins/OpenFlight/expGeometryRecords.cpp:167]: - (portability) Extra qualification 'flt::' unnecessary and - considered an error by many compilers. - [src/osgPlugins/OpenFlight/expGeometryRecords.cpp:373]: - (portability) Extra qualification 'flt::' unnecessary and - considered an error by many compilers. - [src/osgPlugins/cfg/CameraConfig.cpp:635]: (error) Unusual - pointer arithmetic - [src/osgPlugins/freetype/FreeTypeLibrary.cpp:122]: (error) Memory - leak: buffer - [src/osgPlugins/geo/ReaderWriterGEO.cpp:210]: (error) Possible - null pointer dereference: gfd - otherwise it is redundant to - check if gfd is null at line 211 - [src/osgPlugins/geo/ReaderWriterGEO.cpp:227]: (error) Possible - null pointer dereference: gfd - otherwise it is redundant to - check if gfd is null at line 228 - [src/osgPlugins/geo/ReaderWriterGEO.cpp:903]: (error) Possible - null pointer dereference: gfd - otherwise it is redundant to - check if gfd is null at line 904 - [src/osgPlugins/geo/osgGeoNodes.h:180]: (error) Memory leak: - geoHeaderGeo::intVars - [src/osgPlugins/geo/osgGeoNodes.h:181]: (error) Memory leak: - geoHeaderGeo::useVars - [src/osgPlugins/geo/osgGeoNodes.h:182]: (error) Memory leak: - geoHeaderGeo::extVars - [src/osgPlugins/md2/ReaderWriterMD2.cpp:180]: (error) Memory - leak: mapbase - [src/osgPlugins/md2/ReaderWriterMD2.cpp:166]: (error) Resource - leak: file_fd - [src/osgPlugins/pic/ReaderWriterPIC.cpp:152]: (error) Mismatching - allocation and deallocation: tmpbuf - [src/osgPlugins/pic/ReaderWriterPIC.cpp:153]: (error) Mismatching - allocation and deallocation: buffer - [src/osgPlugins/ply/plyfile.cpp:843]: (error) Memory leak: - plyfile - [src/osgPlugins/pvr/ReaderWriterPVR.cpp:179]: (error) Memory - leak: imageData - [src/osgPlugins/shp/ESRIShapeParser.cpp:29]: (error) Resource - leak: fd - [src/osgPlugins/shp/XBaseParser.cpp:96]: (error) Resource leak: - fd - [src/osgPlugins/zip/unzip.cpp:3158]: (error) Possible null - pointer dereference: s - otherwise it is redundant to check if s - is null at line 3159 - [src/osgPlugins/zip/unzip.cpp:4155]: (error) Dangerous usage of - 'rd' (strncpy doesn't always 0-terminate it) - [src/osgShadow/MinimalCullBoundsShadowMap.cpp:334]: (error) - Possible null pointer dereference: rl - otherwise it is redundant - to check if rl is null at line 331 - [src/osgViewer/ScreenCaptureHandler.cpp:617]: (error) Possible - null pointer dereference: camera - otherwise it is redundant to - check if camera is null at line 611 - [src/osgViewer/ScreenCaptureHandler.cpp:632]: (error) Possible - null pointer dereference: camera - otherwise it is redundant to - check if camera is null at line 626 - [src/osgVolume/Locator.cpp:209]: (error) Dangerous iterator usage - after erase()-method. - [src/osgVolume/RayTracedTechnique.cpp:274]: (error) Possible null - pointer dereference: imageLayer - otherwise it is redundant to - check if imageLayer is null at line 259 - [src/osgVolume/RayTracedTechnique.cpp:275]: (error) Possible null - pointer dereference: imageLayer - otherwise it is redundant to - check if imageLayer is null at line 259 - [src/osgWrappers/serializers/osg/ShaderBinary.cpp:28]: (error) - Mismatching allocation and deallocation: data +Mon, 8 Aug 2011 17:00:55 +0000 +Checked in by : Robert Osfield +Further work on basic ViewDependentShadowMaps, adding implementation of RTT camera and texgen setup. -2011-06-20 14:09 robert +Sun, 7 Aug 2011 15:54:21 +0000 +Checked in by : Robert Osfield +From Jean-Sebestien Guay and Robert Osfield, mixture of two sets of change - one from JS that adds more controls for specifying positional and spot lights, and from RO adding support for the new ViewDepedentShadowMap - * Removed unneccesary namespace qualifiers, and issue picked out by - cppcheck. +Sun, 7 Aug 2011 15:51:54 +0000 +Checked in by : Robert Osfield +Preliminary work on new ViewDependentShadowMap base class -2011-06-20 12:36 robert +Fri, 29 Jul 2011 11:22:32 +0000 +Checked in by : Robert Osfield +Commented out the colorAmbientEmissive += gl_FrontLightProduct[0].ambient; line from the fragment shader as it was causing problems with the shadowed region being sporadically lit when using a spotlight. - * From Farshid Lashkari, BGR write support for BMP, PNG and TGA +Fri, 29 Jul 2011 07:42:55 +0000 +Checked in by : Robert Osfield +Fixed comment on end barrier position. -2011-06-20 11:25 robert +Thu, 28 Jul 2011 16:40:28 +0000 +Checked in by : Robert Osfield +Improved handling of the scaling of dicom imagery. - * Added catch for window manager doesn't set the window size to - full screen. +Thu, 28 Jul 2011 12:07:22 +0000 +Checked in by : Robert Osfield +Refectored the EGL setup so that it's honours the Traits values. -2011-06-20 09:28 robert +Thu, 28 Jul 2011 11:05:10 +0000 +Checked in by : Robert Osfield +Reverted the change to the default setting of _resizeNonPowerOfTwoHint back to true for all platforms to ensure the same behaivour across platforms, something that can be achieved now thanks to the integrated GLU library.Corrected the default of the ResizeNonPowerOfTwoHint to true to reflect the actual default setting set by the +Texture default constructor. - * Added check against Traits::overrideRedirct to prevent the - fullscreen workaround being run when overrideRedirect - is on as overrideRedirect switches off the window managers - ability to manage the fullscreen so the problem doesn't - need working around. -2011-06-20 09:22 robert - * Introduced a workaround for fullscreen toggle issues under modern - X11 window managers. +Thu, 28 Jul 2011 08:19:29 +0000 +Checked in by : Robert Osfield +From Johannes Baeuerle, "in the file src/osgDB/ObjectWrapper.cpp, where the GlobalLookupTable for gl enums for serialization purposes is defined, some of the compressed texture formats are missing. I added enums for the pvr and etc formats." -2011-06-20 09:20 robert +Thu, 28 Jul 2011 07:46:05 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "Here is a small fix for getCameraContainingPosition. getXMin was being used in a case where getYMin should be used instead." - * Added sleep before window resizing to make it less likely that - the previous frames rendering traversal is still - running when the window(s) is resized, something that creates - what looks like a glitch in rendering. +Mon, 25 Jul 2011 17:07:56 +0000 +Checked in by : Robert Osfield +Fixed stats bug where not all stats fields were being collected by the cull_draw() method used in the SingleThreaded and CullDrawThreadPerContext threading models. -2011-06-19 19:16 robert +Fri, 22 Jul 2011 09:27:41 +0000 +Checked in by : Robert Osfield +From Alexander Irion, "Texture borders are not supported in ES._isTextureBorderClampSupported is set to "TRUE" in Texture.cpp, because of the version number check (GL VERSION >= 1.3). - * From Torben Dannhauer, "Just in time for OSG 3.0 I will present - an updated 3rdParty package for VS2008 , which includes some - updated libraries (libcurl, freetype, jpeg). It also provides now - all debug databases (*.pdb), so all the annoying compile warnings - about missing .pdb files are gone. - - I extended the CMAKE module to find the new library." +This leads to an invalid enum error, when GL_TEXTURE_BORDER_COLOR is tried to set. +" -2011-06-17 16:55 robert - * Updated version to 3.1.0 in prep for the first developer release - for 3.x series -2011-06-17 12:57 robert +Fri, 22 Jul 2011 08:25:29 +0000 +Checked in by : Robert Osfield +In the RecordCameraPathhandler fixed the handling of pressing 'Z' before 'z' which was causing the view to be reset to 0,0,0 by AnimationPathManipualtor with an empty AnimationPath. - * Added extern "C" to fix build issues under OSX +Thu, 21 Jul 2011 09:55:03 +0000 +Checked in by : Robert Osfield +Fixed typo -2011-06-17 12:31 robert +Thu, 21 Jul 2011 09:07:22 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "I have attached an updated version of the VRML2 loader. That change is the result of the '[osgPlugins] VRML plugin - "file" url' discussion on osg-users.The attached change avoids rewriting file names into some kind of file urls +and then use the url for opening an fstream. Instead just use the given file +name to open the stream. +Also this change adds some Notify output for the error paths. +" - * Updated ChangeLog, NEWS and READE for 3.0.0-rc1 -2011-06-17 11:47 robert - * Updated version number +Thu, 21 Jul 2011 08:52:02 +0000 +Checked in by : Robert Osfield +From Wang Rui, "This fixes a small problem in the FindFBX file. In CMake scripts, VS2010 is not marked as MSVC100 but MSVC10. And CMake defines MSVC_VERSION instead of MSVC_VER to indicate the version number. The modification can find fbx sdk for VS2010 automatically now. " -2011-06-17 11:47 robert +Wed, 20 Jul 2011 10:17:19 +0000 +Checked in by : Robert Osfield +From Claus Scheiblauer, fixed handling of horizontal mouse wheel events. - * Fixed Jorge Izquierdo name. +Wed, 20 Jul 2011 09:10:32 +0000 +Checked in by : Robert Osfield +Introduced workaround for problem of text that is scaled in screen coords, but hasn't been rendered yet so doesn't have knowledge of screen space yet, so assume that scaling is 1 rather than 0 as was previously assumed in the previous handling of screen space text. -2011-06-17 11:02 robert +Mon, 18 Jul 2011 12:41:22 +0000 +Checked in by : Robert Osfield +Added doxygen comments explaining read file callback functionality. - * Updated OpenThreads version number for stable release +Mon, 18 Jul 2011 09:40:58 +0000 +Checked in by : Robert Osfield +Changed the HAVE_CONFIG_H guard so that it uses #ifndef _MSC_VER rather than _WIN32 to avoid problems with Mingw and Cygwin builds of DCMTK. -2011-06-17 10:35 robert +Sun, 17 Jul 2011 16:24:47 +0000 +Checked in by : Robert Osfield +From Alberto Luacas, typo fixes - * Tempory fix for static build of Present3D which disables the use - of ffmpeg when compiling static, will need to - look into unresolved symbols assoiated with FFMPEG at a later - date. +Sun, 17 Jul 2011 10:30:40 +0000 +Checked in by : Robert Osfield +From Wang Rui, improved the handling of the _preReadString within the readWrappedString method by factoring the reading of the next character into a dedicated getCharacter(..) method. -2011-06-17 09:20 robert +Fri, 15 Jul 2011 10:24:23 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've found that the latest ffmpeg made some functions and macros deprecated, which led to compilation errors in the OSG plugin. I tried fixing them and tested with the version ffmpeg-git-5d4fd1d (ffmpeg version > 0.8, libavcodec = 53.7.0) under Windows. " - * Updated AUTHORS file for 3.0.0-rc1 +Fri, 15 Jul 2011 10:22:44 +0000 +Checked in by : Cedric Pinson +Fix crash in osgAnimation when keyframe container are empty -2011-06-17 09:19 robert +Fri, 15 Jul 2011 09:47:34 +0000 +Checked in by : Robert Osfield +From Sukender, Fix for compile errors "public: static char const * const osg::ValueObjectClassNameTrait< xxx >::s_className" already defined in xxx.obj" - * Updated ChangeLog +Fri, 15 Jul 2011 09:14:16 +0000 +Checked in by : Robert Osfield +From Wang Rui,"The files attached should be separately put into the directories src/osgPlugins/osg and src/osgWrappers/serializers/osgSim. They fix a serious infinite loop problem that may be caused by the stream buffer mechanism under Windows and some osgSim wrapper bugs pointed by Andreas. I've asked the community to help test them and hope now we can solve these recent .osgt file reading issues." -2011-06-17 09:05 robert +Fri, 15 Jul 2011 08:43:47 +0000 +Checked in by : Robert Osfield +From Ryan Pavlik, "Fix inventor state copy constructor. Clang warning: + In file included from src/osgPlugins/Inventor/ConvertToInventor.cpp:80: + src/osgPlugins/Inventor/ConvertToInventor.h:117:71: warning: field is uninitialized when used here [-Wuninitialized] + osgTexGenS(s.osgTexGenS), osgTexGenT(s.osgTexGenT), osgTexGen(osgTexGen), + ^" - * From Jan Peciva, "sending updated version of StencilTwoSided. - It supports now even GL_ATI_separate_stencil extension and there - are more - OSG_INFOs to see, which API is used." -2011-06-17 09:02 robert - * Updated version number of 3.0.0-rc1 +Fri, 15 Jul 2011 08:32:04 +0000 +Checked in by : Robert Osfield +From Philip Lamp, submitted by Stephan Huber, "Modify the ReaderWriteImageIO_IOS to correctly handle relative paths when reading from a file. This means that no longer do all image files have to live at the root of the Resources folder inside the app bundle, but can now be organized inside folders. Also improved error handling and fixed a potential leak of a CGColorSpaceRef each once per image load." -2011-06-17 08:47 robert +Fri, 15 Jul 2011 08:16:58 +0000 +Checked in by : Robert Osfield +Converted tabs to four spaces - * Added GLES version checks to prevent build problems under GLES1 - and GLES2 +Tue, 28 Jun 2011 07:54:00 +0000 +Checked in by : Robert Osfield +Merged the OSG-3.0 branch versions of into svn/trunk. -2011-06-17 08:42 robert +Tue, 28 Jun 2011 07:23:52 +0000 +Checked in by : Robert Osfield +Added #if lib curl version check around #include as this header was deprecated and now removed entirely from libcurl-7.21.7. - * Refined the version checking +Tue, 28 Jun 2011 07:22:09 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've found a small problem which causes crashes in the 3ds plugin while trying to load a model. The fix here will ensure that the texture map is valid and everything could work well then." -2011-06-17 08:41 robert +Mon, 27 Jun 2011 21:33:38 +0000 +Checked in by : Robert Osfield +Tweaked the comments - * Build fix +Mon, 27 Jun 2011 21:32:20 +0000 +Checked in by : Robert Osfield +From Jean-Sebestien Guay, workaround for bug under windows with the seek implementation when handling ascii files with unix file endings. -2011-06-17 08:26 robert +Mon, 27 Jun 2011 15:43:33 +0000 +Checked in by : Robert Osfield +Updated NEWS and fixed typo in Contributors. - * From Ulrich Hertlein, "the OS X/Cocoa implementation logs some - debug junk on every key stroke. The attached - patch removes this." +Mon, 27 Jun 2011 10:20:37 +0000 +Checked in by : Robert Osfield +Fixed typo -2011-06-17 08:15 robert +Mon, 27 Jun 2011 10:19:44 +0000 +Checked in by : Robert Osfield +Improved the setContextID doxygen comment. - * From Jorge Ciges, "This is one of those bugs that you don't find - until you try to compile under another pc that doesn't have Cmake - 2.8." +Sat, 25 Jun 2011 20:51:58 +0000 +Checked in by : Robert Osfield +From Andreas Eskland, "I found that a binary PNM file couldn't be read by the PNM plugin in the 3.0 branch. Attached is a small fix in ReaderWriterPNM.cpp, simply opening the file in binary mode." -2011-06-17 06:22 robert +Sat, 25 Jun 2011 11:00:33 +0000 +Checked in by : Robert Osfield +Fixed memory growth issue when using Texture2D::SubloadCallbacks that don't set the TextureObjects sizes. - * Fixed warning +Sat, 25 Jun 2011 07:07:16 +0000 +Checked in by : Robert Osfield +Tightened up float usage. -2011-06-17 06:09 robert +Fri, 24 Jun 2011 19:17:25 +0000 +Checked in by : Robert Osfield +Tightened up the float/double usage - * Fixed warnings +Fri, 24 Jun 2011 16:15:47 +0000 +Checked in by : Robert Osfield +Removed redundent assert and associated variables to fix warnings. -2011-06-17 05:57 robert +Fri, 24 Jun 2011 15:04:16 +0000 +Checked in by : Robert Osfield +Implemented missing writeShader - * Added disabling of VisualStudio warning C4324 : structure was - padded due to __declspec(align()) +Fri, 24 Jun 2011 13:35:20 +0000 +Checked in by : Robert Osfield +From Martin Innus, fixed erroneous change of INTEGER to UNKNOWN, reverting back to INTEGER. -2011-06-16 18:43 robert +Fri, 24 Jun 2011 12:40:18 +0000 +Checked in by : Robert Osfield +Implemented missing Archive::readShader/writeShader, and added searching of the archive list in Registr::read() so that files that are stored in the archives can be found. - * Fixed warnings. +Fri, 24 Jun 2011 08:32:25 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "While we're on osgSim/ShapeAttribute, here's a fix that fixes the 'UNKNOW' typo and some doxygen" -2011-06-16 18:25 robert +Fri, 24 Jun 2011 08:13:58 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've modified the code to handle -1.#IND and other kinds of infinite values. Please see the attachments for details" - * Added support for new InternalTextureFormatModes +Fri, 24 Jun 2011 08:05:54 +0000 +Checked in by : Robert Osfield +Added operator ==, != and < to fix VS build -2011-06-16 18:12 robert +Thu, 23 Jun 2011 19:58:52 +0000 +Checked in by : Robert Osfield +Fixed warnings generated by clang,src/osgAnimation/Skeleton.cpp:25:87: warning: addition of default argument on redeclaration makes this constructor a copy constructor [-Wdefault-arg-special-member] +Skeleton::UpdateSkeleton::UpdateSkeleton(const UpdateSkeleton& us, const osg::CopyOp& copyop= osg::CopyOp::SHALLOW_COPY) : osg::Object(us, copyop), osg::NodeCallback(us, copyop) - * Added wider file extension support to - ExternalFileWriter::generateObjectName +/src/OpenThreads/pthreads/PThread.cpp:1024:15: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] + if (cpunum<0) return -1; -2011-06-16 16:02 robert +src/osgDB/ExternalFileWriter.cpp:221:122: warning: expression result unused [-Wunused-value] + _objects.insert(ObjectsSet::value_type(&obj, ObjectData(absoluteDestinationPath, relativeDestinationPath, written))).first; - * From Farshid Lashkari, "Attached is a small patch that adds - support for writing BGR images to the DDS plugin." +src/osgManipulator/Dragger.cpp:175:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] + if (*itr = constraint) return; -2011-06-16 16:00 robert +src/osgManipulator/Dragger.cpp:187:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] + if (*itr = constraint) - * From John Cummings, "While testing recent OSG developer releases - and the subversion trunk, I - have noticed that on my 64-bit Linux machines, all of the OSG - libraries - get installed into the "lib64" directory as I would expect. - However, the - OpenThreads library gets installed into the "lib" directory when - selecting "Build OpenThreads with Qt threading support." That is, - with - the BUILD_OPENTHREADS_WITH_QT set to ON. - - I am attaching the a fix for this issue in the file: - - src/OpenThreads/qt/CMakeLists.txt - - It simply adds ${LIB_POSTFIX} to the destination as in done with - all - other CMakeLists.txt with libraries in OSG. I have tested it on - both - 32-bit and 64-bit Linux." -2011-06-16 15:57 robert - * Windows warning fixes -2011-06-16 13:00 robert +Thu, 23 Jun 2011 18:24:07 +0000 +Checked in by : Robert Osfield +Warning fixes for:OpenSceneGraph/src/osgPlugins/Inventor/ConvertFromInventor.cpp: In member function ?virtual SbBool SoVRMLImageTextureOsg::readInstance(SoInput*, short unsigned int)?: +OpenSceneGraph/src/osgPlugins/Inventor/ConvertFromInventor.cpp:1264:16: warning: variable ?retval? set but not used [-Wunused-but-set-variable] +OpenSceneGraph/src/osgPlugins/ac/Geode.cpp: In member function ?void ac3d::Geode::ProcessGeometry(std::ostream&, unsigned int)?: +OpenSceneGraph/src/osgPlugins/ac/Geode.cpp:806:35: warning: variable ?fRep_s? set but not used [-Wunused-but-set-variable] +OpenSceneGraph/src/osgPlugins/ac/Geode.cpp:806:43: warning: variable ?fRep_t? set but not used [-Wunused-but-set-variable] +OpenSceneGraph/src/osgPlugins/ac/Geode.cpp:807:35: warning: variable ?fOffset_s? set but not used [-Wunused-but-set-variable] +OpenSceneGraph/src/osgPlugins/ac/Geode.cpp:807:46: warning: variable ?fOffset_t? set but not used [-Wunused-but-set-variable] +OpenSceneGraph/src/osgViewer/GraphicsWindowX11.cpp: In member function ?virtual void osgViewer::GraphicsWindowX11::checkEvents()?: +OpenSceneGraph/src/osgViewer/GraphicsWindowX11.cpp:1181:10: warning: variable ?destroyWindowRequested? set but not used [-Wunused-but-set-variable] - * Fixed indentation issues -2011-06-16 10:05 robert - * Improved indentation. -2011-06-16 08:59 robert - * Replaced tabs with four spaces +Thu, 23 Jun 2011 16:36:36 +0000 +Checked in by : Robert Osfield +Fixed virtual method mismtaches between subclasses and parent classes. -2011-06-16 08:46 robert +Thu, 23 Jun 2011 15:42:45 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, build fix for OSX. - * From Jean-Christophe Lombardo, "On Fedora 14, dcmtk libs are - under /usr/lib/dcmtk. I've added a PATH_SUFFIX to take that into - account" +Thu, 23 Jun 2011 15:37:35 +0000 +Checked in by : Robert Osfield +Added better handling of archives in ReaderWriterZip::readNode() so that if there is no master file definition it loads all the available nodes in the zip archive and returns an osg::Group containing all the nodes if there is more than one, or just returns the node if there is just one. Also implemented this functionality for ReaderWriterZip::readImage(). -2011-06-15 18:31 robert +Thu, 23 Jun 2011 12:24:47 +0000 +Checked in by : Robert Osfield +Fixed typo in name - * Improved the handling of compiling vs flushing deleted objects +Thu, 23 Jun 2011 11:27:23 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file -2011-06-15 17:00 robert +Thu, 23 Jun 2011 11:26:51 +0000 +Checked in by : Robert Osfield +Fixed name typo - * Changed the key handling code to use EventQueue::getTime() rather - then the theEvent timestamp. +Thu, 23 Jun 2011 11:09:49 +0000 +Checked in by : Robert Osfield +Fixed warnings.OpenSceneGraph/src/osgGA/NodeTrackerManipulator.cpp:32:1: warning: base class ?class osg::Object? should be explicitly initialized in the copy constructor +OpenSceneGraph/src/osgGA/TerrainManipulator.cpp:31:1: warning: base class ?class osg::Object? should be explicitly initialized in the copy constructor +OpenSceneGraph/include/osgSim/ShapeAttribute:99:9: warning: base class ?class std::vector? should be explicitly initialized in the copy constructor +OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: missing initializer for member ?unz_s::gi? +OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: missing initializer for member ?unz_s::byte_before_the_zipfile? +OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: missing initializer for member ?unz_s::num_file? +OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: missing initializer for member ?unz_s::pos_in_central_dir? +OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: missing initializer for member ?unz_s::current_file_ok? +OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: missing initializer for member ?unz_s::central_pos? +OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: missing initializer for member ?unz_s::size_central_dir? +OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: missing initializer for member ?unz_s::offset_central_dir? +OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: missing initializer for member ?unz_s::cur_file_info? +OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: missing initializer for member ?unz_s::cur_file_info_internal? +OpenSceneGraph/src/osgPlugins/zip/unzip.cpp:3102:14: warning: missing initializer for member ?unz_s::pfile_in_zip_read? +OpenSceneGraph/src/osgViewer/CompositeViewer.cpp:30:1: warning: base class ?class osg::Object? should be explicitly initialized in the copy constructor +OpenSceneGraph/src/osgViewer/View.cpp:159:1: warning: base class ?class osg::Object? should be explicitly initialized in the copy constructor +OpenSceneGraph/src/osgViewer/Viewer.cpp:196:1: warning: base class ?class osg::Object? should be explicitly initialized in the copy constructor +OpenSceneGraph/src/osgViewer/Viewer.cpp:196:1: warning: base class ?class osgViewer::ViewerBase? should be explicitly initialized in the copy constructor +OpenSceneGraph/include/osgManipulator/Dragger:47:9: warning: base class ?class osg::Object? should be explicitly initialized in the copy constructor -2011-06-15 09:36 robert - * Fixed blitting of FBO's with multiple render targets. -2011-06-15 09:35 robert - * From Anthousis Andreadis, added multiple sampling test for - multiple rendering targets which is activated by the --ms command - line option. +Thu, 23 Jun 2011 09:26:27 +0000 +Checked in by : Robert Osfield +From Ryan Pavlik, "I have successfully compiled OpenSceneGraph trunk using the Clang compiler (using a recent trunk build of llvm and clang, haven't tested an older release). The attached files contain the change shown in the diff below, which was required to finish the build with Clang. It fixes an issue with two-phase name lookup - there's more information here http://blog.llvm.org/2009/12/dreaded-two-phase-name-lookup.html " -2011-06-14 18:10 robert +Thu, 23 Jun 2011 09:22:23 +0000 +Checked in by : Robert Osfield +From Dimi Christopoulos, "I attach a fixed version of mipmap.cpp which produced a lot of warning on my gcc compiler." - * From Jorge Ciges, "Update to FindAndroidNDK to make it use the - latest Ndk (r5c) automatically. - - That fixes compatibilities with some 2.1 devices. And it looks - like all goes well." +Thu, 23 Jun 2011 07:13:13 +0000 +Checked in by : Robert Osfield +Converted tabs to four spaces -2011-06-14 16:54 robert +Wed, 22 Jun 2011 16:18:34 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "I have recently installed the latest version of collada-dom on Linux, and found that the include path has changed. By default, collada-dom now installs its header files under /usr/local/include/collada-dom or/usr/include/collada- dom. The attached FindCollada.cmake has been updated to look for these locations in addition to the previous candidate locations." - * Replaced .osg with .osgt file usage +Wed, 22 Jun 2011 12:30:01 +0000 +Checked in by : Robert Osfield +Resolved warnings reported by g++ 4.6's -Wunused-but-set-variable.Warnings were: -2011-06-14 16:50 robert +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osg/ShapeDrawable.cpp: In member function â€void PrimitiveShapeVisitor::createHalfSphere(unsigned int, unsigned int, float, int, float, const Matrix&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osg/ShapeDrawable.cpp:1409:11: warning: variable â€nzBase’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osg/ShapeDrawable.cpp:1410:11: warning: variable â€nRatioBase’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgUtil/DelaunayTriangulator.cpp: In function â€osgUtil::Triangle_list osgUtil::fillHole(osg::Vec3Array*, std::vector >)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgUtil/DelaunayTriangulator.cpp:569:27: warning: variable â€ptest’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgUtil/DelaunayTriangulator.cpp: In member function â€bool osgUtil::DelaunayTriangulator::triangulate()’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgUtil/DelaunayTriangulator.cpp:979:45: warning: variable â€curp’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgUtil/RenderStage.cpp: In member function â€void osgUtil::RenderStage::runCameraSetUp(osg::RenderInfo&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgUtil/RenderStage.cpp:631:18: warning: variable â€stencilAttached’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgText/FadeText.cpp: In member function â€void FadeTextPolytopeData::buildPolytope()’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgText/FadeText.cpp:74:20: warning: variable â€edge23’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgText/FadeText.cpp:75:20: warning: variable â€edge30’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgText/Text.cpp: In member function â€void osgText::Text::computeBackdropPositions(unsigned int) const’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgText/Text.cpp:747:10: warning: variable â€is_valid_size’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgGA/NodeTrackerManipulator.cpp: In member function â€virtual bool osgGA::NodeTrackerManipulator::performMovementLeftMouseButton(double, double, double)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgGA/NodeTrackerManipulator.cpp:257:21: warning: variable â€lookVector’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgGA/NodeTrackerManipulator.cpp:259:21: warning: variable â€upVector’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgGA/TerrainManipulator.cpp: In member function â€virtual bool osgGA::TerrainManipulator::performMovementMiddleMouseButton(double, double, double)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgGA/TerrainManipulator.cpp:217:11: warning: variable â€lookVector’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgGA/TerrainManipulator.cpp:219:11: warning: variable â€upVector’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgVolume/FixedFunctionTechnique.cpp: In member function â€virtual void osgVolume::FixedFunctionTechnique::init()’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgVolume/FixedFunctionTechnique.cpp:124:30: warning: variable â€tf’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgParticle/FluidProgram.cpp: In member function â€virtual void osgParticle::FluidProgram::execute(double)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgParticle/FluidProgram.cpp:38:23: warning: variable â€velBefore’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgShadow/ParallelSplitShadowMap.cpp: In member function â€virtual void osgShadow::ParallelSplitShadowMap::cull(osgUtil::CullVisitor&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgShadow/ParallelSplitShadowMap.cpp:593:22: warning: variable â€bb’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgTerrain/GeometryTechnique.cpp: In member function â€virtual void osgTerrain::GeometryTechnique::generateGeometry(osgTerrain::GeometryTechnique::BufferData&, osgTerrain::Locator*, const osg::Vec3d&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgTerrain/GeometryTechnique.cpp:777:12: warning: variable â€i_sampleFactor’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgTerrain/GeometryTechnique.cpp:778:12: warning: variable â€j_sampleFactor’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/dds/ReaderWriterDDS.cpp: In function â€osg::Image* ReadDDSFile(std::istream&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/dds/ReaderWriterDDS.cpp:314:10: warning: variable â€is3dImage’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/dds/ReaderWriterDDS.cpp: In function â€bool WriteDDSFile(const osg::Image*, std::ostream&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/dds/ReaderWriterDDS.cpp:721:10: warning: variable â€is3dImage’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/hdr/hdrloader.cpp: In static member function â€static bool HDRLoader::load(const char*, bool, HDRLoaderResult&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/hdr/hdrloader.cpp:101:10: warning: variable â€cmd’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/vtf/ReaderWriterVTF.cpp: In function â€osg::Image* ReadVTFFile(std::istream&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/vtf/ReaderWriterVTF.cpp:360:23: warning: variable â€base’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/jp2/ReaderWriterJP2.cpp: In function â€int putdata(jas_stream_t*, jas_image_t*, int)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/jp2/ReaderWriterJP2.cpp:41:13: warning: variable â€linelen’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/Inventor/ConvertToInventor.cpp: In member function â€void ConvertToInventor::processGeometry(const osg::Geometry*, ConvertToInventor::InventorState*)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/Inventor/ConvertToInventor.cpp:1639:10: warning: variable â€ok’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/Inventor/ConvertFromInventor.cpp: In member function â€virtual SbBool SoVRMLImageTextureOsg::readInstance(SoInput*, short unsigned int)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/Inventor/ConvertFromInventor.cpp:1264:16: warning: variable â€retval’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/OpenFlight/GeometryRecords.cpp: In member function â€virtual void flt::Face::readRecord(flt::RecordInputStream&, flt::Document&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/OpenFlight/GeometryRecords.cpp:369:19: warning: variable â€secondaryPackedColor’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/OpenFlight/GeometryRecords.cpp: In member function â€virtual void flt::Mesh::readRecord(flt::RecordInputStream&, flt::Document&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/OpenFlight/GeometryRecords.cpp:942:19: warning: variable â€secondaryPackedColor’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/OpenFlight/ReaderWriterFLT.cpp: In member function â€virtual osgDB::ReaderWriter::ReadResult FLTReaderWriter::readNode(std::istream&, const Options*) const’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/OpenFlight/ReaderWriterFLT.cpp:427:40: warning: variable â€pos’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ive/ShapeAttributeList.cpp: In member function â€void ive::ShapeAttributeList::write(ive::DataOutputStream*)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ive/ShapeAttributeList.cpp:31:48: warning: variable â€it’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ac/Geode.cpp: In member function â€void ac3d::Geode::ProcessGeometry(std::ostream&, unsigned int)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ac/Geode.cpp:806:35: warning: variable â€fRep_s’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ac/Geode.cpp:806:43: warning: variable â€fRep_t’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ac/Geode.cpp:807:35: warning: variable â€fOffset_s’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ac/Geode.cpp:807:46: warning: variable â€fOffset_t’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/ac/Geode.cpp:932:38: warning: variable â€primLength’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/txp/trpage_geom.cpp: In member function â€virtual bool trpgGeometry::Write(trpgWriteBuffer&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/txp/trpage_geom.cpp:615:19: warning: variable â€u’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/txp/trpage_material.cpp: In member function â€int trpgMatTable::AddMaterial(const trpgMaterial&, bool)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/txp/trpage_material.cpp:103:10: warning: variable â€spaceInTable’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/txp/trpage_rarchive.cpp: In member function â€virtual bool trpgr_Archive::ReadHeader(bool)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/txp/trpage_rarchive.cpp:261:14: warning: variable â€headerHasTexTable’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/zip/unzip.cpp: In member function â€ZRESULT TUnzip::Get(int, ZIPENTRY*)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/zip/unzip.cpp:4055:8: warning: variable â€hidden’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/zip/unzip.cpp:4055:22: warning: variable â€system’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/zip/unzip.cpp:4055:36: warning: variable â€archive’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/zip/ZipArchive.cpp: In member function â€virtual bool ZipArchive::getFileNames(osgDB::Archive::FileNameList&) const’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/zip/ZipArchive.cpp:91:37: warning: variable â€iterEnd’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/pvr/ReaderWriterPVR.cpp: In member function â€osgDB::ReaderWriter::ReadResult ReaderWriterPVR::readPVRStream(std::istream&) const’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/pvr/ReaderWriterPVR.cpp:155:14: warning: variable â€hasAlpha’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgViewer/View.cpp: In function â€osg::Geometry* create3DSphericalDisplayDistortionMesh(const Vec3&, const Vec3&, const Vec3&, double, double, osg::Image*, const Matrix&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgViewer/View.cpp:737:15: warning: variable â€cursor’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgViewer/View.cpp: In function â€osg::Geometry* createParoramicSphericalDisplayDistortionMesh(const Vec3&, const Vec3&, const Vec3&, double, double, osg::Image*, const Matrix&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgViewer/View.cpp:1130:19: warning: variable â€cursor’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgViewer/View.cpp:1118:15: warning: variable â€dx’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgViewer/GraphicsWindowX11.cpp: In member function â€virtual void osgViewer::GraphicsWindowX11::checkEvents()’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgViewer/GraphicsWindowX11.cpp:1181:10: warning: variable â€destroyWindowRequested’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/cfg/ConfigParser.cpp: In member function â€bool osgProducer::CameraConfig::parseFile(const string&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/cfg/ConfigParser.cpp:2247:13: warning: variable â€result’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgQt/QGraphicsViewAdapter.cpp: In member function â€bool osgQt::QGraphicsViewAdapter::handlePointerEvent(int, int, int)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgQt/QGraphicsViewAdapter.cpp:344:17: warning: variable â€viewportGeometry’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgdistortion/osgdistortion.cpp: In function â€osg::Node* createDistortionSubgraph(osg::Node*, const Vec4&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgdistortion/osgdistortion.cpp:125:19: warning: variable â€cursor’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgdistortion/osgdistortion.cpp:126:19: warning: variable â€texcoord’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgdistortion/osgdistortion.cpp: In function â€osg::Geometry* createDomeDistortionMesh(const Vec3&, const Vec3&, const Vec3&, osg::ArgumentParser&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgdistortion/osgdistortion.cpp:358:15: warning: variable â€cursor’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgposter/osgposter.cpp: In function â€int main(int, char**)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgposter/osgposter.cpp:253:31: warning: variable â€outputTiles’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgthreadedterrain/osgthreadedterrain.cpp: In function â€int main(int, char**)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgthreadedterrain/osgthreadedterrain.cpp:669:10: warning: variable â€readParameter’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgtext3D/TextNode.cpp: In member function â€virtual void osgText::Layout::layout(osgText::TextNode&) const’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgtext3D/TextNode.cpp:80:11: warning: variable â€characterHeightScale’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgvolume/osgvolume.cpp: In function â€int main(int, char**)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgvolume/osgvolume.cpp:678:38: warning: variable â€internalFormatMode’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgwidgetcanvas/osgwidgetcanvas.cpp: In function â€bool windowMouseOver(osgWidget::Event&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgwidgetcanvas/osgwidgetcanvas.cpp:27:24: warning: variable â€xy’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgwidgetcanvas/osgwidgetcanvas.cpp: In function â€bool widgetMouseOver(osgWidget::Event&)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/examples/osgwidgetcanvas/osgwidgetcanvas.cpp:35:24: warning: variable â€xy’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/p3d/ReaderWriterP3D.cpp: In member function â€osg::Node* ReaderWriterP3DXML::parseXmlGraph(osgDB::XmlNode*, bool, osgDB::Options*) const’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/src/osgPlugins/p3d/ReaderWriterP3D.cpp:2121:10: warning: variable â€readSlide’ set but not used [-Wunused-but-set-variable] +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/applications/present3D/present3D.cpp: In function â€int main(int, char**)’: +/home/stephan/Dev/LibSources/OpenSceneGraph-3.0.0-rc2/applications/present3D/present3D.cpp:639:10: warning: variable â€sizesSpecified’ set but not used [-Wunused-but-set-variable] - * Improved the handling of command line parameters -2011-06-14 15:55 robert - * Updated version -2011-06-14 15:48 robert - * Added support osg::State::drawQuad(..) for number of vertices in - quads to uint range rather than just ushort range. -2011-06-14 12:44 robert +Wed, 22 Jun 2011 09:12:12 +0000 +Checked in by : Robert Osfield +Fixed regression in --run-on-demand feature - * Fixed issue with events having a negative delta of time between - them. +Tue, 21 Jun 2011 17:26:40 +0000 +Checked in by : Robert Osfield +Removed assert() that always evaluated to true. -2011-06-14 10:15 robert +Tue, 21 Jun 2011 13:01:23 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, "originally I posted the addendum of 'freetype244MT', but that was wrong. I updated it to the correct addendum of 'freetype244' yesterday, but supposedly that was not forwarded to you by the forum-to-mail-gateway.Find attached the corrected CMake module. " - * Added GLBufferObject::computeBufferAlignment(..) method to enable - buffer entries to be aligned along specified buffer alignment - boundaries, currently defaulting to 4. -2011-06-14 09:16 robert - * From Stephan Huber, "attached you'll find a fix for the - non-working useCursor()-method for - Windows. With the old code you can switch off the cursor, but not - back on." +Tue, 21 Jun 2011 10:15:03 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2011-06-14 09:11 robert +Tue, 21 Jun 2011 09:54:57 +0000 +Checked in by : Robert Osfield +Added returns to end of files - * Removed executable permission. +Tue, 21 Jun 2011 09:54:23 +0000 +Checked in by : Robert Osfield +Added return to end of file -2011-06-14 09:01 robert +Tue, 21 Jun 2011 09:53:34 +0000 +Checked in by : Robert Osfield +Conveted tabs to four spaces and added a return to end of file - * From Stephan Huber, "attached you'll find some tweaks for the - FindQuicktime and - > FindQTKit-cmake-plugins, so they get disabled for ios-builds." +Tue, 21 Jun 2011 09:29:32 +0000 +Checked in by : Michael PLATINGS +Fixed redundant "enumeration not handled in switch" warnings. Fixed a warning about a comparison between different enums - EUnifiedMappingType was being compared with EMappingType. In general the FBX SDK is moving away from Get & Set functions to giving direct access to properties, so I have changed GetMappingType() to CurrentMappingType.Get() -2011-06-13 15:20 robert +Tue, 21 Jun 2011 09:00:01 +0000 +Checked in by : Robert Osfield +Disabled VisualStudio warning warning C4611: interaction between '_setjmp' and C++ object destruction is non-portable - * Fixed wild card search when wild card filename includes a path. +Mon, 20 Jun 2011 19:15:53 +0000 +Checked in by : Robert Osfield +Fixed a range of issues reported by cppcheck:[examples/osgphotoalbum/PhotoArchive.cpp:56]: (error) Memory leak: fileIndentifier +[examples/osgphotoalbum/PhotoArchive.cpp:257]: (error) Deallocating a deallocated pointer: newData +[examples/osgphotoalbum/PhotoArchive.cpp:318]: (error) Deallocating a deallocated pointer: newData +[src/osg/ImageUtils.cpp:116]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/ImageUtils.cpp:307]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/ImageUtils.cpp:312]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/ImageUtils.cpp:367]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/ImageUtils.cpp:399]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/ImageUtils.cpp:400]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/ImageUtils.cpp:482]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/ImageUtils.cpp:483]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/ImageUtils.cpp:484]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/ImageUtils.cpp:519]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/ImageUtils.cpp:536]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/OcclusionQueryNode.cpp:71]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/OcclusionQueryNode.cpp:74]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/OcclusionQueryNode.cpp:77]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/OcclusionQueryNode.cpp:82]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/OcclusionQueryNode.cpp:102]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/OcclusionQueryNode.cpp:107]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/OcclusionQueryNode.cpp:599]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/OcclusionQueryNode.cpp:600]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/OcclusionQueryNode.cpp:601]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/OcclusionQueryNode.cpp:602]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/OcclusionQueryNode.cpp:603]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/OcclusionQueryNode.cpp:604]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/OcclusionQueryNode.cpp:605]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osg/OcclusionQueryNode.cpp:606]: (portability) Extra qualification 'osg::' unnecessary and considered an error by many compilers. +[src/osgDB/ExternalFileWriter.cpp:134]: (portability) Extra qualification 'osgDB::' unnecessary and considered an error by many compilers. +[src/osgDB/ExternalFileWriter.cpp:135]: (portability) Extra qualification 'osgDB::' unnecessary and considered an error by many compilers. +[src/osgDB/ExternalFileWriter.cpp:136]: (portability) Extra qualification 'osgDB::' unnecessary and considered an error by many compilers. +[src/osgDB/ExternalFileWriter.cpp:137]: (portability) Extra qualification 'osgDB::' unnecessary and considered an error by many compilers. +[src/osgDB/ExternalFileWriter.cpp:139]: (portability) Extra qualification 'osgDB::' unnecessary and considered an error by many compilers. +[src/osgDB/ExternalFileWriter.cpp:177]: (portability) Extra qualification 'osgDB::' unnecessary and considered an error by many compilers. +[src/osgDB/ExternalFileWriter.cpp:178]: (portability) Extra qualification 'osgDB::' unnecessary and considered an error by many compilers. +[src/osgDB/ExternalFileWriter.cpp:195]: (portability) Extra qualification 'osgDB::' unnecessary and considered an error by many compilers. +[src/osgDB/ExternalFileWriter.cpp:198]: (portability) Extra qualification 'osgDB::' unnecessary and considered an error by many compilers. +[src/osgDB/ExternalFileWriter.cpp:203]: (portability) Extra qualification 'osgDB::' unnecessary and considered an error by many compilers. +[src/osgDB/ExternalFileWriter.cpp:205]: (portability) Extra qualification 'osgDB::' unnecessary and considered an error by many compilers. +[src/osgDB/ExternalFileWriter.cpp:253]: (portability) Extra qualification 'osgDB::' unnecessary and considered an error by many compilers. +[src/osgDB/InputStream.cpp:553]: (error) Memory leak: data +[src/osgDB/OutputStream.cpp:393]: (error) Memory leak: data +[src/osgPlugins/Inventor/ConvertToInventor.cpp:656]: (error) Mismatching allocation and deallocation: tmpArray +[src/osgPlugins/Inventor/ReaderWriterIV.cpp:237]: (error) Common realloc mistake: 'buf' nulled but not freed upon failure +[src/osgPlugins/OpenFlight/expGeometryRecords.cpp:167]: (portability) Extra qualification 'flt::' unnecessary and considered an error by many compilers. +[src/osgPlugins/OpenFlight/expGeometryRecords.cpp:373]: (portability) Extra qualification 'flt::' unnecessary and considered an error by many compilers. +[src/osgPlugins/cfg/CameraConfig.cpp:635]: (error) Unusual pointer arithmetic +[src/osgPlugins/freetype/FreeTypeLibrary.cpp:122]: (error) Memory leak: buffer +[src/osgPlugins/geo/ReaderWriterGEO.cpp:210]: (error) Possible null pointer dereference: gfd - otherwise it is redundant to check if gfd is null at line 211 +[src/osgPlugins/geo/ReaderWriterGEO.cpp:227]: (error) Possible null pointer dereference: gfd - otherwise it is redundant to check if gfd is null at line 228 +[src/osgPlugins/geo/ReaderWriterGEO.cpp:903]: (error) Possible null pointer dereference: gfd - otherwise it is redundant to check if gfd is null at line 904 +[src/osgPlugins/geo/osgGeoNodes.h:180]: (error) Memory leak: geoHeaderGeo::intVars +[src/osgPlugins/geo/osgGeoNodes.h:181]: (error) Memory leak: geoHeaderGeo::useVars +[src/osgPlugins/geo/osgGeoNodes.h:182]: (error) Memory leak: geoHeaderGeo::extVars +[src/osgPlugins/md2/ReaderWriterMD2.cpp:180]: (error) Memory leak: mapbase +[src/osgPlugins/md2/ReaderWriterMD2.cpp:166]: (error) Resource leak: file_fd +[src/osgPlugins/pic/ReaderWriterPIC.cpp:152]: (error) Mismatching allocation and deallocation: tmpbuf +[src/osgPlugins/pic/ReaderWriterPIC.cpp:153]: (error) Mismatching allocation and deallocation: buffer +[src/osgPlugins/ply/plyfile.cpp:843]: (error) Memory leak: plyfile +[src/osgPlugins/pvr/ReaderWriterPVR.cpp:179]: (error) Memory leak: imageData +[src/osgPlugins/shp/ESRIShapeParser.cpp:29]: (error) Resource leak: fd +[src/osgPlugins/shp/XBaseParser.cpp:96]: (error) Resource leak: fd +[src/osgPlugins/zip/unzip.cpp:3158]: (error) Possible null pointer dereference: s - otherwise it is redundant to check if s is null at line 3159 +[src/osgPlugins/zip/unzip.cpp:4155]: (error) Dangerous usage of 'rd' (strncpy doesn't always 0-terminate it) +[src/osgShadow/MinimalCullBoundsShadowMap.cpp:334]: (error) Possible null pointer dereference: rl - otherwise it is redundant to check if rl is null at line 331 +[src/osgViewer/ScreenCaptureHandler.cpp:617]: (error) Possible null pointer dereference: camera - otherwise it is redundant to check if camera is null at line 611 +[src/osgViewer/ScreenCaptureHandler.cpp:632]: (error) Possible null pointer dereference: camera - otherwise it is redundant to check if camera is null at line 626 +[src/osgVolume/Locator.cpp:209]: (error) Dangerous iterator usage after erase()-method. +[src/osgVolume/RayTracedTechnique.cpp:274]: (error) Possible null pointer dereference: imageLayer - otherwise it is redundant to check if imageLayer is null at line 259 +[src/osgVolume/RayTracedTechnique.cpp:275]: (error) Possible null pointer dereference: imageLayer - otherwise it is redundant to check if imageLayer is null at line 259 +[src/osgWrappers/serializers/osg/ShaderBinary.cpp:28]: (error) Mismatching allocation and deallocation: data -2011-06-13 08:52 robert - * From Jeremy Moles, fixed style == operator. -2011-06-13 08:45 robert - * From Stephan Huber, build fix for IOS +Mon, 20 Jun 2011 14:09:49 +0000 +Checked in by : Robert Osfield +Removed unneccesary namespace qualifiers, and issue picked out by cppcheck. -2011-06-10 11:42 robert +Mon, 20 Jun 2011 12:36:53 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, BGR write support for BMP, PNG and TGA - * Added handling of s/gUserValue() directly on a UserDataContainer. +Mon, 20 Jun 2011 11:25:52 +0000 +Checked in by : Robert Osfield +Added catch for window manager doesn't set the window size to full screen. -2011-06-09 14:20 robert +Mon, 20 Jun 2011 09:28:39 +0000 +Checked in by : Robert Osfield +Added check against Traits::overrideRedirct to prevent the fullscreen workaround being run when overrideRedirect is on as overrideRedirect switches off the window managers ability to manage the fullscreen so the problem doesn't need working around. - * Updated ChangeLog and AUTHORS file for 2.9.16 dev release +Mon, 20 Jun 2011 09:22:57 +0000 +Checked in by : Robert Osfield +Introduced a workaround for fullscreen toggle issues under modern X11 window managers. -2011-06-09 14:11 robert +Mon, 20 Jun 2011 09:20:39 +0000 +Checked in by : Robert Osfield +Added sleep before window resizing to make it less likely that the previous frames rendering traversal is still running when the window(s) is resized, something that creates what looks like a glitch in rendering. - * From Jorge Ciges, "two clean example viewers (GLES1/2) that - permit load models withouth recompiling by options in the menu - and some basic options. basic options. - - As Rafa and I told you earlier this can't be integrated in the - CMAKE chain. It needs to be compiled by the user out of the OSG - standard compilation. It could be stored in the examples. That - way users will not come here asking for the examples. - - Main characteristics are: - - -Menu with loading and unloading by path. - -Return to home view - -Keyboard capabilities with manipilator switch and basic state - changing. - -Change color screen. - -Osg log bypassed to LogCat (This comes practically straight from - Marcin Hajder example I've only added personal TAG) - -Earmbi / Earmbi V7 - -Install to SD (if the device supports the feature) - - And that's all. Now I'm looking to fix the environmental mapping - with true GLES (it does not work well in Android) I will try to - make it in time for 3.0. The other work that i'm studying Dynamic - build with Android but that will need a lot of time to test. +Sun, 19 Jun 2011 19:16:49 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, "Just in time for OSG 3.0 I will present an updated 3rdParty package for VS2008 , which includes some updated libraries (libcurl, freetype, jpeg). It also provides now all debug databases (*.pdb), so all the annoying compile warnings about missing .pdb files are gone.I extended the CMAKE module to find the new library." -2011-06-09 12:57 robert - * Refactored the UserDataContainer so that the - osg::UserDataContainer is now a pure virtual base class, - with a osg::DefaultUserDataContainer subclassed from this. The - user object access methods have now all - been moved from osg::Object into the UserDataContainer class, - except for the set/getUserData() methods - that are left in osg::Object for backwards compatibility, and the - description list access methods have - been moved back into osg::Node. - - main UserObject access methods are now all def -2011-06-09 11:07 robert +Fri, 17 Jun 2011 16:55:49 +0000 +Checked in by : Robert Osfield +Updated version to 3.1.0 in prep for the first developer release for 3.x series - * From Mathias Froehlich, "the attached patch adds an additional - null pointer check" +Fri, 17 Jun 2011 12:57:31 +0000 +Checked in by : Robert Osfield +Added extern "C" to fix build issues under OSX -2011-06-09 11:05 robert +Fri, 17 Jun 2011 12:31:07 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, NEWS and READE for 3.0.0-rc1 - * From Mathias Froehlich, "The attached patch adds the polygon - primitive to the TangentSpace computation. - As far as I understand, this should just work for the polygon as - well as with - the tristrip primitive. - " +Fri, 17 Jun 2011 11:47:47 +0000 +Checked in by : Robert Osfield +Updated version number -2011-06-09 10:48 robert +Fri, 17 Jun 2011 11:47:33 +0000 +Checked in by : Robert Osfield +Fixed Jorge Izquierdo name. - * Changed the defaults volume setting to not enable the - SampleDensityWhenMoving property. +Fri, 17 Jun 2011 11:02:40 +0000 +Checked in by : Robert Osfield +Updated OpenThreads version number for stable release -2011-06-08 17:45 robert +Fri, 17 Jun 2011 10:35:00 +0000 +Checked in by : Robert Osfield +Tempory fix for static build of Present3D which disables the use of ffmpeg when compiling static, will need to look into unresolved symbols assoiated with FFMPEG at a later date. - * Cleaned up example to use the new ImageUtils functions for - creating a 3D image from a list of images. +Fri, 17 Jun 2011 09:20:57 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file for 3.0.0-rc1 -2011-06-08 16:10 robert +Fri, 17 Jun 2011 09:19:11 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * Added support for creating a 3D Image from an image list. - - Added support for reading a list of images in the Present3D - tag. +Fri, 17 Jun 2011 09:05:48 +0000 +Checked in by : Robert Osfield +From Jan Peciva, "sending updated version of StencilTwoSided. It supports now even GL_ATI_separate_stencil extension and there are more OSG_INFOs to see, which API is used." -2011-06-08 09:28 robert +Fri, 17 Jun 2011 09:02:22 +0000 +Checked in by : Robert Osfield +Updated version number of 3.0.0-rc1 - * Removed OSG_EXPORT +Fri, 17 Jun 2011 08:47:36 +0000 +Checked in by : Robert Osfield +Added GLES version checks to prevent build problems under GLES1 and GLES2 -2011-06-08 09:24 robert +Fri, 17 Jun 2011 08:42:54 +0000 +Checked in by : Robert Osfield +Refined the version checking - * Introduced a less conservative near ratio. +Fri, 17 Jun 2011 08:41:56 +0000 +Checked in by : Robert Osfield +Build fix -2011-06-08 09:24 robert +Fri, 17 Jun 2011 08:26:51 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "the OS X/Cocoa implementation logs some debug junk on every key stroke. The attached patch removes this." - * Simplified the osgdepthpartion example to use the - osgView::View::setUpDepthPartition(..) feature +Fri, 17 Jun 2011 08:15:18 +0000 +Checked in by : Robert Osfield +From Jorge Ciges, "This is one of those bugs that you don't find until you try to compile under another pc that doesn't have Cmake 2.8." -2011-06-07 20:24 robert +Fri, 17 Jun 2011 06:22:01 +0000 +Checked in by : Robert Osfield +Fixed warning - * Added support for reading .osg, .osgb, .osgx, .osgt and .ive - models that contain volumes from within the volume tag. +Fri, 17 Jun 2011 06:09:25 +0000 +Checked in by : Robert Osfield +Fixed warnings -2011-06-07 16:17 robert +Fri, 17 Jun 2011 05:57:29 +0000 +Checked in by : Robert Osfield +Added disabling of VisualStudio warning C4324 : structure was padded due to __declspec(align()) - * Added support for .osgt, .osgb and .osgx plugins to osgvolume - example +Thu, 16 Jun 2011 18:43:58 +0000 +Checked in by : Robert Osfield +Fixed warnings. -2011-06-07 15:33 robert +Thu, 16 Jun 2011 18:25:46 +0000 +Checked in by : Robert Osfield +Added support for new InternalTextureFormatModes - * Updated ChangeLog and AUTHORS file for release +Thu, 16 Jun 2011 18:12:55 +0000 +Checked in by : Robert Osfield +Added wider file extension support to ExternalFileWriter::generateObjectName -2011-06-07 14:28 robert +Thu, 16 Jun 2011 16:02:27 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "Attached is a small patch that adds support for writing BGR images to the DDS plugin." - * From Sukender, "Lastest change (update to FBX 2012.1) introduced - a regression. It didn't take materials' order into consideration. - The line - lMaterialLayer->GetDirectArray().SetAt(it->second.getIndex(), - lMaterial); - has been replaced by - _curFbxNode->AddMaterial(lMaterial); - because KFbxLayerElementMaterial::GetDirectArray() is now private - and we can't access to it. - However, pushing back the material at the end of the vector is - wrong. - We can use the (now) public attribute - KFbxLayerElementMaterial::mDirectArray, as in this submission. - " +Thu, 16 Jun 2011 16:00:33 +0000 +Checked in by : Robert Osfield +From John Cummings, "While testing recent OSG developer releases and the subversion trunk, I have noticed that on my 64-bit Linux machines, all of the OSG libraries get installed into the "lib64" directory as I would expect. However, the OpenThreads library gets installed into the "lib" directory when selecting "Build OpenThreads with Qt threading support." That is, with the BUILD_OPENTHREADS_WITH_QT set to ON.I am attaching the a fix for this issue in the file: -2011-06-07 14:26 robert +src/OpenThreads/qt/CMakeLists.txt - * From Mathias Froehlich, build fixes for legacy unix systems +It simply adds ${LIB_POSTFIX} to the destination as in done with all +other CMakeLists.txt with libraries in OSG. I have tested it on both +32-bit and 64-bit Linux." -2011-06-07 13:02 robert - * Added ability to subclass from osg::Object to provide custom user - data functionality. A new UserDataContainer provides the - default implementation of the user data functionality. -2011-06-07 09:28 robert +Thu, 16 Jun 2011 15:57:40 +0000 +Checked in by : Robert Osfield +Windows warning fixes - * Added the return of the index position of the added UserObject +Thu, 16 Jun 2011 13:00:28 +0000 +Checked in by : Robert Osfield +Fixed indentation issues -2011-06-07 08:53 robert +Thu, 16 Jun 2011 10:05:49 +0000 +Checked in by : Robert Osfield +Improved indentation. - * Added support for searching for user objects from a given - startPosition in the UserDataContainer object. +Thu, 16 Jun 2011 08:59:48 +0000 +Checked in by : Robert Osfield +Replaced tabs with four spaces -2011-06-06 11:48 robert +Thu, 16 Jun 2011 08:46:30 +0000 +Checked in by : Robert Osfield +From Jean-Christophe Lombardo, "On Fedora 14, dcmtk libs are under /usr/lib/dcmtk. I've added a PATH_SUFFIX to take that into account" - * From Frida Schlaug, "Imageio for ios had a poorly implemented - function for reading from streams (always returning null). In - this patch I copied some code from the non-ios imageio file and - adjusted it to work on ios. " +Wed, 15 Jun 2011 18:31:11 +0000 +Checked in by : Robert Osfield +Improved the handling of compiling vs flushing deleted objects -2011-06-06 11:45 robert +Wed, 15 Jun 2011 17:00:44 +0000 +Checked in by : Robert Osfield +Changed the key handling code to use EventQueue::getTime() rather then the theEvent timestamp. - * From Jorge Ciges, Minor tweaks in Android makefiles that make - possible to compile for armeabi v7 with neon +Wed, 15 Jun 2011 09:36:34 +0000 +Checked in by : Robert Osfield +Fixed blitting of FBO's with multiple render targets. -2011-06-06 11:44 robert +Wed, 15 Jun 2011 09:35:25 +0000 +Checked in by : Robert Osfield +From Anthousis Andreadis, added multiple sampling test for multiple rendering targets which is activated by the --ms command line option. - * From Jorge Ciges, Minor tweaks in Android makefiles that make - possible to compile for armeabi v7 with neon +Tue, 14 Jun 2011 18:10:27 +0000 +Checked in by : Robert Osfield +From Jorge Ciges, "Update to FindAndroidNDK to make it use the latest Ndk (r5c) automatically.That fixes compatibilities with some 2.1 devices. And it looks like all goes well." -2011-06-03 15:58 robert - * Added support for --tf-255 transfer function files -2011-06-03 13:47 robert +Tue, 14 Jun 2011 16:54:20 +0000 +Checked in by : Robert Osfield +Replaced .osg with .osgt file usage - * Added support for using the sampleDensityWhenMoving tag with all - techniques +Tue, 14 Jun 2011 16:50:40 +0000 +Checked in by : Robert Osfield +Improved the handling of command line parameters -2011-06-02 22:49 robert +Tue, 14 Jun 2011 15:55:36 +0000 +Checked in by : Robert Osfield +Updated version - * Added extra check to make sure that _userDataContainer was - available before copying it +Tue, 14 Jun 2011 15:48:27 +0000 +Checked in by : Robert Osfield +Added support osg::State::drawQuad(..) for number of vertices in quads to uint range rather than just ushort range. -2011-06-02 22:07 robert +Tue, 14 Jun 2011 12:44:44 +0000 +Checked in by : Robert Osfield +Fixed issue with events having a negative delta of time between them. - * Add new macro's to help with serialization of new user objects +Tue, 14 Jun 2011 10:15:12 +0000 +Checked in by : Robert Osfield +Added GLBufferObject::computeBufferAlignment(..) method to enable buffer entries to be aligned along specified buffer alignment boundaries, currently defaulting to 4. -2011-06-02 22:06 robert +Tue, 14 Jun 2011 09:16:44 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a fix for the non-working useCursor()-method for Windows. With the old code you can switch off the cursor, but not back on." - * Added new osguserdata example as a guide to the new user object - API and as a testbed +Tue, 14 Jun 2011 09:11:58 +0000 +Checked in by : Robert Osfield +Removed executable permission. -2011-06-02 22:05 robert +Tue, 14 Jun 2011 09:01:54 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find some tweaks for the FindQuicktime and > FindQTKit-cmake-plugins, so they get disabled for ios-builds." - * Added support for new osg::Object user objects. +Mon, 13 Jun 2011 15:20:48 +0000 +Checked in by : Robert Osfield +Fixed wild card search when wild card filename includes a path. -2011-06-02 22:04 robert +Mon, 13 Jun 2011 08:52:11 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, fixed style == operator. - * Introduced new user object support into osg::Object that allows - assignment of a list of user objects to an osg::Object. - - Refactored original UserData and Descriptions strings to be - managed alongside the new user object suppport within - a single osg::Object::UserDataContainer. +Mon, 13 Jun 2011 08:45:25 +0000 +Checked in by : Robert Osfield +From Stephan Huber, build fix for IOS -2011-06-02 21:32 robert +Fri, 10 Jun 2011 11:42:02 +0000 +Checked in by : Robert Osfield +Added handling of s/gUserValue() directly on a UserDataContainer. - * Updated version +Thu, 9 Jun 2011 14:20:46 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file for 2.9.16 dev release -2011-06-02 20:38 robert +Thu, 9 Jun 2011 14:11:04 +0000 +Checked in by : Robert Osfield +From Jorge Ciges, "two clean example viewers (GLES1/2) that permit load models withouth recompiling by options in the menu and some basic options. basic options.As Rafa and I told you earlier this can't be integrated in the CMAKE chain. It needs to be compiled by the user out of the OSG standard compilation. It could be stored in the examples. That way users will not come here asking for the examples. - * Added ref_ptr<> usage to avoid possible memory leak. +Main characteristics are: -2011-06-02 14:42 robert +-Menu with loading and unloading by path. +-Return to home view +-Keyboard capabilities with manipilator switch and basic state changing. +-Change color screen. +-Osg log bypassed to LogCat (This comes practically straight from Marcin Hajder example I've only added personal TAG) +-Earmbi / Earmbi V7 +-Install to SD (if the device supports the feature) - * Updated version and so number for next dev release +And that's all. Now I'm looking to fix the environmental mapping with true GLES (it does not work well in Android) I will try to make it in time for 3.0. The other work that i'm studying Dynamic build with Android but that will need a lot of time to test. -2011-05-30 15:43 robert - * Updated AUTHORS and ChangeLog for 2.9.15 dev release -2011-05-30 13:02 robert - * From Dimi Christop, build fix for RHEL 4. +Thu, 9 Jun 2011 12:57:14 +0000 +Checked in by : Robert Osfield +Refactored the UserDataContainer so that the osg::UserDataContainer is now a pure virtual base class, with a osg::DefaultUserDataContainer subclassed from this. The user object access methods have now all been moved from osg::Object into the UserDataContainer class, except for the set/getUserData() methods that are left in osg::Object for backwards compatibility, and the description list access methods have been moved back into osg::Node.main UserObject access methods are now all def -2011-05-30 09:26 robert - * Added closing of the _eventDisplay on failure of initializing the - context properly. -2011-05-30 09:25 robert +Thu, 9 Jun 2011 11:07:27 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "the attached patch adds an additional null pointer check" - * Fixed X11 related crash that occured when - GraphicsWindow::setCursor was called right after - viewer.realize(); - The fix was to simply move the setting of the thread that has - done the makeCurrent to right before the makeCurrent() - rather than right after. +Thu, 9 Jun 2011 11:05:36 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "The attached patch adds the polygon primitive to the TangentSpace computation. As far as I understand, this should just work for the polygon as well as with the tristrip primitive. " -2011-05-30 08:26 robert +Thu, 9 Jun 2011 10:48:19 +0000 +Checked in by : Robert Osfield +Changed the defaults volume setting to not enable the SampleDensityWhenMoving property. - * From Wang Rui, "The submission fixes the spelling bug we - discussed in osg-users. It - replaces the variable ACTUAL_3DPARTY_DIR to ACTUAL_3RDPARTY_DIR - with - back compatibility. Please find it in attachment. - " +Wed, 8 Jun 2011 17:45:24 +0000 +Checked in by : Robert Osfield +Cleaned up example to use the new ImageUtils functions for creating a 3D image from a list of images. -2011-05-30 08:24 robert +Wed, 8 Jun 2011 16:10:46 +0000 +Checked in by : Robert Osfield +Added support for creating a 3D Image from an image list.Added support for reading a list of images in the Present3D tag. - * From Terry Welsh, "I was having a small culling problem with - osgText... new TextBase.cpp that fixes it." -2011-05-27 16:04 robert - * Reverted part of revision r12294 that introduced threading - related problems under X11 due to checking the _display - Display member variable assigned to the graphics thread from the - main thread. +Wed, 8 Jun 2011 09:28:59 +0000 +Checked in by : Robert Osfield +Removed OSG_EXPORT -2011-05-27 11:22 robert +Wed, 8 Jun 2011 09:24:50 +0000 +Checked in by : Robert Osfield +Introduced a less conservative near ratio. - * From Ryan Pavlik, "Existing osgconv behavior is to transform the - model bounding sphere center to the world origin before - performing transformations specified on the command line, and - translating back after rotation and scaling unless an alternate - translation is specified. This patch adds a setting to the - OrientationConverter class in osgconv to disable this extra - transformation, which has the effect of applying specified - transforms with respect to the input world coordinate system, - rather than to the center of the bounding sphere. It also adds a - command line argument "--use-world-frame" to enable this - behavior. When this command line argument is not passed, behavior - is unchanged from before the patch. The usage text has been - updated to reflect this additional option, and the comments in - OrientationConverter are also updated." - - Note from Robert Osfield, tweaked the OrientationConverter.cpp a - little to improve readability. +Wed, 8 Jun 2011 09:24:29 +0000 +Checked in by : Robert Osfield +Simplified the osgdepthpartion example to use the osgView::View::setUpDepthPartition(..) feature -2011-05-27 11:18 robert +Tue, 7 Jun 2011 20:24:49 +0000 +Checked in by : Robert Osfield +Added support for reading .osg, .osgb, .osgx, .osgt and .ive models that contain volumes from within the volume tag. - * Fixed indentation +Tue, 7 Jun 2011 16:17:35 +0000 +Checked in by : Robert Osfield +Added support for .osgt, .osgb and .osgx plugins to osgvolume example -2011-05-27 11:07 robert +Tue, 7 Jun 2011 15:33:35 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file for release - * Fixed the searchAndReplace function so that it correctly skips - over the newly inserted replacement strings. +Tue, 7 Jun 2011 14:28:58 +0000 +Checked in by : Robert Osfield +From Sukender, "Lastest change (update to FBX 2012.1) introduced a regression. It didn't take materials' order into consideration. The line lMaterialLayer->GetDirectArray().SetAt(it->second.getIndex(), lMaterial); has been replaced by _curFbxNode->AddMaterial(lMaterial); because KFbxLayerElementMaterial::GetDirectArray() is now private and we can't access to it. However, pushing back the material at the end of the vector is wrong. We can use the (now) public attribute KFbxLayerElementMaterial::mDirectArray, as in this submission. " -2011-05-27 09:08 robert +Tue, 7 Jun 2011 14:26:13 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, build fixes for legacy unix systems - * From Jean-Sebastien Guay, "I like the recent addition that adds - folders in the solution tree to better organize the numerous - examples, libraries, plugins etc. - - I added two folders that were missing IMHO: packaging and - documentation. - " +Tue, 7 Jun 2011 13:02:20 +0000 +Checked in by : Robert Osfield +Added ability to subclass from osg::Object to provide custom user data functionality. A new UserDataContainer provides the default implementation of the user data functionality. -2011-05-27 09:05 robert +Tue, 7 Jun 2011 09:28:38 +0000 +Checked in by : Robert Osfield +Added the return of the index position of the added UserObject - * From Eric Sokolowsky, "Attached is an updated PNM plugin for - inclusion in both the trunk and for release version 2.8.5. The - attached file fixes numerous bugs in reading 8-bit and 16-bit - images, including loading the images upside-down. This file also - incorporates trunk patch r12220 which updated the plugin for - reading and writing images through streams instead of C-style - FILE I/O." - - Note from Robert Osfield, previous revision was in error due to - an incomplete merge, this revision completes the job. +Tue, 7 Jun 2011 08:53:03 +0000 +Checked in by : Robert Osfield +Added support for searching for user objects from a given startPosition in the UserDataContainer object. -2011-05-27 09:00 robert +Mon, 6 Jun 2011 11:48:32 +0000 +Checked in by : Robert Osfield +From Frida Schlaug, "Imageio for ios had a poorly implemented function for reading from streams (always returning null). In this patch I copied some code from the non-ios imageio file and adjusted it to work on ios. " - * From Laurens Voerman, "While working on the osg exporter for - 3dsmax I found a bug in the TriStripVisitor. I created a small - example (attached), and a modified version of - src\osgUtil\TriStripVisitor.cpp where the problem is removed." +Mon, 6 Jun 2011 11:45:25 +0000 +Checked in by : Robert Osfield +From Jorge Ciges, Minor tweaks in Android makefiles that make possible to compile for armeabi v7 with neon -2011-05-27 08:55 robert +Mon, 6 Jun 2011 11:44:21 +0000 +Checked in by : Robert Osfield +From Jorge Ciges, Minor tweaks in Android makefiles that make possible to compile for armeabi v7 with neon - * From Eric Sokolowsky, "Attached is an updated PNM plugin for - inclusion in both the trunk and for release version 2.8.5. The - attached file fixes numerous bugs in reading 8-bit and 16-bit - images, including loading the images upside-down. This file also - incorporates trunk patch r12220 which updated the plugin for - reading and writing images through streams instead of C-style - FILE I/O." +Fri, 3 Jun 2011 15:58:36 +0000 +Checked in by : Robert Osfield +Added support for --tf-255 transfer function files -2011-05-27 08:22 robert +Fri, 3 Jun 2011 13:47:59 +0000 +Checked in by : Robert Osfield +Added support for using the sampleDensityWhenMoving tag with all techniques - * Reverted Bryce Eldrige submission. +Thu, 2 Jun 2011 22:49:29 +0000 +Checked in by : Robert Osfield +Added extra check to make sure that _userDataContainer was available before copying it -2011-05-26 16:52 robert +Thu, 2 Jun 2011 22:07:16 +0000 +Checked in by : Robert Osfield +Add new macro's to help with serialization of new user objects - * Form Jorge Ciges, improved GL version detection code. +Thu, 2 Jun 2011 22:06:56 +0000 +Checked in by : Robert Osfield +Added new osguserdata example as a guide to the new user object API and as a testbed -2011-05-26 16:34 robert +Thu, 2 Jun 2011 22:05:10 +0000 +Checked in by : Robert Osfield +Added support for new osg::Object user objects. - * From Dietmar Funck, "I've noticed an issue when writing arrays of - type Vec2D and Vec3D to a .osgb file. A number is written to the - output stream to identify the array type. In case of Vec2D and - Vec3D arrays Vec4D is written as array type - I guess this is a - copy and paste mistake. - Writing the correct array types fixes the issue - in my case it - fixes writing and afterwards reading geometry instances." +Thu, 2 Jun 2011 22:04:08 +0000 +Checked in by : Robert Osfield +Introduced new user object support into osg::Object that allows assignment of a list of user objects to an osg::Object.Refactored original UserData and Descriptions strings to be managed alongside the new user object suppport within +a single osg::Object::UserDataContainer. -2011-05-26 16:26 robert - * From Bryce Eldridge, "Here is an update for the TIFF plugin that - includes the following features when writing out TIFF files: - - - Support for writing unsigned 16-bit images (GL_UNSIGNED_SHORT) - - Code to parse the options string for the following options: - -- Flag to turn off the compression. The PACKBITS compression - type causes issues for me with some programs on Windows (Picasa - for example). - -- Options to set the XRESOLUTION and YRESOLUTION tags (DPI) in - the TIFF file. - - Existing behavior (PACKBITS compression, DPI tags left at - default) is preserved if the options string is not set. - " -2011-05-26 16:19 robert +Thu, 2 Jun 2011 21:32:03 +0000 +Checked in by : Robert Osfield +Updated version - * Fixed default setting of texture_no_tile to match the flags seet - in lib3ds_material.cpp initialize_texture_map(..). +Thu, 2 Jun 2011 20:38:13 +0000 +Checked in by : Robert Osfield +Added ref_ptr<> usage to avoid possible memory leak. -2011-05-26 16:16 robert +Thu, 2 Jun 2011 14:42:21 +0000 +Checked in by : Robert Osfield +Updated version and so number for next dev release - * From Oliver Neumann, - - "I checked your solution and found one missing point which makes - it still produce the tif error: - The very first seek_set on the empty stream with zero offset." - - "This means that the empty stream is seeked again resulting in - the fail bit to be set. Your code does not check this case, - furthermore you use t_off instead of std::ostream::streampos for - the tellp() calls. In this special case (empty stream) tellp() - returns -1 which is cast to 0xFFFFFFFFFF as t_off is unsigned. I - suggest this addition to your code (within the switch statement)" +Mon, 30 May 2011 15:43:18 +0000 +Checked in by : Robert Osfield +Updated AUTHORS and ChangeLog for 2.9.15 dev release -2011-05-26 16:13 robert +Mon, 30 May 2011 13:02:13 +0000 +Checked in by : Robert Osfield +From Dimi Christop, build fix for RHEL 4. - * Fixed indentation +Mon, 30 May 2011 09:26:24 +0000 +Checked in by : Robert Osfield +Added closing of the _eventDisplay on failure of initializing the context properly. -2011-05-26 15:47 robert +Mon, 30 May 2011 09:25:11 +0000 +Checked in by : Robert Osfield +Fixed X11 related crash that occured when GraphicsWindow::setCursor was called right after viewer.realize(); The fix was to simply move the setting of the thread that has done the makeCurrent to right before the makeCurrent() rather than right after. - * Fixed handling of changes in gl buffer object size so that when a - gl buffer object is resized all the buffer data - is recompiled. +Mon, 30 May 2011 08:26:43 +0000 +Checked in by : Robert Osfield +From Wang Rui, "The submission fixes the spelling bug we discussed in osg-users. It replaces the variable ACTUAL_3DPARTY_DIR to ACTUAL_3RDPARTY_DIR with back compatibility. Please find it in attachment. " -2011-05-25 12:41 robert +Mon, 30 May 2011 08:24:34 +0000 +Checked in by : Robert Osfield +From Terry Welsh, "I was having a small culling problem with osgText... new TextBase.cpp that fixes it." - * From Bradley Anderegg, "Ok, I am re-submitting this with the - changes we discussed. That is, there is a default implementation - of osgDB::Archive::getDirectoryContents() that uses - getFileNames(), and the osgDB::ArchiveExtended header was removed - as it is now unnecessary. - - Here is a quick list of the modified files: - - Archive - getDirectoryContents() no longer pure virtual - Archive.cpp - default getDirectoryContents() implementation - unzip.cpp - modified to fix a bug where the same file will not - load twice in a row - ZipArchive.h / ZipArchive.cpp - extends osgDB::Archive and - provides support for random access loading within a .zip file - ReaderWriterZip.cpp - modified to use the ZipArchive class" +Fri, 27 May 2011 16:04:18 +0000 +Checked in by : Robert Osfield +Reverted part of revision r12294 that introduced threading related problems under X11 due to checking the _display Display member variable assigned to the graphics thread from the main thread. -2011-05-25 09:34 robert +Fri, 27 May 2011 11:22:43 +0000 +Checked in by : Robert Osfield +From Ryan Pavlik, "Existing osgconv behavior is to transform the model bounding sphere center to the world origin before performing transformations specified on the command line, and translating back after rotation and scaling unless an alternate translation is specified. This patch adds a setting to the OrientationConverter class in osgconv to disable this extra transformation, which has the effect of applying specified transforms with respect to the input world coordinate system, rather than to the center of the bounding sphere. It also adds a command line argument "--use-world-frame" to enable this behavior. When this command line argument is not passed, behavior is unchanged from before the patch. The usage text has been updated to reflect this additional option, and the comments in OrientationConverter are also updated."Note from Robert Osfield, tweaked the OrientationConverter.cpp a little to improve readability. - * Updated ChangeLog -2011-05-25 09:34 robert - * From Olaf Flebbe, fixes for OSX AGL build +Fri, 27 May 2011 11:18:44 +0000 +Checked in by : Robert Osfield +Fixed indentation -2011-05-25 09:13 robert +Fri, 27 May 2011 11:07:04 +0000 +Checked in by : Robert Osfield +Fixed the searchAndReplace function so that it correctly skips over the newly inserted replacement strings. - * Removed now redundent local implementation of - getDirectoryContexts() +Fri, 27 May 2011 09:08:48 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "I like the recent addition that adds folders in the solution tree to better organize the numerous examples, libraries, plugins etc.I added two folders that were missing IMHO: packaging and documentation. +" -2011-05-25 09:04 robert - * From Bradley Anderegg, "Ok, I am re-submitting this with the - changes we discussed. That is, there is a default implementation - of osgDB::Archive::getDirectoryContents() that uses - getFileNames(), and the osgDB::ArchiveExtended header was removed - as it is now unnecessary. - - Here is a quick list of the modified files: - - Archive - getDirectoryContents() no longer pure virtual - Archive.cpp - default getDirectoryContents() implementation - unzip.cpp - modified to fix a bug where the same file will not - load twice in a row - ZipArchive.h / ZipArchive.cpp - extends osgDB::Archive and - provides support for random access loading within a .zip file - ReaderWriterZip.cpp - modified to use the ZipArchive class" -2011-05-24 13:05 robert +Fri, 27 May 2011 09:05:20 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, "Attached is an updated PNM plugin for inclusion in both the trunk and for release version 2.8.5. The attached file fixes numerous bugs in reading 8-bit and 16-bit images, including loading the images upside-down. This file also incorporates trunk patch r12220 which updated the plugin for reading and writing images through streams instead of C-style FILE I/O."Note from Robert Osfield, previous revision was in error due to an incomplete merge, this revision completes the job. - * From Olaf Flebbe, "build out-of-the box on MacOSX. The default - windowing system is carbon and it needs the AGL OpenGL Windowing - binding framework, which is missing. osgViewer does not link - therefore. Cocoa does not use AGL. - - The fix adds the AGL Framework to the Carbon link line for - osgViewer" -2011-05-24 10:20 robert - * Fixed Coverity issues. - - CID 11669: Uninitialized pointer field (UNINIT_CTOR) - Non-static class member _glAttachShader is not initialized in - this constructor nor in any functions that it calls. - Non-static class member _glBindAttribLocation is not initialized - in this constructor nor in any functions that it calls. - ... - - - CID 11699: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _areTessellationShadersSupported is not - initialized in this constructor nor in any functions that it - calls. +Fri, 27 May 2011 09:00:53 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "While working on the osg exporter for 3dsmax I found a bug in the TriStripVisitor. I created a small example (attached), and a modified version of src\osgUtil\TriStripVisitor.cpp where the problem is removed." -2011-05-24 10:19 robert +Fri, 27 May 2011 08:55:37 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, "Attached is an updated PNM plugin for inclusion in both the trunk and for release version 2.8.5. The attached file fixes numerous bugs in reading 8-bit and 16-bit images, including loading the images upside-down. This file also incorporates trunk patch r12220 which updated the plugin for reading and writing images through streams instead of C-style FILE I/O." - * Fixed Coverity issue. - - CID 12328: Resource leak (RESOURCE_LEAK) - Calling allocation function "osg::KdTree::cloneType() const". - (The virtual call resolves to "osg::Object * - osg::KdTree::cloneType() const".) [show details] - Failing to save storage allocated by - "this->_kdTreePrototype->cloneType()" leaks it. +Fri, 27 May 2011 08:22:16 +0000 +Checked in by : Robert Osfield +Reverted Bryce Eldrige submission. -2011-05-24 10:18 robert +Thu, 26 May 2011 16:52:08 +0000 +Checked in by : Robert Osfield +Form Jorge Ciges, improved GL version detection code. - * Fixed Coverity issue. - - CID 11692: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _allocationMode is not initialized in - this constructor nor in any functions that it calls. +Thu, 26 May 2011 16:34:33 +0000 +Checked in by : Robert Osfield +From Dietmar Funck, "I've noticed an issue when writing arrays of type Vec2D and Vec3D to a .osgb file. A number is written to the output stream to identify the array type. In case of Vec2D and Vec3D arrays Vec4D is written as array type - I guess this is a copy and paste mistake. Writing the correct array types fixes the issue - in my case it fixes writing and afterwards reading geometry instances." -2011-05-24 10:18 robert +Thu, 26 May 2011 16:26:50 +0000 +Checked in by : Robert Osfield +From Bryce Eldridge, "Here is an update for the TIFF plugin that includes the following features when writing out TIFF files:- Support for writing unsigned 16-bit images (GL_UNSIGNED_SHORT) +- Code to parse the options string for the following options: +-- Flag to turn off the compression. The PACKBITS compression type causes issues for me with some programs on Windows (Picasa for example). +-- Options to set the XRESOLUTION and YRESOLUTION tags (DPI) in the TIFF file. - * Fixed Coverity issue. - - CID 11668: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _primitiveMode is not initialized in this - constructor nor in any functions that it calls. +Existing behavior (PACKBITS compression, DPI tags left at default) is preserved if the options string is not set. +" -2011-05-24 10:16 robert - * Fixed 3 Coverity issues. - - CID 11697: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _type is not initialized in this - constructor nor in any functions that it calls. - - CID 11698: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _type is not initialized in this - constructor nor in any functions that it calls. - - CID 12329: Resource leak (RESOURCE_LEAK) - Calling allocation function "osg::Object::clone(osg::CopyOp const - &) const". (The virtual call resolves to "osg::Object * - GDALPlugin::DataSetLayer::clone(osg::CopyOp const &) const".) - [show details] - Failing to save storage allocated by - "this->getVertexArray()->clone(struct osg::CopyOp const(128U))" - leaks it. -2011-05-24 10:15 robert +Thu, 26 May 2011 16:19:54 +0000 +Checked in by : Robert Osfield +Fixed default setting of texture_no_tile to match the flags seet in lib3ds_material.cpp initialize_texture_map(..). - * Fixed Coverity issue. - - CID 11696: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _simulationTime is not initialized in - this constructor nor in any functions that it calls. +Thu, 26 May 2011 16:16:11 +0000 +Checked in by : Robert Osfield +From Oliver Neumann,"I checked your solution and found one missing point which makes it still produce the tif error: +The very first seek_set on the empty stream with zero offset." -2011-05-24 10:15 robert +"This means that the empty stream is seeked again resulting in the fail bit to be set. Your code does not check this case, furthermore you use t_off instead of std::ostream::streampos for the tellp() calls. In this special case (empty stream) tellp() returns -1 which is cast to 0xFFFFFFFFFF as t_off is unsigned. I suggest this addition to your code (within the switch statement)" - * Fixed Coverity issue. - - CID 11695: Uninitialized pointer field (UNINIT_CTOR) - Non-static class member _ximpl is not initialized in this - constructor nor in any functions that it calls. -2011-05-24 10:14 robert - * Fixed Coverity issue. - - CID 11694: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _isARBOcclusionQuerySupported is not - initialized in this constructor nor in any functions that it - calls. -2011-05-24 10:14 robert - * Fixed Coverity issue. - - CID 11666: Uninitialized pointer field (UNINIT_CTOR) - Non-static class member _glMultiTexCoord1dv is not initialized in - this constructor nor in any functions that it calls. - Non-static class member _glVertexAttrib1dv is not initialized in - this constructor nor in any functions that it calls. +Thu, 26 May 2011 16:13:04 +0000 +Checked in by : Robert Osfield +Fixed indentation -2011-05-24 10:13 robert +Thu, 26 May 2011 15:47:20 +0000 +Checked in by : Robert Osfield +Fixed handling of changes in gl buffer object size so that when a gl buffer object is resized all the buffer data is recompiled. - * Fixed Coverity issue. - - CID 11691: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _isPBOSupported is not initialized in - this constructor nor in any functions that it calls. - Non-static class member _isUniformBufferObjectSupported is not - initialized in this constructor nor in any functions that it - calls. +Wed, 25 May 2011 12:41:49 +0000 +Checked in by : Robert Osfield +From Bradley Anderegg, "Ok, I am re-submitting this with the changes we discussed. That is, there is a default implementation of osgDB::Archive::getDirectoryContents() that uses getFileNames(), and the osgDB::ArchiveExtended header was removed as it is now unnecessary.Here is a quick list of the modified files: -2011-05-24 10:08 robert +Archive - getDirectoryContents() no longer pure virtual +Archive.cpp - default getDirectoryContents() implementation +unzip.cpp - modified to fix a bug where the same file will not load twice in a row +ZipArchive.h / ZipArchive.cpp - extends osgDB::Archive and provides support for random access loading within a .zip file +ReaderWriterZip.cpp - modified to use the ZipArchive class" - * Fixed build error -2011-05-23 16:58 robert - * Removed unused numX, numY member variables, and added initializer - for firstHeaderWrite. +Wed, 25 May 2011 09:34:53 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2011-05-23 08:17 robert +Wed, 25 May 2011 09:34:02 +0000 +Checked in by : Robert Osfield +From Olaf Flebbe, fixes for OSX AGL build - * Added CullVisitor::setCalculatedNearPlane() and - setCalculatedFarPlane(() methods to enable 3rd party code to - manage the compute of the near/far planes. +Wed, 25 May 2011 09:13:26 +0000 +Checked in by : Robert Osfield +Removed now redundent local implementation of getDirectoryContexts() -2011-05-19 13:25 robert +Wed, 25 May 2011 09:04:44 +0000 +Checked in by : Robert Osfield +From Bradley Anderegg, "Ok, I am re-submitting this with the changes we discussed. That is, there is a default implementation of osgDB::Archive::getDirectoryContents() that uses getFileNames(), and the osgDB::ArchiveExtended header was removed as it is now unnecessary.Here is a quick list of the modified files: - * Uppded the default acceleration as it was too slow for reasonable - sized models +Archive - getDirectoryContents() no longer pure virtual +Archive.cpp - default getDirectoryContents() implementation +unzip.cpp - modified to fix a bug where the same file will not load twice in a row +ZipArchive.h / ZipArchive.cpp - extends osgDB::Archive and provides support for random access loading within a .zip file +ReaderWriterZip.cpp - modified to use the ZipArchive class" -2011-05-17 12:57 robert - * From Sukender, "There was a stupid parameter inversion in - ExternalFileWriter.cpp. - Sorry for this. Here is the fix." -2011-05-17 09:21 robert - * From Wang Rui, added close button hint +Tue, 24 May 2011 13:05:44 +0000 +Checked in by : Robert Osfield +From Olaf Flebbe, "build out-of-the box on MacOSX. The default windowing system is carbon and it needs the AGL OpenGL Windowing binding framework, which is missing. osgViewer does not link therefore. Cocoa does not use AGL.The fix adds the AGL Framework to the Carbon link line for osgViewer" -2011-05-16 12:44 robert - * From Stephan Huber, "proposed changes allows the user to add a - osgGraphicsWindowIOS as an - UIView, respecting the sizes via GraphicsContext::Traits. - This helps users, who want to integrate osg into an existing - ios-app - with multiple UIViews. Additinally a view-controller gets only - created - if needed, set IGNORE_ORIENTATION via the WindowData-struct. - " -2011-05-16 10:07 robert - * From Sukender, I wrapped my change about non-empty texture units - in an off-by-default option, so that it doesn't break any - existing code. But AFAIK, other readers (except OSGx) generate - contiguous texture units, so I guess this option to be useful for - users. - - Other changes in this sumbission include the added ability to - tessellate polygons in Collada reader, with appropriate options. - - No tessellation - - Tessellate as triangle fan (previous behaviour, kept as default - for backward-compatibility) - - Full tessellation - - I also put auto_ptr<> for RAII of DAE structure (as discussed), - and moved reader options in a structure, as for the writer. - - Code also make use of osgDB::ExternalFileWriter I submitted, so - please merge this submission after the PluginImageWriter one. +Tue, 24 May 2011 10:20:36 +0000 +Checked in by : Robert Osfield +Fixed Coverity issues.CID 11669: Uninitialized pointer field (UNINIT_CTOR) +Non-static class member _glAttachShader is not initialized in this constructor nor in any functions that it calls. +Non-static class member _glBindAttribLocation is not initialized in this constructor nor in any functions that it calls. +... -2011-05-16 09:17 robert - * Renamed example from osgviewerQtContext to osgviewerQt. +CID 11699: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _areTessellationShadersSupported is not initialized in this constructor nor in any functions that it calls. -2011-05-16 09:16 robert - * Updated example to use new GraphicsWindowQt::getGLWidget() method - instead of deprecated getGraphWidget() method -2011-05-16 09:15 robert - * Added support for setting threading model from command line and - changed default threading model to - CullDrawThreadPerContext. New command line options are: - - osgviewerQtContext --SingleThreaded - osgviewerQtContext --CullDrawThreadPerContext - osgviewerQtContext --DrawThreadPerContext - osgviewerQtContext --CullDrawThreadPerContext +Tue, 24 May 2011 10:19:22 +0000 +Checked in by : Robert Osfield +Fixed Coverity issue.CID 12328: Resource leak (RESOURCE_LEAK) +Calling allocation function "osg::KdTree::cloneType() const". (The virtual call resolves to "osg::Object * osg::KdTree::cloneType() const".) [show details] +Failing to save storage allocated by "this->_kdTreePrototype->cloneType()" leaks it. -2011-05-16 09:06 robert - * From Jan Peciva, I have improved GraphicsWindowQt: - - - renamed osgQt::GraphWidget to osgQt::GLWidget - as it better fits to Qt naming (osgQt::GLWidget is derived from - QGLWidget - while recent GraphWidget... it is unclear, maybe QGraphicsView, - QGraphicsScene,....) - - added the code to properly manage ON_DEMAND rendering scheme - (involves osgQt::setViewer() and internal HeartBeat class) - - added forward key events functionality. It allows to not eat - the key events - by GLWidget, but it forwards them to Qt processing as well. - - destroying GLWidget before GraphicsWindowQt and vice versa does - not crash - the application - - it is possible to request particular QGLFormat in GLWidget - constructor - - added QtWindowingSystem class - - multithread OSG rendering improvements/fixes - - -- - - From Robert Osfield, added back in getGraphWidget() method for - backwards compatibility. -2011-05-16 08:59 robert - * Fixed traling spaces +Tue, 24 May 2011 10:18:47 +0000 +Checked in by : Robert Osfield +Fixed Coverity issue.CID 11692: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _allocationMode is not initialized in this constructor nor in any functions that it calls. -2011-05-16 08:50 robert - * From Rafa Gata, I've been playing around with serializers in - order to use it as a - "generic" property mechanism for osg::Object. - - The main problem I have found is that InputStream and - OutputStream - only takes the stream when you call start method, and in that - case it - attaches to the stream buffer some stuff, useful for files but - not for - runtime/gui usage. I have added a simple setInputIterator and - setOutputIterator to the classes so now you can easily serialize - values without version and other stuff. - - Writing matrix: - osgDB::OutputStream os(0); - std::stringstream sstream; - os.setOutputIterator(new AsciiOutputIterator(&sstream)); - os << matrix; - std::string value = sstream.str(); - - Reading matrix: - osgDB::InputStream is(0); - std::stringstream sstream(value); - is.setInputIterator(new AsciiInputIterator(&sstream)); - osg::Matrixf mat2; - is >> mat2; - - From Robert Osfield, added doxygen comments to clarify the role - of the methods. -2011-05-15 08:27 robert - * From Wang Rui, build fix +Tue, 24 May 2011 10:18:05 +0000 +Checked in by : Robert Osfield +Fixed Coverity issue.CID 11668: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _primitiveMode is not initialized in this constructor nor in any functions that it calls. -2011-05-13 19:19 robert - * Updated SO version as the osgText and osgQt libraries API have - changed, albeit only by a small amount. -2011-05-13 19:08 robert - * Fixed handling of Font implementations that don't handle multiple - font resolutions. +Tue, 24 May 2011 10:16:12 +0000 +Checked in by : Robert Osfield +Fixed 3 Coverity issues.CID 11697: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _type is not initialized in this constructor nor in any functions that it calls. -2011-05-13 11:20 robert +CID 11698: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _type is not initialized in this constructor nor in any functions that it calls. - * Improved the size, advance and bearing settings +CID 12329: Resource leak (RESOURCE_LEAK) +Calling allocation function "osg::Object::clone(osg::CopyOp const &) const". (The virtual call resolves to "osg::Object * GDALPlugin::DataSetLayer::clone(osg::CopyOp const &) const".) [show details] +Failing to save storage allocated by "this->getVertexArray()->clone(struct osg::CopyOp const(128U))" leaks it. -2011-05-12 18:52 robert - * Warning and build fixes -2011-05-12 18:40 robert - * Added newline to end of file +Tue, 24 May 2011 10:15:39 +0000 +Checked in by : Robert Osfield +Fixed Coverity issue.CID 11696: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _simulationTime is not initialized in this constructor nor in any functions that it calls. -2011-05-12 14:07 robert - * From Sukender, ported across to use the new - osgDB::ExternalFileWriter -2011-05-12 13:27 robert - * From Sukender, new ExternalFileWriter helper class that helps the - management of writing out external files to disk - avoid writing out of duplicates. +Tue, 24 May 2011 10:15:17 +0000 +Checked in by : Robert Osfield +Fixed Coverity issue.CID 11695: Uninitialized pointer field (UNINIT_CTOR) +Non-static class member _ximpl is not initialized in this constructor nor in any functions that it calls. -2011-05-12 13:12 robert - * From Sukender, "Here is a tiny fix which adds missing virtual - methods in osgUtil::TransformAttributeFunctor, to handle Vec3d." -2011-05-12 13:08 robert - * Removed unused parameter +Tue, 24 May 2011 10:14:45 +0000 +Checked in by : Robert Osfield +Fixed Coverity issue.CID 11694: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _isARBOcclusionQuerySupported is not initialized in this constructor nor in any functions that it calls. -2011-05-12 12:28 robert - * From Wang Rui, "A Chinese engineer (named Beilei Geng) reports a - possible bug in the - osg2cpp application to me today. The conversion result may become - incorrect if there are quotation marks ( " ) in the shader file, - which - will mostly appear in comment lines. - - Replace all " into \" before writing to cpp files will solve the - problem, as the attached file shows." -2011-05-12 11:45 robert - * From Rene Molenaar, "I have found a problem regarding manifest in - the plugins, - see - http://www.openscenegraph.org/projects/osg/browser/OpenSceneGraph/trunk/src/CMakeLists.txt - the option OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS is - set to ON only after the subdirectories are added, - this causes /MANIFEST:NO while the option is ON after the first - configure, generate. - - if this option is moved (i.e. above the ADD_SUBDIRECTORY - statement) results are as expected. - - attached you will find the correct CMakeLists.txt - " +Tue, 24 May 2011 10:14:03 +0000 +Checked in by : Robert Osfield +Fixed Coverity issue.CID 11666: Uninitialized pointer field (UNINIT_CTOR) +Non-static class member _glMultiTexCoord1dv is not initialized in this constructor nor in any functions that it calls. +Non-static class member _glVertexAttrib1dv is not initialized in this constructor nor in any functions that it calls. -2011-05-12 10:28 robert - * Removed redundent method -2011-05-12 10:10 robert - * Added setting of size. +Tue, 24 May 2011 10:13:07 +0000 +Checked in by : Robert Osfield +Fixed Coverity issue.CID 11691: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _isPBOSupported is not initialized in this constructor nor in any functions that it calls. +Non-static class member _isUniformBufferObjectSupported is not initialized in this constructor nor in any functions that it calls. -2011-05-09 10:54 robert - * Fixed Coverity reported issue. - - CID 11812: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _lastFrameUsed is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _s is not initialized in this constructor - nor in any functions that it calls. - Non-static class member _t is not initialized in this constructor - nor in any functions that it calls. -2011-05-09 10:54 robert - * Fixed Coverity reported issue. - - CID 11813: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _endian is not initialized in this - constructor nor in any functions that it calls. +Tue, 24 May 2011 10:08:40 +0000 +Checked in by : Robert Osfield +Fixed build error -2011-05-09 10:53 robert +Mon, 23 May 2011 16:58:49 +0000 +Checked in by : Robert Osfield +Removed unused numX, numY member variables, and added initializer for firstHeaderWrite. - * Fixed Coverity reported issue. - - CID 11814: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _updateCamera is not initialized in this - constructor nor in any functions that it calls. +Mon, 23 May 2011 08:17:02 +0000 +Checked in by : Robert Osfield +Added CullVisitor::setCalculatedNearPlane() and setCalculatedFarPlane(() methods to enable 3rd party code to manage the compute of the near/far planes. -2011-05-09 10:53 robert +Thu, 19 May 2011 13:25:03 +0000 +Checked in by : Robert Osfield +Uppded the default acceleration as it was too slow for reasonable sized models - * Fixed Coverity reported issue. - - CID 11815: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _cosMaxElevation is not initialized in - this constructor nor in any functions that it calls. - Non-static class member _cosMaxFadeElevation is not initialized - in this constructor nor in any functions that it calls. - Non-static class member _cosMinElevation is not initialized in - this constructor nor in any functions that it calls. - Non-static class member _cosMinFadeElevation is not initialized - in this constructor nor in any functions that it calls. +Tue, 17 May 2011 12:57:46 +0000 +Checked in by : Robert Osfield +From Sukender, "There was a stupid parameter inversion in ExternalFileWriter.cpp. Sorry for this. Here is the fix." -2011-05-09 10:52 robert +Tue, 17 May 2011 09:21:32 +0000 +Checked in by : Robert Osfield +From Wang Rui, added close button hint - * Fixed 6 Coverity reported issues. - - CID 11820: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _azAngle is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _elevAngle is not initialized in this - constructor nor in any functions that it calls. - - CID 11819: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _BoundaryAngle is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _planeOrientation is not initialized in - this constructor nor in any functions that it calls. - - CID 11818: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _BoundaryAngle is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _planeOrientation is not initialized in - this constructor nor in any functions that it calls. - - CID 11817: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _distance is not initialized in this - constructor nor in any functions that it calls. - - CID 11817: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _distance is not initialized in this - constructor nor in any functions that it calls. - - CID 11816: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _leftRightSurfaces is not initialized in - this constructor nor in any functions that it calls. +Mon, 16 May 2011 12:44:39 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "proposed changes allows the user to add a osgGraphicsWindowIOS as an UIView, respecting the sizes via GraphicsContext::Traits. This helps users, who want to integrate osg into an existing ios-app with multiple UIViews. Additinally a view-controller gets only created if needed, set IGNORE_ORIENTATION via the WindowData-struct. " -2011-05-09 10:51 robert +Mon, 16 May 2011 10:07:20 +0000 +Checked in by : Robert Osfield +From Sukender, I wrapped my change about non-empty texture units in an off-by-default option, so that it doesn't break any existing code. But AFAIK, other readers (except OSGx) generate contiguous texture units, so I guess this option to be useful for users.Other changes in this sumbission include the added ability to tessellate polygons in Collada reader, with appropriate options. + - No tessellation + - Tessellate as triangle fan (previous behaviour, kept as default for backward-compatibility) + - Full tessellation - * Fixed 2 Coverty reported issues. - - CID 11821: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _traversalNumber is not initialized in - this constructor nor in any functions that it calls. - - CID 11822: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _traversalNumber is not initialized in - this constructor nor in any functions that it calls. +I also put auto_ptr<> for RAII of DAE structure (as discussed), and moved reader options in a structure, as for the writer. -2011-05-08 12:06 robert +Code also make use of osgDB::ExternalFileWriter I submitted, so please merge this submission after the PluginImageWriter one. - * Updated version number to 2.9.15 after dev release -2011-05-08 11:57 robert - * Updated AUTHORS for 2.9.14 dev release -2011-05-08 11:56 robert - * Update ChangeLog +Mon, 16 May 2011 09:17:30 +0000 +Checked in by : Robert Osfield +Renamed example from osgviewerQtContext to osgviewerQt. -2011-05-06 16:46 robert +Mon, 16 May 2011 09:16:22 +0000 +Checked in by : Robert Osfield +Updated example to use new GraphicsWindowQt::getGLWidget() method instead of deprecated getGraphWidget() method - * Added osg::ref_ptr - osgDB::Registry::getRefFromArchiveCache() and - osg::ref_ptr - osgDB::Registry::getRefFromObjectCache(). +Mon, 16 May 2011 09:15:02 +0000 +Checked in by : Robert Osfield +Added support for setting threading model from command line and changed default threading model to CullDrawThreadPerContext. New command line options are: osgviewerQtContext --SingleThreaded + osgviewerQtContext --CullDrawThreadPerContext + osgviewerQtContext --DrawThreadPerContext + osgviewerQtContext --CullDrawThreadPerContext -2011-05-06 12:32 robert - * Removed trailing spaces -2011-05-06 12:30 robert - * Fixed Coverity reported issue. - - CID 11828: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member distance is not initialized in this - constructor nor in any functions that it calls. - Non-static class member maxDistance is not initialized in this - constructor nor in any functions that it calls. - Non-static class member numIntersectionPoints is not initialized - in this constructor nor in any functions that it calls. - Non-static class member primitiveIndex is not initialized in this - constructor nor in any functions that it calls. +Mon, 16 May 2011 09:06:06 +0000 +Checked in by : Robert Osfield +From Jan Peciva, I have improved GraphicsWindowQt:- renamed osgQt::GraphWidget to osgQt::GLWidget +as it better fits to Qt naming (osgQt::GLWidget is derived from QGLWidget +while recent GraphWidget... it is unclear, maybe QGraphicsView, +QGraphicsScene,....) +- added the code to properly manage ON_DEMAND rendering scheme +(involves osgQt::setViewer() and internal HeartBeat class) +- added forward key events functionality. It allows to not eat the key events +by GLWidget, but it forwards them to Qt processing as well. +- destroying GLWidget before GraphicsWindowQt and vice versa does not crash +the application +- it is possible to request particular QGLFormat in GLWidget constructor +- added QtWindowingSystem class +- multithread OSG rendering improvements/fixes -2011-05-06 12:30 robert +-- - * Moved constructor implementation into .cpp +From Robert Osfield, added back in getGraphWidget() method for backwards compatibility. -2011-05-06 12:27 robert - * Fixed Coverity reported issue. - - CID 11838: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _alphaFuncKey is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _cyleBackwardKey is not initialized in - this constructor nor in any functions that it calls. - Non-static class member _cyleForwardKey is not initialized in - this constructor nor in any functions that it calls. - Non-static class member _sampleDensityKey is not initialized in - this constructor nor in any functions that it calls. - Non-static class member _transparencyKey is not initialized in - this constructor nor in any functions that it calls. - Non-static class member _updateAlphaCutOff is not initialized in - this constructor nor in any functions that it calls. - Non-static class member _updateSampleDensity is not initialized - in this constructor nor in any functions that it calls. - Non-static class member _updateTransparency is not initialized in - this constructor nor in any functions that it calls. -2011-05-06 12:26 robert - * Fixed Coverity reported issue. - - CID 11827: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _plane_mask is not initialized in this - constructor nor in any functions that it calls. +Mon, 16 May 2011 08:59:10 +0000 +Checked in by : Robert Osfield +Fixed traling spaces -2011-05-06 12:25 robert +Mon, 16 May 2011 08:50:59 +0000 +Checked in by : Robert Osfield +From Rafa Gata, I've been playing around with serializers in order to use it as a "generic" property mechanism for osg::Object.The main problem I have found is that InputStream and OutputStream +only takes the stream when you call start method, and in that case it +attaches to the stream buffer some stuff, useful for files but not for +runtime/gui usage. I have added a simple setInputIterator and +setOutputIterator to the classes so now you can easily serialize +values without version and other stuff. - * Fixed Coverity reported issue. - - CID 11826: Uninitialized scalar field (UNINIT_CTOR) - Class member declaration for _recordHeightsAsAttributes. +Writing matrix: +osgDB::OutputStream os(0); +std::stringstream sstream; +os.setOutputIterator(new AsciiOutputIterator(&sstream)); +os << matrix; +std::string value = sstream.str(); -2011-05-06 12:25 robert +Reading matrix: +osgDB::InputStream is(0); +std::stringstream sstream(value); +is.setInputIterator(new AsciiInputIterator(&sstream)); +osg::Matrixf mat2; +is >> mat2; - * Fixed Coverity reported issue. - - CID 11830: Uninitialized pointer field (UNINIT_CTOR) - Non-static class member _geometry is not initialized in this - constructor nor in any functions that it calls. +From Robert Osfield, added doxygen comments to clarify the role of the methods. -2011-05-06 12:24 robert - * Fixed Coverity reported issue. - - CID 11825: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _primitiveIndex is not initialized in - this constructor nor in any functions that it calls. - Non-static class member _ratio is not initialized in this - constructor nor in any functions that it calls. - - CID 11824: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _hit is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _index is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _length is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _ratio is not initialized in this - constructor nor in any functions that it calls. -2011-05-06 12:23 robert - * Fixed Coverity reported issue. - - CID 11829: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _primitiveMode is not initialized in this - constructor nor in any functions that it calls. -2011-05-06 12:22 robert +Sun, 15 May 2011 08:27:04 +0000 +Checked in by : Robert Osfield +From Wang Rui, build fix - * Fixed Coverity reported issue. - - CID 11836: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _fullscreen is not initialized in this - constructor nor in any functions that it calls. +Fri, 13 May 2011 19:19:00 +0000 +Checked in by : Robert Osfield +Updated SO version as the osgText and osgQt libraries API have changed, albeit only by a small amount. -2011-05-06 12:22 robert +Fri, 13 May 2011 19:08:04 +0000 +Checked in by : Robert Osfield +Fixed handling of Font implementations that don't handle multiple font resolutions. - * Fixed Coverity reported issue. - - CID 11831: Uninitialized pointer field (UNINIT_CTOR) - Non-static class member _context is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _dc is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _handle is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _instance is not initialized in this - constructor nor in any functions that it calls. +Fri, 13 May 2011 11:20:48 +0000 +Checked in by : Robert Osfield +Improved the size, advance and bearing settings -2011-05-06 12:21 robert +Thu, 12 May 2011 18:52:18 +0000 +Checked in by : Robert Osfield +Warning and build fixes - * Fixed Coverity reported issue. - - CID 11835: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _startTick is not initialized in this - constructor nor in any functions that it calls. +Thu, 12 May 2011 18:40:18 +0000 +Checked in by : Robert Osfield +Added newline to end of file -2011-05-06 12:20 robert +Thu, 12 May 2011 14:07:15 +0000 +Checked in by : Robert Osfield +From Sukender, ported across to use the new osgDB::ExternalFileWriter - * Fixed Coverity reported issues. - - CID 11834: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _tickLastUpdated is not initialized in - this constructor nor in any functions that it calls. - Non-static class member _tmpText is not initialized in this - constructor nor in any functions that it calls. - - CID 11833: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _tmpText is not initialized in this - constructor nor in any functions that it calls. +Thu, 12 May 2011 13:27:14 +0000 +Checked in by : Robert Osfield +From Sukender, new ExternalFileWriter helper class that helps the management of writing out external files to disk avoid writing out of duplicates. -2011-05-06 10:30 robert +Thu, 12 May 2011 13:12:07 +0000 +Checked in by : Robert Osfield +From Sukender, "Here is a tiny fix which adds missing virtual methods in osgUtil::TransformAttributeFunctor, to handle Vec3d." - * Fixed Coverity reported issues. - - CID 11843: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _inexp is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _outexp is not initialized in this - constructor nor in any functions that it calls. - - CID 11842: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _inexp is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _outexp is not initialized in this - constructor nor in any functions that it calls. +Thu, 12 May 2011 13:08:02 +0000 +Checked in by : Robert Osfield +Removed unused parameter -2011-05-06 10:29 robert +Thu, 12 May 2011 12:28:43 +0000 +Checked in by : Robert Osfield +From Wang Rui, "A Chinese engineer (named Beilei Geng) reports a possible bug in the osg2cpp application to me today. The conversion result may become incorrect if there are quotation marks ( " ) in the shader file, which will mostly appear in comment lines.Replace all " into \" before writing to cpp files will solve the +problem, as the attached file shows." - * Fixed Coverity reported issues. - - - WindowManager.cpp - CID 11841: Uninitialized pointer field (UNINIT_CTOR) - Non-static class member _lastEvent is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _lastPush is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _view is not initialized in this - constructor nor in any functions that it calls. - - Frame.cpp - CID 11840: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _flags is not initialized in this - constructor nor in any functions that it calls. - - Window.cpp - CID 11839: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _index is not initialized in this - constructor nor in any functions that it calls. -2011-05-06 10:28 robert - * Fixed Coverity reported issue - - CID 11441: Non-array delete for scalars (DELETE_ARRAY) - "_dwobj::readOpenings(_iobuf *, int)" allocates "obj.fc1". [show - details] - - "_dwobj::~_dwobj()" uses delete on "obj.fc1" which is an array. - It should be deleted with operator delete[]. [show details] +Thu, 12 May 2011 11:45:29 +0000 +Checked in by : Robert Osfield +From Rene Molenaar, "I have found a problem regarding manifest in the plugins, see http://www.openscenegraph.org/projects/osg/browser/OpenSceneGraph/trunk/src/CMakeLists.txt the option OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS is set to ON only after the subdirectories are added, this causes /MANIFEST:NO while the option is ON after the first configure, generate.if this option is moved (i.e. above the ADD_SUBDIRECTORY statement) results are as expected. -2011-05-06 10:27 robert +attached you will find the correct CMakeLists.txt +" - * Fixed Covertiy reported issues. - CID 11394: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new osg::IntArray". - Assigning: "this->colorindices" = "new osg::IntArray". - The constructor allocates field "colorindices" of "struct - vertexInfo" but there is no destructor. - - CID 11395: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new osg::IntArray". - Assigning: "this->coordindices" = "new osg::IntArray". - The constructor allocates field "coordindices" of "struct - vertexInfo" but there is no destructor. - - CID 11396: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new osg::IntArray". - Assigning: "this->normindices" = "new osg::IntArray". - The constructor allocates field "normindices" of "struct - vertexInfo" but there is no destructor. - - CID 11397: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new osg::IntArray". - Assigning: "this->txindices" = "new osg::IntArray". - The constructor allocates field "txindices" of "struct - vertexInfo" but there is no destructor. - - CID 11398: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new osg::Vec2Array". - Assigning: "this->txcoords" = "new osg::Vec2Array". - The constructor allocates field "txcoords" of "struct vertexInfo" - but there is no destructor. - - CID 11399: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new osg::Vec3Array". - Assigning: "this->norms" = "new osg::Vec3Array". - The constructor allocates field "norms" of "struct vertexInfo" - but there is no destructor. - - CID 11400: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new osg::Vec3Array". - Assigning: "this->coords" = "new osg::Vec3Array". - The constructor allocates field "coords" of "struct vertexInfo" - but there is no destructor. - - CID 11401: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new osg::Vec4Array". - Assigning: "this->colors" = "new osg::Vec4Array". - The constructor allocates field "colors" of "struct vertexInfo" - but there is no destructor. - - CID 11402: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new osg::Vec4Array". - Assigning: "this->polycols" = "new osg::Vec4Array". - The constructor allocates field "polycols" of "struct vertexInfo" - but there is no destructor. -2011-05-06 09:26 robert - * Updated SO version number for dev release +Thu, 12 May 2011 10:28:47 +0000 +Checked in by : Robert Osfield +Removed redundent method -2011-05-06 09:22 robert +Thu, 12 May 2011 10:10:49 +0000 +Checked in by : Robert Osfield +Added setting of size. - * Fixed Coverity reported issue. - - CID 11388: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new char[numBytes]". - Assigning: "this->_startPtr" = "new char[numBytes]". - The constructor allocates field "_startPtr" of "struct - DataConverter" but there is no destructor. - Assigning: "this->_currentPtr" = "new char[numBytes]". - The constructor allocates field "_currentPtr" of "struct - DataConverter" but there is no destructor. +Mon, 9 May 2011 10:54:50 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11812: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _lastFrameUsed is not initialized in this constructor nor in any functions that it calls. +Non-static class member _s is not initialized in this constructor nor in any functions that it calls. +Non-static class member _t is not initialized in this constructor nor in any functions that it calls. -2011-05-06 09:21 robert - * Fixed Coverity reported issue. - - CID 12263: Missing break in switch (MISSING_BREAK) - This case (value 8) is not terminated by a 'break' statement. - - CID 12262: Missing break in switch (MISSING_BREAK) - This case (value 7) is not terminated by a 'break' statement. - - CID 12261: Missing break in switch (MISSING_BREAK) - This case (value 6) is not terminated by a 'break' statement. -2011-05-06 09:21 robert - * Fixed Coverity reported issues. - - CID 10392: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _maxIndex is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _minIndex is not initialized in this - constructor nor in any functions that it calls. - - CID 10454: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _maxIndex is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _minIndex is not initialized in this - constructor nor in any functions that it calls. - - CID 10505: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _maxIndex is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _minIndex is not initialized in this - constructor nor in any functions that it calls. - - CID 10919: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _maxIndex is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _minIndex is not initialized in this - constructor nor in any functions that it calls. - - CID 10920: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _maxIndex is not initialized in this - constructor nor in any functions that it calls. - Non-static class member _minIndex is not initialized in this - constructor nor in any functions that it calls. +Mon, 9 May 2011 10:54:10 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11813: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _endian is not initialized in this constructor nor in any functions that it calls. -2011-05-06 09:20 robert - * Fixed Coverity reported issues. - - CID 11389: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new bsp::VBSPData". - Assigning: "this->bsp_data" = "new bsp::VBSPData". - The constructor allocates field "bsp_data" of "struct - bsp::VBSPReader" but the destructor and whatever functions it - calls do not free it. -2011-05-06 09:19 robert - * Fixed Coverity reported issues by using ref_ptr<> for object. - - ID 11390: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new osg::Vec3Array". - Assigning: "this->vertices" = "new osg::Vec3Array". - The constructor allocates field "vertices" of "struct prims" but - the destructor and whatever functions it calls do not free it. - - CID 11391: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new osg::Vec3Array". - Assigning: "this->normals" = "new osg::Vec3Array". - The constructor allocates field "normals" of "struct prims" but - the destructor and whatever functions it calls do not free it. - - CID 11392: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new osg::Vec3Array". - Assigning: "this->txc" = "new osg::Vec3Array". - The constructor allocates field "txc" of "struct prims" but the - destructor and whatever functions it calls do not free it. - - CID 11393: Resource leak in object (CTOR_DTOR_LEAK) - Allocating memory by calling "new osg::Vec3Array". - Assigning: "this->txcoords" = "new osg::Vec3Array". - The constructor allocates field "txcoords" of "struct prims" but - the destructor and whatever functions it calls do not free it. - - CID 11747: Uninitialized pointer field (UNINIT_CTOR) - Non-static class member gset is not initialized in this - constructor nor in any functions that it calls. +Mon, 9 May 2011 10:53:38 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11814: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _updateCamera is not initialized in this constructor nor in any functions that it calls. -2011-05-06 09:00 robert - * Fixed build problem -2011-05-05 12:40 robert - * Fixed Coverity reported issue. - - CID 11845: Structurally dead code (UNREACHABLE) - This code cannot be reached: ".basic_string("");". +Mon, 9 May 2011 10:53:12 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11815: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _cosMaxElevation is not initialized in this constructor nor in any functions that it calls. +Non-static class member _cosMaxFadeElevation is not initialized in this constructor nor in any functions that it calls. +Non-static class member _cosMinElevation is not initialized in this constructor nor in any functions that it calls. +Non-static class member _cosMinFadeElevation is not initialized in this constructor nor in any functions that it calls. -2011-05-05 12:39 robert - * Fixed Coverity reported issue. - - CID 11855: Use after free (USE_AFTER_FREE) - "operator delete[](void *)" frees "buffer". -2011-05-05 12:38 robert - * Fixed Coverity reported issue. This fix addresses a memory leak. - - CID 11847: Unused pointer value (UNUSED_VALUE) - Pointer "node" returned by "lib3ds_node_new(LIB3DS_NODE_CAMERA)" - is never used. +Mon, 9 May 2011 10:52:34 +0000 +Checked in by : Robert Osfield +Fixed 6 Coverity reported issues.CID 11820: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _azAngle is not initialized in this constructor nor in any functions that it calls. +Non-static class member _elevAngle is not initialized in this constructor nor in any functions that it calls. -2011-05-05 12:37 robert +CID 11819: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _BoundaryAngle is not initialized in this constructor nor in any functions that it calls. +Non-static class member _planeOrientation is not initialized in this constructor nor in any functions that it calls. - * Fixed Coverity reported issue. - - CID 11844: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _defaultValue is not initialized in this - constructor nor in any functions that it calls. - Index: ../include/osgDB/Serializer +CID 11818: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _BoundaryAngle is not initialized in this constructor nor in any functions that it calls. +Non-static class member _planeOrientation is not initialized in this constructor nor in any functions that it calls. -2011-05-05 11:31 robert +CID 11817: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _distance is not initialized in this constructor nor in any functions that it calls. - * Fixed warning +CID 11817: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _distance is not initialized in this constructor nor in any functions that it calls. -2011-05-05 11:27 robert +CID 11816: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _leftRightSurfaces is not initialized in this constructor nor in any functions that it calls. - * Fixed Coverity reported issue. - - CID 11864: Wrapper object use after free (WRAPPER_ESCAPE) - Assigning: "szFilename" = "path.c_str()", which extracts wrapped - state from local "path". -2011-05-05 10:31 robert - * Fixed 4 Coverity reported issues - - CID 11851: Unused pointer value (UNUSED_VALUE) - Pointer "gfd" returned by "gr->getField(26)" is never used. - - CID 11850: Unused pointer value (UNUSED_VALUE) - Pointer "gfd" returned by "gr->getField(80)" is never used. - - CID 11849: Unused pointer value (UNUSED_VALUE) - Pointer "gfd" returned by "gr->getField(3)" is never used. - - CID 11848: Unused pointer value (UNUSED_VALUE) - Pointer "gfd" returned by "grec->getField(3)" is never used. -2011-05-05 10:28 robert +Mon, 9 May 2011 10:51:52 +0000 +Checked in by : Robert Osfield +Fixed 2 Coverty reported issues.CID 11821: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _traversalNumber is not initialized in this constructor nor in any functions that it calls. - * Fixed typo +CID 11822: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _traversalNumber is not initialized in this constructor nor in any functions that it calls. -2011-05-04 16:36 robert - * From Mathias Froehlich, build fix for gcc 4.6 -2011-05-04 16:01 robert - * From Stephan Huber, "attached you'll find a small enhancement for - GraphicsWindowCocoa to - implement the recently introduced setSyncToVBlank-method. - - Additionally I added a ToggleSyncToVBlank-eventhandler to - osgViewer. I - used it to test the code, perhaps you'll find it useful and - include it - in the distribution." +Sun, 8 May 2011 12:06:25 +0000 +Checked in by : Robert Osfield +Updated version number to 2.9.15 after dev release -2011-05-04 09:53 robert +Sun, 8 May 2011 11:57:53 +0000 +Checked in by : Robert Osfield +Updated AUTHORS for 2.9.14 dev release - * Removed unncessary references to FREETYPE +Sun, 8 May 2011 11:56:23 +0000 +Checked in by : Robert Osfield +Update ChangeLog -2011-05-04 09:48 robert +Fri, 6 May 2011 16:46:13 +0000 +Checked in by : Robert Osfield +Added osg::ref_ptr osgDB::Registry::getRefFromArchiveCache() and osg::ref_ptr osgDB::Registry::getRefFromObjectCache(). - * From Michael Platings, fix for build with cmake 2.6.x +Fri, 6 May 2011 12:32:23 +0000 +Checked in by : Robert Osfield +Removed trailing spaces -2011-05-03 12:43 robert +Fri, 6 May 2011 12:30:58 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11828: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member distance is not initialized in this constructor nor in any functions that it calls. +Non-static class member maxDistance is not initialized in this constructor nor in any functions that it calls. +Non-static class member numIntersectionPoints is not initialized in this constructor nor in any functions that it calls. +Non-static class member primitiveIndex is not initialized in this constructor nor in any functions that it calls. - * Added OSGVIEWER_EXPORT -2011-05-03 10:14 robert - * Added missing break; -2011-05-03 09:58 robert +Fri, 6 May 2011 12:30:21 +0000 +Checked in by : Robert Osfield +Moved constructor implementation into .cpp - * From Michael Platings, "I've updated the FBX plugin to use the - latest FBX SDK (2012.1). Please apply the attached .cmake which - finds the correct SDK headers & libraries." +Fri, 6 May 2011 12:27:19 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11838: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _alphaFuncKey is not initialized in this constructor nor in any functions that it calls. +Non-static class member _cyleBackwardKey is not initialized in this constructor nor in any functions that it calls. +Non-static class member _cyleForwardKey is not initialized in this constructor nor in any functions that it calls. +Non-static class member _sampleDensityKey is not initialized in this constructor nor in any functions that it calls. +Non-static class member _transparencyKey is not initialized in this constructor nor in any functions that it calls. +Non-static class member _updateAlphaCutOff is not initialized in this constructor nor in any functions that it calls. +Non-static class member _updateSampleDensity is not initialized in this constructor nor in any functions that it calls. +Non-static class member _updateTransparency is not initialized in this constructor nor in any functions that it calls. -2011-05-03 09:11 mplatings - * Updated to use FBX SDK 2012.1 -2011-04-29 16:50 robert - * Improved the handling of different combinations of slashes and - dirNames. +Fri, 6 May 2011 12:26:13 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11827: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _plane_mask is not initialized in this constructor nor in any functions that it calls. -2011-04-29 16:34 robert - * Added following methods to osgDB::Archive in support of work by - Fradley Anderegg on .zip archive support: - - /** Get the file name which represents the archived file.*/ - virtual std::string getArchiveFileName() const = 0; - - /** return type of file. */ - virtual FileType getFileType(const std::string& filename) const = - 0; - - /** return the contents of a directory. - * returns an empty array on any error.*/ - virtual DirectoryContents getDirectoryContents(const std::string& - dirName) const = 0; - - Added implementations of these new methods into - src/osgPlugins/osga/OSGA_Archive.h - src/osgPlugins/osga/OSGA_Archive.cpp -2011-04-29 14:31 robert - * Refactored the libtiffOStreamSeekProc function so that it - extendeds the stream when the - requested file position is beyond the current end of the stream. - This fix addresses - a bug that occurred when writting to a streamstream. +Fri, 6 May 2011 12:25:34 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11826: Uninitialized scalar field (UNINIT_CTOR) +Class member declaration for _recordHeightsAsAttributes. -2011-04-29 09:16 robert - * Update ChangeLog -2011-04-28 16:33 robert - * Fixed Coverity reported issue. - - CID 11447: Unchecked dynamic_cast (FORWARD_NULL) - Dynamic cast to pointer "dynamic_cast (nc->clone(this))" can return null. - Assigning null: "first" = "dynamic_cast (nc->clone(this))". - - The clone() implementation is written using macro's so that it - always returns the type of Object - being cloned so it's normally safe to assume that a - dynamic_cast<> will always return a valid pointer as long - as the new T that involves creates a valid object. However, if - the class being cloned doesn't correctly - implement the clone() method then their potential for the - dynamic_cast to fail and will return a NULL and will - result in a memory leak of the object of paraent class that the - clone would have defaulted to. - - I've tightened up the CopyOp.cpp code to check the return type - and added better handling of the clone in the - osg::clone() methods so thay don't have any potential mememory - leaks and report warnings to OSG_WARN when - problems are encountered. It may be more apporpriate to throw an - exception so will need to ponder this - issue further. +Fri, 6 May 2011 12:25:02 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11830: Uninitialized pointer field (UNINIT_CTOR) +Non-static class member _geometry is not initialized in this constructor nor in any functions that it calls. -2011-04-28 10:23 robert - * Fixed Coverity reported issue. - - CID 11403: Logically dead code (DEADCODE) - After this line, the value of "needspace" is equal to 0. - Assigning: "needspace" = "false". - - Technically the report is correct, but the code is just debugging - code that was there just in case - the code needed to be reviewed. This code is long since through - it's debugging stage so the code - is no longer really worth keeping so I've removed it for - cleanness sake. -2011-04-28 10:23 robert - * Fixed Coverity reported issue. - - ID 11667: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _useVertexAttribAlias is not initialized - in this constructor nor in any functions that it calls. - - Member variable should have been initialized but this varaible - will have always been initialized in later code - before it was used anyway so wouldn't have resulted in a runtime - bug. +Fri, 6 May 2011 12:24:19 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11825: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _primitiveIndex is not initialized in this constructor nor in any functions that it calls. +Non-static class member _ratio is not initialized in this constructor nor in any functions that it calls. -2011-04-28 10:22 robert +CID 11824: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _hit is not initialized in this constructor nor in any functions that it calls. +Non-static class member _index is not initialized in this constructor nor in any functions that it calls. +Non-static class member _length is not initialized in this constructor nor in any functions that it calls. +Non-static class member _ratio is not initialized in this constructor nor in any functions that it calls. - * Fixed Coverity reported issue. - - CID 11414: Logically dead code (DEADCODE) - After this line, the value of "vboMemory" is equal to 0. - Assigning: "vboMemory" = "NULL". - - Another case of debugging code paths being picked out. I have - chosen to just delete these paths as the code - looks to be working fine and less code is better than more code - when it comes to maintenance. -2011-04-27 16:37 robert - * Fixed Coverity reported issue. Issue is benign as all the member - variables are initialized in after construction, - but I've moved this initialization into the constructor to make - the code more managable. - - CID 11686: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member cnt is not initialized in this - constructor nor in any functions that it calls. - Non-static class member maxcnt is not initialized in this - constructor nor in any functions that it calls. - Non-static class member phase is not initialized in this - constructor nor in any functions that it calls. -2011-04-27 16:35 robert +Fri, 6 May 2011 12:23:45 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11829: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _primitiveMode is not initialized in this constructor nor in any functions that it calls. - * Fixed 2 Coverity reported issues. Both issues are benign, but - I've addressed then as with the changes the - code is clean and more mantainable. - - CID 11676: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member cancelMode is not initialized in this - constructor nor in any functions that it calls. - Non-static class member cpunum is not initialized in this - constructor nor in any functions that it calls. - Non-static class member detached is not initialized in this - constructor nor in any functions that it calls. - Non-static class member isRunning is not initialized in this - constructor nor in any functions that it calls. - Non-static class member stackSize is not initialized in this - constructor nor in any functions that it calls. - Non-static class member threadPolicy is not initialized in this - constructor nor in any functions that it calls. - Non-static class member threadPriority is not initialized in this - constructor nor in any functions that it calls. - Non-static class member uniqueId is not initialized in this - constructor nor in any functions that it calls. - - CID 11564: Unsigned compared against 0 (NO_EFFECT) - This less-than-zero comparison of an unsigned value is never - true. "cpunum < 0U". -2011-04-27 16:06 robert - * Fixed Coverity reported issue. - - CID 11677: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _minimumNumberAccumAlphaBits is not - initialized in this constructor nor in any functions that it - calls. - Non-static class member _minimumNumberAccumBlueBits is not - initialized in this constructor nor in any functions that it - calls. - Non-static class member _minimumNumberAccumGreenBits is not - initialized in this constructor nor in any functions that it - calls. - Non-static class member _minimumNumberAccumRedBits is not - initialized in this constructor nor in any functions that it - calls. -2011-04-27 16:06 robert +Fri, 6 May 2011 12:22:49 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11836: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _fullscreen is not initialized in this constructor nor in any functions that it calls. - * Fixed Coverity reported issue. - - CID 11690: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _frameLastUsed is not initialized in this - constructor nor in any functions that it calls. -2011-04-27 16:05 robert - * Fixed Coverity reported issue. - - CID 11689: Uninitialized pointer field (UNINIT_CTOR) - Non-static class member _glBlendColor is not initialized in this - constructor nor in any functions that it calls. -2011-04-27 16:05 robert +Fri, 6 May 2011 12:22:10 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11831: Uninitialized pointer field (UNINIT_CTOR) +Non-static class member _context is not initialized in this constructor nor in any functions that it calls. +Non-static class member _dc is not initialized in this constructor nor in any functions that it calls. +Non-static class member _handle is not initialized in this constructor nor in any functions that it calls. +Non-static class member _instance is not initialized in this constructor nor in any functions that it calls. - * Fixed 2 Coverity reported issues. - - CID 11681: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _previousHeight is not initialized in - this constructor nor in any functions that it calls. - Non-static class member _previousWidth is not initialized in this - constructor nor in any functions that it calls. - - CID 11688: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _previousHeight is not initialized in - this constructor nor in any functions that it calls. - Non-static class member _previousWidth is not initialized in this - constructor nor in any functions that it calls. -2011-04-27 16:04 robert - * Fixed Coverity reported issue, in this case it's a unused member - variable so could just be deleted. - - CID 11687: Uninitialized pointer field (UNINIT_CTOR) - Non-static class member _glBeginEndAdapter is not initialized in - this constructor nor in any functions that it calls. -2011-04-27 16:03 robert +Fri, 6 May 2011 12:21:11 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11835: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _startTick is not initialized in this constructor nor in any functions that it calls. - * Fixed 3 Coverity reported issues. CID 11622 is a bit of false - positive as for valid settings no leak would happen. - - CID 11810: Uninitialized scalar field (UNINIT_CTOR) - Non-static class member _setMaxFarDistance is not initialized in - this constructor nor in any functions that it calls. - - CID 11811: Uninitialized pointer field (UNINIT_CTOR) - Non-static class member _displayTexturesGroupingNode is not - initialized in this constructor nor in any functions that it - calls. - - CID 11622: Resource leak (RESOURCE_LEAK) - Calling allocation function "operator new(unsigned long long)". - Variable "" is not freed or pointed-to in - function "osg::StateSet::StateSet()". [show details] - Assigning: "sharedStateSet" = storage returned from "new - osg::StateSet". - 282 osg::StateSet* sharedStateSet = new osg::StateSet; - Variable "sharedStateSet" is not freed or pointed-to in function - "osg::Object::setDataVariance(osg::Object::DataVariance)". [show - details] -2011-04-27 16:02 robert - * Fixed Coverity reported issue. - - CID 11588: Resource leak (RESOURCE_LEAK) - Calling allocation function "operator new[](unsigned long long)". - Assigning: "dataPtr" = storage returned from "new unsigned - char[newTotalSize]". -2011-04-27 16:01 robert +Fri, 6 May 2011 12:20:48 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issues.CID 11834: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _tickLastUpdated is not initialized in this constructor nor in any functions that it calls. +Non-static class member _tmpText is not initialized in this constructor nor in any functions that it calls. - * Fixed 2 Coverity reported issues. - - Following are both false positives as the the scope they are in - will always assign the object to a ref counted - structure. I've modified the code to use ref_ptr<> to just make - it clear that it's underscope, although - this is not strictly neccessary as the code is OK, I introduced - this for clarity and robustness in - presence of exceptions. - - CID 11586: Resource leak (RESOURCE_LEAK) - Calling allocation function "operator new(unsigned long long)". - Variable "" is not freed or pointed-to in - function "osg::VertexBufferObject::VertexBufferObject()". [show - details] - Assigning: "vbo" = storage returned from "new - osg::VertexBufferObject". - - - CID 11587: Resource leak (RESOURCE_LEAK) - Calling allocation function "operator new(unsigned long long)". - Variable "" is not freed or pointed-to in - function "osg::ElementBufferObject::ElementBufferObject()". [show - details] - Assigning: "ebo" = storage returned from "new - osg::ElementBufferObject". +CID 11833: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _tmpText is not initialized in this constructor nor in any functions that it calls. -2011-04-27 16:00 robert - * Fixed Coverity reported issue. - - CID 11636: Allocation size mismatch (SIZECHECK) - "my_alloc(sizeof (struct PlyProperty) /*36*/ * elem->nprops, - 1292, "..\\..\\..\\..\\src\\osgPlugins\\ply\\plyfile.cpp")" - allocates memory. [show details] - Allocating a multiple of 36 bytes to pointer "other->props", - which needs 8 bytes. -2011-04-26 19:31 robert - * Fixed 1 Coverity Low Impact issue "Unused pointer value - (UNUSED_VALUE) - Pointer "indices" returned by - "this->_vertexAttribList[0ULL].indices.get()" is never used." - - Report highlighted the fact that later code wasn't using the - indices variable when it should have been, so - potentially a higher impact that the severity suggested by - Coverity. +Fri, 6 May 2011 10:30:23 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issues.CID 11843: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _inexp is not initialized in this constructor nor in any functions that it calls. +Non-static class member _outexp is not initialized in this constructor nor in any functions that it calls. -2011-04-26 19:29 robert +CID 11842: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _inexp is not initialized in this constructor nor in any functions that it calls. +Non-static class member _outexp is not initialized in this constructor nor in any functions that it calls. - * Fixed 3 Coverity Low Impact performance issues relating to "Big - parameter passed by value". -2011-04-26 15:24 robert - * Updated version after 2.9.13 dev release -2011-04-26 14:55 robert +Fri, 6 May 2011 10:29:47 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issues.WindowManager.cpp +CID 11841: Uninitialized pointer field (UNINIT_CTOR) +Non-static class member _lastEvent is not initialized in this constructor nor in any functions that it calls. +Non-static class member _lastPush is not initialized in this constructor nor in any functions that it calls. +Non-static class member _view is not initialized in this constructor nor in any functions that it calls. - * Updated ChangeLog and AUTHORS for 2.9.13 dev release +Frame.cpp +CID 11840: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _flags is not initialized in this constructor nor in any functions that it calls. -2011-04-26 12:07 robert +Window.cpp +CID 11839: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _index is not initialized in this constructor nor in any functions that it calls. - * From Mattias Helsing, "Fixes two of the osgWidget examples that - were broken due to changed - virtual function prototypes in osgWidget/EventInterface" -2011-04-26 12:05 robert - * From Craig Bosma,"Please find attached a fix for shared contexts - on OS X, with the Cocoa backend. The NSOpenGLContext* _context - member of GraphicsHandleCocoa was never set on successfully - creation, so even if the dynamic_cast to GraphicsHandleCocoa - succeeds, we get a bogus (NULL) pointer on retrieving the actual - NSOpenGLContext* (line 1013). - - This should fix the problem, as well as cause GraphicsWindowCocoa - to report the correct name "GraphicsWindowCarbon" -> - "GraphicsWindowCocoa". - " -2011-04-26 11:51 robert +Fri, 6 May 2011 10:28:24 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issueCID 11441: Non-array delete for scalars (DELETE_ARRAY) +"_dwobj::readOpenings(_iobuf *, int)" allocates "obj.fc1". [show details] - * From Farshid Lashkari, "I believe their is small error in how - OutputStream handles the WriteImageHint. In the "writeImage" - method, it converts the WriteImageHint to an internal "decision" - flag. During this conversion, it seems to be swapping the - behavior for WRITE_EXTERNAL_FILE and WRITE_USE_EXTERNAL. I've - attached what I believe to be the correct conversion." +"_dwobj::~_dwobj()" uses delete on "obj.fc1" which is an array. It should be deleted with operator delete[]. [show details] -2011-04-21 17:16 robert - * From Mattias Helsing, "Fixes installation of the osgViewer - headers that got broken with rev - 12208 and 12231. - - The windowing system specific headers under - include/osgViewer/api/ are again installed under - include/osgViewer/api/ - - Works in recent ubuntu with cmake-2.8.4 and msvc2010 with - cmake-2.8.2" -2011-04-21 17:04 robert - * From Johannes Baeuerele, "I have extended the pvr reader plugin - to support etc1 compression(GL_ETC1_RGB8_OES). The changes - attached to this submission are based on today's trunk. - - The pvr format which can be used as a wrapper for different - compressed and uncompressed formats supports this compression - algorithm. The original pvr compression uses the pvrtc format. - The handling of pvrtc is already implemented in the pvr plugin. - PVR provides wrapper functionality for some formats, e.g. etc or - even dxt/dds. - - Our target system (gles2) is able to use the etc compression - format. With minor changes in the submitted files, there is no - need to write a separate plugin. However the original pvr texture - compression formats are not supported on our target, which is the - reason for this extension. - - The changes mainly consist in the definition on new enum values - in the classes and headers of ReaderWriterPVR,Image and Texture. - I also found some locations where the handling of the original - pvr textures was not implemented. These are also part of this - submission." +Fri, 6 May 2011 10:27:59 +0000 +Checked in by : Robert Osfield +Fixed Covertiy reported issues. CID 11394: Resource leak in object (CTOR_DTOR_LEAK) Allocating memory by calling "new osg::IntArray". Assigning: "this->colorindices" = "new osg::IntArray". The constructor allocates field "colorindices" of "struct vertexInfo" but there is no destructor.CID 11395: Resource leak in object (CTOR_DTOR_LEAK) +Allocating memory by calling "new osg::IntArray". +Assigning: "this->coordindices" = "new osg::IntArray". +The constructor allocates field "coordindices" of "struct vertexInfo" but there is no destructor. -2011-04-21 13:34 robert +CID 11396: Resource leak in object (CTOR_DTOR_LEAK) +Allocating memory by calling "new osg::IntArray". +Assigning: "this->normindices" = "new osg::IntArray". +The constructor allocates field "normindices" of "struct vertexInfo" but there is no destructor. - * From Marius Heise, "here is a patch that implements Win32 - HW-synced swapping using wglJoinSwapGroupNV, wglBindSwapBarrierNV - and the existing traits. It was tested with multiple ATI FirePro - S400 cards. - - I also fixed the vsync implementation introduced with rev.11357 - that was crashing with the Windows Error #170. So I removed your - temporary /* */ around the vsync condition..." +CID 11397: Resource leak in object (CTOR_DTOR_LEAK) +Allocating memory by calling "new osg::IntArray". +Assigning: "this->txindices" = "new osg::IntArray". +The constructor allocates field "txindices" of "struct vertexInfo" but there is no destructor. -2011-04-21 13:01 robert +CID 11398: Resource leak in object (CTOR_DTOR_LEAK) +Allocating memory by calling "new osg::Vec2Array". +Assigning: "this->txcoords" = "new osg::Vec2Array". +The constructor allocates field "txcoords" of "struct vertexInfo" but there is no destructor. - * From Fred Smith, "GraphicsWindowWin32::setWindow currently - creates a context with no regards to the Traits, like - createWindow does. - - That is, it calls ::wglCreateContext to create a context, not the - member method createContextImplementation(), which takes into an - account the Traits. - - In my situation, this prevents a GL 3.x context from being - created. - " +CID 11399: Resource leak in object (CTOR_DTOR_LEAK) +Allocating memory by calling "new osg::Vec3Array". +Assigning: "this->norms" = "new osg::Vec3Array". +The constructor allocates field "norms" of "struct vertexInfo" but there is no destructor. -2011-04-21 12:53 robert +CID 11400: Resource leak in object (CTOR_DTOR_LEAK) +Allocating memory by calling "new osg::Vec3Array". +Assigning: "this->coords" = "new osg::Vec3Array". +The constructor allocates field "coords" of "struct vertexInfo" but there is no destructor. - * From Jorge Ciges, "1rst - Changes in Cmake: They make possible - "make install" with the android building. - - 2nd - Script to use a 3rd party directory with basic libraries: - libjpeg,libpng,libtiff,giflib,freetype,curl,gdal. - - 3rd - Change in the GLES library loading for Android. That should - make GLES2 work properly. - - 4rth- Included two defines RGB8_OES and RGBA8_OES as a substitute - in GLES for RGB8 and RGBA8 - - 5th - OpenGL and GLSL version identification changed to recognize - GLES versions properly - " +CID 11401: Resource leak in object (CTOR_DTOR_LEAK) +Allocating memory by calling "new osg::Vec4Array". +Assigning: "this->colors" = "new osg::Vec4Array". +The constructor allocates field "colors" of "struct vertexInfo" but there is no destructor. -2011-04-21 12:12 robert +CID 11402: Resource leak in object (CTOR_DTOR_LEAK) +Allocating memory by calling "new osg::Vec4Array". +Assigning: "this->polycols" = "new osg::Vec4Array". +The constructor allocates field "polycols" of "struct vertexInfo" but there is no destructor. - * From Cedric Pinson, "I have tried some model that produces - crashes in the dae plugin because - of empty node: - - if (GetFloat4Param(cot->getParam()->getRef(), f4)) {...} - - in the model I have tested cot->getParam()->getRef() return 0x0 - and make - it crahes inside GetFloat4Param. - - I have added a test before calling GetFloat4Param - if (cot->getParam()->getRef() != 0 && - GetFloat4Param(cot->getParam()->getRef(), f4)) {...} - " -2011-04-21 12:06 robert - * From Tomas Hogarth, "Attached are the complete changed files - GraphicsWindowIOS and GraphicsWindowIOS.mm. The change is in - regard to the ability to adapt to device orientation. We did just - have a bool indicating the window would adapt to all - orientations. I have changed this to a bit mask allowing the user - to specify individual orientations or combinations. - - enum DeviceOrientation{ - - PORTRAIT_ORIENTATION = 1<<0, - - PORTRAIT_UPSIDEDOWN_ORIENTATION = 1<<1, - - LANDSCAPE_LEFT_ORIENTATION = 1<<2, - - LANDSCAPE_RIGHT_ORIENTATION = 1<<3, - - ALL_ORIENTATIONS = PORTRAIT_ORIENTATION | - PORTRAIT_UPSIDEDOWN_ORIENTATION | LANDSCAPE_LEFT_ORIENTATION | - LANDSCAPE_RIGHT_ORIENTATION - - }; - - typedef unsigned int DeviceOrientationFlags; - - The main motivation for this is to easily allow the user to - specifiy that the device is in a horizontal orientation rather - then having to rotate the view matrix. All flags have been tested - individually as well as in combinations. The default is - ALL_ORIENTATIONS to keep the exiting functionality for anyone who - hasn't specified WindowData for their context traits. - " -2011-04-20 19:20 robert +Fri, 6 May 2011 09:26:14 +0000 +Checked in by : Robert Osfield +Updated SO version number for dev release - * From Sukender, Here is a tiny update to FileNameUtils. It brings - getPathRoot() and isAbsolutePath() to the public side of the lib. +Fri, 6 May 2011 09:22:17 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11388: Resource leak in object (CTOR_DTOR_LEAK) +Allocating memory by calling "new char[numBytes]". +Assigning: "this->_startPtr" = "new char[numBytes]". +The constructor allocates field "_startPtr" of "struct DataConverter" but there is no destructor. +Assigning: "this->_currentPtr" = "new char[numBytes]". +The constructor allocates field "_currentPtr" of "struct DataConverter" but there is no destructor. -2011-04-20 17:15 robert - * From Guillaume Taze, "This is a fix for the error popups which - appeared when reading a corrupted file on windows. Errors are - redirected to std::err instead." - - Note from Robert Osfield, changed jpeg error report output from - stderr to standard OSG notification system using OSG_WARN. -2011-04-20 11:45 robert - * Added releaseGLObjects(State*) support into - osg::FrameBufferObject, osg::RenderBin and osg::RenderStage - to ensure proper clean up of FBO's on closing a graphics context. +Fri, 6 May 2011 09:21:40 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 12263: Missing break in switch (MISSING_BREAK) +This case (value 8) is not terminated by a 'break' statement. -2011-04-19 14:19 robert +CID 12262: Missing break in switch (MISSING_BREAK) +This case (value 7) is not terminated by a 'break' statement. - * From Magnus Kessler, "A few minor fixes in the documentation - strings of ReaderWriterFLT.cpp" +CID 12261: Missing break in switch (MISSING_BREAK) +This case (value 6) is not terminated by a 'break' statement. -2011-04-19 14:11 robert - * From Bradley Anderegg, "The first change just exposes the archive - extension list so that - external applications can determine if an archive extension is - valid. - - The second change is a bug fix in Registry::read(const - ReadFunctor&) - where if you pass in valid options they get wiped out after the - archive - is loaded but before being passed along to the plugin." -2011-04-19 13:32 robert - * From Paul Martz, "To summarize the fix: OpenGL eye coords are - negative outside Cartesian quadrant 1. As a result, the center of - projection is eye coord (0,0), which (when used as st tex coords) - looks up the lower left corner of the texture. However, in - projective texturing, you usually want eye coord (0,0) to look up - the center of the texture. Accomplishing this mapping requires - not just a lookat and perspective transform, but also a translate - and scale." +Fri, 6 May 2011 09:21:04 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issues.CID 10392: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _maxIndex is not initialized in this constructor nor in any functions that it calls. +Non-static class member _minIndex is not initialized in this constructor nor in any functions that it calls. -2011-04-19 12:01 robert +CID 10454: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _maxIndex is not initialized in this constructor nor in any functions that it calls. +Non-static class member _minIndex is not initialized in this constructor nor in any functions that it calls. - * From Jan Peciva, "please find attached proposed fix for ON_DEMAND - rendering. The biggest issue was - that the windows did not act on repaint request (WM_PAINT, - EXPOSE,...) - - Detailed explanation: - - I implemented requestRedraw using the push approach (not using - GraphicsWindow::_requestRedraw flag that I was considering) as - there may be - multiple viewers reading the flag and fighting to reset it after - the paint - request, while some viewers may not spot the request to redraw - - I made windows call GraphicsWindow::requestRedraw when they - receive - appropriate message (WM_PAINT, EXPOSE, RESIZE,...) - - There were issues on Linux that windows did not want to close - using x - button. Resolved by moving the test for DeleteWindow event from - swapBuffersImplementation() to GraphicsWindowX11::checkEvents(). - The difficulty - was that DeleteWindow event is not coming using _eventDisplay, - but through - _display. - - The last difficulty was that it is necessary to call - ViewerBase::checkWindowStatus() to set _done to true when all - windows are - closed. This did not happened recently in ON_DEMAND run scheme. I - put the call - to checkWindowStatus() to eventTraversal. - " +CID 10505: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _maxIndex is not initialized in this constructor nor in any functions that it calls. +Non-static class member _minIndex is not initialized in this constructor nor in any functions that it calls. -2011-04-19 11:46 robert +CID 10919: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _maxIndex is not initialized in this constructor nor in any functions that it calls. +Non-static class member _minIndex is not initialized in this constructor nor in any functions that it calls. - * Removed spaces from end of lines +CID 10920: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _maxIndex is not initialized in this constructor nor in any functions that it calls. +Non-static class member _minIndex is not initialized in this constructor nor in any functions that it calls. -2011-04-19 11:40 robert - * Ran svn propset -R svn:eol-style native . on the OpenSceneGraph -2011-04-19 09:54 robert - * Improved the handling of unitialized bounding box +Fri, 6 May 2011 09:20:06 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issues.CID 11389: Resource leak in object (CTOR_DTOR_LEAK) +Allocating memory by calling "new bsp::VBSPData". +Assigning: "this->bsp_data" = "new bsp::VBSPData". +The constructor allocates field "bsp_data" of "struct bsp::VBSPReader" but the destructor and whatever functions it calls do not free it. -2011-04-19 09:53 robert - * Cleaned up example -2011-04-18 12:58 robert - * Updated SO version number +Fri, 6 May 2011 09:19:27 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issues by using ref_ptr<> for object.ID 11390: Resource leak in object (CTOR_DTOR_LEAK) +Allocating memory by calling "new osg::Vec3Array". +Assigning: "this->vertices" = "new osg::Vec3Array". +The constructor allocates field "vertices" of "struct prims" but the destructor and whatever functions it calls do not free it. -2011-04-18 12:35 robert +CID 11391: Resource leak in object (CTOR_DTOR_LEAK) +Allocating memory by calling "new osg::Vec3Array". +Assigning: "this->normals" = "new osg::Vec3Array". +The constructor allocates field "normals" of "struct prims" but the destructor and whatever functions it calls do not free it. - * Added IncrementalCompileOperation::compileAllForNextFrame(uint) - method and supporting - functionality that tell the IncrementalCompileOperation to - compile all pending objects during next draw traversal, - for specified number of frames. +CID 11392: Resource leak in object (CTOR_DTOR_LEAK) +Allocating memory by calling "new osg::Vec3Array". +Assigning: "this->txc" = "new osg::Vec3Array". +The constructor allocates field "txc" of "struct prims" but the destructor and whatever functions it calls do not free it. -2011-04-14 15:47 robert +CID 11393: Resource leak in object (CTOR_DTOR_LEAK) +Allocating memory by calling "new osg::Vec3Array". +Assigning: "this->txcoords" = "new osg::Vec3Array". +The constructor allocates field "txcoords" of "struct prims" but the destructor and whatever functions it calls do not free it. - * From Stephan Huber, "attached you'll find some enhancements for - the iphone-part of the readme." +CID 11747: Uninitialized pointer field (UNINIT_CTOR) +Non-static class member gset is not initialized in this constructor nor in any functions that it calls. -2011-04-14 15:45 robert - * From Magnus Kessler, "The standard width for the windows cmd and - terminals on many Unix systems is - 80 columns. I reorganized some of the help strings to make the - output of - - osgconv --help --all - - fit to 80 columns. This avoids difficult to read line breaks - added by the - terminal program itself." -2011-04-14 15:22 robert - * Cleaned up DXT1 support +Fri, 6 May 2011 09:00:46 +0000 +Checked in by : Robert Osfield +Fixed build problem -2011-04-14 15:21 robert +Thu, 5 May 2011 12:40:03 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11845: Structurally dead code (UNREACHABLE) +This code cannot be reached: ".basic_string("");". - * Added IF (WIN32) around OSG_USE_UTF8_FILENAME -2011-04-14 10:44 robert - * Added osgDB::Option string entries: - - supportsOption("dds_dxt1_rgb","set the pixel format of DXT1 - encoded images to be RGB"); - supportsOption("dds_dxt1_rgba","set the pixel format of DXT1 - encoded images to be RGBA"); - supportsOption("dds_dxt1_detect_rgba","For DXT1 encode images set - the pixel format according to presence of transparent pixels."); - - And set the default not to modify and detect the RGB or RGBA - pixel format for DXT images. -2011-04-14 09:16 robert +Thu, 5 May 2011 12:39:35 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11855: Use after free (USE_AFTER_FREE) +"operator delete[](void *)" frees "buffer". - * Added setting of the internal texture format -2011-04-13 19:28 robert - * quitened down debug output -2011-04-13 19:26 robert +Thu, 5 May 2011 12:38:48 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue. This fix addresses a memory leak.CID 11847: Unused pointer value (UNUSED_VALUE) +Pointer "node" returned by "lib3ds_node_new(LIB3DS_NODE_CAMERA)" is never used. - * Introduced new code for detecting DXT1 images catogoriesed as RGB - that actually have a 1 bit alpha, - therefore re-interpreting these as RGBA. -2011-04-13 10:44 robert - * Added handling of DXT1 in osg::Image::isImageTranslucent() -2011-04-11 19:11 robert +Thu, 5 May 2011 12:37:00 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11844: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _defaultValue is not initialized in this constructor nor in any functions that it calls. +Index: ../include/osgDB/Serializer - * Added support for explitly requesting DXT1a and DXT1c compression -2011-04-04 10:16 robert - * From Stephan Huber, "Attached you'll find a fixed - GraphicsWindowCocoa-implementation which should fix the reported - bugs. - - the osgkeyboard-example works now, but not the numbers of the - keypad, as - they hilight only for KEY_KP_Left, KEY_KP_Right, KEY_KP_Up, - KEY_KP_DOWN - etc and not for KEY_KP_0 - KEY_KP_9." -2011-03-31 14:57 robert +Thu, 5 May 2011 11:31:12 +0000 +Checked in by : Robert Osfield +Fixed warning - * Added OPENTHREADS_ATOMIC_USE_MUTEX Cmake options that allows you - to override the default detection - of atomic implementatition, making it possible to force the use - of Mutex for OpenThreads::Atomic, - and as a consequence for use of Mutex for Referenced::ref/unref() - counting. +Thu, 5 May 2011 11:27:34 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11864: Wrapper object use after free (WRAPPER_ESCAPE) +Assigning: "szFilename" = "path.c_str()", which extracts wrapped state from local "path". -2011-03-30 15:15 robert - * From Tim Moore, - Fixes to race in DatabasePager where a parent PagedLOD - of newly loaded subgraph has been expired. - - Clean up of visitor naming to make it clearer what role it has. -2011-03-23 14:01 robert - * Added m4v as a handled movie file extension +Thu, 5 May 2011 10:31:34 +0000 +Checked in by : Robert Osfield +Fixed 4 Coverity reported issuesCID 11851: Unused pointer value (UNUSED_VALUE) +Pointer "gfd" returned by "gr->getField(26)" is never used. -2011-03-21 21:28 robert +CID 11850: Unused pointer value (UNUSED_VALUE) +Pointer "gfd" returned by "gr->getField(80)" is never used. - * Added dciimage library to DCMTK libs +CID 11849: Unused pointer value (UNUSED_VALUE) +Pointer "gfd" returned by "gr->getField(3)" is never used. -2011-03-21 21:28 robert +CID 11848: Unused pointer value (UNUSED_VALUE) +Pointer "gfd" returned by "grec->getField(3)" is never used. - * Improved handling of RGB data. -2011-03-19 16:25 robert - * Added .get() to fix build -2011-03-18 12:21 robert +Thu, 5 May 2011 10:28:34 +0000 +Checked in by : Robert Osfield +Fixed typo - * Adde an isFileADicom(..) method to enable the loader to - automatically identifier dicom files without making any - assumptions about the file extension +Wed, 4 May 2011 16:36:35 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, build fix for gcc 4.6 -2011-03-18 11:23 robert +Wed, 4 May 2011 16:01:21 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a small enhancement for GraphicsWindowCocoa to implement the recently introduced setSyncToVBlank-method.Additionally I added a ToggleSyncToVBlank-eventhandler to osgViewer. I +used it to test the code, perhaps you'll find it useful and include it +in the distribution." - * Added extra DCMTK libraries to search and link line to enable - build against new DCMTK-3.6.0 release -2011-03-17 17:33 robert - * Added support for new SampleDensityWhenMovingProperty into .p3d - format, with it default to 0.02. - - One can override this value via the - sampleDensityWhenMoving="value" property in the volume tag, i.e. - - CardiacCT - - To switch the feature off set the value to 0, i.e. - - CardiacCT +Wed, 4 May 2011 09:53:11 +0000 +Checked in by : Robert Osfield +Removed unncessary references to FREETYPE -2011-03-17 15:37 robert +Wed, 4 May 2011 09:48:10 +0000 +Checked in by : Robert Osfield +From Michael Platings, fix for build with cmake 2.6.x - * Added SampleDensityWhenMovingProperty to control LOD property of - osgVolume. +Tue, 3 May 2011 12:43:00 +0000 +Checked in by : Robert Osfield +Added OSGVIEWER_EXPORT -2011-03-17 13:56 robert +Tue, 3 May 2011 10:14:34 +0000 +Checked in by : Robert Osfield +Added missing break; - * Changed the view movement detection code so that it uses the - new CullVisitor::Identifier to indentifier cull traversals, - this enables the code to properly detect movement when - osgViewer::Renderer uses double buffering of SceneView. +Tue, 3 May 2011 09:58:31 +0000 +Checked in by : Robert Osfield +From Michael Platings, "I've updated the FBX plugin to use the latest FBX SDK (2012.1). Please apply the attached .cmake which finds the correct SDK headers & libraries." -2011-03-17 13:54 robert +Tue, 3 May 2011 09:11:04 +0000 +Checked in by : Michael PLATINGS +Updated to use FBX SDK 2012.1 - * Added set up of CulLVisitor::Identifier so that the double - buffered SceneView/CullVisitor - share the same Identifier. +Fri, 29 Apr 2011 16:50:45 +0000 +Checked in by : Robert Osfield +Improved the handling of different combinations of slashes and dirNames. -2011-03-17 13:54 robert +Fri, 29 Apr 2011 16:34:26 +0000 +Checked in by : Robert Osfield +Added following methods to osgDB::Archive in support of work by Fradley Anderegg on .zip archive support: /** Get the file name which represents the archived file.*/ + virtual std::string getArchiveFileName() const = 0; - * Added CullVisitor::Identifier to help with cull operations that - require a consistent identifier for - cull traveresals when osgViewer::Renderer uses double buffering. + /** return type of file. */ + virtual FileType getFileType(const std::string& filename) const = 0; -2011-03-17 11:49 robert + /** return the contents of a directory. + * returns an empty array on any error.*/ + virtual DirectoryContents getDirectoryContents(const std::string& dirName) const = 0; - * First cut at LOD support in RayTracedTechnique, which lowers the - number of samples taken when the view of the volume is changing. +Added implementations of these new methods into src/osgPlugins/osga/OSGA_Archive.h src/osgPlugins/osga/OSGA_Archive.cpp -2011-03-16 13:48 robert - * From Torben Dannhauer, "adds an additional library name of libpng - ( libpng15 ) to search fo" -2011-03-16 13:41 robert - * From Alan Dickinson,"I tested out my changes against the trunk - and everything worked fine... except I noticed that the - CMAKE_BUILD_POSTFIX is set incorrectly for a undefined or blank - BUILD_TYPE. - - So here is the one line change to the CMakeLists.txt to rectify - this omission." +Fri, 29 Apr 2011 14:31:45 +0000 +Checked in by : Robert Osfield +Refactored the libtiffOStreamSeekProc function so that it extendeds the stream when the requested file position is beyond the current end of the stream. This fix addresses a bug that occurred when writting to a streamstream. -2011-03-16 10:51 robert +Fri, 29 Apr 2011 09:16:47 +0000 +Checked in by : Robert Osfield +Update ChangeLog - * Added hud and billboard support to image, stereo_image, pdf, - browser and vnc image placement +Thu, 28 Apr 2011 16:33:14 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11447: Unchecked dynamic_cast (FORWARD_NULL) +Dynamic cast to pointer "dynamic_cast (nc->clone(this))" can return null. +Assigning null: "first" = "dynamic_cast (nc->clone(this))". -2011-03-15 19:54 robert +The clone() implementation is written using macro's so that it always returns the type of Object +being cloned so it's normally safe to assume that a dynamic_cast<> will always return a valid pointer as long +as the new T that involves creates a valid object. However, if the class being cloned doesn't correctly +implement the clone() method then their potential for the dynamic_cast to fail and will return a NULL and will +result in a memory leak of the object of paraent class that the clone would have defaulted to. - * Added support hud property for title, bullets and paragraph tags +I've tightened up the CopyOp.cpp code to check the return type and added better handling of the clone in the +osg::clone() methods so thay don't have any potential mememory leaks and report warnings to OSG_WARN when +problems are encountered. It may be more apporpriate to throw an exception so will need to ponder this +issue further. -2011-03-15 14:04 robert - * From Sukender, "Fixed a case where getUniqueName() does not work - properly" -2011-03-15 14:02 robert - * From Torben Dannhauer, update to reflect addition of NVTT to - Windows 3rdPartyPackage +Thu, 28 Apr 2011 10:23:50 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11403: Logically dead code (DEADCODE) +After this line, the value of "needspace" is equal to 0. +Assigning: "needspace" = "false". -2011-03-15 13:53 robert +Technically the report is correct, but the code is just debugging code that was there just in case +the code needed to be reviewed. This code is long since through it's debugging stage so the code +is no longer really worth keeping so I've removed it for cleanness sake. - * Added checked against GL version number for enabled - _isTexture3DSupported. -2011-03-15 13:40 robert - * Fixed warning -2011-03-15 13:30 robert +Thu, 28 Apr 2011 10:23:28 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.ID 11667: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _useVertexAttribAlias is not initialized in this constructor nor in any functions that it calls. - * Added OSG_EXPORT to declaration of View::Slave. +Member variable should have been initialized but this varaible will have always been initialized in later code +before it was used anyway so wouldn't have resulted in a runtime bug. -2011-03-15 12:48 robert - * Re-enabled the fallback compute of bounding volume. -2011-03-15 12:26 robert - * Fixed updating of text position when PositionData.position is not - modified by tag but other elements of PositionData are - such as - when billboarding +Thu, 28 Apr 2011 10:22:20 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11414: Logically dead code (DEADCODE) +After this line, the value of "vboMemory" is equal to 0. +Assigning: "vboMemory" = "NULL". -2011-03-14 21:36 robert +Another case of debugging code paths being picked out. I have chosen to just delete these paths as the code +looks to be working fine and less code is better than more code when it comes to maintenance. - * Implemented billboard="on" option for image, bullet and paragraph - tags -2011-03-14 11:29 robert - * Added support for placing comments at end of each line. -2011-03-14 10:07 robert +Wed, 27 Apr 2011 16:37:25 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue. Issue is benign as all the member variables are initialized in after construction, but I've moved this initialization into the constructor to make the code more managable.CID 11686: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member cnt is not initialized in this constructor nor in any functions that it calls. +Non-static class member maxcnt is not initialized in this constructor nor in any functions that it calls. +Non-static class member phase is not initialized in this constructor nor in any functions that it calls. - * From Farshid Lashkari, "Another update. I added a LIMIT_NEAREST - enum which implements your previous suggestion of rejecting - bounding volumes further from the nearest existing intersection. - I only implemented this for LineSegmentIntersector. I'd - appreciate it if you could double check the math I added to - LineSegmentIntersector::intersects() for checking if the bounding - sphere is further away. The results of this are promising. I'm - getting noticeable performance increase for line intersections - with scenes containing many drawables. - " -2011-03-14 09:59 robert - * From Torben Dannhauer, warning fix for a false positive warning - generated by VS about "not all control pathes return a value". -2011-03-11 17:20 robert +Wed, 27 Apr 2011 16:35:34 +0000 +Checked in by : Robert Osfield +Fixed 2 Coverity reported issues. Both issues are benign, but I've addressed then as with the changes the code is clean and more mantainable.CID 11676: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member cancelMode is not initialized in this constructor nor in any functions that it calls. +Non-static class member cpunum is not initialized in this constructor nor in any functions that it calls. +Non-static class member detached is not initialized in this constructor nor in any functions that it calls. +Non-static class member isRunning is not initialized in this constructor nor in any functions that it calls. +Non-static class member stackSize is not initialized in this constructor nor in any functions that it calls. +Non-static class member threadPolicy is not initialized in this constructor nor in any functions that it calls. +Non-static class member threadPriority is not initialized in this constructor nor in any functions that it calls. +Non-static class member uniqueId is not initialized in this constructor nor in any functions that it calls. - * From Farshid Lashkari, removal of redundent spaces at the end of - lines. +CID 11564: Unsigned compared against 0 (NO_EFFECT) +This less-than-zero comparison of an unsigned value is never true. "cpunum < 0U". -2011-03-11 16:31 robert - * From Benjamin Wasty and David Guthrie, "currently, - non-alpha-numeric keys are not recognized (except as modifiers) - in osgQt, so I added the mapping code from my Qt integration to - GraphicsWindowQt (which is based on Delta3D code from David - Guthrie - he gave me permission to submit it under OSGPL)." -2011-03-11 11:25 robert - * From Sukender, "Added support for texcoords scale and offset (UV - scaling and offset in Lib3DS Materials), for texture unit 0." -2011-03-11 11:20 robert +Wed, 27 Apr 2011 16:06:32 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11677: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _minimumNumberAccumAlphaBits is not initialized in this constructor nor in any functions that it calls. +Non-static class member _minimumNumberAccumBlueBits is not initialized in this constructor nor in any functions that it calls. +Non-static class member _minimumNumberAccumGreenBits is not initialized in this constructor nor in any functions that it calls. +Non-static class member _minimumNumberAccumRedBits is not initialized in this constructor nor in any functions that it calls. - * Fixed the case insenstive search under unices -2011-03-11 10:24 robert - * From Mourad Boufarguine, - "There is a redundant cmake code at the end of osgViewer cmake - script. The install command is issued in SETUP_LIBRARY macro." - "I spotted this when i tried a make install on the android port - :) I saw some weird copy commands of osgViewer headers. - I managed to get all osg headers copied to - cmake_install_prefix/include upon make install, but i can't (yet) - get the libraries to be copied to cmake_install_prefix/lib (see - attached files)" +Wed, 27 Apr 2011 16:06:10 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11690: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _frameLastUsed is not initialized in this constructor nor in any functions that it calls. -2011-03-11 10:18 robert - * From Alan Dickinson, "I modified the CPack and CMake files to - utilze the CMAKE_INSTALL_PREFIX when building RPM packages. - - I also modified the CMake and pkgconfig files to append the - _POSTFIX extenstion based on the CMAKE_BUILD_TYPE. - - Additionally I fixed - packaging/ld.so.conf.d/openscenegraph.conf.in to add a '/' - betweeen the arguments since the CMAKE_INSTALL_PREFIX can't end - with a '/'. - " -2011-03-10 14:53 robert +Wed, 27 Apr 2011 16:05:37 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11689: Uninitialized pointer field (UNINIT_CTOR) +Non-static class member _glBlendColor is not initialized in this constructor nor in any functions that it calls. - * From Mourad Boufarguine, "I gave osg android port a try on - Windows using cygwin, and it worked like a charm (only a tiny - problem with osgViewer, when cross compiling for android using - cygwin, the windows path in osgViewer/CMakeLists.txt is used - rather than the android one, fix attached). - " -2011-03-10 14:44 robert - * From Mourad Boufarguine, "I gave projects folders in VS a try, it - works for applications, plugins and examples but not for the osg - core libraries. - Attached OsgMacroUtils.cmake is a tiny fix for this. OpenThreads - is addressed seperately." -2011-03-10 10:56 robert +Wed, 27 Apr 2011 16:05:13 +0000 +Checked in by : Robert Osfield +Fixed 2 Coverity reported issues.CID 11681: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _previousHeight is not initialized in this constructor nor in any functions that it calls. +Non-static class member _previousWidth is not initialized in this constructor nor in any functions that it calls. - * From Rafa Gaitan, "Attached the fix to remove the symlinks - created with make install." +CID 11688: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _previousHeight is not initialized in this constructor nor in any functions that it calls. +Non-static class member _previousWidth is not initialized in this constructor nor in any functions that it calls. -2011-03-10 10:52 robert - * From Michael Platings, "I'm guessing that the stack corruption - was caused by calling GetFullPathNameW with the nBufferLength - argument as the number of bytes in the buffer, rather than the - number of characters. I've attached code that uses - GetFullPathNameW et al. with _countof() rather than sizeof() and - this works fine." -2011-03-09 17:35 robert - * Quitened down timing stats +Wed, 27 Apr 2011 16:04:37 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue, in this case it's a unused member variable so could just be deleted.CID 11687: Uninitialized pointer field (UNINIT_CTOR) +Non-static class member _glBeginEndAdapter is not initialized in this constructor nor in any functions that it calls. -2011-03-09 16:30 robert - * From Johannes Baeuerle, fix for memory leak -2011-03-09 15:55 robert - * From Jan Peciva, - "please, find attached updates to Inventor plugin: - - - improved transparency - - do not treat 32-bit textures as transparent textures unless - they really - contain transparent pixels - - error messages forwarded to osg::notify" +Wed, 27 Apr 2011 16:03:37 +0000 +Checked in by : Robert Osfield +Fixed 3 Coverity reported issues. CID 11622 is a bit of false positive as for valid settings no leak would happen.CID 11810: Uninitialized scalar field (UNINIT_CTOR) +Non-static class member _setMaxFarDistance is not initialized in this constructor nor in any functions that it calls. -2011-03-09 14:44 robert +CID 11811: Uninitialized pointer field (UNINIT_CTOR) +Non-static class member _displayTexturesGroupingNode is not initialized in this constructor nor in any functions that it calls. - * From Sukender, "1. Made code a bit more readable/cleaner. - 2. Removed unecessary code. Also made sure the images names are - not truncated in the middle of an UTF8 character. You'll find - there a function called utf8TruncateBytes(), which may be moved - in core OSG (osgDB/ConvertUTF I guess). Feel free to do it if you - feel it that way. - " +CID 11622: Resource leak (RESOURCE_LEAK) +Calling allocation function "operator new(unsigned long long)". +Variable "" is not freed or pointed-to in function "osg::StateSet::StateSet()". [show details] +Assigning: "sharedStateSet" = storage returned from "new osg::StateSet". + 282 osg::StateSet* sharedStateSet = new osg::StateSet; +Variable "sharedStateSet" is not freed or pointed-to in function "osg::Object::setDataVariance(osg::Object::DataVariance)". [show details] -2011-03-09 14:15 robert - * From Piotr Gwiazdowski, "So there's config setting - OSG_DISABLE_MSVC_WARNINGS which should - disable pragmas that turn off specific warnings for MSVC. - Unfortunately it's presence is only checked in osg/Export header, - making other Export headers disable warnings no matter what, - which is - kind of incoherent. - - My fix adds #include to every Export header. I've - also - unified checking whether to disable warnings to current - osg/Export - way: - #if defined(_MSC_VER) && defined(OSG_DISABLE_MSVC_WARNINGS). - - Attachment contains all changed Export files in their original - locations." -2011-03-09 13:10 robert - * From Eric Sokolowsky, "I have updated the pnm plugin to use - streams instead of C-style I/O. Attached is - src/osgPlugins/pnm/ReaderWriterPNM.cpp" +Wed, 27 Apr 2011 16:02:10 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11588: Resource leak (RESOURCE_LEAK) +Calling allocation function "operator new[](unsigned long long)". +Assigning: "dataPtr" = storage returned from "new unsigned char[newTotalSize]". -2011-03-09 13:05 robert - * From Tassilo Glander,"I patched the cmake configuration to - support folders, which are really handy to organize the many - projects in the OSG solution into examples, applications and core - libs in the IDE. - This feature has been introduced to cmake in 2.8.3, on older - versions it should be ignored silently. I tested on Visual Studio - 2008 with cmake 2.8.3 and 2.8.4. - - See the screenshots for comparison [img]osg_solution.png[/img] - - This needs few changes: - - activate on global cmakelist.txt: - - [code]set_property(GLOBAL PROPERTY USE_FOLDERS On)[/code] - - set appropriate folder names for project type in - osgMacroUtils.cmake: - - [code]SET_TARGET_PROPERTIES(${CORELIB_NAME} PROPERTIES FOLDER - "OSG Core")[/code] - - similar for examples, applications" -2011-03-09 12:29 robert - * From Piotr Gwiazdowski, "Recently I've been having some trouble - with osgWidget::StyleManager - (I'll omit osgWidget namespace from now on). It seems to me that - there - are some inconsistency in the code. In Style there are multiple - applyStyle method overloads, applying style for different - widgets/windows built-in in osgWidget. Plus you can do overrides. - It's - good so far. - - The problem lies in StyleManager::_applyStyleToObject (which - calls - _coearceAndApply, which calls _applySpecificStyle, which calls - Style::applyStyle). With current implementation Style::applyStyle - variants for Input, Window, Frame::Corner, Frame::Border, - Window::EmbeddedWindow are never called, because their classes' - names - are omitted in methods' if/else if block, making it impossible to - use - styles with most than half of built-in widget/window types. - - My fix simply adds couple else if blocks, making each - Style::applyStyle variant callable. By the way, I think that next - update should add Style::applyStyle overload for Table class and - add - proper className overloads for Input and Window." +Wed, 27 Apr 2011 16:01:43 +0000 +Checked in by : Robert Osfield +Fixed 2 Coverity reported issues.Following are both false positives as the the scope they are in will always assign the object to a ref counted +structure. I've modified the code to use ref_ptr<> to just make it clear that it's underscope, although +this is not strictly neccessary as the code is OK, I introduced this for clarity and robustness in +presence of exceptions. -2011-03-09 12:15 robert +CID 11586: Resource leak (RESOURCE_LEAK) +Calling allocation function "operator new(unsigned long long)". +Variable "" is not freed or pointed-to in function "osg::VertexBufferObject::VertexBufferObject()". [show details] +Assigning: "vbo" = storage returned from "new osg::VertexBufferObject". - * Removed the repeated called to jas_init() and - jas_image_clearfmts() calls to make it possible to use the - reading multi-threaded -2011-03-09 11:22 robert +CID 11587: Resource leak (RESOURCE_LEAK) +Calling allocation function "operator new(unsigned long long)". +Variable "" is not freed or pointed-to in function "osg::ElementBufferObject::ElementBufferObject()". [show details] +Assigning: "ebo" = storage returned from "new osg::ElementBufferObject". - * From Dietmar Funck, "I've noticed an issue with - osgUtil::RenderStage::runCameraSetUp() if the number of buffer - attachments of the camera decreases according to privous calls. - This happens because RenderStage::_bufferAttachmentMap is updated - only for the number of buffers the camera has when runCameraSetUp - is called. - For example if there were 4 attachments and now only 3, only the - first three elements of _bufferAttachmentMap are changed. The - fourth is just as before - however it shouldn't be there. - - Calling _bufferAttachmentMap.clear() before resolves this - problem. - " -2011-03-09 11:15 robert - * From Cedric Pinson, "I have just adjusted the FindCOLLADA - function to let it find library on - gnu/linux." -2011-03-09 11:13 robert +Wed, 27 Apr 2011 16:00:32 +0000 +Checked in by : Robert Osfield +Fixed Coverity reported issue.CID 11636: Allocation size mismatch (SIZECHECK) +"my_alloc(sizeof (struct PlyProperty) /*36*/ * elem->nprops, 1292, "..\\..\\..\\..\\src\\osgPlugins\\ply\\plyfile.cpp")" allocates memory. [show details] +Allocating a multiple of 36 bytes to pointer "other->props", which needs 8 bytes. - * From Sukender, "I fixed the writing but never thought about the - reading part... - Here is the fix for reading path containing %23 (= '#') - characters." -2011-03-09 11:06 robert - * Updated versions for next OSG dev release -2011-03-09 10:35 robert +Tue, 26 Apr 2011 19:31:04 +0000 +Checked in by : Robert Osfield +Fixed 1 Coverity Low Impact issue "Unused pointer value (UNUSED_VALUE) Pointer "indices" returned by "this->_vertexAttribList[0ULL].indices.get()" is never used."Report highlighted the fact that later code wasn't using the indices variable when it should have been, so +potentially a higher impact that the severity suggested by Coverity. - * Changed the use of a viewer thread to be off by default because - it was causing the application to crash when any users input was - recieved -2011-03-08 17:05 robert - * Fixed error in X11 string name -2011-03-08 16:35 robert +Tue, 26 Apr 2011 19:29:22 +0000 +Checked in by : Robert Osfield +Fixed 3 Coverity Low Impact performance issues relating to "Big parameter passed by value". - * From Rafa Gaitan and Jorge Izquierdo, build support for Android - NDK. - - "- In order to build against GLES1 we execute: - $ mkdir build_android_gles1 - $ cd build_android_gles1 - $ cmake .. -DOSG_BUILD_PLATFORM_ANDROID=ON - -DDYNAMIC_OPENTHREADS=OFF - -DDYNAMIC_OPENSCENEGRAPH=OFF -DANDROID_NDK=/ - -DOSG_GLES1_AVAILABLE=ON -DOSG_GL1_AVAILABLE=OFF - -DOSG_GL2_AVAILABLE=OFF -DOSG_GL_DISPLAYLISTS_AVAILABLE=OFF -DJ=2 - -DOSG_CPP_EXCEPTIONS_AVAILABLE=OFF - $ make - If all is correct you will have and static OSG inside: - build_android_gles1/bin/ndk/local/armeabi. - - - GLES2 is not tested/proved, but I think it could be possible - build - it with the correct cmake flags. - - The flag -DJ=2 is used to pass to the ndk-build the number of - processors to speed up the building. - - make install is not yet supported." +Tue, 26 Apr 2011 15:24:21 +0000 +Checked in by : Robert Osfield +Updated version after 2.9.13 dev release -2011-03-08 15:31 robert +Tue, 26 Apr 2011 14:55:19 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS for 2.9.13 dev release - * Fixed indentation +Tue, 26 Apr 2011 12:07:37 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "Fixes two of the osgWidget examples that were broken due to changed virtual function prototypes in osgWidget/EventInterface" -2011-03-08 13:51 robert +Tue, 26 Apr 2011 12:05:57 +0000 +Checked in by : Robert Osfield +From Craig Bosma,"Please find attached a fix for shared contexts on OS X, with the Cocoa backend. The NSOpenGLContext* _context member of GraphicsHandleCocoa was never set on successfully creation, so even if the dynamic_cast to GraphicsHandleCocoa succeeds, we get a bogus (NULL) pointer on retrieving the actual NSOpenGLContext* (line 1013).This should fix the problem, as well as cause GraphicsWindowCocoa to report the correct name "GraphicsWindowCarbon" -> "GraphicsWindowCocoa". +" - * From Rafa Gaitan, "I have added the macro SETUP_LIBRARY, similar - to SETUP_PLUGIN or - SETUP_EXE, in order to have a unique entry point to build the - libraries. With this changes the android integration will be less - painful (currently is a big IF(ANDROID) for each CMakeLists.txt) - and - more maintainable in the future. I hope next submissions will be - for - supporting android from my colleague Jorge. - " -2011-03-07 14:42 robert - * Added comments +Tue, 26 Apr 2011 11:51:21 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I believe their is small error in how OutputStream handles the WriteImageHint. In the "writeImage" method, it converts the WriteImageHint to an internal "decision" flag. During this conversion, it seems to be swapping the behavior for WRITE_EXTERNAL_FILE and WRITE_USE_EXTERNAL. I've attached what I believe to be the correct conversion." -2011-03-07 13:45 robert +Thu, 21 Apr 2011 17:16:27 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "Fixes installation of the osgViewer headers that got broken with rev 12208 and 12231.The windowing system specific headers under +include/osgViewer/api/ are again installed under +include/osgViewer/api/ - * Changed all .c++ to .cpp's +Works in recent ubuntu with cmake-2.8.4 and msvc2010 with cmake-2.8.2" -2011-03-07 12:35 robert - * Added --color r g b a, --wall-color r g b a, --back-color r g b a - options for setting the colours of faces via materials. - and --image filename, --wall-image filename, --back-image - filename options to set the textures used, note, texcoords are - not currently set up so texels used will be 0,0. -2011-03-07 12:33 robert +Thu, 21 Apr 2011 17:04:50 +0000 +Checked in by : Robert Osfield +From Johannes Baeuerele, "I have extended the pvr reader plugin to support etc1 compression(GL_ETC1_RGB8_OES). The changes attached to this submission are based on today's trunk.The pvr format which can be used as a wrapper for different compressed and uncompressed formats supports this compression algorithm. The original pvr compression uses the pvrtc format. The handling of pvrtc is already implemented in the pvr plugin. PVR provides wrapper functionality for some formats, e.g. etc or even dxt/dds. - * Enabled the settng/getting of the Text3D's WallStateSet and - BackStateSet along with use of these in the rendering - implementation - to allow separate colour and other state to be assigned to the - front, wall and back faces. +Our target system (gles2) is able to use the etc compression format. With minor changes in the submitted files, there is no need to write a separate plugin. However the original pvr texture compression formats are not supported on our target, which is the reason for this extension. -2011-03-03 15:52 robert +The changes mainly consist in the definition on new enum values in the classes and headers of ReaderWriterPVR,Image and Texture. I also found some locations where the handling of the original pvr textures was not implemented. These are also part of this submission." - * Moved intial cut of depth partition support into osgViewer::View - via two new methods: - - /** Convenience method for setting up multiple slave cameras that - depth partition the specified camera.*/ - bool setUpDepthPartitionForCamera(osg::Camera* cameraToPartition, - DepthPartitionSettings* dps=0); - - /** Convenience method for setting up multiple slave cameras that - depth partition each of the view's active cameras.*/ - bool setUpDepthPartition(DepthPartitionSettings* dsp=0); -2011-03-03 12:33 robert - * Introduced a new more generic function for settings up the depth - partitioning of viewer cameras. +Thu, 21 Apr 2011 13:34:03 +0000 +Checked in by : Robert Osfield +From Marius Heise, "here is a patch that implements Win32 HW-synced swapping using wglJoinSwapGroupNV, wglBindSwapBarrierNV and the existing traits. It was tested with multiple ATI FirePro S400 cards.I also fixed the vsync implementation introduced with rev.11357 that was crashing with the Windows Error #170. So I removed your temporary /* */ around the vsync condition..." -2011-03-02 16:40 robert - * Build fix -2011-03-02 16:24 robert +Thu, 21 Apr 2011 13:01:11 +0000 +Checked in by : Robert Osfield +From Fred Smith, "GraphicsWindowWin32::setWindow currently creates a context with no regards to the Traits, like createWindow does.That is, it calls ::wglCreateContext to create a context, not the member method createContextImplementation(), which takes into an account the Traits. - * Made parameter a little easier to adjust and commented out - verbose debug info +In my situation, this prevents a GL 3.x context from being created. +" -2011-03-02 16:09 robert - * Implemented first cut of more flexible depth partitioning code. -2011-03-01 16:21 robert +Thu, 21 Apr 2011 12:53:22 +0000 +Checked in by : Robert Osfield +From Jorge Ciges, "1rst - Changes in Cmake: They make possible "make install" with the android building.2nd - Script to use a 3rd party directory with basic libraries: libjpeg,libpng,libtiff,giflib,freetype,curl,gdal. - * Fixed typo +3rd - Change in the GLES library loading for Android. That should make GLES2 work properly. -2011-03-01 15:04 robert +4rth- Included two defines RGB8_OES and RGBA8_OES as a substitute in GLES for RGB8 and RGBA8 - * Added support for passing the --depth-partition distance, throw - to the depth partition slave camera setup. +5th - OpenGL and GLSL version identification changed to recognize GLES versions properly +" -2011-03-01 14:50 robert - * Added experiment depth partioning support in the form of an slave - camera configuration. -2011-03-01 14:48 robert +Thu, 21 Apr 2011 12:12:40 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "I have tried some model that produces crashes in the dae plugin because of empty node:if (GetFloat4Param(cot->getParam()->getRef(), f4)) {...} - * Added support for an View::Slave::UpdateSlaveCallback +in the model I have tested cot->getParam()->getRef() return 0x0 and make +it crahes inside GetFloat4Param. -2011-02-26 16:04 robert +I have added a test before calling GetFloat4Param +if (cot->getParam()->getRef() != 0 && +GetFloat4Param(cot->getParam()->getRef(), f4)) {...} +" - * Fixed handling of write and reading of straight Node objects in - the scene graph. -2011-02-26 15:52 robert - * Changed the handling of unkown nodes on write so that the code - now ignores the non supported nodes allows the overall write to - continue. +Thu, 21 Apr 2011 12:06:06 +0000 +Checked in by : Robert Osfield +From Tomas Hogarth, "Attached are the complete changed files GraphicsWindowIOS and GraphicsWindowIOS.mm. The change is in regard to the ability to adapt to device orientation. We did just have a bool indicating the window would adapt to all orientations. I have changed this to a bit mask allowing the user to specify individual orientations or combinations. enum DeviceOrientation{ -2011-02-24 11:54 robert + PORTRAIT_ORIENTATION = 1<<0, - * Removed TrapezoidalShadowMap due to discovery of patent on - algorithm. + PORTRAIT_UPSIDEDOWN_ORIENTATION = 1<<1, -2011-02-23 22:52 cedricpinson + LANDSCAPE_LEFT_ORIENTATION = 1<<2, - * Cedric Pinson: Fix divide by zero when Action has 0 frames, and - add a warning message because it means something wrong on input - data + LANDSCAPE_RIGHT_ORIENTATION = 1<<3, -2011-02-23 16:49 robert + ALL_ORIENTATIONS = PORTRAIT_ORIENTATION | PORTRAIT_UPSIDEDOWN_ORIENTATION | LANDSCAPE_LEFT_ORIENTATION | LANDSCAPE_RIGHT_ORIENTATION - * Fixed typo + }; -2011-02-23 16:46 robert + typedef unsigned int DeviceOrientationFlags; - * From Wojciech Lewandowski, intial cut at new TrapezoidalShadowMap - ShadowTechnique +The main motivation for this is to easily allow the user to specifiy that the device is in a horizontal orientation rather then having to rotate the view matrix. All flags have been tested individually as well as in combinations. The default is ALL_ORIENTATIONS to keep the exiting functionality for anyone who hasn't specified WindowData for their context traits. +" -2011-02-23 16:45 robert - * From Wojciech Lewandowski, various tweaks to osgShadow shadow - mapping classes to improve consistency and enable more debug info - output -2011-02-23 14:09 robert +Wed, 20 Apr 2011 19:20:28 +0000 +Checked in by : Robert Osfield +From Sukender, Here is a tiny update to FileNameUtils. It brings getPathRoot() and isAbsolutePath() to the public side of the lib. - * Inverted the orientation of the 't' transparency control so that - it's full on at the bottom of the screen, and full transparent at - the bottom. +Wed, 20 Apr 2011 17:15:58 +0000 +Checked in by : Robert Osfield +From Guillaume Taze, "This is a fix for the error popups which appeared when reading a corrupted file on windows. Errors are redirected to std::err instead."Note from Robert Osfield, changed jpeg error report output from stderr to standard OSG notification system using OSG_WARN. -2011-02-23 13:56 robert - * Added support for negative --xMultipler, --yMultiple and - --zMultiplier values -2011-02-23 12:48 robert +Wed, 20 Apr 2011 11:45:01 +0000 +Checked in by : Robert Osfield +Added releaseGLObjects(State*) support into osg::FrameBufferObject, osg::RenderBin and osg::RenderStage to ensure proper clean up of FBO's on closing a graphics context. - * Added support for positive values of --xMultiple - --yMultiplier and --zMultiplier +Tue, 19 Apr 2011 14:19:06 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "A few minor fixes in the documentation strings of ReaderWriterFLT.cpp" -2011-02-23 12:13 robert +Tue, 19 Apr 2011 14:11:13 +0000 +Checked in by : Robert Osfield +From Bradley Anderegg, "The first change just exposes the archive extension list so that external applications can determine if an archive extension is valid.The second change is a bug fix in Registry::read(const ReadFunctor&) +where if you pass in valid options they get wiped out after the archive +is loaded but before being passed along to the plugin." - * Changed the default number of components for a RGB to 4 so it - appears as an RGBA -2011-02-23 11:43 robert - * Added error reporting for old options +Tue, 19 Apr 2011 13:32:25 +0000 +Checked in by : Robert Osfield +From Paul Martz, "To summarize the fix: OpenGL eye coords are negative outside Cartesian quadrant 1. As a result, the center of projection is eye coord (0,0), which (when used as st tex coords) looks up the lower left corner of the texture. However, in projective texturing, you usually want eye coord (0,0) to look up the center of the texture. Accomplishing this mapping requires not just a lookat and perspective transform, but also a translate and scale." -2011-02-23 11:28 robert +Tue, 19 Apr 2011 12:01:38 +0000 +Checked in by : Robert Osfield +From Jan Peciva, "please find attached proposed fix for ON_DEMAND rendering. The biggest issue was that the windows did not act on repaint request (WM_PAINT, EXPOSE,...)Detailed explanation: +- I implemented requestRedraw using the push approach (not using +GraphicsWindow::_requestRedraw flag that I was considering) as there may be +multiple viewers reading the flag and fighting to reset it after the paint +request, while some viewers may not spot the request to redraw +- I made windows call GraphicsWindow::requestRedraw when they receive +appropriate message (WM_PAINT, EXPOSE, RESIZE,...) +- There were issues on Linux that windows did not want to close using x +button. Resolved by moving the test for DeleteWindow event from +swapBuffersImplementation() to GraphicsWindowX11::checkEvents(). The difficulty +was that DeleteWindow event is not coming using _eventDisplay, but through +_display. +- The last difficulty was that it is necessary to call +ViewerBase::checkWindowStatus() to set _done to true when all windows are +closed. This did not happened recently in ON_DEMAND run scheme. I put the call +to checkWindowStatus() to eventTraversal. +" - * Added -n option -2011-02-23 10:37 robert - * Added extra check for GL_BGR and GL_BGRA formats and messages - describing image format loaded +Tue, 19 Apr 2011 11:46:05 +0000 +Checked in by : Robert Osfield +Removed spaces from end of lines -2011-02-22 14:21 robert +Tue, 19 Apr 2011 11:40:22 +0000 +Checked in by : Robert Osfield +Ran svn propset -R svn:eol-style native . on the OpenSceneGraph - * Added test code to explore problems with - LightSpacePerspectiveShadowMap implementation handling of - different datasets and camera settings. +Tue, 19 Apr 2011 09:54:14 +0000 +Checked in by : Robert Osfield +Improved the handling of unitialized bounding box -2011-02-22 11:59 robert +Tue, 19 Apr 2011 09:53:34 +0000 +Checked in by : Robert Osfield +Cleaned up example - * Added support for GL_BGR and GL_BGRA pixel formats +Mon, 18 Apr 2011 12:58:28 +0000 +Checked in by : Robert Osfield +Updated SO version number -2011-02-22 10:53 robert +Mon, 18 Apr 2011 12:35:19 +0000 +Checked in by : Robert Osfield +Added IncrementalCompileOperation::compileAllForNextFrame(uint) method and supporting functionality that tell the IncrementalCompileOperation to compile all pending objects during next draw traversal, for specified number of frames. - * Changed the handling of erroneous dicom files so that the loading - of a directory of dicom files is not abondonded when one or more - erroneous files are encountered. +Thu, 14 Apr 2011 15:47:29 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find some enhancements for the iphone-part of the readme." -2011-02-21 12:29 robert +Thu, 14 Apr 2011 15:45:14 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "The standard width for the windows cmd and terminals on many Unix systems is 80 columns. I reorganized some of the help strings to make the output of osgconv --help --all - * Added computePositions() call to - Text3D::resizeGLObjectsBuffers(uint) +fit to 80 columns. This avoids difficult to read line breaks added by the +terminal program itself." -2011-02-21 10:02 robert - * Added missing Terrain.h reference -2011-02-20 09:57 robert +Thu, 14 Apr 2011 15:22:43 +0000 +Checked in by : Robert Osfield +Cleaned up DXT1 support - * Fixed build of various LiSPSM algorithms +Thu, 14 Apr 2011 15:21:53 +0000 +Checked in by : Robert Osfield +Added IF (WIN32) around OSG_USE_UTF8_FILENAME -2011-02-20 09:55 robert +Thu, 14 Apr 2011 10:44:37 +0000 +Checked in by : Robert Osfield +Added osgDB::Option string entries: supportsOption("dds_dxt1_rgb","set the pixel format of DXT1 encoded images to be RGB"); + supportsOption("dds_dxt1_rgba","set the pixel format of DXT1 encoded images to be RGBA"); + supportsOption("dds_dxt1_detect_rgba","For DXT1 encode images set the pixel format according to presence of transparent pixels."); - * Added --fov and --light-pos and --light-dir command line - parameters +And set the default not to modify and detect the RGB or RGBA pixel format for DXT images. -2011-02-18 11:04 mplatings - * Disabled the RGB components of the opacity texture -2011-02-14 16:24 robert - * From Philipp Svehla, "We’ve added support for users to override - the default values for child elements in asset tags (for the - collada writer). This support was added for the following child - elements: - - - contributor - - - author - - - authoring_tool - - - comments - - - copyright - - - source_data - - - created - - - keywords - - - modified - - - revision - - - subject - - - title - - - unit - - - name - - - meter - - - up_axis - - - - With this support, users are able to include additional - information in their models. Additionally, tools such as sketchup - that support asset tags use the values appropriately within their - imported models." -2011-02-14 16:09 robert +Thu, 14 Apr 2011 09:16:09 +0000 +Checked in by : Robert Osfield +Added setting of the internal texture format - * From Tim Moore, "This patch fixes some performance problems with - the DXF loader. It removes some unnecessary copies of vertex - coordinates (which were causing an exponential explosion). It - also replaces BIND_PER_PRIMITIVE normals with BIND_PER_VERTEX so - that the resulting geometry will be on the fast path." +Wed, 13 Apr 2011 19:28:30 +0000 +Checked in by : Robert Osfield +quitened down debug output -2011-02-14 16:05 robert +Wed, 13 Apr 2011 19:26:35 +0000 +Checked in by : Robert Osfield +Introduced new code for detecting DXT1 images catogoriesed as RGB that actually have a 1 bit alpha, therefore re-interpreting these as RGBA. - * Added copyop parameter to cloneOptions() method +Wed, 13 Apr 2011 10:44:36 +0000 +Checked in by : Robert Osfield +Added handling of DXT1 in osg::Image::isImageTranslucent() -2011-02-14 15:59 robert +Mon, 11 Apr 2011 19:11:25 +0000 +Checked in by : Robert Osfield +Added support for explitly requesting DXT1a and DXT1c compression - * From Tim Moore, "The non-virtual cloneOptions() method, which is - now used by DatabasePager, breaks derived classes of - osgDB::Options. This patch uses the clone() method to clone - Options." +Mon, 4 Apr 2011 10:16:46 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "Attached you'll find a fixed GraphicsWindowCocoa-implementation which should fix the reported bugs.the osgkeyboard-example works now, but not the numbers of the keypad, as +they hilight only for KEY_KP_Left, KEY_KP_Right, KEY_KP_Up, KEY_KP_DOWN +etc and not for KEY_KP_0 - KEY_KP_9." -2011-02-14 15:43 robert - * From Sukender, "Here is an minor update for Jasper finder. It - adds debug cache value for Windows/MSVC builds, and adds search - paths." -2011-02-14 15:04 robert +Thu, 31 Mar 2011 14:57:18 +0000 +Checked in by : Robert Osfield +Added OPENTHREADS_ATOMIC_USE_MUTEX Cmake options that allows you to override the default detection of atomic implementatition, making it possible to force the use of Mutex for OpenThreads::Atomic, and as a consequence for use of Mutex for Referenced::ref/unref() counting. - * From Jan Peciva, "Improvements: - - Use OSG routines to load images instead of simage library - (removes - dependency on 3rdParty simage library). Applies to Coin Inventor - clone only. - " +Wed, 30 Mar 2011 15:15:07 +0000 +Checked in by : Robert Osfield +From Tim Moore, Fixes to race in DatabasePager where a parent PagedLOD of newly loaded subgraph has been expired.Clean up of visitor naming to make it clearer what role it has. -2011-02-14 15:01 robert - * Moved ProgramBinary into osg::Program scope -2011-02-14 14:16 robert - * From Sukender, "Here are two sumbissions for DAE. - - 1. daeRGeometry.cpp (rev 12132). A tiny sumbission which fixes a - quite important bug: a parameter was forgotten in Collada - ReaderWriter, and texture coordinates could not be loaded - properly. So: - " - Added missing paramter when calling createGeometryData(). Fixes - missing texture coordinates (in "bind_vertex_input"). - " - - 2. ReaderWriterDAE.cpp (rev 12132): - " - Added "baseImageDir" as a plugin string data, in order to - manually specify base directory to use when relativising image - file names. This is used to properly write files, when images are - not located in a subdirectory (like "../images" for some - software). - " -2011-02-14 13:54 robert +Wed, 23 Mar 2011 14:01:58 +0000 +Checked in by : Robert Osfield +Added m4v as a handled movie file extension - * From Johannes Bauerle, "I experienced problems using binary - shaders in osgt files (=the osg-serializer plugins). At runtime - std::bad_alloc errors were thrown when using binary shaders. - - The reason is that the .osgt text files do not provide size - information about the contained binary shader hence leading to a - bad allocation when reading the shader data, probably size 0 ? - The reader method in the responsible serializer class - (serializers/osg/BinaryShader) is correct and does not need to be - changed as it queries the size as expected. The writer method - supports two paths(binary output .osgb and text output - .osgt/.osgx). Only the text path is affected as the binary path - writes the size. - - I extended the writer in the text path by the size information. - The results before and after the fix are shown below: - - Erroneous code for binary shader in osgt file before fix: - - Data { - 0a - 0d - 0 - ... - } - - Corrected code for binary shader in osgt file after fix: - - Data 524 { - 0a - 0d - 0 - ... - } - - After my fix the the thrown error disappeared." +Mon, 21 Mar 2011 21:28:35 +0000 +Checked in by : Robert Osfield +Added dciimage library to DCMTK libs -2011-02-14 13:50 robert +Mon, 21 Mar 2011 21:28:02 +0000 +Checked in by : Robert Osfield +Improved handling of RGB data. - * From Jahannes Bauerle, "l discovered that the shader - class(/src/osg/Shader.cpp) shows wrong behavior when using binary - shaders . When shader objects are compared the reference pointer - behind the _shaderBinary member is not included in the - comparison. - - I included binary shaders into an osgt model file. These shaders - only consists of the binary shader code, I did not supply the - text version additionally. When loading the model the - osg::Optimizer threw away all shaders except the first one. In - the current trunk version of the file two shader objects are - identical despite differing _shaderBinary members as the compare - method of the Shader class does not include the comparison of - that member. - - The fix in this submission adds the check for identity of the - referenced binary shaders to the shader class. - - When comparing two shader objects with text source shaders the - new lines of comparison are not even executed as the comparison - returns false in the previous lines when the text shaders differ. - - With this fix I get expected behavior, the Optimizer handles the - different shaders correctly." +Sat, 19 Mar 2011 16:25:01 +0000 +Checked in by : Robert Osfield +Added .get() to fix build -2011-02-14 12:55 robert +Fri, 18 Mar 2011 12:21:58 +0000 +Checked in by : Robert Osfield +Adde an isFileADicom(..) method to enable the loader to automatically identifier dicom files without making any assumptions about the file extension - * Set debug message to INFO +Fri, 18 Mar 2011 11:23:39 +0000 +Checked in by : Robert Osfield +Added extra DCMTK libraries to search and link line to enable build against new DCMTK-3.6.0 release -2011-02-14 12:54 robert +Thu, 17 Mar 2011 17:33:02 +0000 +Checked in by : Robert Osfield +Added support for new SampleDensityWhenMovingProperty into .p3d format, with it default to 0.02.One can override this value via the sampleDensityWhenMoving="value" property in the volume tag, i.e. - * From Michael Platings, I've added initial support to osg for - glGetProgramBinary and glProgramBinary. This means that shader - programs can now be cached to disk and later reloaded, which is - much faster than linking shaders from source code. This should - mean significantly shorter load times for people who use lots of - combinations of shaders. + CardiacCT -2011-02-14 12:14 robert +To switch the feature off set the value to 0, i.e. - * Fixed typo + CardiacCT -2011-02-11 12:11 robert - * From Jean-Sebastien Guay, event handler for controlling the field - of view of the viewer's camera using 0, - and = keys. -2011-02-11 11:08 robert - * Update ChangeLog +Thu, 17 Mar 2011 15:37:39 +0000 +Checked in by : Robert Osfield +Added SampleDensityWhenMovingProperty to control LOD property of osgVolume. -2011-02-11 09:18 robert +Thu, 17 Mar 2011 13:56:27 +0000 +Checked in by : Robert Osfield +Changed the view movement detection code so that it uses the new CullVisitor::Identifier to indentifier cull traversals, this enables the code to properly detect movement when osgViewer::Renderer uses double buffering of SceneView. - * Added check against the NodePath being empty. +Thu, 17 Mar 2011 13:54:54 +0000 +Checked in by : Robert Osfield +Added set up of CulLVisitor::Identifier so that the double buffered SceneView/CullVisitor share the same Identifier. -2011-02-10 14:24 robert +Thu, 17 Mar 2011 13:54:14 +0000 +Checked in by : Robert Osfield +Added CullVisitor::Identifier to help with cull operations that require a consistent identifier for cull traveresals when osgViewer::Renderer uses double buffering. - * Tweak to output details +Thu, 17 Mar 2011 11:49:22 +0000 +Checked in by : Robert Osfield +First cut at LOD support in RayTracedTechnique, which lowers the number of samples taken when the view of the volume is changing. -2011-02-10 14:09 robert +Wed, 16 Mar 2011 13:48:09 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, "adds an additional library name of libpng ( libpng15 ) to search fo" - * Updated AUTHORS and Contributors.cpp files +Wed, 16 Mar 2011 13:41:39 +0000 +Checked in by : Robert Osfield +From Alan Dickinson,"I tested out my changes against the trunk and everything worked fine... except I noticed that the CMAKE_BUILD_POSTFIX is set incorrectly for a undefined or blank BUILD_TYPE.So here is the one line change to the CMakeLists.txt to rectify this omission." -2011-02-10 12:23 robert - * From Martin von Gagern, build fix for latest ffmpeg changes -2011-02-08 14:36 robert - * Added const +Wed, 16 Mar 2011 10:51:42 +0000 +Checked in by : Robert Osfield +Added hud and billboard support to image, stereo_image, pdf, browser and vnc image placement -2011-02-07 14:19 robert +Tue, 15 Mar 2011 19:54:57 +0000 +Checked in by : Robert Osfield +Added support hud property for title, bullets and paragraph tags - * Implementated experimental reuse of PBO's after download +Tue, 15 Mar 2011 14:04:50 +0000 +Checked in by : Robert Osfield +From Sukender, "Fixed a case where getUniqueName() does not work properly" -2011-02-04 12:43 robert +Tue, 15 Mar 2011 14:02:39 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, update to reflect addition of NVTT to Windows 3rdPartyPackage - * Added support for enabling the assignment of PixelBufferObjects - to loaded Images to aid the download of images to the GPU. - Feature can be enabled/disabled (default) by setting the env : - - OSG_ASSIGN_PBO_TO_IMAGES to ON or OFF +Tue, 15 Mar 2011 13:53:59 +0000 +Checked in by : Robert Osfield +Added checked against GL version number for enabled _isTexture3DSupported. -2011-02-04 10:27 robert +Tue, 15 Mar 2011 13:40:13 +0000 +Checked in by : Robert Osfield +Fixed warning - * Added support for getting the current screen refresh rate using - the XrandR extension. +Tue, 15 Mar 2011 13:30:27 +0000 +Checked in by : Robert Osfield +Added OSG_EXPORT to declaration of View::Slave. -2011-02-03 17:07 robert +Tue, 15 Mar 2011 12:48:40 +0000 +Checked in by : Robert Osfield +Re-enabled the fallback compute of bounding volume. - * Refactored NodeTrackerManipulator to use osg::ObserverNodePath - rather than it's only local equivilant. +Tue, 15 Mar 2011 12:26:16 +0000 +Checked in by : Robert Osfield +Fixed updating of text position when PositionData.position is not modified by tag but other elements of PositionData are - such as when billboarding -2011-02-03 14:27 robert +Mon, 14 Mar 2011 21:36:32 +0000 +Checked in by : Robert Osfield +Implemented billboard="on" option for image, bullet and paragraph tags - * Added call to GraphicsCostEstimator::calibrate. +Mon, 14 Mar 2011 11:29:08 +0000 +Checked in by : Robert Osfield +Added support for placing comments at end of each line. -2011-02-03 12:42 robert +Mon, 14 Mar 2011 10:07:15 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "Another update. I added a LIMIT_NEAREST enum which implements your previous suggestion of rejecting bounding volumes further from the nearest existing intersection. I only implemented this for LineSegmentIntersector. I'd appreciate it if you could double check the math I added to LineSegmentIntersector::intersects() for checking if the bounding sphere is further away. The results of this are promising. I'm getting noticeable performance increase for line intersections with scenes containing many drawables. " - * Moved GraphicsCostEstimator ref pointer into osg::State +Mon, 14 Mar 2011 09:59:32 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, warning fix for a false positive warning generated by VS about "not all control pathes return a value". -2011-02-03 12:22 robert +Fri, 11 Mar 2011 17:20:24 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, removal of redundent spaces at the end of lines. - * Moved GraphicsCostEstimator from osgUtil into core OSG library +Fri, 11 Mar 2011 16:31:01 +0000 +Checked in by : Robert Osfield +From Benjamin Wasty and David Guthrie, "currently, non-alpha-numeric keys are not recognized (except as modifiers) in osgQt, so I added the mapping code from my Qt integration to GraphicsWindowQt (which is based on Delta3D code from David Guthrie - he gave me permission to submit it under OSGPL)." -2011-02-02 17:23 robert +Fri, 11 Mar 2011 11:25:19 +0000 +Checked in by : Robert Osfield +From Sukender, "Added support for texcoords scale and offset (UV scaling and offset in Lib3DS Materials), for texture unit 0." - * From Jean-Sebastien Guay, build fix +Fri, 11 Mar 2011 11:20:30 +0000 +Checked in by : Robert Osfield +Fixed the case insenstive search under unices -2011-02-02 16:44 mplatings +Fri, 11 Mar 2011 10:24:12 +0000 +Checked in by : Robert Osfield +From Mourad Boufarguine, "There is a redundant cmake code at the end of osgViewer cmake script. The install command is issued in SETUP_LIBRARY macro." "I spotted this when i tried a make install on the android port :) I saw some weird copy commands of osgViewer headers. I managed to get all osg headers copied to cmake_install_prefix/include upon make install, but i can't (yet) get the libraries to be copied to cmake_install_prefix/lib (see attached files)" - * Updated information about the FBX SDK version +Fri, 11 Mar 2011 10:18:43 +0000 +Checked in by : Robert Osfield +From Alan Dickinson, "I modified the CPack and CMake files to utilze the CMAKE_INSTALL_PREFIX when building RPM packages.I also modified the CMake and pkgconfig files to append the _POSTFIX extenstion based on the CMAKE_BUILD_TYPE. -2011-02-01 18:12 robert +Additionally I fixed packaging/ld.so.conf.d/openscenegraph.conf.in to add a '/' betweeen the arguments since the CMAKE_INSTALL_PREFIX can't end with a '/'. +" - * From Sukender, "Vertices in DOUBLE PRECISION were not handled by - Remapper classes. I added missing virtual methods." -2011-02-01 12:18 robert - * Fixed the setting of the Drawable modes +Thu, 10 Mar 2011 14:53:39 +0000 +Checked in by : Robert Osfield +From Mourad Boufarguine, "I gave osg android port a try on Windows using cygwin, and it worked like a charm (only a tiny problem with osgViewer, when cross compiling for android using cygwin, the windows path in osgViewer/CMakeLists.txt is used rather than the android one, fix attached). " -2011-02-01 12:18 robert +Thu, 10 Mar 2011 14:44:49 +0000 +Checked in by : Robert Osfield +From Mourad Boufarguine, "I gave projects folders in VS a try, it works for applications, plugins and examples but not for the osg core libraries. Attached OsgMacroUtils.cmake is a tiny fix for this. OpenThreads is addressed seperately." - * Added experimental timing and PBO usage into ICO+GCE classes +Thu, 10 Mar 2011 10:56:12 +0000 +Checked in by : Robert Osfield +From Rafa Gaitan, "Attached the fix to remove the symlinks created with make install." -2011-02-01 12:17 robert +Thu, 10 Mar 2011 10:52:47 +0000 +Checked in by : Robert Osfield +From Michael Platings, "I'm guessing that the stack corruption was caused by calling GetFullPathNameW with the nBufferLength argument as the number of bytes in the buffer, rather than the number of characters. I've attached code that uses GetFullPathNameW et al. with _countof() rather than sizeof() and this works fine." - * Fixed bug in PixelBufferObject constructor for the case when a - null Image is passed in to it. Added extra checks for NULL buffer - data. +Wed, 9 Mar 2011 17:35:30 +0000 +Checked in by : Robert Osfield +Quitened down timing stats -2011-01-31 11:40 robert +Wed, 9 Mar 2011 16:30:48 +0000 +Checked in by : Robert Osfield +From Johannes Baeuerle, fix for memory leak - * Ran: - svn propset svn:eol-style native include/*/* - svn propset svn:keywords "Author Date Id Revision" include/*/* +Wed, 9 Mar 2011 15:55:35 +0000 +Checked in by : Robert Osfield +From Jan Peciva, "please, find attached updates to Inventor plugin:- improved transparency +- do not treat 32-bit textures as transparent textures unless they really +contain transparent pixels +- error messages forwarded to osg::notify" -2011-01-31 11:35 robert - * svn propset svn:keywords "Author Date Id Revision" - include/OpenThreads/* -2011-01-31 10:41 robert - * Set eol-style to native. +Wed, 9 Mar 2011 14:44:14 +0000 +Checked in by : Robert Osfield +From Sukender, "1. Made code a bit more readable/cleaner. 2. Removed unecessary code. Also made sure the images names are not truncated in the middle of an UTF8 character. You'll find there a function called utf8TruncateBytes(), which may be moved in core OSG (osgDB/ConvertUTF I guess). Feel free to do it if you feel it that way. " -2011-01-28 14:24 robert +Wed, 9 Mar 2011 14:15:04 +0000 +Checked in by : Robert Osfield +From Piotr Gwiazdowski, "So there's config setting OSG_DISABLE_MSVC_WARNINGS which should disable pragmas that turn off specific warnings for MSVC. Unfortunately it's presence is only checked in osg/Export header, making other Export headers disable warnings no matter what, which is kind of incoherent.My fix adds #include to every Export header. I've also +unified checking whether to disable warnings to current osg/Export +way: +#if defined(_MSC_VER) && defined(OSG_DISABLE_MSVC_WARNINGS). - * Temporarily disabled the cost estimate code for the 2.9.11 - release +Attachment contains all changed Export files in their original locations." -2011-01-28 13:54 robert - * From Ulrich Hertlein, "I adapted the Cocoa implementation so that - it reports the unmodified key - and the modified key as requested. Can other OS X developers - please test - the attached file, to make sure it works for everybody? - - I fixed the problem with the caps-lock-key, too." -2011-01-28 12:34 robert +Wed, 9 Mar 2011 13:10:38 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, "I have updated the pnm plugin to use streams instead of C-style I/O. Attached is src/osgPlugins/pnm/ReaderWriterPNM.cpp" - * Fixed size of default font +Wed, 9 Mar 2011 13:05:59 +0000 +Checked in by : Robert Osfield +From Tassilo Glander,"I patched the cmake configuration to support folders, which are really handy to organize the many projects in the OSG solution into examples, applications and core libs in the IDE. This feature has been introduced to cmake in 2.8.3, on older versions it should be ignored silently. I tested on Visual Studio 2008 with cmake 2.8.3 and 2.8.4.See the screenshots for comparison [img]osg_solution.png[/img] -2011-01-28 11:07 robert +This needs few changes: - * From Per Fahlberg, warning fixes +activate on global cmakelist.txt: -2011-01-28 10:59 robert +[code]set_property(GLOBAL PROPERTY USE_FOLDERS On)[/code] - * From Mathias Froehlich, "Driven by the last qfontimplementation - changes, I realized, that I never - contributed my testcase/demo for the original implementation. - This attached change is similar to osgtext but uses the - QFontImplementation in - a Qt based viewer. - With that, it should be easier for all of us to test changes in - qfontimplementation" +set appropriate folder names for project type in osgMacroUtils.cmake: -2011-01-28 10:53 robert +[code]SET_TARGET_PROPERTIES(${CORELIB_NAME} PROPERTIES FOLDER "OSG Core")[/code] - * From Ulrich Hertlien, "the changes from r12126 (see below) in - dae/domSourceReader.h cause compiler errors on OS X - with gcc-4.2.1: - - In file included from - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/daeRAnimations.cpp:3: - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:43: - error: - explicit specialization in non-namespace scope 'class - osgDAE::domSourceReader' - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:45: - error: - explicit specialization in non-namespace scope 'class - osgDAE::domSourceReader' - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:47: - error: - explicit specialization in non-namespace scope 'class - osgDAE::domSourceReader' - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:49: - error: - explicit specialization in non-namespace scope 'class - osgDAE::domSourceReader' - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:51: - error: - explicit specialization in non-namespace scope 'class - osgDAE::domSourceReader' - ... - - The attached file fixes this." +similar for examples, applications" -2011-01-28 10:50 robert - * From Mourad Boufarguine, "This is a tiny fix for some typos in - osg code." -2011-01-27 18:49 robert - * From Andreas Roth, "simple fix to support quad buffer stereo in - osgQt" -2011-01-27 17:14 robert +Wed, 9 Mar 2011 12:29:14 +0000 +Checked in by : Robert Osfield +From Piotr Gwiazdowski, "Recently I've been having some trouble with osgWidget::StyleManager (I'll omit osgWidget namespace from now on). It seems to me that there are some inconsistency in the code. In Style there are multiple applyStyle method overloads, applying style for different widgets/windows built-in in osgWidget. Plus you can do overrides. It's good so far.The problem lies in StyleManager::_applyStyleToObject (which calls +_coearceAndApply, which calls _applySpecificStyle, which calls +Style::applyStyle). With current implementation Style::applyStyle +variants for Input, Window, Frame::Corner, Frame::Border, +Window::EmbeddedWindow are never called, because their classes' names +are omitted in methods' if/else if block, making it impossible to use +styles with most than half of built-in widget/window types. - * From Eric Buehler, "I believe that the - osgWidget::Window::HA_CENTER alignment should be center aligned - rather than by the origin, as the osgWidget::Window::VA_TOP - causes. - - The current setAnchorHorizontal() command doesn't center the - center of the object, it just center's the object's origin. The - following change to osgWidget::Window::update() will correct that - behavior so that it is consistent with setAnchorVertical() - behavior. - " +My fix simply adds couple else if blocks, making each +Style::applyStyle variant callable. By the way, I think that next +update should add Style::applyStyle overload for Table class and add +proper className overloads for Input and Window." -2011-01-27 17:12 robert - * From Sukender, "I found the bug I was chasing! Here is my "twin" - submission, from latest trunk rev: 12124. - - 1. DAE submission: - DAE plugin now correctly writes images URI in Collada file, when - images are used twice. - I also greatly improved readability and maintenability of - geometry reading (mainly daeRGeometry.cpp), by factorizing code, - templatizing it (for double/single precision), and removing ugly - macros. - - 2. osgDB submission: - I updated osgDB::getPathRelative(): it is now far more readable, - it handles more cases (especially when you want to relativise - "a/c" from "a/b", which results in "../c"), and I added comments - to make it clearer to maintain." -2011-01-27 16:23 robert +Wed, 9 Mar 2011 12:15:39 +0000 +Checked in by : Robert Osfield +Removed the repeated called to jas_init() and jas_image_clearfmts() calls to make it possible to use the reading multi-threaded - * From Alexander Sinditskiy, "reason of this changes described in - http://forum.openscenegraph.org/viewtopic.php?t=7596 - - and another problem is: - example osgkeyboard is not work (keys not highlight) if user have - 2 keyboard layout native and english and current user layout is - native - - I try to explain my changes - - we need something that is identify key without modifier keys and - layout -> this is UnmodifedKey - - I think osg must have its own UnmodifiedKeys table. Code must be - run same on different platforms. This can de guaranteed by - UnmodifiedKeys table. - - Mikhail Izmestev helped me. He implemented VirtualKey changes in - GraphicsWindowX11" +Wed, 9 Mar 2011 11:22:20 +0000 +Checked in by : Robert Osfield +From Dietmar Funck, "I've noticed an issue with osgUtil::RenderStage::runCameraSetUp() if the number of buffer attachments of the camera decreases according to privous calls. This happens because RenderStage::_bufferAttachmentMap is updated only for the number of buffers the camera has when runCameraSetUp is called. For example if there were 4 attachments and now only 3, only the first three elements of _bufferAttachmentMap are changed. The fourth is just as before - however it shouldn't be there.Calling _bufferAttachmentMap.clear() before resolves this problem. +" -2011-01-27 09:41 robert - * Removed the executable property from source files -2011-01-26 18:47 robert +Wed, 9 Mar 2011 11:15:10 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "I have just adjusted the FindCOLLADA function to let it find library on gnu/linux." - * Implement first pass at texture compile estimation +Wed, 9 Mar 2011 11:13:12 +0000 +Checked in by : Robert Osfield +From Sukender, "I fixed the writing but never thought about the reading part... Here is the fix for reading path containing %23 (= '#') characters." -2011-01-26 16:47 robert +Wed, 9 Mar 2011 11:06:36 +0000 +Checked in by : Robert Osfield +Updated versions for next OSG dev release - * Replaced CompileStats with GraphicsCostEstimator +Wed, 9 Mar 2011 10:35:00 +0000 +Checked in by : Robert Osfield +Changed the use of a viewer thread to be off by default because it was causing the application to crash when any users input was recieved -2011-01-26 16:46 robert +Tue, 8 Mar 2011 17:05:29 +0000 +Checked in by : Robert Osfield +Fixed error in X11 string name - * From Mourad Biyfarguine, "This is a fix to some 'potentially - uninitialized local variable' warnings in - src/osg/glu/libutil/mipmap.cpp." +Tue, 8 Mar 2011 16:35:37 +0000 +Checked in by : Robert Osfield +From Rafa Gaitan and Jorge Izquierdo, build support for Android NDK."- In order to build against GLES1 we execute: +$ mkdir build_android_gles1 +$ cd build_android_gles1 +$ cmake .. -DOSG_BUILD_PLATFORM_ANDROID=ON -DDYNAMIC_OPENTHREADS=OFF +-DDYNAMIC_OPENSCENEGRAPH=OFF -DANDROID_NDK=/ +-DOSG_GLES1_AVAILABLE=ON -DOSG_GL1_AVAILABLE=OFF +-DOSG_GL2_AVAILABLE=OFF -DOSG_GL_DISPLAYLISTS_AVAILABLE=OFF -DJ=2 +-DOSG_CPP_EXCEPTIONS_AVAILABLE=OFF +$ make + If all is correct you will have and static OSG inside: +build_android_gles1/bin/ndk/local/armeabi. -2011-01-26 16:45 robert +- GLES2 is not tested/proved, but I think it could be possible build +it with the correct cmake flags. +- The flag -DJ=2 is used to pass to the ndk-build the number of +processors to speed up the building. +- make install is not yet supported." - * From Mathias Froehlich, build fix for Solaris -2011-01-26 16:10 robert - * From Wang Rui, "I've found a problem when using QFont - (osgQt/QFontImplementation.cpp) - to read fonts: only the first character of a whole text is - correctly - shown and others are disappeared. I haven't got into the font - implementation so can't explain why this happened and how it - should - work under other platforms, but it seems to be fixed by - specifying - width and height of the glyph object. The source file is attached - for - future developments. At present it just works for my own project. - :-) - " -2011-01-26 12:51 robert +Tue, 8 Mar 2011 15:31:49 +0000 +Checked in by : Robert Osfield +Fixed indentation - * Moved GraphicsCostEstimator into osgUtil. +Tue, 8 Mar 2011 13:51:13 +0000 +Checked in by : Robert Osfield +From Rafa Gaitan, "I have added the macro SETUP_LIBRARY, similar to SETUP_PLUGIN or SETUP_EXE, in order to have a unique entry point to build the libraries. With this changes the android integration will be less painful (currently is a big IF(ANDROID) for each CMakeLists.txt) and more maintainable in the future. I hope next submissions will be for supporting android from my colleague Jorge. " -2011-01-26 12:07 robert +Mon, 7 Mar 2011 14:42:47 +0000 +Checked in by : Robert Osfield +Added comments - * Implemented first pass at geometry cost estimation. +Mon, 7 Mar 2011 13:45:58 +0000 +Checked in by : Robert Osfield +Changed all .c++ to .cpp's -2011-01-25 16:48 robert +Mon, 7 Mar 2011 12:35:30 +0000 +Checked in by : Robert Osfield +Added --color r g b a, --wall-color r g b a, --back-color r g b a options for setting the colours of faces via materials. and --image filename, --wall-image filename, --back-image filename options to set the textures used, note, texcoords are not currently set up so texels used will be 0,0. - * Fixed warnings +Mon, 7 Mar 2011 12:33:11 +0000 +Checked in by : Robert Osfield +Enabled the settng/getting of the Text3D's WallStateSet and BackStateSet along with use of these in the rendering implementation to allow separate colour and other state to be assigned to the front, wall and back faces. -2011-01-25 11:11 robert +Thu, 3 Mar 2011 15:52:19 +0000 +Checked in by : Robert Osfield +Moved intial cut of depth partition support into osgViewer::View via two new methods: /** Convenience method for setting up multiple slave cameras that depth partition the specified camera.*/ + bool setUpDepthPartitionForCamera(osg::Camera* cameraToPartition, DepthPartitionSettings* dps=0); - * Further work on GraphicsCostEstimator classes + /** Convenience method for setting up multiple slave cameras that depth partition each of the view's active cameras.*/ + bool setUpDepthPartition(DepthPartitionSettings* dsp=0); -2011-01-24 21:12 robert - * From Mathias Froehlich, build fixes -2011-01-24 20:45 robert - * Added osggraphicscost example as a base of for developing and - testing the new osgUtil::GraphicsCostEsimator class. +Thu, 3 Mar 2011 12:33:57 +0000 +Checked in by : Robert Osfield +Introduced a new more generic function for settings up the depth partitioning of viewer cameras. -2011-01-24 11:45 cedricpinson +Wed, 2 Mar 2011 16:40:36 +0000 +Checked in by : Robert Osfield +Build fix - * From Michael Platings, Fix animation duration when adding channel - to animation +Wed, 2 Mar 2011 16:24:07 +0000 +Checked in by : Robert Osfield +Made parameter a little easier to adjust and commented out verbose debug info -2011-01-21 14:11 robert +Wed, 2 Mar 2011 16:09:50 +0000 +Checked in by : Robert Osfield +Implemented first cut of more flexible depth partitioning code. - * Added #include to fix build +Tue, 1 Mar 2011 16:21:38 +0000 +Checked in by : Robert Osfield +Fixed typo -2011-01-21 13:40 robert +Tue, 1 Mar 2011 15:04:56 +0000 +Checked in by : Robert Osfield +Added support for passing the --depth-partition distance, throw to the depth partition slave camera setup. - * From Sukender, " - DAE plugin was linking ORIGINAL images in the Collada file, using - image->getName() as a path (even if images were modified in - memory!). As the behaviour was not the one of other plugins (3DS, - FBX, and such), I made the plugin relativise images filenames (as - those plugins) and write the image which is in memory. However, - in order to avoid removing features, I kept the previous - behaviour but moved it in an option. Here are the options of the - plugin I changed: - - daeForceTexture was unclear in this new context and removed in - favor of two new options - - daeLinkOriginalTexturesNoForce: Writes reference to the - original image if found, instead of writing the image in memory - - daeLinkOriginalTexturesForce: Writes reference to the original - image even if not found, instead of writing the image in memory - Of course, if you specify no option, images are written as for - other plugins. - - Other thing I changed is the UTF8 support as I told you in a - previous conversation. Now there is a simple option, - "daeNamesUseCodepage", which makes all names except filenames - (materials, animation, geometries...) be considered as encoded - using current codepage. If so, they'll be converted to UTF8 when - writing; else they are written directly. Of course, filenames - follow OSG_USE_UTF8_FILENAME as usual. - - I did " +Tue, 1 Mar 2011 14:50:25 +0000 +Checked in by : Robert Osfield +Added experiment depth partioning support in the form of an slave camera configuration. -2011-01-21 12:17 mplatings +Tue, 1 Mar 2011 14:48:48 +0000 +Checked in by : Robert Osfield +Added support for an View::Slave::UpdateSlaveCallback - * From Sukender: I had to call code from the FBX plugin (to - relativise paths). I thus extracted it from FBX and moved it in - osgDB (FileNameUtils) +Sat, 26 Feb 2011 16:04:34 +0000 +Checked in by : Robert Osfield +Fixed handling of write and reading of straight Node objects in the scene graph. -2011-01-21 11:46 robert +Sat, 26 Feb 2011 15:52:51 +0000 +Checked in by : Robert Osfield +Changed the handling of unkown nodes on write so that the code now ignores the non supported nodes allows the overall write to continue. - * From Sukender, getPathRelative() method. +Thu, 24 Feb 2011 11:54:44 +0000 +Checked in by : Robert Osfield +Removed TrapezoidalShadowMap due to discovery of patent on algorithm. -2011-01-20 12:34 robert +Wed, 23 Feb 2011 22:52:01 +0000 +Checked in by : Cedric Pinson +Cedric Pinson: Fix divide by zero when Action has 0 frames, and add a warning message because it means something wrong on input data - * Added export to see if it address Mingw link problems +Wed, 23 Feb 2011 16:49:38 +0000 +Checked in by : Robert Osfield +Fixed typo -2011-01-20 12:32 robert +Wed, 23 Feb 2011 16:46:34 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, intial cut at new TrapezoidalShadowMap ShadowTechnique - * From Matthew Johnson-Roberson, "Small fix for operation thread to - protect the access to _operations vector by functions - getNumOperationsInQueue() and empty(). It is simply an addition - of OpenThreads::ScopedLock - lock(_operationsMutex); - to protect against accessing while writing which was segfaulting - in VPB - specifically in void ThreadPool::run(osg::Operation* op) - in the waiting loop - - while (_operationQueue->getNumOperationsInQueue() >= - _maxNumberOfOperationsInQueue) - " +Wed, 23 Feb 2011 16:45:44 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, various tweaks to osgShadow shadow mapping classes to improve consistency and enable more debug info output -2011-01-20 12:27 robert +Wed, 23 Feb 2011 14:09:29 +0000 +Checked in by : Robert Osfield +Inverted the orientation of the 't' transparency control so that it's full on at the bottom of the screen, and full transparent at the bottom. - * From Per Fahlberg, warning fixes +Wed, 23 Feb 2011 13:56:41 +0000 +Checked in by : Robert Osfield +Added support for negative --xMultipler, --yMultiple and --zMultiplier values -2011-01-20 12:23 robert +Wed, 23 Feb 2011 12:48:17 +0000 +Checked in by : Robert Osfield +Added support for positive values of --xMultiple --yMultiplier and --zMultiplier - * From Simon Julier, "I have been using the ply plugin to read - files created by bundler and pmvs2 - (http://grail.cs.washington.edu/software/pmvs/). This program - generates models in the form of vertices only. However, the - existing ply reader implementation was not able to handle the - models generated in a satisfactory manner for two reasons: - - 1. It did not support normals applied to individual vertices. - 2. It would only support red / green / blue colour triples, but - the pmvs models are generated with diffuse colours. (The PLY - format, http://local.wasp.uwa.edu.au/~pbourke/dataformats/ply/, - lists specular and ambient colour forms as well.) - - To partially overcome these limitations, please find attached - modified versions of - - src/osgPlugins/ply/vertexData.cpp - src/osgPlugins/ply/vertexData.h - - The changes I've made are: - - 1. I have changed the boolean hasColor flag to a vertexField - (which is a boolean operation on an enum) to indicate what fields - are present in the ply file. (This is required because Turk's ply - reader spits out warnings for every line where you try to read - fields which do not exist.) - 2. I have modified the code to apply valid normals to either - triangles or vertices. - 3. I have kludged in "support" for the various colour variants. - Specifically, all the colour specified can be read from the file. - However, they are all applied in the same way (namely as a colour - array, bound to each vertex)." +Wed, 23 Feb 2011 12:13:43 +0000 +Checked in by : Robert Osfield +Changed the default number of components for a RGB to 4 so it appears as an RGBA -2011-01-19 10:57 robert +Wed, 23 Feb 2011 11:43:30 +0000 +Checked in by : Robert Osfield +Added error reporting for old options - * From Simon Julier, "I ran across linking errors with osgdb_exr. - Specifically, I found it was necessary to link against libImlIlf, - libImlThread, libHalf, libIex and libzip. - - I have attached a patch, against the trunk from 13:30 today, - which consists of the following: - - 1. CMakeModules/FindOpenEXR.cmake: Look for libIlmThread and - libIex as well. 2. src/osgPlugins/CMakeList.txt: Only include the - exr subdirectory if both the OpenEXR and zip libraries were - found. 3. src/osgPlugins/exr/CMakeLists.txt: Add ZIP_LIBRARY to - TARGET_EXTERNAL_LIBRARIES." +Wed, 23 Feb 2011 11:28:43 +0000 +Checked in by : Robert Osfield +Added -n option -2011-01-19 10:38 robert +Wed, 23 Feb 2011 10:37:51 +0000 +Checked in by : Robert Osfield +Added extra check for GL_BGR and GL_BGRA formats and messages describing image format loaded - * From Sukender, normalized option names +Tue, 22 Feb 2011 14:21:34 +0000 +Checked in by : Robert Osfield +Added test code to explore problems with LightSpacePerspectiveShadowMap implementation handling of different datasets and camera settings. -2011-01-19 10:31 robert +Tue, 22 Feb 2011 11:59:51 +0000 +Checked in by : Robert Osfield +Added support for GL_BGR and GL_BGRA pixel formats - * From Sukender, "Added ability for writer to read from Vec3/4d/f. - Plugin now warns if it finds another type of data" +Tue, 22 Feb 2011 10:53:58 +0000 +Checked in by : Robert Osfield +Changed the handling of erroneous dicom files so that the loading of a directory of dicom files is not abondonded when one or more erroneous files are encountered. -2011-01-19 09:53 robert +Mon, 21 Feb 2011 12:29:13 +0000 +Checked in by : Robert Osfield +Added computePositions() call to Text3D::resizeGLObjectsBuffers(uint) - * From Sukender, "Factorized the depth loop ("while ( lastDepth >= - _nodePath.size() )...") into a method called - updateCurrentDaeNode(). Added missing calls into - apply(osg::LightSource &) and daeWriter::apply(osg::Camera &) and - daeWriter::apply(osg::CameraView &)" +Mon, 21 Feb 2011 10:02:53 +0000 +Checked in by : Robert Osfield +Added missing Terrain.h reference -2011-01-19 09:36 robert +Sun, 20 Feb 2011 09:57:07 +0000 +Checked in by : Robert Osfield +Fixed build of various LiSPSM algorithms - * From Sukender, "Fixed - ReaderWriterDAE::ConvertFilePathToColladaCompatibleURI(): It now - handles paths containing '#' character as expected." +Sun, 20 Feb 2011 09:55:20 +0000 +Checked in by : Robert Osfield +Added --fov and --light-pos and --light-dir command line parameters -2011-01-19 09:34 robert +Fri, 18 Feb 2011 11:04:01 +0000 +Checked in by : Michael PLATINGS +Disabled the RGB components of the opacity texture - * From Sukender and Robert Osfield, clean up of options +Mon, 14 Feb 2011 16:24:12 +0000 +Checked in by : Robert Osfield +From Philipp Svehla, "We’ve added support for users to override the default values for child elements in asset tags (for the collada writer). This support was added for the following child elements: - contributor -2011-01-18 16:14 robert + - author - * From Michael Platings, "I've attached a fix for a subtle bug that - causes animations (and quite possibly other things) to be - serialized incorrectly. - - For the following code: - - #define MYMACRO(NAME) myOutputStream << #NAME; - MYMACRO(Group) - - you would expect that "Group" would be output. However, as there - are many overloaded operator<< functions, none of which take a - const char* argument, the function that's actually called is - operator<<(bool). Hence what actually gets output is "TRUE". - An actual example of this is in - serializers\osgAnimation\Animation.cpp, WRITE_CHANNEL_FUNC2. - - So the simple solution to this is to add operator<<(const char*), - attached. - " + - authoring_tool -2011-01-18 15:00 robert + - comments - * Moved the StateSet query and texcoord settings to within the if - (vertices) block to avoid - an attempt to dereferences geometry->getStateSet() when non - Geometry drawable is intersected. + - copyright -2011-01-18 11:20 robert + - source_data - * Fixed CompileSet so it returns true when there is nothing to - compile at all. + - created -2011-01-18 09:54 robert + - keywords - * Build fix + - modified -2011-01-17 17:17 robert + - revision - * Implemented better coupling of DatabasePager and - IcrementalCompileOperation, - removing functional duplication and opening the door to dynamic - enabling/disabling - of pre compile based on load. + - subject -2011-01-17 09:10 robert + - title - * Added getNum methods + - unit -2011-01-15 18:12 robert + - name - * First steps on the path to integrating ImageProcessor + - meter -2011-01-14 14:30 robert + - up_axis - * From Guy Volckaert, "Changes to the openflight plugin to support - replacing double sided polygons by 2 opposite facing polygons. - This is sometimes required to resolved lighting and intersection - issues. A new import option was was added to activate this - feature called "replaceDoubleSidedPolys". - -2011-01-14 13:31 robert - * From Sukender, "- Lowered one notify level (it's now coherent - with the "if" just above)" +With this support, users are able to include additional information in their models. Additionally, tools such as sketchup that support asset tags use the values appropriately within their imported models." -2011-01-14 12:08 robert - * From Wang Rui, "I'd like to submit a small new feature to the - osgmanipulator example - which could fix the dragger size in screen, so that no matter how - we - zoom in/out the camera, the dragger will never be scaled. - - This is what 3D graphics software like 3dsmax and maya behave, - which - helps users select and manipulate draggers more easily. - - You may turn on the feature with the new --fixedDraggerSize - argument: - - # osgmanipulator.exe --fixedDraggerSize --dragger - TranslateAxisDragger - cessna.osg - " -2011-01-14 12:03 robert +Mon, 14 Feb 2011 16:09:51 +0000 +Checked in by : Robert Osfield +From Tim Moore, "This patch fixes some performance problems with the DXF loader. It removes some unnecessary copies of vertex coordinates (which were causing an exponential explosion). It also replaces BIND_PER_PRIMITIVE normals with BIND_PER_VERTEX so that the resulting geometry will be on the fast path." - * From Sukender, "TIFF plugin now outputs messages coming from - libtiff. - " +Mon, 14 Feb 2011 16:05:33 +0000 +Checked in by : Robert Osfield +Added copyop parameter to cloneOptions() method -2011-01-14 11:49 robert +Mon, 14 Feb 2011 15:59:49 +0000 +Checked in by : Robert Osfield +From Tim Moore, "The non-virtual cloneOptions() method, which is now used by DatabasePager, breaks derived classes of osgDB::Options. This patch uses the clone() method to clone Options." - * From Sukender, "Small submission: - 3DS reader now takes care to - not create Texture2D duplicates" +Mon, 14 Feb 2011 15:43:41 +0000 +Checked in by : Robert Osfield +From Sukender, "Here is an minor update for Jasper finder. It adds debug cache value for Windows/MSVC builds, and adds search paths." -2011-01-14 11:46 robert +Mon, 14 Feb 2011 15:04:40 +0000 +Checked in by : Robert Osfield +From Jan Peciva, "Improvements: - Use OSG routines to load images instead of simage library (removes dependency on 3rdParty simage library). Applies to Coin Inventor clone only. " - * Fixed for build with non autoatic ref_ptr<> to C pointer - conversion +Mon, 14 Feb 2011 15:01:56 +0000 +Checked in by : Robert Osfield +Moved ProgramBinary into osg::Program scope -2011-01-14 11:00 robert +Mon, 14 Feb 2011 14:16:58 +0000 +Checked in by : Robert Osfield +From Sukender, "Here are two sumbissions for DAE.1. daeRGeometry.cpp (rev 12132). A tiny sumbission which fixes a quite important bug: a parameter was forgotten in Collada ReaderWriter, and texture coordinates could not be loaded properly. So: +" +Added missing paramter when calling createGeometryData(). Fixes missing texture coordinates (in "bind_vertex_input"). +" - * From Brad Christiansen, "Attached is a fix which implements the - lazy loading of optional layers (if requested) in the new - osgb/osgt formats." +2. ReaderWriterDAE.cpp (rev 12132): +" +Added "baseImageDir" as a plugin string data, in order to manually specify base directory to use when relativising image file names. This is used to properly write files, when images are not located in a subdirectory (like "../images" for some software). +" -2011-01-13 18:49 robert - * Updated so version number -2011-01-13 18:05 robert +Mon, 14 Feb 2011 13:54:15 +0000 +Checked in by : Robert Osfield +From Johannes Bauerle, "I experienced problems using binary shaders in osgt files (=the osg-serializer plugins). At runtime std::bad_alloc errors were thrown when using binary shaders.The reason is that the .osgt text files do not provide size information about the contained binary shader hence leading to a bad allocation when reading the shader data, probably size 0 ? The reader method in the responsible serializer class (serializers/osg/BinaryShader) is correct and does not need to be changed as it queries the size as expected. The writer method supports two paths(binary output .osgb and text output .osgt/.osgx). Only the text path is affected as the binary path writes the size. - * From Tim Moore, added missing ImageProcessor header reference +I extended the writer in the text path by the size information. The results before and after the fix are shown below: -2011-01-13 14:59 robert +Erroneous code for binary shader in osgt file before fix: - * Added ImageProcessor interface class and plugin mechnanism for - ImageProcessor implementations to osgDB::Registry. - - Add NVidiaTextureTools based plugin that provides an - ImageProcessor implementation within an nvtt plugin. +Data { + 0a + 0d + 0 + ... +} -2011-01-12 19:29 robert +Corrected code for binary shader in osgt file after fix: - * Refactored the way that the DatabasePager passes the Terrain - decorator node onto the TerrainTile. - - The DatabasePager now passes the Terrain pointer into the - ReaderWriter's via osgDB::Options object, - rather than pushing a NodePath containing the Terrain onto - NodeVisitor. This - change means that the DatabasePager nolonger needs to observer - the whole NodePath and - will be lighter and quicker for it. - - The change also means that ReadFileCallback can now run custom - NodeVisitor's on the scene graph without - having to worry about TerrainTile's constructing scene graphs - prior to the Terrain being assigned. - - Also changed is the NodeVisitor::DatabaseRequestHandler which now - requires a NodePath to the node that you wish - to add to rather than just the pointer to the node you wish to - add to. This is more robust when handling scenes - with multiple parental paths, whereas previously errors could - have occurred due to the default of picking the first - available parental path. This change means that subclasses of - DatabasePager will need to be updated to use this new - function entry point. +Data 524 { + 0a + 0d + 0 + ... +} -2011-01-12 17:39 robert +After my fix the the thrown error disappeared." - * Fixed comment -2011-01-11 17:29 robert - * From Sukender, "FBX plugin did not relay the - osgDB::ReaderWriter::Options* when writing images (the - writeImage() call). Now it does." +Mon, 14 Feb 2011 13:50:14 +0000 +Checked in by : Robert Osfield +From Jahannes Bauerle, "l discovered that the shader class(/src/osg/Shader.cpp) shows wrong behavior when using binary shaders . When shader objects are compared the reference pointer behind the _shaderBinary member is not included in the comparison.I included binary shaders into an osgt model file. These shaders only consists of the binary shader code, I did not supply the text version additionally. When loading the model the osg::Optimizer threw away all shaders except the first one. In the current trunk version of the file two shader objects are identical despite differing _shaderBinary members as the compare method of the Shader class does not include the comparison of that member. -2011-01-11 17:29 robert +The fix in this submission adds the check for identity of the referenced binary shaders to the shader class. - * Changed dos endings to unix line endings +When comparing two shader objects with text source shaders the new lines of comparison are not even executed as the comparison returns false in the previous lines when the text shaders differ. -2011-01-11 17:23 robert +With this fix I get expected behavior, the Optimizer handles the different shaders correctly." - * From Mikhail Izmestev, "Current - osgManipulator::AntiSquishCallback stops update traversal of - childrens." -2011-01-11 17:20 robert - * From Wojciech Lewandowski, "We encountered a problem when we - tried overloading StandardManipulator class. Linker was unable to - find StandardManipulator::AnimationData methods. Prefixing - AnimationData with OSGGA_EXPORT removed the issue. - - Fixed header is attached." +Mon, 14 Feb 2011 12:55:44 +0000 +Checked in by : Robert Osfield +Set debug message to INFO -2011-01-11 17:18 robert +Mon, 14 Feb 2011 12:54:21 +0000 +Checked in by : Robert Osfield +From Michael Platings, I've added initial support to osg for glGetProgramBinary and glProgramBinary. This means that shader programs can now be cached to disk and later reloaded, which is much faster than linking shaders from source code. This should mean significantly shorter load times for people who use lots of combinations of shaders. - * From Chris Hanson, "As an extension to this excellent work: - http://forum.openscenegraph.org/viewtopic.php?t=7285 - - This file adds the same string API wrapper to the State object - for other older apps that - track Uniforms by string. The original comment about performance - is preserved." +Mon, 14 Feb 2011 12:14:36 +0000 +Checked in by : Robert Osfield +Fixed typo -2011-01-11 17:05 robert +Fri, 11 Feb 2011 12:11:17 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, event handler for controlling the field of view of the viewer's camera using 0, - and = keys. - * Changed debug messages to INFO +Fri, 11 Feb 2011 11:08:00 +0000 +Checked in by : Robert Osfield +Update ChangeLog -2011-01-11 17:04 robert +Fri, 11 Feb 2011 09:18:36 +0000 +Checked in by : Robert Osfield +Added check against the NodePath being empty. - * From Glenn Waldron, "Attached is a fix to - State::convertVertexShaderSourceToOsgBuiltIns. The method was - incorrectly inserting new declarations before a GLSL "#version" - directive, which must always be the first line in a shader. This - patch detects the #version directive and ensures that new - declarations are inserted after it. - - Attached is the modified State.cpp file. - - I have also attached a sample transcript, showing the new code - working properly. I ran it against osgEarth's shaders and it - works as expected. - - " +Thu, 10 Feb 2011 14:24:39 +0000 +Checked in by : Robert Osfield +Tweak to output details -2011-01-11 16:58 robert +Thu, 10 Feb 2011 14:09:04 +0000 +Checked in by : Robert Osfield +Updated AUTHORS and Contributors.cpp files - * From Tim Moore, "This patch fixes a race condition in - Renderer::ThreadSafeQueue that was causing some notifications of - available SceneView objects to be missed. I saw a very noticeable - performance problem (60 fps -> 8 fps) in DrawThreadPerContext - mode in an osgEarth application before this patch. I had high - hopes that this change might fix the much-discussed multiple GPU - problem; no such luck, but I think the root cause of that is - probably a similar threading issue." +Thu, 10 Feb 2011 12:23:18 +0000 +Checked in by : Robert Osfield +From Martin von Gagern, build fix for latest ffmpeg changes -2011-01-11 16:18 robert +Tue, 8 Feb 2011 14:36:15 +0000 +Checked in by : Robert Osfield +Added const - * From Guy Volckaert, warning fixes +Mon, 7 Feb 2011 14:19:58 +0000 +Checked in by : Robert Osfield +Implementated experimental reuse of PBO's after download -2011-01-11 11:39 robert +Fri, 4 Feb 2011 12:43:00 +0000 +Checked in by : Robert Osfield +Added support for enabling the assignment of PixelBufferObjects to loaded Images to aid the download of images to the GPU. Feature can be enabled/disabled (default) by setting the env : OSG_ASSIGN_PBO_TO_IMAGES to ON or OFF - * Added more flexible testing of Text3D -2011-01-11 11:39 robert - * Unified more of the 2D and 3D text setup, fixed bugs in Text3D - setup - which address the problems of black 3D text and the kerning - causing problems with font positioning. +Fri, 4 Feb 2011 10:27:05 +0000 +Checked in by : Robert Osfield +Added support for getting the current screen refresh rate using the XrandR extension. -2011-01-10 13:28 robert +Thu, 3 Feb 2011 17:07:01 +0000 +Checked in by : Robert Osfield +Refactored NodeTrackerManipulator to use osg::ObserverNodePath rather than it's only local equivilant. - * Improved the handling of application argument output when the - options are very long. +Thu, 3 Feb 2011 14:27:50 +0000 +Checked in by : Robert Osfield +Added call to GraphicsCostEstimator::calibrate. -2011-01-05 11:43 robert +Thu, 3 Feb 2011 12:42:23 +0000 +Checked in by : Robert Osfield +Moved GraphicsCostEstimator ref pointer into osg::State - * Added check for invalid face size to prevent a crash +Thu, 3 Feb 2011 12:22:09 +0000 +Checked in by : Robert Osfield +Moved GraphicsCostEstimator from osgUtil into core OSG library -2011-01-04 10:21 robert +Wed, 2 Feb 2011 17:23:12 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, build fix - * Added extra checks to osg::Geometry::verifyArrays(std::ostream&) +Wed, 2 Feb 2011 16:44:21 +0000 +Checked in by : Michael PLATINGS +Updated information about the FBX SDK version -2011-01-03 19:41 robert +Tue, 1 Feb 2011 18:12:59 +0000 +Checked in by : Robert Osfield +From Sukender, "Vertices in DOUBLE PRECISION were not handled by Remapper classes. I added missing virtual methods." - * Added osg::Geometry::verifyArray(std::ostream&) method to enable - checks to be done on osg::Geometry to see if the arrays - are big enough to handle the primitives used in the geometry. - - Added usage of verifyArray into osgfilecache so that it reports - any problems on reading files in paged database. +Tue, 1 Feb 2011 12:18:47 +0000 +Checked in by : Robert Osfield +Fixed the setting of the Drawable modes -2010-12-24 19:47 robert +Tue, 1 Feb 2011 12:18:22 +0000 +Checked in by : Robert Osfield +Added experimental timing and PBO usage into ICO+GCE classes - * Added iterator include +Tue, 1 Feb 2011 12:17:40 +0000 +Checked in by : Robert Osfield +Fixed bug in PixelBufferObject constructor for the case when a null Image is passed in to it. Added extra checks for NULL buffer data. -2010-12-24 19:19 robert +Mon, 31 Jan 2011 11:40:35 +0000 +Checked in by : Robert Osfield +Ran: svn propset svn:eol-style native include/*/* svn propset svn:keywords "Author Date Id Revision" include/*/* - * Refactored IncrementalCompileOperation to make it more flexible. +Mon, 31 Jan 2011 11:35:50 +0000 +Checked in by : Robert Osfield +svn propset svn:keywords "Author Date Id Revision" include/OpenThreads/* -2010-12-23 13:11 robert +Mon, 31 Jan 2011 10:41:17 +0000 +Checked in by : Robert Osfield +Set eol-style to native. - * Fixed warnings +Fri, 28 Jan 2011 14:24:30 +0000 +Checked in by : Robert Osfield +Temporarily disabled the cost estimate code for the 2.9.11 release -2010-12-23 10:45 robert +Fri, 28 Jan 2011 13:54:44 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "I adapted the Cocoa implementation so that it reports the unmodified key and the modified key as requested. Can other OS X developers please test the attached file, to make sure it works for everybody?I fixed the problem with the caps-lock-key, too." - * Deleted old makefile files that are no longer required now we - have CMake -2010-12-23 10:07 robert - * From Per Fahlberg, "The FindCOLLADA.cmake module failed to find - the static libs for the latest collada dom, attached is the fixed - file." +Fri, 28 Jan 2011 12:34:49 +0000 +Checked in by : Robert Osfield +Fixed size of default font -2010-12-23 10:05 robert +Fri, 28 Jan 2011 11:07:51 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, warning fixes - * From Ulrich Hertlein (applied by Robert Osfield), - "OpenThreads/win32/Win32Condition.h is not used anymore and could - be removed from the - repository and win32/OpenThreads.mak and win32/CMakeLists.txt." +Fri, 28 Jan 2011 10:59:50 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Driven by the last qfontimplementation changes, I realized, that I never contributed my testcase/demo for the original implementation. This attached change is similar to osgtext but uses the QFontImplementation in a Qt based viewer. With that, it should be easier for all of us to test changes in qfontimplementation" -2010-12-23 09:59 robert +Fri, 28 Jan 2011 10:53:49 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlien, "the changes from r12126 (see below) in dae/domSourceReader.h cause compiler errors on OS X with gcc-4.2.1:In file included from +/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/daeRAnimations.cpp:3: +/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:43: error: +explicit specialization in non-namespace scope 'class osgDAE::domSourceReader' +/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:45: error: +explicit specialization in non-namespace scope 'class osgDAE::domSourceReader' +/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:47: error: +explicit specialization in non-namespace scope 'class osgDAE::domSourceReader' +/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:49: error: +explicit specialization in non-namespace scope 'class osgDAE::domSourceReader' +/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/dae/domSourceReader.h:51: error: +explicit specialization in non-namespace scope 'class osgDAE::domSourceReader' +... - * From Jean-Sebastien, "In my auto-build today there are 3 errors - caused by using a ref_ptr in a function taking a T* when - building without the implicit conversion." +The attached file fixes this." -2010-12-22 20:11 robert - * Converted FrameStamp::g/setFrameNumber from int to uint -2010-12-21 12:54 robert +Fri, 28 Jan 2011 10:50:24 +0000 +Checked in by : Robert Osfield +From Mourad Boufarguine, "This is a tiny fix for some typos in osg code." - * From Tim Moore, Dereference the databaseRequest while the queue - is locked. This prevents the request from being - deleted at an unpredictable time within - addLoadedDataToSceneGraph. +Thu, 27 Jan 2011 18:49:22 +0000 +Checked in by : Robert Osfield +From Andreas Roth, "simple fix to support quad buffer stereo in osgQt" -2010-12-21 12:51 robert +Thu, 27 Jan 2011 17:14:28 +0000 +Checked in by : Robert Osfield +From Eric Buehler, "I believe that the osgWidget::Window::HA_CENTER alignment should be center aligned rather than by the origin, as the osgWidget::Window::VA_TOP causes.The current setAnchorHorizontal() command doesn't center the center of the object, it just center's the object's origin. The following change to osgWidget::Window::update() will correct that behavior so that it is consistent with setAnchorVertical() behavior. +" - * Introduced a local reference to the appropriate EasyCurl object - to avoid seperate getEasyCurl() incurring a mutex lock overhead. -2010-12-21 10:23 robert - * Improved indentation to make it more readable and consistent with - OSG. +Thu, 27 Jan 2011 17:12:23 +0000 +Checked in by : Robert Osfield +From Sukender, "I found the bug I was chasing! Here is my "twin" submission, from latest trunk rev: 12124.1. DAE submission: +DAE plugin now correctly writes images URI in Collada file, when images are used twice. +I also greatly improved readability and maintenability of geometry reading (mainly daeRGeometry.cpp), by factorizing code, templatizing it (for double/single precision), and removing ugly macros. -2010-12-21 09:36 robert +2. osgDB submission: +I updated osgDB::getPathRelative(): it is now far more readable, it handles more cases (especially when you want to relativise "a/c" from "a/b", which results in "../c"), and I added comments to make it clearer to maintain." - * Cleaned up the frame number increment. -2010-12-21 09:12 robert - * From Paul Martz, Fix for "in expGeometryRecords.cpp lines - 813-820, we write the UV list data incorrectly. According to the - FLT spec, the data should be grouped per-vertex, not per-layer. - - We should have: - UV for vertex 0, layer 1 - UV for vertex 0, layer 2 - UV for vertex 1, layer 1 - UV for vertex 1, layer 2 - ...etc... - - Instead, we have this: - UV for vertex 0, layer 1 - UV for vertex 1, layer 1 - ...etc... - UV for vertex 0, layer 2 - UV for vertex 1, layer 2 - ...etc..." -2010-12-20 17:04 robert +Thu, 27 Jan 2011 16:23:48 +0000 +Checked in by : Robert Osfield +From Alexander Sinditskiy, "reason of this changes described in http://forum.openscenegraph.org/viewtopic.php?t=7596and another problem is: +example osgkeyboard is not work (keys not highlight) if user have 2 keyboard layout native and english and current user layout is native - * From Andy Skinner, "In this file I’ve changed TriangleFunctor to - TemplatePrimitiveFunctor, and added operator() methods for: - - · points (just look at points in frustum) - - · lines (simple line clip—replace the external point) - - · quadrilaterals (call operator() for triangles twice)" +I try to explain my changes -2010-12-20 16:23 robert +we need something that is identify key without modifier keys and layout -> this is UnmodifedKey - * From Andy Skinner, "We use a shared array for our OpenSceneGraph - arrays, and the existing (deprecated) OSG plugin casts the Array - to IntArray and FloatArray and the like. Because our arrays don’t - use FloatArray, this crashes for us. - - - - Attached is src/osgWrappers/deprecated-dotosg/osg/Geometry.cpp. - It gets the data pointer out and casts it to a pointer to the - element type, rather than casting the array object itself. This - seems to work." +I think osg must have its own UnmodifiedKeys table. Code must be run same on different platforms. This can de guaranteed by UnmodifiedKeys table. -2010-12-20 12:17 robert +Mikhail Izmestev helped me. He implemented VirtualKey changes in GraphicsWindowX11" - * Moved the GL3 include to within the code block that handles - GL1/GL2 -2010-12-20 12:03 robert - * Fixed memory leak by introducing use of ref_ptr<> +Thu, 27 Jan 2011 09:41:37 +0000 +Checked in by : Robert Osfield +Removed the executable property from source files -2010-12-20 12:02 robert +Wed, 26 Jan 2011 18:47:55 +0000 +Checked in by : Robert Osfield +Implement first pass at texture compile estimation - * From Kim Seokhwan, "Error fix in - example/osganimationmorph/osganimationmorph.cpp - - in this file, - function, - osg::Geometry* getShape(const std::string& name) - (line 51) - - tries to use null pointer when model is not provided. - I added simple comment in attached file." +Wed, 26 Jan 2011 16:47:40 +0000 +Checked in by : Robert Osfield +Replaced CompileStats with GraphicsCostEstimator -2010-12-20 10:49 robert +Wed, 26 Jan 2011 16:46:58 +0000 +Checked in by : Robert Osfield +From Mourad Biyfarguine, "This is a fix to some 'potentially uninitialized local variable' warnings in src/osg/glu/libutil/mipmap.cpp." - * From Trajce Nikolov, Fixes to avoid cracks in older archives, - tested with archives 2.0, 2.1, 2.2 . +Wed, 26 Jan 2011 16:45:36 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, build fix for Solaris -2010-12-19 13:25 robert +Wed, 26 Jan 2011 16:10:42 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've found a problem when using QFont (osgQt/QFontImplementation.cpp) to read fonts: only the first character of a whole text is correctly shown and others are disappeared. I haven't got into the font implementation so can't explain why this happened and how it should work under other platforms, but it seems to be fixed by specifying width and height of the glyph object. The source file is attached for future developments. At present it just works for my own project. :-) " - * From Trajce Nicklov, "I went thru the TileMapper today very - carefuly and I remove all the tileStack approach - it made - everything simplier and I think more proper. Cleaned the code as - well. It was tested on huge archive with many lods as well with - variable lods. Fix attached." +Wed, 26 Jan 2011 12:51:46 +0000 +Checked in by : Robert Osfield +Moved GraphicsCostEstimator into osgUtil. -2010-12-17 13:43 robert +Wed, 26 Jan 2011 12:07:56 +0000 +Checked in by : Robert Osfield +Implemented first pass at geometry cost estimation. - * From Tim Moore, fix for race conditions in takeOrGenerate() - methods +Tue, 25 Jan 2011 16:48:53 +0000 +Checked in by : Robert Osfield +Fixed warnings -2010-12-17 11:46 robert +Tue, 25 Jan 2011 11:11:47 +0000 +Checked in by : Robert Osfield +Further work on GraphicsCostEstimator classes - * Fixed warnings +Mon, 24 Jan 2011 21:12:25 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, build fixes -2010-12-17 11:19 robert +Mon, 24 Jan 2011 20:45:02 +0000 +Checked in by : Robert Osfield +Added osggraphicscost example as a base of for developing and testing the new osgUtil::GraphicsCostEsimator class. - * Added --speed command line parameter to osgviewer to - enable control of the speed that animation paths are played back - at. +Mon, 24 Jan 2011 11:45:45 +0000 +Checked in by : Cedric Pinson +From Michael Platings, Fix animation duration when adding channel to animation -2010-12-17 10:59 robert +Fri, 21 Jan 2011 14:11:22 +0000 +Checked in by : Robert Osfield +Added #include to fix build - * Fixed the GLBufferObjectSet::deleteAllGLBufferObjets() and - TextureObjectSet::deletaAllTextureObjects() methods - and improved the checkConsistency() usage so it's now possible to - switch if off completed from being compiled in. +Fri, 21 Jan 2011 13:40:28 +0000 +Checked in by : Robert Osfield +From Sukender, " DAE plugin was linking ORIGINAL images in the Collada file, using image->getName() as a path (even if images were modified in memory!). As the behaviour was not the one of other plugins (3DS, FBX, and such), I made the plugin relativise images filenames (as those plugins) and write the image which is in memory. However, in order to avoid removing features, I kept the previous behaviour but moved it in an option. Here are the options of the plugin I changed: - daeForceTexture was unclear in this new context and removed in favor of two new options - daeLinkOriginalTexturesNoForce: Writes reference to the original image if found, instead of writing the image in memory - daeLinkOriginalTexturesForce: Writes reference to the original image even if not found, instead of writing the image in memory Of course, if you specify no option, images are written as for other plugins.Other thing I changed is the UTF8 support as I told you in a previous conversation. Now there is a simple option, "daeNamesUseCodepage", which makes all names except filenames (materials, animation, geometries...) be considered as encoded using current codepage. If so, they'll be converted to UTF8 when writing; else they are written directly. Of course, filenames follow OSG_USE_UTF8_FILENAME as usual. -2010-12-15 19:44 robert +I did " - * Fixed the size computation -2010-12-15 16:30 robert - * Removed no longer used static member variables +Fri, 21 Jan 2011 12:17:18 +0000 +Checked in by : Michael PLATINGS +From Sukender: I had to call code from the FBX plugin (to relativise paths). I thus extracted it from FBX and moved it in osgDB (FileNameUtils) -2010-12-15 12:34 robert +Fri, 21 Jan 2011 11:46:15 +0000 +Checked in by : Robert Osfield +From Sukender, getPathRelative() method. - * Improvements to GLBufferObject and TextureObject pools +Thu, 20 Jan 2011 12:34:41 +0000 +Checked in by : Robert Osfield +Added export to see if it address Mingw link problems -2010-12-14 20:22 robert +Thu, 20 Jan 2011 12:32:20 +0000 +Checked in by : Robert Osfield +From Matthew Johnson-Roberson, "Small fix for operation thread to protect the access to _operations vector by functions getNumOperationsInQueue() and empty(). It is simply an addition of OpenThreads::ScopedLock lock(_operationsMutex); to protect against accessing while writing which was segfaulting in VPB specifically in void ThreadPool::run(osg::Operation* op) in the waiting loopwhile (_operationQueue->getNumOperationsInQueue() >= _maxNumberOfOperationsInQueue) +" - * Added report of ration of current size to max target size for - buffer. -2010-12-14 20:07 robert - * Added --speed option and output of buffer object and texture - object pool stats at the end of the animation path. +Thu, 20 Jan 2011 12:27:51 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, warning fixes -2010-12-14 20:07 robert +Thu, 20 Jan 2011 12:23:04 +0000 +Checked in by : Robert Osfield +From Simon Julier, "I have been using the ply plugin to read files created by bundler and pmvs2 (http://grail.cs.washington.edu/software/pmvs/). This program generates models in the form of vertices only. However, the existing ply reader implementation was not able to handle the models generated in a satisfactory manner for two reasons:1. It did not support normals applied to individual vertices. +2. It would only support red / green / blue colour triples, but the pmvs models are generated with diffuse colours. (The PLY format, http://local.wasp.uwa.edu.au/~pbourke/dataformats/ply/, lists specular and ambient colour forms as well.) - * Added AnimationCompletedCallback, s/getTimeScale and - s/getTimeOffset() method to enable finer control of - AnimationPathManipulator. +To partially overcome these limitations, please find attached modified versions of -2010-12-14 19:29 robert +src/osgPlugins/ply/vertexData.cpp +src/osgPlugins/ply/vertexData.h - * Added methods for checking sizes of various buffer object/texture - object pool sizes. +The changes I've made are: -2010-12-14 15:28 robert +1. I have changed the boolean hasColor flag to a vertexField (which is a boolean operation on an enum) to indicate what fields are present in the ply file. (This is required because Turk's ply reader spits out warnings for every line where you try to read fields which do not exist.) +2. I have modified the code to apply valid normals to either triangles or vertices. +3. I have kludged in "support" for the various colour variants. Specifically, all the colour specified can be read from the file. However, they are all applied in the same way (namely as a colour array, bound to each vertex)." - * Removed redundent MinimumNumberOfTextureObjectsToRetainInCache - static variable -2010-12-14 14:32 robert - * Improved the parsing of output filename +Wed, 19 Jan 2011 10:57:58 +0000 +Checked in by : Robert Osfield +From Simon Julier, "I ran across linking errors with osgdb_exr. Specifically, I found it was necessary to link against libImlIlf, libImlThread, libHalf, libIex and libzip.I have attached a patch, against the trunk from 13:30 today, which consists of the following: -2010-12-14 13:43 robert +1. CMakeModules/FindOpenEXR.cmake: Look for libIlmThread and libIex as well. 2. src/osgPlugins/CMakeList.txt: Only include the exr subdirectory if both the OpenEXR and zip libraries were found. 3. src/osgPlugins/exr/CMakeLists.txt: Add ZIP_LIBRARY to TARGET_EXTERNAL_LIBRARIES." - * Added GLBufferObjectManager::reportStats() -2010-12-14 10:42 robert - * From Alan Dickenson, "I modified the CPack CMake files to provide - the ability to easily create packages of the OpenSceneGraph - components. - - I modified the OsgCPackConfig.cmake.in and OsgCPack.cmake files - to expose access to select the package generator mechanism - through cmake CPACK_GENERATOR option. The user can specify the - type of package generator (i.e. rpms. deb, NSIS, tar, zip, etc) - that they would like to use from the CPack supported - packages/installation methods. - - I also changed the CPACK_PACKAGE_FILE_NAME to use - OSG_PACKAGE_FILE_NAME which contains the name of each component - so all of the component packages can be generated without - renaming the files. - - This should make it even easier to create distribution packages - for the various linux, windows and mac distribution methods - supported by CPack." +Wed, 19 Jan 2011 10:38:39 +0000 +Checked in by : Robert Osfield +From Sukender, normalized option names -2010-12-14 08:58 robert +Wed, 19 Jan 2011 10:31:49 +0000 +Checked in by : Robert Osfield +From Sukender, "Added ability for writer to read from Vec3/4d/f. Plugin now warns if it finds another type of data" - * Moved Performer and Inventor plugins into block protected to only - compile when not using GLES. +Wed, 19 Jan 2011 09:53:34 +0000 +Checked in by : Robert Osfield +From Sukender, "Factorized the depth loop ("while ( lastDepth >= _nodePath.size() )...") into a method called updateCurrentDaeNode(). Added missing calls into apply(osg::LightSource &) and daeWriter::apply(osg::Camera &) and daeWriter::apply(osg::CameraView &)" -2010-12-14 08:53 robert +Wed, 19 Jan 2011 09:36:21 +0000 +Checked in by : Robert Osfield +From Sukender, "Fixed ReaderWriterDAE::ConvertFilePathToColladaCompatibleURI(): It now handles paths containing '#' character as expected." - * From Wang Rui, "A modified version is attached. The blank while - generating is in fact - used to avoid dual update traversals of the scene, which is not - allowed in my application (but I forgot the reason ;-) Now the - blank - problem will disappear. - - Inactive mode is also available, using the --inactive mode and - --camera-eye and --camera-hpr to set camera position: - - ./osgposter --output-poster --poster output.bmp --tilesize 800 - 600 - --finalsize 8000 6000 cow.osg --inactive --camera-eye 0 0 20 - " +Wed, 19 Jan 2011 09:34:26 +0000 +Checked in by : Robert Osfield +From Sukender and Robert Osfield, clean up of options -2010-12-13 17:54 robert +Tue, 18 Jan 2011 16:14:24 +0000 +Checked in by : Robert Osfield +From Michael Platings, "I've attached a fix for a subtle bug that causes animations (and quite possibly other things) to be serialized incorrectly.For the following code: - * Renamed osgviewerQtContext to osgviewerQt, and removed deprecated - examples from CMakeLists.txt +#define MYMACRO(NAME) myOutputStream << #NAME; +MYMACRO(Group) -2010-12-13 17:50 robert +you would expect that "Group" would be output. However, as there are many overloaded operator<< functions, none of which take a const char* argument, the function that's actually called is operator<<(bool). Hence what actually gets output is "TRUE". +An actual example of this is in serializers\osgAnimation\Animation.cpp, WRITE_CHANNEL_FUNC2. - * Moved osgviewerQT and osgviewQtWidget to deprecated as - osgviewerQtContext will no be the main Qt example +So the simple solution to this is to add operator<<(const char*), attached. +" -2010-12-13 17:50 robert - * Moved osgbrowser into svn/trunk. -2010-12-13 17:49 robert +Tue, 18 Jan 2011 15:00:36 +0000 +Checked in by : Robert Osfield +Moved the StateSet query and texcoord settings to within the if (vertices) block to avoid an attempt to dereferences geometry->getStateSet() when non Geometry drawable is intersected. - * Move osgcegui into deprecated +Tue, 18 Jan 2011 11:20:53 +0000 +Checked in by : Robert Osfield +Fixed CompileSet so it returns true when there is nothing to compile at all. -2010-12-13 17:37 robert +Tue, 18 Jan 2011 09:54:47 +0000 +Checked in by : Robert Osfield +Build fix - * Have moved FindXUL.cmake to deprecated +Mon, 17 Jan 2011 17:17:19 +0000 +Checked in by : Robert Osfield +Implemented better coupling of DatabasePager and IcrementalCompileOperation, removing functional duplication and opening the door to dynamic enabling/disabling of pre compile based on load. -2010-12-13 17:36 robert +Mon, 17 Jan 2011 09:10:14 +0000 +Checked in by : Robert Osfield +Added getNum methods - * Have moved gecko plugin to deprecated +Sat, 15 Jan 2011 18:12:19 +0000 +Checked in by : Robert Osfield +First steps on the path to integrating ImageProcessor -2010-12-13 17:09 robert +Fri, 14 Jan 2011 14:30:19 +0000 +Checked in by : Robert Osfield +From Guy Volckaert, "Changes to the openflight plugin to support replacing double sided polygons by 2 opposite facing polygons. This is sometimes required to resolved lighting and intersection issues. A new import option was was added to activate this feature called "replaceDoubleSidedPolys". - * Added resizeGLObjectBuffers(uint) and relaseGLObjects(State*) to - BufferData. +Fri, 14 Jan 2011 13:31:07 +0000 +Checked in by : Robert Osfield +From Sukender, "- Lowered one notify level (it's now coherent with the "if" just above)" -2010-12-13 16:25 robert +Fri, 14 Jan 2011 12:08:46 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I'd like to submit a small new feature to the osgmanipulator example which could fix the dragger size in screen, so that no matter how we zoom in/out the camera, the dragger will never be scaled.This is what 3D graphics software like 3dsmax and maya behave, which +helps users select and manipulate draggers more easily. - * Moved GraphicsWindowQt from osgviewerQtContext into osgQt. +You may turn on the feature with the new --fixedDraggerSize argument: -2010-12-13 13:41 robert +# osgmanipulator.exe --fixedDraggerSize --dragger TranslateAxisDragger +cessna.osg +" - * Fixed warnings -2010-12-13 13:37 robert - * From Wang Rui, "Attachment is an example of rendering 3D scenes - to high resolution screenshots. - - I uses a queue of Camera objects to do offscreen rendering with - the Camera::attach() function. The entire picture is split into - many tiles and it will take a few seconds while attaching and - detaching cameras with tiles. You may select to output every tile - as an image file, or combine them together to create a large - poster, for example, a 12800 x 9600 image. - - Start the program like this: - - ./osgposter --output-poster --poster output.bmp --tilesize 800 - 600 --finalsize 8000 6000 cow.osg - - Adjust the scene camera to a suitable position and press 'p' or - 'P' on the keyboard. Wait until sub-cameras dispatching is - finished. And the poster file will be created while closing - window. A 8000 x 6000 output.bmp will be created to show a - fine-printed cow. :) - - The command below may also help: - - ./osgposter --help - " +Fri, 14 Jan 2011 12:03:37 +0000 +Checked in by : Robert Osfield +From Sukender, "TIFF plugin now outputs messages coming from libtiff. " -2010-12-13 12:16 robert +Fri, 14 Jan 2011 11:49:55 +0000 +Checked in by : Robert Osfield +From Sukender, "Small submission: - 3DS reader now takes care to not create Texture2D duplicates" - * Form Richard Schmidt, "The following features were added: - - * the glsl plugin now supports processing #includes. The file - extension sets the shader type. - - * the registry releases gl objects of the shared state manager - " +Fri, 14 Jan 2011 11:46:43 +0000 +Checked in by : Robert Osfield +Fixed for build with non autoatic ref_ptr<> to C pointer conversion -2010-12-13 11:34 robert +Fri, 14 Jan 2011 11:00:11 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, "Attached is a fix which implements the lazy loading of optional layers (if requested) in the new osgb/osgt formats." - * From Wang Rui, "I implemented a customized viewer event traversal - here to read state - changes from the DirectInput devices and add events to the event - queue. I've tested with the keyboard and joystick supports. - Because of - only having a very old 6-button gamepad, I can't do more - experiments. - Hope this will bring more ideas to those who face similar - problems, - especially simulation game designers. :) - - I didn't map all DirectInput key values to GUIEventAdapter key - symbols. Users may add more in the buildKeyMap() function freely. - The - mouse handling operations are also ignored, but will be easily - improved in the same way of creating keyboard and joystick - devices. - - Please add a line: - - FIND_PACKAGE(DirectInput) - - in the CMakeLists of root directory. And in the - examples/CMakeLists.txt: - - IF(DIRECTINPUT_FOUND) - ADD_SUBDIRECTORY(osgdirectinput) - ENDIF(DIRECTINPUT_FOUND) - - DirectX SDK 2009 is used here, but an older version like DX8 - should - also work in my opinion. - " +Thu, 13 Jan 2011 18:49:12 +0000 +Checked in by : Robert Osfield +Updated so version number -2010-12-13 10:46 robert +Thu, 13 Jan 2011 18:05:59 +0000 +Checked in by : Robert Osfield +From Tim Moore, added missing ImageProcessor header reference - * From Eduardo Poyart, "The attached patch fixes a race condition - that caused OSG to try to render the scene before the window is - realized. It works ok in my osgviewerWX-derived application under - Linux." +Thu, 13 Jan 2011 14:59:29 +0000 +Checked in by : Robert Osfield +Added ImageProcessor interface class and plugin mechnanism for ImageProcessor implementations to osgDB::Registry.Add NVidiaTextureTools based plugin that provides an ImageProcessor implementation within an nvtt plugin. -2010-12-12 10:00 robert - * Added TODO notes -2010-12-12 09:58 robert +Wed, 12 Jan 2011 19:29:24 +0000 +Checked in by : Robert Osfield +Refactored the way that the DatabasePager passes the Terrain decorator node onto the TerrainTile.The DatabasePager now passes the Terrain pointer into the ReaderWriter's via osgDB::Options object, +rather than pushing a NodePath containing the Terrain onto NodeVisitor. This +change means that the DatabasePager nolonger needs to observer the whole NodePath and +will be lighter and quicker for it. - * From Wojciech Lewandowski, added docs on Swap Method env vars and - command line options +The change also means that ReadFileCallback can now run custom NodeVisitor's on the scene graph without +having to worry about TerrainTile's constructing scene graphs prior to the Terrain being assigned. -2010-12-12 09:52 robert +Also changed is the NodeVisitor::DatabaseRequestHandler which now requires a NodePath to the node that you wish +to add to rather than just the pointer to the node you wish to add to. This is more robust when handling scenes +with multiple parental paths, whereas previously errors could have occurred due to the default of picking the first +available parental path. This change means that subclasses of DatabasePager will need to be updated to use this new +function entry point. - * From Trajce Nikolov, "attached is a fix for the txp loader (in - TileMapper). The code was giving wrong parent tile ids using the - stack - I implemented differnt approach for that" -2010-12-12 09:40 robert - * From David Fries, "The ffmpeg lockmanager was introduced in - ffmpeg 52 30 1, but - later backported to 52 20 1, so add that to the version check - in ReaderWriterFFmpeg.cpp." -2010-12-12 09:37 robert +Wed, 12 Jan 2011 17:39:35 +0000 +Checked in by : Robert Osfield +Fixed comment - * From David Fries, "Avoid a terrapage crash with outstanding - requests to a removed archive file. - ReaderWriterTXP::getArchiveName - will create an archive if it doesn't exist. This is causing a - crash - if the terrain is removed and there are outstanding database - requests - in the database pager. The request will create a new archive, and - as - the archive is newly create doesn't have the materials etc to - support - the subtile that was just loaded. To fix the problem - getArchiveName - will only return existing archives. createArchiveName was added - to - create archives. - " +Tue, 11 Jan 2011 17:29:47 +0000 +Checked in by : Robert Osfield +From Sukender, "FBX plugin did not relay the osgDB::ReaderWriter::Options* when writing images (the writeImage() call). Now it does." -2010-12-12 09:22 robert +Tue, 11 Jan 2011 17:29:11 +0000 +Checked in by : Robert Osfield +Changed dos endings to unix line endings - * From Wojciech Lewandowski, "As suggested I have added missing - method to PerContextProgram. Tested with our programs. - - I see that we should expect some performance penalty for using - this method. It won’t be painful in my current case because I - have only a few animated characters. But I suspect some day I - will have to fix osgCal to use int UniformIds natively for larger - crowds." +Tue, 11 Jan 2011 17:23:22 +0000 +Checked in by : Robert Osfield +From Mikhail Izmestev, "Current osgManipulator::AntiSquishCallback stops update traversal of childrens." -2010-12-12 08:56 robert +Tue, 11 Jan 2011 17:20:25 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "We encountered a problem when we tried overloading StandardManipulator class. Linker was unable to find StandardManipulator::AnimationData methods. Prefixing AnimationData with OSGGA_EXPORT removed the issue.Fixed header is attached." - * From Wang Rui, "I've found a possible bug in the new - SmoothingVisitor implementation - (with a great 'crease angle' feature), which will crash if the - normal - array is already set but without BIND_PER_VERTEX. I just believe - that - we should reallocate the normal array in these cases, as the old - implementation does. - " -2010-12-12 08:54 robert - * Introuced a local typedef of the index array type to keep the - functor parameters consistent +Tue, 11 Jan 2011 17:18:44 +0000 +Checked in by : Robert Osfield +From Chris Hanson, "As an extension to this excellent work: http://forum.openscenegraph.org/viewtopic.php?t=7285 This file adds the same string API wrapper to the State object for other older apps that +track Uniforms by string. The original comment about performance is preserved." -2010-12-11 15:12 robert - * From Cedric Pinson, "Here a small fix about gdal plugin used to - read dem file, if you dont - setup the log level to INFO it does not work. It's because of - this line: - OSG_INFO << " GetGeoTransform == "<< - dataset->GetGeoTransform(geoTransform)<<" - - I have just put the function outside of an stream stuff, and it - works. - It's possible we have other code like that in other plugins, I - guess - it's a side effect of the MACRO stuff about notification." -2010-12-10 15:27 robert +Tue, 11 Jan 2011 17:05:24 +0000 +Checked in by : Robert Osfield +Changed debug messages to INFO - * Refactor of DatabasePage/IncrementalCompileOperation to use the - IncrementalCompileOperator for compiling objects +Tue, 11 Jan 2011 17:04:37 +0000 +Checked in by : Robert Osfield +From Glenn Waldron, "Attached is a fix to State::convertVertexShaderSourceToOsgBuiltIns. The method was incorrectly inserting new declarations before a GLSL "#version" directive, which must always be the first line in a shader. This patch detects the #version directive and ensures that new declarations are inserted after it.Attached is the modified State.cpp file. -2010-12-10 13:22 robert +I have also attached a sample transcript, showing the new code working properly. I ran it against osgEarth's shaders and it works as expected. - * Build fixes to keep up with changes in head inclusions/API in - osgDB +" -2010-12-09 12:16 robert - * Added handling of CoordinateSystemNode when they decorate a - loaded model, copying the contents of the CoordinateSystemNode - across to the Terrain node -2010-12-08 11:01 robert +Tue, 11 Jan 2011 16:58:17 +0000 +Checked in by : Robert Osfield +From Tim Moore, "This patch fixes a race condition in Renderer::ThreadSafeQueue that was causing some notifications of available SceneView objects to be missed. I saw a very noticeable performance problem (60 fps -> 8 fps) in DrawThreadPerContext mode in an osgEarth application before this patch. I had high hopes that this change might fix the much-discussed multiple GPU problem; no such luck, but I think the root cause of that is probably a similar threading issue." - * Updated version number for 2.9.11 dev release +Tue, 11 Jan 2011 16:18:49 +0000 +Checked in by : Robert Osfield +From Guy Volckaert, warning fixes -2010-12-08 10:34 robert +Tue, 11 Jan 2011 11:39:50 +0000 +Checked in by : Robert Osfield +Added more flexible testing of Text3D - * From Ulrich Hertlein, "attached are patches to osgTerrain that - fix some typos and add a bit of documentation. - " +Tue, 11 Jan 2011 11:39:31 +0000 +Checked in by : Robert Osfield +Unified more of the 2D and 3D text setup, fixed bugs in Text3D setup which address the problems of black 3D text and the kerning causing problems with font positioning. -2010-12-08 09:54 robert +Mon, 10 Jan 2011 13:28:23 +0000 +Checked in by : Robert Osfield +Improved the handling of application argument output when the options are very long. - * Added protection against the Registry from being deleted prior to - the proxy objects unregistering themselves +Wed, 5 Jan 2011 11:43:37 +0000 +Checked in by : Robert Osfield +Added check for invalid face size to prevent a crash -2010-12-08 09:52 robert +Tue, 4 Jan 2011 10:21:50 +0000 +Checked in by : Robert Osfield +Added extra checks to osg::Geometry::verifyArrays(std::ostream&) - * Fixes for benign threading memory contentions. +Mon, 3 Jan 2011 19:41:06 +0000 +Checked in by : Robert Osfield +Added osg::Geometry::verifyArray(std::ostream&) method to enable checks to be done on osg::Geometry to see if the arrays are big enough to handle the primitives used in the geometry.Added usage of verifyArray into osgfilecache so that it reports any problems on reading files in paged database. -2010-12-06 10:35 robert - * Renamed YES and NO enums with more description names that don't - overlap with iOS #define's -2010-12-03 19:04 robert +Fri, 24 Dec 2010 19:47:31 +0000 +Checked in by : Robert Osfield +Added iterator include - * Updated ChangeLog and AUTHORS for release +Fri, 24 Dec 2010 19:19:48 +0000 +Checked in by : Robert Osfield +Refactored IncrementalCompileOperation to make it more flexible. -2010-12-03 17:50 robert +Thu, 23 Dec 2010 13:11:15 +0000 +Checked in by : Robert Osfield +Fixed warnings - * From Johannes Bauerle, "When trying to use the osgText - functionality in an osg application built without support for the - fixed function pipeline I got a lot of warning messages about - invalid calls. - I found two indirect calls to the glTexEnv in the file Text.cpp: - - state.applyTextureAttribute(0,getActiveFont()->getTexEnv()); - - In the attached fix I surrounded these calls with #ifdef's - checking for OSG_GL_FIXED_FUNCTION_AVAILABLE to ensure that the - above function is only called when the fixed function pipeline is - available. - " +Thu, 23 Dec 2010 10:45:43 +0000 +Checked in by : Robert Osfield +Deleted old makefile files that are no longer required now we have CMake -2010-12-03 17:20 robert +Thu, 23 Dec 2010 10:07:27 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, "The FindCOLLADA.cmake module failed to find the static libs for the latest collada dom, attached is the fixed file." - * Removed redundent call. +Thu, 23 Dec 2010 10:05:55 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein (applied by Robert Osfield), "OpenThreads/win32/Win32Condition.h is not used anymore and could be removed from the repository and win32/OpenThreads.mak and win32/CMakeLists.txt." -2010-12-03 14:24 robert +Thu, 23 Dec 2010 09:59:35 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien, "In my auto-build today there are 3 errors caused by using a ref_ptr in a function taking a T* when building without the implicit conversion." - * Commented out debug message +Wed, 22 Dec 2010 20:11:05 +0000 +Checked in by : Robert Osfield +Converted FrameStamp::g/setFrameNumber from int to uint -2010-12-03 14:18 robert +Tue, 21 Dec 2010 12:54:06 +0000 +Checked in by : Robert Osfield +From Tim Moore, Dereference the databaseRequest while the queue is locked. This prevents the request from being deleted at an unpredictable time within addLoadedDataToSceneGraph. - * Introduced bool Texture2D::textureObjectValid(State) and bool - SubloadCallback::textureObjectValid(Texture2D&,State&) method to - make it tell Texture2D::apply() whether the texture object is - still valid or whether it's no longed valid for the any changes - to the image attached to the Texture +Tue, 21 Dec 2010 12:51:15 +0000 +Checked in by : Robert Osfield +Introduced a local reference to the appropriate EasyCurl object to avoid seperate getEasyCurl() incurring a mutex lock overhead. -2010-12-02 14:20 robert +Tue, 21 Dec 2010 10:23:31 +0000 +Checked in by : Robert Osfield +Improved indentation to make it more readable and consistent with OSG. - * From Ulrich Hertlein, "Attached; here's a summary of the changes: - - CMakeLists.txt - -- don't look for GL when compiling for iOS (device or - simulator), look for OGLES instead - -- use architecture i386 for simulator - -- removed iphoneos-version-min for simulator - - - examples/osgviewerIPhone/CMakeLists.txt - -- added build dependencies for osgdb_osg, osgdb_freetype, - osgdb_imageio - -- added framework QuartzCore link dependency - - - src/osgDB/CMakeLists.txt - -- don't link against Carbon on iOS (device or simulator) - - - src/osgPlugins/freetype/CMakeLists.txt - -- don't link against OpenGL on iOS device or simulator - - - src/osgViewer/CMakeLists.txt - -- link against OpenGLES on iOS (device or simulator) - - - src/osgPlugins/imageio/CMakeLists.txt - -- compile ReaderWriterImageIO_IOS.cpp as Objective-C++ - - " +Tue, 21 Dec 2010 09:36:03 +0000 +Checked in by : Robert Osfield +Cleaned up the frame number increment. -2010-12-02 14:13 robert +Tue, 21 Dec 2010 09:12:18 +0000 +Checked in by : Robert Osfield +From Paul Martz, Fix for "in expGeometryRecords.cpp lines 813-820, we write the UV list data incorrectly. According to the FLT spec, the data should be grouped per-vertex, not per-layer.We should have: + UV for vertex 0, layer 1 + UV for vertex 0, layer 2 + UV for vertex 1, layer 1 + UV for vertex 1, layer 2 + ...etc... - * From Mathias Froehlich, "Attached are most of the fixes that are - required to build osg on solaris and - hpux. I have skipped irix this time as irix is too dead to keep - osg building - there. - - As usual, solaris does not like member templates in stl - containers. - Some headers missing and link problems due to missing libraries." +Instead, we have this: + UV for vertex 0, layer 1 + UV for vertex 1, layer 1 + ...etc... + UV for vertex 0, layer 2 + UV for vertex 1, layer 2 + ...etc..." -2010-12-02 14:01 robert - * Ran dos2unix to fix line endings -2010-12-02 13:53 robert - * From Brad Christiansen, commented out debug messages +Mon, 20 Dec 2010 17:04:59 +0000 +Checked in by : Robert Osfield +From Andy Skinner, "In this file I’ve changed TriangleFunctor to TemplatePrimitiveFunctor, and added operator() methods for:· points (just look at points in frustum) -2010-12-02 09:39 robert +· lines (simple line clip—replace the external point) - * Removed redudent makeCurrentImplementation() that was causing a - crash in osgscreencapture. +· quadrilaterals (call operator() for triangles twice)" -2010-12-01 20:14 robert - * Updated AUTHORS and Contributors.cpp to reflect new ChangeLog - correctly -2010-12-01 19:49 robert - * From Jason Daly, "OK, I dug a bit into the CMake scripts and - found a fairly obvious solution to the QtWebkit issue on RHEL 6 - (see my other message on osg-users). I just moved the - osgQtWidgets example in examples/CMakeLists.txt under the check - for QtWebKit. - - Fix is attached:" +Mon, 20 Dec 2010 16:23:27 +0000 +Checked in by : Robert Osfield +From Andy Skinner, "We use a shared array for our OpenSceneGraph arrays, and the existing (deprecated) OSG plugin casts the Array to IntArray and FloatArray and the like. Because our arrays don’t use FloatArray, this crashes for us.Attached is src/osgWrappers/deprecated-dotosg/osg/Geometry.cpp. It gets the data pointer out and casts it to a pointer to the element type, rather than casting the array object itself. This seems to work." -2010-12-01 14:03 robert - * Updated ChangeLog -2010-12-01 13:33 robert +Mon, 20 Dec 2010 12:17:40 +0000 +Checked in by : Robert Osfield +Moved the GL3 include to within the code block that handles GL1/GL2 - * From Fabien Lavignotte, "I use Texture2D::copyTexImage2D to - generate some textures at each frame on a PagedLOD databases. - There was some performance problems after a long run, because - textures created with copyTexImage2D were not reused. - After investigation, there is a problem with the Texture Pool - when a texture object is created with an empty profile, and then - move after creation to TextureObjectSet with good profile using - setAllocated method. - I have just changed a little bit the code of - Texture2D::copyTexImage2D, to generate the texture object with - the good profile at the start." +Mon, 20 Dec 2010 12:03:56 +0000 +Checked in by : Robert Osfield +Fixed memory leak by introducing use of ref_ptr<> -2010-11-30 16:22 robert +Mon, 20 Dec 2010 12:02:50 +0000 +Checked in by : Robert Osfield +From Kim Seokhwan, "Error fix in example/osganimationmorph/osganimationmorph.cppin this file, +function, +osg::Geometry* getShape(const std::string& name) +(line 51) - * From "Matthew Roberso, I've attached a small fix to the - src/osgWrappers/serializers/osg/Texture2DArray.cpp against the - svn head r11965 it simply calls setTextureDepth before attempting - to load the individual textures into the array. Currently without - that the loading fails with the following printout "Warning: - Texture2DArray::setImage(..) failed, the given layer number is - bigger then the size of the texture array." and the texture array - is empty if loaded from an osga/b." +tries to use null pointer when model is not provided. +I added simple comment in attached file." -2010-11-30 14:36 robert - * Fixed the readObject method so it could handle reading from a - file contains any valid type of osg::Object -2010-11-30 12:34 robert - * Added passing of existingObj parameter -2010-11-30 11:34 robert +Mon, 20 Dec 2010 10:49:30 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov, Fixes to avoid cracks in older archives, tested with archives 2.0, 2.1, 2.2 . - * From Stephan Huber, compile fix for iOS +Sun, 19 Dec 2010 13:25:45 +0000 +Checked in by : Robert Osfield +From Trajce Nicklov, "I went thru the TileMapper today very carefuly and I remove all the tileStack approach - it made everything simplier and I think more proper. Cleaned the code as well. It was tested on huge archive with many lods as well with variable lods. Fix attached." -2010-11-30 09:26 robert +Fri, 17 Dec 2010 13:43:41 +0000 +Checked in by : Robert Osfield +From Tim Moore, fix for race conditions in takeOrGenerate() methods - * From Ulrich Hertlein and Stephan Huber, improves to iOS build +Fri, 17 Dec 2010 11:46:42 +0000 +Checked in by : Robert Osfield +Fixed warnings -2010-11-30 08:12 robert +Fri, 17 Dec 2010 11:19:29 +0000 +Checked in by : Robert Osfield +Added --speed command line parameter to osgviewer to enable control of the speed that animation paths are played back at. - * From Wang Rui, Compile fixes +Fri, 17 Dec 2010 10:59:05 +0000 +Checked in by : Robert Osfield +Fixed the GLBufferObjectSet::deleteAllGLBufferObjets() and TextureObjectSet::deletaAllTextureObjects() methods and improved the checkConsistency() usage so it's now possible to switch if off completed from being compiled in. -2010-11-29 17:43 robert +Wed, 15 Dec 2010 19:44:29 +0000 +Checked in by : Robert Osfield +Fixed the size computation - * From Tim Moore, "Here is initial support for uniform buffer - objects. The binding between a buffer object and an indexed - target is implemented as a new StateAttribute, - UniformBufferBinding. I've included an example program based on - the code in the ARB_uniform_buffer_object specification. - - A few things remain to do: - * The binding between a uniform block in a shader program and a - buffer indexed target number is fixed, like a vertex attribute - binding. This is too restrictive because that binding can be - changed without relinking the program. This mapping should be - done by name in the same way that uniform values are handled - i.e., like a pseudo state attribute; - - * There's no direct way yet to query for the offset of uniforms - in uniform block, so only the std140 layout is really usable. A - helper class that implemented the std140 rules would be quite - helpful for setting up uniform blocks without having to link a - program first; - - * There's no direct support for querying parameters such as the - maximum block length, minimum offset alignment, etc. Having that - information available outside of the draw thread would make - certain instancing techniques easier to implement." +Wed, 15 Dec 2010 16:30:48 +0000 +Checked in by : Robert Osfield +Removed no longer used static member variables -2010-11-29 09:32 robert +Wed, 15 Dec 2010 12:34:16 +0000 +Checked in by : Robert Osfield +Improvements to GLBufferObject and TextureObject pools - * Removed deperecated variables that are no longer used. +Tue, 14 Dec 2010 20:22:34 +0000 +Checked in by : Robert Osfield +Added report of ration of current size to max target size for buffer. -2010-11-26 18:19 robert +Tue, 14 Dec 2010 20:07:41 +0000 +Checked in by : Robert Osfield +Added --speed option and output of buffer object and texture object pool stats at the end of the animation path. - * From Tomas Holgarth and Stephan Huber, " - attached you'll find the second part of the IOS-submission. It - contains - - * GraphicsWindowIOS, which supports external and "retina" - displays, - multisample-buffers (for IOS > 4.0) and multi-touch-events - * an ios-specific implementation of the imageio-plugin - * an iphone-viewer example - * cMake support for creating a xcode-project - * an updated ReadMe-file describing the necessary steps to get a - working xcode-project-file from CMake - - Please credit Thomas Hogarth and Stephan Huber for these changes. - - This brings the ios-support in line with the git-fork on github. - It - needs some more testing and some more love, the cmake-process is - still a - little complicated. - - You'll need a special version of the freetype lib compiled for - IOS, - there's one bundled in the OpenFrameworks-distribution, which can - be used." - - Notes, from Robert Osfield, modified CMakeLists.txt files so that - the IOS specific paths are within IF(APPLE) blocks. +Tue, 14 Dec 2010 20:07:00 +0000 +Checked in by : Robert Osfield +Added AnimationCompletedCallback, s/getTimeScale and s/getTimeOffset() method to enable finer control of AnimationPathManipulator. -2010-11-26 17:37 robert +Tue, 14 Dec 2010 19:29:01 +0000 +Checked in by : Robert Osfield +Added methods for checking sizes of various buffer object/texture object pool sizes. - * From Katharina Plugge, fix for regression in handling of - multitexturing. +Tue, 14 Dec 2010 15:28:31 +0000 +Checked in by : Robert Osfield +Removed redundent MinimumNumberOfTextureObjectsToRetainInCache static variable -2010-11-26 17:35 robert +Tue, 14 Dec 2010 14:32:16 +0000 +Checked in by : Robert Osfield +Improved the parsing of output filename - * From Eduardo Poyart, OSG patch: made it read ancillary - IndexedStrings into MultiSwitch +Tue, 14 Dec 2010 13:43:32 +0000 +Checked in by : Robert Osfield +Added GLBufferObjectManager::reportStats() -2010-11-26 17:32 robert +Tue, 14 Dec 2010 10:42:08 +0000 +Checked in by : Robert Osfield +From Alan Dickenson, "I modified the CPack CMake files to provide the ability to easily create packages of the OpenSceneGraph components.I modified the OsgCPackConfig.cmake.in and OsgCPack.cmake files to expose access to select the package generator mechanism through cmake CPACK_GENERATOR option. The user can specify the type of package generator (i.e. rpms. deb, NSIS, tar, zip, etc) that they would like to use from the CPack supported packages/installation methods. - * Updated ChangeLog +I also changed the CPACK_PACKAGE_FILE_NAME to use OSG_PACKAGE_FILE_NAME which contains the name of each component so all of the component packages can be generated without renaming the files. -2010-11-26 13:54 robert +This should make it even easier to create distribution packages for the various linux, windows and mac distribution methods supported by CPack." - * From Marin Platings and Robert Osfield, fix of Uniform unique ID - by making osg::Object::setName() virtual. -2010-11-26 12:44 robert - * From Martin Beck, " - recently we noticed a little mistake for 3DS files using - instances of the same meshs: Every groupnode gets the same name - instead of the (correct) instance name of the object. The fix - only consists of two additional lines which check whether an - instance_name is given for the object and then uses this one - instead of the node name." -2010-11-26 12:23 robert +Tue, 14 Dec 2010 08:58:27 +0000 +Checked in by : Robert Osfield +Moved Performer and Inventor plugins into block protected to only compile when not using GLES. - * From Fabien Lavignotte, "There was a small bug when using the new - serializer with AnimationPath. The serializer assumes NO_LOOPING - is the defaut for LoopMode, but in fact it is LOOP. - The new serializer avoids to write default values in text mode, - so the loop mode is not always correctly set." - +Tue, 14 Dec 2010 08:53:20 +0000 +Checked in by : Robert Osfield +From Wang Rui, "A modified version is attached. The blank while generating is in fact used to avoid dual update traversals of the scene, which is not allowed in my application (but I forgot the reason ;-) Now the blank problem will disappear.Inactive mode is also available, using the --inactive mode and +--camera-eye and --camera-hpr to set camera position: -2010-11-26 12:22 robert +./osgposter --output-poster --poster output.bmp --tilesize 800 600 +--finalsize 8000 6000 cow.osg --inactive --camera-eye 0 0 20 +" - * Removed debug messages -2010-11-26 10:31 robert - * From Magnus Kessler, "Typo in usage string of - examples/osganalysis - - please specifies -> please specify" +Mon, 13 Dec 2010 17:54:27 +0000 +Checked in by : Robert Osfield +Renamed osgviewerQtContext to osgviewerQt, and removed deprecated examples from CMakeLists.txt -2010-11-25 16:06 robert +Mon, 13 Dec 2010 17:50:57 +0000 +Checked in by : Robert Osfield +Moved osgviewerQT and osgviewQtWidget to deprecated as osgviewerQtContext will no be the main Qt example - * From Thomas Hogarth and Stephan Huber, "attached you'll find part - one of iphone-support. It includes - - * support for NPOT-textures on IOS - * support for FBOs (only renderToTexture for now) on IOS (should - work - for other OpenGL ES 1/2 targets, too) - * FileUtils-support for IOS" +Mon, 13 Dec 2010 17:50:00 +0000 +Checked in by : Robert Osfield +Moved osgbrowser into svn/trunk. -2010-11-25 13:00 robert +Mon, 13 Dec 2010 17:49:37 +0000 +Checked in by : Robert Osfield +Move osgcegui into deprecated - * From Tim Moore, fix to stats timing +Mon, 13 Dec 2010 17:37:42 +0000 +Checked in by : Robert Osfield +Have moved FindXUL.cmake to deprecated -2010-11-25 12:30 robert +Mon, 13 Dec 2010 17:36:02 +0000 +Checked in by : Robert Osfield +Have moved gecko plugin to deprecated - * From Michael Platings, To address performance bottleneck that - occurs when using large number of uniforms introduced a name to - uniqued ID scheme for Uniforms so comparisons can be done on a - uint rather than a string. +Mon, 13 Dec 2010 17:09:31 +0000 +Checked in by : Robert Osfield +Added resizeGLObjectBuffers(uint) and relaseGLObjects(State*) to BufferData. -2010-11-25 12:07 robert +Mon, 13 Dec 2010 16:25:50 +0000 +Checked in by : Robert Osfield +Moved GraphicsWindowQt from osgviewerQtContext into osgQt. - * From Hartwig Wiesmann, "in the files Image, Observer and - TerrainTechnique unused parameters exist resulting in a couple of - compiler warnings (depending on the compiler settings though). - The attached patches comment out the unused parameter names. - " +Mon, 13 Dec 2010 13:41:42 +0000 +Checked in by : Robert Osfield +Fixed warnings -2010-11-25 11:59 robert +Mon, 13 Dec 2010 13:37:37 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Attachment is an example of rendering 3D scenes to high resolution screenshots.I uses a queue of Camera objects to do offscreen rendering with the Camera::attach() function. The entire picture is split into many tiles and it will take a few seconds while attaching and detaching cameras with tiles. You may select to output every tile as an image file, or combine them together to create a large poster, for example, a 12800 x 9600 image. - * From Magnus Kessler, "applications/osgconv: fix typo in tool - options - - transprent -> transparent" +Start the program like this: -2010-11-25 11:40 robert +./osgposter --output-poster --poster output.bmp --tilesize 800 600 --finalsize 8000 6000 cow.osg - * Removed default assignement of GeometryTechnique as the - TerrainTechniquePrototype. +Adjust the scene camera to a suitable position and press 'p' or 'P' on the keyboard. Wait until sub-cameras dispatching is finished. And the poster file will be created while closing window. A 8000 x 6000 output.bmp will be created to show a fine-printed cow. :) -2010-11-24 20:26 robert +The command below may also help: - * From Wang Rui, "I'd like to provide a quick updates of the new - tessellation shader - serializers and dotosgwrappers. It includes reading/writing - supports - for the two new shader types and the GL_PATCHES enum. The - setParameterfv() method is not wrapped at present because it is - still - not finished. - - Enum serialziers don't require back-compatibility checks if only - add/remove enum items, so I'm not going to use the new - UPDATE_TO_VERSION macro this time." +./osgposter --help + " -2010-11-24 20:20 robert - * From Jean-Sebastien Guay, build fixes for windows. -2010-11-24 17:01 robert +Mon, 13 Dec 2010 12:16:57 +0000 +Checked in by : Robert Osfield +Form Richard Schmidt, "The following features were added:* the glsl plugin now supports processing #includes. The file extension sets the shader type. - * Added workaround for AMD/ATI driver bug +* the registry releases gl objects of the shared state manager + " -2010-11-24 10:38 robert - * From Tim Moore, Fix for drivers that don't properly support timer - extensions. - - "" -2010-11-24 10:09 robert +Mon, 13 Dec 2010 11:34:33 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I implemented a customized viewer event traversal here to read state changes from the DirectInput devices and add events to the event queue. I've tested with the keyboard and joystick supports. Because of only having a very old 6-button gamepad, I can't do more experiments. Hope this will bring more ideas to those who face similar problems, especially simulation game designers. :)I didn't map all DirectInput key values to GUIEventAdapter key +symbols. Users may add more in the buildKeyMap() function freely. The +mouse handling operations are also ignored, but will be easily +improved in the same way of creating keyboard and joystick devices. - * From Wojciech Lewandowski, "1: fix for a issue with - MinimalShadowMap and LightSpacePerspectiveShadowMapVB techniques - ignoring minLightMargin parameter. - 2: minor tweak for a DebugHUD drawn improperly case when multiple - slave views shared one window. It now uses slave view viewport to - correctly position DebugHUD. - 3: deactivated ConvexPolyhedron notifications (they were - accidentaly activated when you replaced osg::notify calls with - OSG_NOTIFY macro). These warnings are useful only for shadow map - developer working on shadow volume optimizations. So there is no - sense in having them active all the time." +Please add a line: -2010-11-23 17:33 robert +FIND_PACKAGE(DirectInput) - * Moved TextNode from osgText into example/osgtext3D in prep for - 3.0 +in the CMakeLists of root directory. And in the examples/CMakeLists.txt: -2010-11-23 14:50 robert +IF(DIRECTINPUT_FOUND) + ADD_SUBDIRECTORY(osgdirectinput) +ENDIF(DIRECTINPUT_FOUND) - * From Holger Helmich, Tessellation shader support +DirectX SDK 2009 is used here, but an older version like DX8 should +also work in my opinion. +" -2010-11-23 11:11 robert - * From David Callu, "Here a fix for pssm. - - Problem 1 : - With GLSL, multi pass to apply each shadow map is not required. - - - Problem 2 : - GLSL code use "shadow2DProj" build-in function to look up in - shadow texture. - Projection is orthogonal so "shadow2D" build-in function is - sufficient. - - Problem 3: - Bad calcul in - osgShadow::ParallelSplitShadowMap::calculateLightViewProjectionFormFrustum(..) - provide some visual error in specific configuration. - - - to reproduce pssm_bug.jpg, you need to add a light direction in - osgshadow.cpp example (done in joint osgshadow.cpp file) - then "osgshadow --noUpdate --pssm --maxFarDist 500 --minNearSplit - 500 --mapcount 6 --debug-color model_test.3ds" - - - As you can see in pssm_bug.jpg and pssm_fix.jpg, performance is - really better when Problem 1 is fixed. - " -2010-11-22 19:38 robert +Mon, 13 Dec 2010 10:46:18 +0000 +Checked in by : Robert Osfield +From Eduardo Poyart, "The attached patch fixes a race condition that caused OSG to try to render the scene before the window is realized. It works ok in my osgviewerWX-derived application under Linux." - * Build fixes for building OSG with - OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION set to OFF +Sun, 12 Dec 2010 10:00:57 +0000 +Checked in by : Robert Osfield +Added TODO notes -2010-11-22 19:18 robert +Sun, 12 Dec 2010 09:58:45 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, added docs on Swap Method env vars and command line options - * Fixed typo +Sun, 12 Dec 2010 09:52:29 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov, "attached is a fix for the txp loader (in TileMapper). The code was giving wrong parent tile ids using the stack - I implemented differnt approach for that" -2010-11-22 17:39 robert +Sun, 12 Dec 2010 09:40:16 +0000 +Checked in by : Robert Osfield +From David Fries, "The ffmpeg lockmanager was introduced in ffmpeg 52 30 1, but later backported to 52 20 1, so add that to the version check in ReaderWriterFFmpeg.cpp." - * From Michael Platings, "the attached cmake file recognises the - latest version of the FBX SDK, and now works correctly on 64 bit - Windows." +Sun, 12 Dec 2010 09:37:14 +0000 +Checked in by : Robert Osfield +From David Fries, "Avoid a terrapage crash with outstanding requests to a removed archive file. ReaderWriterTXP::getArchiveName will create an archive if it doesn't exist. This is causing a crash if the terrain is removed and there are outstanding database requests in the database pager. The request will create a new archive, and as the archive is newly create doesn't have the materials etc to support the subtile that was just loaded. To fix the problem getArchiveName will only return existing archives. createArchiveName was added to create archives. " -2010-11-22 17:37 robert +Sun, 12 Dec 2010 09:22:09 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "As suggested I have added missing method to PerContextProgram. Tested with our programs.I see that we should expect some performance penalty for using this method. It won’t be painful in my current case because I have only a few animated characters. But I suspect some day I will have to fix osgCal to use int UniformIds natively for larger crowds." - * From Michael Platings, "the build is broken if you have the - OSG_REF_PTR_IMPLICIT_OUTPUT_CONVERSION turned off - the attached - files fix this." -2010-11-22 17:30 robert - * From Stephan Huber, "attached you'll find a proposal for handling - multi-touch-events with - osgGA. My approach is to bundle all touchpoints into one custom - data - structure which is attached to an GUIEventAdapter. - - The current approach simulates a moving mouse for the first - touch-point, - so basic manipulators do work, sort of. - - I created a MultiTouchTrackballManipulator-class, one touch-point - does - rotate the view, two touch-points pan and zoom the view as known - from - the iphone or other similar multi-touch-devices. A double-tap - (similar - to a double-click) resets the manipulator to its home-position. - - The multi-touch-trackball-implementation is not the best, see it - as a - first starting point. (there's a demo-video at - http://vimeo.com/15017377 )" +Sun, 12 Dec 2010 08:56:58 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've found a possible bug in the new SmoothingVisitor implementation (with a great 'crease angle' feature), which will crash if the normal array is already set but without BIND_PER_VERTEX. I just believe that we should reallocate the normal array in these cases, as the old implementation does. " -2010-11-22 15:52 robert +Sun, 12 Dec 2010 08:54:58 +0000 +Checked in by : Robert Osfield +Introuced a local typedef of the index array type to keep the functor parameters consistent - * Fixed indentation +Sat, 11 Dec 2010 15:12:09 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "Here a small fix about gdal plugin used to read dem file, if you dont setup the log level to INFO it does not work. It's because of this line: OSG_INFO << " GetGeoTransform == "<< dataset->GetGeoTransform(geoTransform)<<"I have just put the function outside of an stream stuff, and it works. +It's possible we have other code like that in other plugins, I guess +it's a side effect of the MACRO stuff about notification." -2010-11-22 11:31 robert - * From Johan Nouvel, "I've attached ReaderWriterVRML2.h. It is the - same as the previous one, I've just add supportsOption() calls." -2010-11-22 11:22 robert +Fri, 10 Dec 2010 15:27:19 +0000 +Checked in by : Robert Osfield +Refactor of DatabasePage/IncrementalCompileOperation to use the IncrementalCompileOperator for compiling objects - * Fixed typo of commercial +Fri, 10 Dec 2010 13:22:21 +0000 +Checked in by : Robert Osfield +Build fixes to keep up with changes in head inclusions/API in osgDB -2010-11-22 10:41 robert +Thu, 9 Dec 2010 12:16:11 +0000 +Checked in by : Robert Osfield +Added handling of CoordinateSystemNode when they decorate a loaded model, copying the contents of the CoordinateSystemNode across to the Terrain node - * From Hartwig Wiesmann, fix to font search path under OSX. +Wed, 8 Dec 2010 11:01:37 +0000 +Checked in by : Robert Osfield +Updated version number for 2.9.11 dev release -2010-11-22 10:37 robert +Wed, 8 Dec 2010 10:34:29 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "attached are patches to osgTerrain that fix some typos and add a bit of documentation. " - * From Brad Christiansen, "Attached is a very small change to allow - the Collada libs for VS 2010 to be found automatically." +Wed, 8 Dec 2010 09:54:23 +0000 +Checked in by : Robert Osfield +Added protection against the Registry from being deleted prior to the proxy objects unregistering themselves -2010-11-19 18:26 robert +Wed, 8 Dec 2010 09:52:58 +0000 +Checked in by : Robert Osfield +Fixes for benign threading memory contentions. - * From Katherina Plugge, "if using multitexturing and converting - osg files to OpenFlight texture coordinates get corrupted. The - texture coordinates for slot 1 and following are not computed - correctly (see thread - http://forum.openscenegraph.org/viewtopic.php?t=6993). - - The attached files solve the problem. - " +Mon, 6 Dec 2010 10:35:02 +0000 +Checked in by : Robert Osfield +Renamed YES and NO enums with more description names that don't overlap with iOS #define's -2010-11-19 18:07 robert +Fri, 3 Dec 2010 19:04:50 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS for release - * From Sukender, fix for precision of Plane::asVec4() +Fri, 3 Dec 2010 17:50:38 +0000 +Checked in by : Robert Osfield +From Johannes Bauerle, "When trying to use the osgText functionality in an osg application built without support for the fixed function pipeline I got a lot of warning messages about invalid calls. I found two indirect calls to the glTexEnv in the file Text.cpp:state.applyTextureAttribute(0,getActiveFont()->getTexEnv()); -2010-11-19 17:47 robert +In the attached fix I surrounded these calls with #ifdef's checking for OSG_GL_FIXED_FUNCTION_AVAILABLE to ensure that the above function is only called when the fixed function pipeline is available. +" - * Commented out debug output -2010-11-19 17:47 robert - * Update SOVERSION +Fri, 3 Dec 2010 17:20:32 +0000 +Checked in by : Robert Osfield +Removed redundent call. -2010-11-19 09:57 robert +Fri, 3 Dec 2010 14:24:23 +0000 +Checked in by : Robert Osfield +Commented out debug message - * Update Text wrappers to handle new Color member +Fri, 3 Dec 2010 14:18:16 +0000 +Checked in by : Robert Osfield +Introduced bool Texture2D::textureObjectValid(State) and bool SubloadCallback::textureObjectValid(Texture2D&,State&) method to make it tell Texture2D::apply() whether the texture object is still valid or whether it's no longed valid for the any changes to the image attached to the Texture -2010-11-19 09:57 robert +Thu, 2 Dec 2010 14:20:52 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "Attached; here's a summary of the changes: - CMakeLists.txt -- don't look for GL when compiling for iOS (device or simulator), look for OGLES instead -- use architecture i386 for simulator -- removed iphoneos-version-min for simulator- examples/osgviewerIPhone/CMakeLists.txt +-- added build dependencies for osgdb_osg, osgdb_freetype, osgdb_imageio +-- added framework QuartzCore link dependency - * Updated SO version to reflect changes in API of osgText +- src/osgDB/CMakeLists.txt +-- don't link against Carbon on iOS (device or simulator) -2010-11-18 17:59 robert +- src/osgPlugins/freetype/CMakeLists.txt +-- don't link against OpenGL on iOS device or simulator - * Moved text color into TextBase, added support for colour into - Text3D +- src/osgViewer/CMakeLists.txt +-- link against OpenGLES on iOS (device or simulator) -2010-11-18 17:18 robert +- src/osgPlugins/imageio/CMakeLists.txt +-- compile ReaderWriterImageIO_IOS.cpp as Objective-C++ - * Added resetting of the freetype size when getting Glyph3D glyph's - as otherwise use of 2D and 3D Text would cause incorrect text - sizing. +" -2010-11-18 12:03 robert - * Improved handling of pending orphaned texture objects and max - texture pool size. -2010-11-17 14:06 robert +Thu, 2 Dec 2010 14:13:54 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Attached are most of the fixes that are required to build osg on solaris and hpux. I have skipped irix this time as irix is too dead to keep osg building there.As usual, solaris does not like member templates in stl containers. +Some headers missing and link problems due to missing libraries." - * From Jean-Sebastien Guay, Changed debug info in - State::frameCompleted() to OSG_INFO -2010-11-17 10:19 robert - * Added texture pool handler to print out results from texture pool -2010-11-17 10:16 robert +Thu, 2 Dec 2010 14:01:54 +0000 +Checked in by : Robert Osfield +Ran dos2unix to fix line endings - * Added quite size test. +Thu, 2 Dec 2010 13:53:10 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, commented out debug messages -2010-11-15 17:21 robert +Thu, 2 Dec 2010 09:39:31 +0000 +Checked in by : Robert Osfield +Removed redudent makeCurrentImplementation() that was causing a crash in osgscreencapture. - * From Sherman Wilcox, "added the following to the ADD_LIBRARY - list -- ${OPENSCENEGRAPH_VERSIONINFO_RC}" +Wed, 1 Dec 2010 20:14:34 +0000 +Checked in by : Robert Osfield +Updated AUTHORS and Contributors.cpp to reflect new ChangeLog correctly -2010-11-12 11:04 robert +Wed, 1 Dec 2010 19:49:03 +0000 +Checked in by : Robert Osfield +From Jason Daly, "OK, I dug a bit into the CMake scripts and found a fairly obvious solution to the QtWebkit issue on RHEL 6 (see my other message on osg-users). I just moved the osgQtWidgets example in examples/CMakeLists.txt under the check for QtWebKit.Fix is attached:" - * Fixed warnings -2010-11-12 09:48 robert - * Fixed crash on intialization of static applications by moving the - static mutexes inside singleton methods. +Wed, 1 Dec 2010 14:03:10 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2010-11-11 16:51 robert +Wed, 1 Dec 2010 13:33:31 +0000 +Checked in by : Robert Osfield +From Fabien Lavignotte, "I use Texture2D::copyTexImage2D to generate some textures at each frame on a PagedLOD databases. There was some performance problems after a long run, because textures created with copyTexImage2D were not reused. After investigation, there is a problem with the Texture Pool when a texture object is created with an empty profile, and then move after creation to TextureObjectSet with good profile using setAllocated method. I have just changed a little bit the code of Texture2D::copyTexImage2D, to generate the texture object with the good profile at the start." - * Moved finding of RSVG, Poppler-glib and GtkGl out into their own - Find*.cmake modules to enable easier specialization. +Tue, 30 Nov 2010 16:22:37 +0000 +Checked in by : Robert Osfield +From "Matthew Roberso, I've attached a small fix to the src/osgWrappers/serializers/osg/Texture2DArray.cpp against the svn head r11965 it simply calls setTextureDepth before attempting to load the individual textures into the array. Currently without that the loading fails with the following printout "Warning: Texture2DArray::setImage(..) failed, the given layer number is bigger then the size of the texture array." and the texture array is empty if loaded from an osga/b." -2010-11-11 11:47 robert +Tue, 30 Nov 2010 14:36:37 +0000 +Checked in by : Robert Osfield +Fixed the readObject method so it could handle reading from a file contains any valid type of osg::Object - * From Wang Rui, "I've finally completed the static build support - for dotosg wrapper and - serialization libraries. My submission mainly includes: - 1. Add two new macros USE_DOTOSGWRAPPER_LIBRARY and - USE_SERIALIZER_WRAPPER_LIBRARY. Applications using static OSG - must - include corresponding static-link libraries and use these two - macros - to predefine native format wrappers. Please see osgstaticviewer - and - present3D in the attachment for details. - - 2. Add a LibraryWrapper.cpp file in each - osgWrappers/deprecated-dotosg/... and osgWrappers/serializers/... - subfolder, which calls all USE_...WRAPPERS macros inside. The - LibraryWrapper file is automatically generated by the - wrapper_includer.cpp (with some slight fixes), which is also - attached - for your reference. The deprecated-dotosg/osgAnimation is not - included - because it doesn't us REGISTER_DOTOSGWRAPPER to define its - wrappers. - - 3. Modify the ReaderWriterOSG.cpp to prevent calling - loadWrappers() - when static build. - - 4. An uncorrelated fix to Serializer and ObjectWrapper.cpp, which - ensures version variables of serialziers are initialized, and - serializers out-of-version are not written to model files. - " +Tue, 30 Nov 2010 12:34:06 +0000 +Checked in by : Robert Osfield +Added passing of existingObj parameter -2010-11-11 10:53 robert +Tue, 30 Nov 2010 11:34:33 +0000 +Checked in by : Robert Osfield +From Stephan Huber, compile fix for iOS - * From Wang Rui, "The latest modification of osg/State uses the - GLuint64EXT type, which - belongs to GL_EXT_timer_query and should be decalared to avoid - compiling errors if the extension is not supported. I've attached - this - small fix." +Tue, 30 Nov 2010 09:26:18 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein and Stephan Huber, improves to iOS build -2010-11-11 10:42 robert +Tue, 30 Nov 2010 08:12:06 +0000 +Checked in by : Robert Osfield +From Wang Rui, Compile fixes - * From Mark Sciabica, "It's not Windows API calls that are causing - the problem. It's a new - templated constructor of std::pair not being able to - automatically - convert 0 to a pointer. Rather than use preprocessor checks and - #defines, I think a cleaner solution is to cast the std::pair - arguments - to the appropriate types to help the compiler out. I attached an - updated - version of the file implementing this." +Mon, 29 Nov 2010 17:43:27 +0000 +Checked in by : Robert Osfield +From Tim Moore, "Here is initial support for uniform buffer objects. The binding between a buffer object and an indexed target is implemented as a new StateAttribute, UniformBufferBinding. I've included an example program based on the code in the ARB_uniform_buffer_object specification.A few things remain to do: +* The binding between a uniform block in a shader program and a buffer indexed target number is fixed, like a vertex attribute binding. This is too restrictive because that binding can be changed without relinking the program. This mapping should be done by name in the same way that uniform values are handled i.e., like a pseudo state attribute; -2010-11-10 16:58 robert +* There's no direct way yet to query for the offset of uniforms in uniform block, so only the std140 layout is really usable. A helper class that implemented the std140 rules would be quite helpful for setting up uniform blocks without having to link a program first; - * From Tim More and Robert Osfield, implementation of - ARB_timer_query based GPU timing stats syncronization. - - Initial email from Tim : "I've implemented using a timestamp, - available with ARB_timer_query and OpenGL 3.3, to gather GPU - stats. This is nice because it can accurately fix the GPU draw - time with respect to the other times on the stats graph, rather - than having to estimate the wall time of the end of GPU drawing. - This also prevents anomalies like the GPU phase starting before - the draw phase..." - Changes to Tim's submission by Robert: Removal of need for swap - buffer callback in ViewerBase.cpp, by - integrating a osg::State::frameCompleted() method that does the - stats timing collection. Introduction of a - GraphicsContext::swapBuffersCallbackOrImplementation() method - that calls the State::frameCompleted() and - the swap buffers callback or the swapImplementation as required. +* There's no direct support for querying parameters such as the maximum block length, minimum offset alignment, etc. Having that information available outside of the draw thread would make certain instancing techniques easier to implement." -2010-11-10 12:50 robert - * From Mourad Boufarguine, "This is a small fix to - osg::createGeodeForImage to adapt Tex coords to image origin. - - " -2010-11-09 17:17 robert - * Added traversal of salve camera subgraphs when the slave camera - doesn't share it's scene graph wiht the View's master scene - graph. -2010-11-09 15:48 robert +Mon, 29 Nov 2010 09:32:43 +0000 +Checked in by : Robert Osfield +Removed deperecated variables that are no longer used. - * From Wang Rui with small tweak from Robert Osfield, fix of memory - leak in gif plugin when using GifImageStream +Fri, 26 Nov 2010 18:19:28 +0000 +Checked in by : Robert Osfield +From Tomas Holgarth and Stephan Huber, " attached you'll find the second part of the IOS-submission. It contains* GraphicsWindowIOS, which supports external and "retina" displays, + multisample-buffers (for IOS > 4.0) and multi-touch-events +* an ios-specific implementation of the imageio-plugin +* an iphone-viewer example +* cMake support for creating a xcode-project +* an updated ReadMe-file describing the necessary steps to get a + working xcode-project-file from CMake -2010-11-09 14:57 robert +Please credit Thomas Hogarth and Stephan Huber for these changes. - * From Wang Rui, "I'm now testing static building of OSG and found - a possible bug in the - present3D application. As static-link present3d should depend on - freetype, png, pdf and some other plugins, any mis-compiling of - these - plugins will make present3d fail to be built. Some lirbaries like - poppler and cairo are not popular under Windows, so it is very - common - that we don't have osgdb_pdf compiled and thus get errors when - building present3d. I've modified the CMakeLists and - present3d.cpp to - avoid this problem." +This brings the ios-support in line with the git-fork on github. It +needs some more testing and some more love, the cmake-process is still a +little complicated. -2010-11-09 14:39 robert +You'll need a special version of the freetype lib compiled for IOS, +there's one bundled in the OpenFrameworks-distribution, which can be used." - * From Sukender, "As discussed in osg-users, I found output - directories with CMake >= 2.8.1 are wrong under MSVC (As Chuck - said, it's to be related to CMake, and not MSVC). - - But I also found rev. 11354 (from Wang Rui) added a change in - OsgMacroUtils which adresses a similar issue: Wang told the - "../../bin" prefix wasn't working. However I think the fix isn't - correct because it checks the MSVC version instead of the CMake - version. Here is my fix, against latest trunk (root - CMakeLists.txt, and CMakeModules/OsgMacroUtils.cmake). - - Tests I made: - | Unix Makefiles | MSVC 9 | MSVC 10 x64 - --------------------------------------------------- - CMake 2.4 | | OK | N/A - CMake 2.6.4 | | OK | N/A - CMake 2.8.0 | | OK | broken support? - CMake 2.8.2 | | OK | OK - " +Notes, from Robert Osfield, modified CMakeLists.txt files so that the IOS specific paths are within IF(APPLE) blocks. -2010-11-09 13:23 robert - * Refactored the versioning of serializers so it now uses a - _firstVersion and _lastVersion make it possible - to specify what range of versions support each serializer. -2010-11-09 12:41 robert - * From Wang Rui, "I'd like to submit my latest modification of the - serialization IO - functionalities. It includes two main parts: a version checking - macro - for handling backward-compatiblity since 3.0, and enhencement of - current schema mechanism. I also change the option handling - process to - use getPluginStringData(), and add new USE_SERIALIZER_WRAPPER - macro in - the Registry header to allow for static-link usage as well. - - The enhencement of schema machanism just tells the type of each - serializer while outputting them, such as: - osg::Group = Children:1 - - The meaning of the number can be found in the osgDB/Serializer - header, - BaseSerializer::Type enum. It may help 3rdparty utilities - understand - the structure of the wrapper and do some reflection work in the - future. - - The new macro UPDATE_TO_VERSION can help indicate the InputStream - (no - affect on the writer) that a serializer is added/removed since - certain - OSG version. An example wrapper file is also attached. The - Geode_modified.cpp is based on the serializers/osg/Geode.cpp file - (hey, don't merge it :-), but assumes that a new user serializer - 'Test' is added since version 65 (that is, the OSG_SOVERSION): - - REGISTER_OBJECT_WRAPPER( Geode, ... ) - { - ADD_USER_SERIALIZER( Drawables ); // origin ones - - UPDATE_TO_VERSION( 65 ) - { - ADD_USER_SERIALIZER( Test ); // a serializer added from version - 65 - } - } - - All kinds of ADD_... macros following UPDATE_TO_VERSION will - automatically apply the updated version. The braces here are only - for - typesetting! - While reading an osgt/osgb/osgx file, OSG will now check if the - file - version (recorded as the writer's soversion, instead of previous - meaningless "#Version 2") is equal or greater than Test's - version, and - try reading it, or just ignore it if file version is lesser. - - And we also have the REMOVE_SERIALIZER macro will mark a named - serializer as removed in some version, with which all files - generated - by further versions will just ignore it: - - UPDATE_TO_VERSION( 70 ) - { - REMOVE_SERIALIZER( Test ); - } - - This means that from version 70, the serializer Test is removed - (but - not actually erased from the list) and should not be read - anymore. If - the read file version is less than 70 (and equal or greater than - 65), - Test will still be handled when reading; otherwise it will be - ignored - to keep compatiblity on different OSG versions. - " +Fri, 26 Nov 2010 17:37:42 +0000 +Checked in by : Robert Osfield +From Katharina Plugge, fix for regression in handling of multitexturing. -2010-11-08 15:49 robert +Fri, 26 Nov 2010 17:35:06 +0000 +Checked in by : Robert Osfield +From Eduardo Poyart, OSG patch: made it read ancillary IndexedStrings into MultiSwitch - * From Johan Nouvel, "Some times ago, I have coded an osg to vrml2 - writer. Today, I have updated our writer to osg 2.9.9. - As it works (for our needs at least) I've done and attached a - tar.gz file for the VRML2 plugin with a new part to write a VRML2 - file from an osg one. - - The read part is the same as in osg 2.9.9. - - The write part code is in convertToVRML.cpp and .h files. It - works for some osg nodes (group, geode, matrixTransform, - positionAttitudeTransform and geometry). Textures are converted - to jpeg (if not translucent) or png (if translucent). - There are some options that could be given to the writer (with -O - switch) : - - convertTextures=0 to copy textures without converting them to - jpeg or png - convertTextures=-1 do not copy textures, keep them in their - original format and location - convertTextures=-2 do not use textures, parse only geometry - convertTextures=-3 (default) convert textures to jpeg or png - ones. - - textureUnit=X in case of multiple textures, X= texture unit to - use (default value=0) - - directoryTexture=aPath when texture will be copied, it will be in - this directory, not in the current one." +Fri, 26 Nov 2010 17:32:10 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2010-11-08 12:28 robert +Fri, 26 Nov 2010 13:54:11 +0000 +Checked in by : Robert Osfield +From Marin Platings and Robert Osfield, fix of Uniform unique ID by making osg::Object::setName() virtual. - * From Jean-Sebastien Guay, "As promised, here is the fix for the - background size. I also added another instance variable - _lineHeight to clean up the code a bit more. - - Also I've done the osguserstats example. I've kept the "toy - example" that was in the modified osgviewer.cpp I had sent you, - because they show different uses of custom stats lines (a value - displayed directly, a value without bars and a value with bars - and graph). I also added a function and a thread that will sleep - for a given number of milliseconds and record this time in the - stats. I think it clearly shows how to record the time some - processing takes and add that to the stats graph, whether the - processing takes place on the same thread as the viewer or on - another thread. - - BTW, feel free to modify the colors I've given to each user stats - line... I'm not very artistic. :-) - - I've also added more doc comments to the addUserStats() method in - ViewerEventHandlers, so hopefully the arguments are clear and the - way to get the results you want is also clear. Maybe I went - overboard, but the function makes some assumptions that may not - be obvious and has many arguments, so I preferred to be - explicit." +Fri, 26 Nov 2010 12:44:53 +0000 +Checked in by : Robert Osfield +From Martin Beck, " recently we noticed a little mistake for 3DS files using instances of the same meshs: Every groupnode gets the same name instead of the (correct) instance name of the object. The fix only consists of two additional lines which check whether an instance_name is given for the object and then uses this one instead of the node name." -2010-11-05 17:31 robert +Fri, 26 Nov 2010 12:23:56 +0000 +Checked in by : Robert Osfield +From Fabien Lavignotte, "There was a small bug when using the new serializer with AnimationPath. The serializer assumes NO_LOOPING is the defaut for LoopMode, but in fact it is LOOP. The new serializer avoids to write default values in text mode, so the loop mode is not always correctly set." - * From David Fries and Robert Osfield, fix for handling remote GLX - server that declares GL 3.0 support but doesn't actually - implement it correctly. +Fri, 26 Nov 2010 12:22:06 +0000 +Checked in by : Robert Osfield +Removed debug messages -2010-11-05 17:24 robert +Fri, 26 Nov 2010 10:31:34 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "Typo in usage string of examples/osganalysisplease specifies -> please specify" - * From Javier Taibo, "ere is the new code with Billboard "rotate - around axis" functionality. - - A new AutoRotateMode was added. I named it ROTATE_TO_AXIS to be - consistent with the other AutoRotateModes, even though it changes - from - how is called in Billboard (AXIAL_ROT). - - Setters and getters for rotation axis and normal were also added - to the - AutoTransform class interface. - - The implementation is mainly a copy-paste from Billboard code. - " -2010-11-05 17:09 robert - * From Alexander Irion, "Please find another bugfix for the - ReaderWriterGZ. This time, the writing did not work for me - the - created output file could not be deflated by zip. - " +Thu, 25 Nov 2010 16:06:04 +0000 +Checked in by : Robert Osfield +From Thomas Hogarth and Stephan Huber, "attached you'll find part one of iphone-support. It includes* support for NPOT-textures on IOS +* support for FBOs (only renderToTexture for now) on IOS (should work +for other OpenGL ES 1/2 targets, too) +* FileUtils-support for IOS" -2010-11-05 17:07 robert - * From Ulrich Hertlein, "attached is a tiny cleanup for - ReaderWriterFFmpeg that provides more accurate descriptions - for some extensions and also adds 'm2ts' for MPEG-2 transport - streams. - " -2010-11-05 17:04 robert - * From Sukender, "1. More handled cases in MergeGeometryVisitor - - Algorithm doesn't try to merge double and single precision - arrays together - - Algorithm doesn't try to merge incompatible geometries (ex: one - with "vertices + texoords", and another with only vertices) - - 2. Better TextureAtlasBuilder - Algorithm is still sub-optimal, but it now tries to fill more - blanks, using "unused space in the current line". - (Don't know if I already submitted it, but I guess not) - One day, someone should try to find a good solution to this - NP-problem... For instance : - http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.140.200&rep=rep1&type=pdf - " -2010-11-05 11:21 robert +Thu, 25 Nov 2010 13:00:24 +0000 +Checked in by : Robert Osfield +From Tim Moore, fix to stats timing - * From Peter Bear, "Attached is a fix for the detection of GDAL - 1.7.0. The previous CMake file only supported up to 1.6, this fix - supports 1.7." +Thu, 25 Nov 2010 12:30:38 +0000 +Checked in by : Robert Osfield +From Michael Platings, To address performance bottleneck that occurs when using large number of uniforms introduced a name to uniqued ID scheme for Uniforms so comparisons can be done on a uint rather than a string. -2010-11-05 10:29 robert +Thu, 25 Nov 2010 12:07:59 +0000 +Checked in by : Robert Osfield +From Hartwig Wiesmann, "in the files Image, Observer and TerrainTechnique unused parameters exist resulting in a couple of compiler warnings (depending on the compiler settings though). The attached patches comment out the unused parameter names. " - * From Alaxandre Irion, "Trying to load the attached texture file - "texture.dds.gz" fails and causes the following warning on the - console: - - ReadDDSFile warning: couldn't read mipmapData - - The issue is caused, when the last block of data is read from the - file (less than chunk size of 16384 bytes). The read operation in - ReaderWriterGZ::read() then sets the eof and fail bit in the - stream and the lines - - if (fin.fail()) - { - (void)inflateEnd(&strm); - return false; - } - - causes the reading to be aborted with the last read data not - beeing inflated. - - Please find the attached fix for this problem." +Thu, 25 Nov 2010 11:59:33 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "applications/osgconv: fix typo in tool optionstransprent -> transparent" -2010-11-05 09:12 robert - * From Wang Rui, "Attached is a fix to the latest PVR plugin to - make it compile under - MSVC. I've added definition to uint_32 and replaced std::max() - with - osg::maximum(), because it is not supported by some VisualStudio - versions." -2010-11-04 17:53 robert +Thu, 25 Nov 2010 11:40:09 +0000 +Checked in by : Robert Osfield +Removed default assignement of GeometryTechnique as the TerrainTechniquePrototype. - * From Fabien Lavingotte and Robert Osfield, Fixed handling of - texture pool size when TextureObject::setAllocate(..) is called. +Wed, 24 Nov 2010 20:26:08 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I'd like to provide a quick updates of the new tessellation shader serializers and dotosgwrappers. It includes reading/writing supports for the two new shader types and the GL_PATCHES enum. The setParameterfv() method is not wrapped at present because it is still not finished.Enum serialziers don't require back-compatibility checks if only +add/remove enum items, so I'm not going to use the new +UPDATE_TO_VERSION macro this time." -2010-11-04 15:24 robert - * From Jan Klimke, "I did recently some work understanding the - osgAnimation classes. Here the osganimationsolid example seems - not to be very helpful at the moment. There are basically no - comments in it and additionally there is a second animation - defined which was simply not working (wrong channel type for - angle animation). I added some comments and fixed the example to - contain 2 working animations by now. I think this could help - others who are trying to understand the osgAnimation plugin. - - " -2010-11-04 13:53 robert +Wed, 24 Nov 2010 20:20:57 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, build fixes for windows. - * From Jason Beverage, "Here is a small change to the DirectShow - plugin to support finding the - video and sound pins by type rather than searching for them by - name - since the names of the pins can change based on what kind of file - you - are opening. This also removes the need for an explicit check to - see - if the file is a .wmv file. - - Also changes to the directshow plugin's CMakeLists.txt. - It is not necessary to link against d3dx9 to build the plugin. - " +Wed, 24 Nov 2010 17:01:09 +0000 +Checked in by : Robert Osfield +Added workaround for AMD/ATI driver bug -2010-11-04 11:39 robert +Wed, 24 Nov 2010 10:38:28 +0000 +Checked in by : Robert Osfield +From Tim Moore, Fix for drivers that don't properly support timer extensions."" - * From Sukender, "I replaced std::min() with osg::minimum() in - RandomRateCounter, to avoid including the STL header (Or else it - doesn't compile under MSVC 10)." -2010-11-04 11:05 robert - * From David Callu, fix in FrameBufferObject when using - Texture2Darray and GeometryShader. +Wed, 24 Nov 2010 10:09:04 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "1: fix for a issue with MinimalShadowMap and LightSpacePerspectiveShadowMapVB techniques ignoring minLightMargin parameter. 2: minor tweak for a DebugHUD drawn improperly case when multiple slave views shared one window. It now uses slave view viewport to correctly position DebugHUD. 3: deactivated ConvexPolyhedron notifications (they were accidentaly activated when you replaced osg::notify calls with OSG_NOTIFY macro). These warnings are useful only for shadow map developer working on shadow volume optimizations. So there is no sense in having them active all the time." -2010-11-04 11:02 robert +Tue, 23 Nov 2010 17:33:43 +0000 +Checked in by : Robert Osfield +Moved TextNode from osgText into example/osgtext3D in prep for 3.0 - * From Per Fahlberg, "I have added support for PowerVR texture - compression. osg::Texture and osg::Image have been modified to - support the texture formats and I have added a plugin to load pvr - files. All modified files are in the attached zip. " +Tue, 23 Nov 2010 14:50:31 +0000 +Checked in by : Robert Osfield +From Holger Helmich, Tessellation shader support -2010-11-03 10:37 robert +Tue, 23 Nov 2010 11:11:58 +0000 +Checked in by : Robert Osfield +From David Callu, "Here a fix for pssm.Problem 1 : +With GLSL, multi pass to apply each shadow map is not required. - * From Wang Rui, "additional FFmpegParameters class in the ffmpeg - plugin for setting parameters before opening the video file, - which benefits from getPluginStringData() as shown in the - ReaderWriter implementation. - - Now we can use ffmpeg to render webcam video (using the vfwcap - device) under Windows: - - osgmovie 0 -e ffmpeg -O "format=vfwcap frame_rate=25" - - The number 0 just indicates a default device number in ffmpeg. - - I think this can work under Linux, too, and should be a bit - better than comparing the filename with a '/dev/' string. Just - type: - - ./osgmovie /dev/yourcam -e ffmpeg -O "format=video4linux2 - frame_rate=30 size=320x240"" -2010-11-03 10:37 robert +Problem 2 : +GLSL code use "shadow2DProj" build-in function to look up in shadow texture. +Projection is orthogonal so "shadow2D" build-in function is sufficient. - * From Wang Rui, "a new parsePluginStringData() method in the - osgDB::Options class which will be automatically executed to - parse option string to the string data map" +Problem 3: +Bad calcul in +osgShadow::ParallelSplitShadowMap::calculateLightViewProjectionFormFrustum(..) +provide some visual error in specific configuration. -2010-11-03 10:04 robert - * From Jean-Sebastien Guay, "For a long time now I've wanted to be - able to add custom values into the stats handler's graph. Here is - my proposal of how I'd do this. It's surely not perfect and I'm - open to suggestions, but I've already made more changes than I - wanted to in order to be able to implement this... - - The user calls statsHandler->addUserStatsLine() providing: - - - the label they want for that line in the graph - - the text and bar colors they want in the graph - - the stats names they want queried (one for time taken, one for - begin and one for end time) and a few settings for how these will - be displayed. - - Then all they have to do is call - viewer->getViewerStats()->setAttribute(framenumber, name, value) - for their three attributes each frame and they'll have their - stats in the graph. - - They can also give only a time taken attribute (or some other - numerical value they want printed, which can be averaged or not), - or only begin+end attributes, and the graph will accordingly - display only the (average or not) numerical value or only the - bars. - - Along the way I cleaned up the existing code a bit: - - * Each time the setUpScene() or createCameraTimeStats() methods - added a line to the graph, they did pretty much the same thing, - so I moved that into a separate method called - createTimeStatsLine() which is called by setUpScene() and - createCameraTimeStats(). - - * I moved the font, characterSize, startBlocks and leftPos - variables to member variables, since they were being passed - around everywhere but were set only once at the beginning. - - * The geode on which stats lines are added is also kept in a - member variable, and createCameraTimeStats() adds the per-camera - lines to this geode instead of returning a new Group with a new - Geode. This further reduces the number of variables the - createCameraTimeStats() method needs as input. - - " +to reproduce pssm_bug.jpg, you need to add a light direction in osgshadow.cpp example (done in joint osgshadow.cpp file) +then "osgshadow --noUpdate --pssm --maxFarDist 500 --minNearSplit 500 --mapcount 6 --debug-color model_test.3ds" -2010-11-03 09:51 robert - * From Jean-Sebastien Guay, "For a while now I've been bugged (pun) - by a problem in the stats graph I submitted a long time ago. When - it scrolled, sometimes it would scroll too little, leading to an - empty space at the left that would grow as time went by. I was in - that code today for something else so I fixed it. - " +As you can see in pssm_bug.jpg and pssm_fix.jpg, performance is really better when Problem 1 is fixed. +" -2010-11-03 09:28 robert - * From David Fries, "Fix remote X11 crash querying - GL_NUM_EXTENSIONS - - In osg::isGLExtensionOrVersionSupported in - src/osg/GLExtensions.cpp when - using indirect X11 rendering, - glGetIntegerv( GL_NUM_EXTENSIONS, &numExt ); - is leaving numExt uninitilized causing the following glGetStringi - to - return NULL when the extension number isn't present. Passing NULL - to - std::string() then crashes. This is with the following nVidia - driver. - OpenGL version string: 3.3.0 NVIDIA 256.35 - - I went ahead and initialized some of the other variables before - glGetInitegerv in other files as well. I don't know for sure - which ones can fail, so I don't know which are strictly required. - " -2010-11-02 14:00 robert +Mon, 22 Nov 2010 19:38:18 +0000 +Checked in by : Robert Osfield +Build fixes for building OSG with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION set to OFF - * From Chuck Seberino, "Here is a minor fix for the vrml plugin - when building with Visual Studio 2010. 2010 has updated STL/TR1 - libraries that create a naming conflict with the current source. - The fix is to remove the 'using boost::next' line and use the - fully-qualified boost::next to get rid of the ambiguity. Here is - the patch and attached changes." +Mon, 22 Nov 2010 19:18:00 +0000 +Checked in by : Robert Osfield +Fixed typo -2010-11-02 12:15 robert +Mon, 22 Nov 2010 17:39:43 +0000 +Checked in by : Robert Osfield +From Michael Platings, "the attached cmake file recognises the latest version of the FBX SDK, and now works correctly on 64 bit Windows." - * From Brad Christiansen and Robert Osfield, "I have added the new - function as suggested. The change was made against trunk from an - hour or so ago. I haven't tested the performance yet (and - probably won't get a chance till next week) but I have checked my - terrains still work. I defaulted the equalization to off as I - thought this was best until we can look into why there is the - performance hit. - ", note from Robert, tweaked the names and enabled the code path. +Mon, 22 Nov 2010 17:37:35 +0000 +Checked in by : Robert Osfield +From Michael Platings, "the build is broken if you have the OSG_REF_PTR_IMPLICIT_OUTPUT_CONVERSION turned off - the attached files fix this." -2010-11-02 11:44 robert +Mon, 22 Nov 2010 17:30:44 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a proposal for handling multi-touch-events with osgGA. My approach is to bundle all touchpoints into one custom data structure which is attached to an GUIEventAdapter.The current approach simulates a moving mouse for the first touch-point, +so basic manipulators do work, sort of. - * From Mikhail Izmestev, "There is bug in - GLBufferObject::compileBuffer when changed not first buffer - entry, then generated - new wrong offset. - " +I created a MultiTouchTrackballManipulator-class, one touch-point does +rotate the view, two touch-points pan and zoom the view as known from +the iphone or other similar multi-touch-devices. A double-tap (similar +to a double-click) resets the manipulator to its home-position. -2010-11-02 11:27 robert +The multi-touch-trackball-implementation is not the best, see it as a +first starting point. (there's a demo-video at http://vimeo.com/15017377 )" - * Fixed function name -2010-11-02 11:19 robert - * From Javier Taibo, " In current SVN code, when exporting an - osgParticle::Particle object to the .osg file format, it crashes - if no drawable was set in the particle. - - In the attached file - (src/osgWrappers/deprecated-dotosg/osgParticle/IO_Particle.cpp) I - have added a check for the existence of the drawable before - writing it to the file. - " -2010-11-01 17:19 robert +Mon, 22 Nov 2010 15:52:20 +0000 +Checked in by : Robert Osfield +Fixed indentation - * From John Ivar Haugland & Robert Osfield, fix for bug in - VisualStudio where it adds an redundent '/n' on the end of the - command line arguments for no reason. +Mon, 22 Nov 2010 11:31:35 +0000 +Checked in by : Robert Osfield +From Johan Nouvel, "I've attached ReaderWriterVRML2.h. It is the same as the previous one, I've just add supportsOption() calls." -2010-11-01 17:05 robert +Mon, 22 Nov 2010 11:22:03 +0000 +Checked in by : Robert Osfield +Fixed typo of commercial - * From Alexander Irion, "When a osg::Geometry node is loaded from a - ".osgb" file, there is no element buffer object created for the - primitives element indices, although _useVertexBufferObjects is - enabled. This bug decreases the rendering performance." +Mon, 22 Nov 2010 10:41:04 +0000 +Checked in by : Robert Osfield +From Hartwig Wiesmann, fix to font search path under OSX. -2010-11-01 17:02 robert +Mon, 22 Nov 2010 10:37:49 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, "Attached is a very small change to allow the Collada libs for VS 2010 to be found automatically." - * From Sukender, fix for incorrect for loop test. +Fri, 19 Nov 2010 18:26:02 +0000 +Checked in by : Robert Osfield +From Katherina Plugge, "if using multitexturing and converting osg files to OpenFlight texture coordinates get corrupted. The texture coordinates for slot 1 and following are not computed correctly (see thread http://forum.openscenegraph.org/viewtopic.php?t=6993).The attached files solve the problem. +" -2010-11-01 13:57 robert - * From Jan Peciva, "attaching Matrix_implementation fix for two - problems: - - - using m.getPerspective( fovy, tmp, tmp, tmp ) to get only FOV - does not work. - The reason is that getPerspective is taking tmp as reference - - thus all the three variables points to the same memory location. - Then, zNear (third parameter) is used inside the method, while - zNear content was spoiled by zFar that was written to the same - place, resulting in fovy set to nan. I consider that it is the - right of programmers to use 3 times tmp as parameter and I fixed - the code in the method. I have done the same for getFrustum and - getLookAt. - - - I fixed makeFrustum to accept infinite zFar. (Some graphics - techniques like shadow volumes require placing zFar to infinity - to avoid visual artifacts.)" - - Note from Robert Osfield, change the local near & far variable - names to temp_near and temp_far MS Visual Studio has a record of - using near and far names. -2010-11-01 11:06 robert +Fri, 19 Nov 2010 18:07:17 +0000 +Checked in by : Robert Osfield +From Sukender, fix for precision of Plane::asVec4() - * From Jean-Sebastien Guay, osgDB functions to expand wildcards - - required to aid windows consule usage as this doesn't not - automatically expand * usage. +Fri, 19 Nov 2010 17:47:53 +0000 +Checked in by : Robert Osfield +Commented out debug output -2010-11-01 10:52 robert +Fri, 19 Nov 2010 17:47:30 +0000 +Checked in by : Robert Osfield +Update SOVERSION - * From Jean-Sebastien Guay and Robert Osfield, cleaned up the way - that unix/windows file separators are managed. +Fri, 19 Nov 2010 09:57:56 +0000 +Checked in by : Robert Osfield +Update Text wrappers to handle new Color member -2010-11-01 10:31 robert +Fri, 19 Nov 2010 09:57:34 +0000 +Checked in by : Robert Osfield +Updated SO version to reflect changes in API of osgText - * From Mathias Goldau, "Added very brief documentation when to use - the triangle mesh class. I - generated the make doc_openscenegraph target to verify that this - change does - not break something. - " +Thu, 18 Nov 2010 17:59:55 +0000 +Checked in by : Robert Osfield +Moved text color into TextBase, added support for colour into Text3D -2010-10-29 15:18 robert +Thu, 18 Nov 2010 17:18:31 +0000 +Checked in by : Robert Osfield +Added resetting of the freetype size when getting Glyph3D glyph's as otherwise use of 2D and 3D Text would cause incorrect text sizing. - * From Mikhail Izmestev, "I have discovered problem with draggers - from osgManipulator in HUD. - - This problem caused because osgManipulator::Dragger uses matrices - of top camera instead last - absolute Camera in NodePath. - - I attached modified osgManipulator/Dragger.cpp file, where added - code for finding last absolute - camera. With this changes draggers works in HUD. - - Example for demonstrate this problem you can find in osg-users - list [1]. - - Mikhail. - - [1] - http://thread.gmane.org/gmane.comp.graphics.openscenegraph.user/62636 - " +Thu, 18 Nov 2010 12:03:06 +0000 +Checked in by : Robert Osfield +Improved handling of pending orphaned texture objects and max texture pool size. -2010-10-29 09:56 robert +Wed, 17 Nov 2010 14:06:26 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, Changed debug info in State::frameCompleted() to OSG_INFO - * From Sherman Wilcox, "there's a bug in the cmake file for the - tiff plugin. See - attached. The problem was that the output files were not properly - setting the debug/release libs due to this cmake bug. What - occurred was - the release lib was set in all configurations." +Wed, 17 Nov 2010 10:19:25 +0000 +Checked in by : Robert Osfield +Added texture pool handler to print out results from texture pool -2010-10-29 09:35 robert +Wed, 17 Nov 2010 10:16:45 +0000 +Checked in by : Robert Osfield +Added quite size test. - * +Mon, 15 Nov 2010 17:21:30 +0000 +Checked in by : Robert Osfield +From Sherman Wilcox, "added the following to the ADD_LIBRARY list -- ${OPENSCENEGRAPH_VERSIONINFO_RC}" -2010-10-29 08:33 robert +Fri, 12 Nov 2010 11:04:53 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Added X11_X11_LIB to LIB_EXTRA_LIBS when build X11 version of - osgViewer to enable use of Mesa's GLES/EGL implementation +Fri, 12 Nov 2010 09:48:21 +0000 +Checked in by : Robert Osfield +Fixed crash on intialization of static applications by moving the static mutexes inside singleton methods. -2010-10-29 08:31 robert +Thu, 11 Nov 2010 16:51:46 +0000 +Checked in by : Robert Osfield +Moved finding of RSVG, Poppler-glib and GtkGl out into their own Find*.cmake modules to enable easier specialization. - * Fixed warning +Thu, 11 Nov 2010 11:47:24 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've finally completed the static build support for dotosg wrapper and serialization libraries. My submission mainly includes: 1. Add two new macros USE_DOTOSGWRAPPER_LIBRARY and USE_SERIALIZER_WRAPPER_LIBRARY. Applications using static OSG must include corresponding static-link libraries and use these two macros to predefine native format wrappers. Please see osgstaticviewer and present3D in the attachment for details.2. Add a LibraryWrapper.cpp file in each +osgWrappers/deprecated-dotosg/... and osgWrappers/serializers/... +subfolder, which calls all USE_...WRAPPERS macros inside. The +LibraryWrapper file is automatically generated by the +wrapper_includer.cpp (with some slight fixes), which is also attached +for your reference. The deprecated-dotosg/osgAnimation is not included +because it doesn't us REGISTER_DOTOSGWRAPPER to define its wrappers. -2010-10-28 15:52 robert +3. Modify the ReaderWriterOSG.cpp to prevent calling loadWrappers() +when static build. - * Commented out unused ElapsedTimer +4. An uncorrelated fix to Serializer and ObjectWrapper.cpp, which +ensures version variables of serialziers are initialized, and +serializers out-of-version are not written to model files. +" -2010-10-28 14:04 robert - * Added use ObjectWrapper's FinishObjectReadCallback to fix - VertexBufferObject handling in osg::Geometry - and a call to the TileLoaded callback in osgTerrain. -2010-10-28 14:04 robert +Thu, 11 Nov 2010 10:53:23 +0000 +Checked in by : Robert Osfield +From Wang Rui, "The latest modification of osg/State uses the GLuint64EXT type, which belongs to GL_EXT_timer_query and should be decalared to avoid compiling errors if the extension is not supported. I've attached this small fix." - * Added FinishedObjectReadCallback to ObjectWrapper which allows - wrappers to register their own handling of post processing of - objects once they have been read. +Thu, 11 Nov 2010 10:42:41 +0000 +Checked in by : Robert Osfield +From Mark Sciabica, "It's not Windows API calls that are causing the problem. It's a new templated constructor of std::pair not being able to automatically convert 0 to a pointer. Rather than use preprocessor checks and #defines, I think a cleaner solution is to cast the std::pair arguments to the appropriate types to help the compiler out. I attached an updated version of the file implementing this." -2010-10-28 14:01 robert +Wed, 10 Nov 2010 16:58:58 +0000 +Checked in by : Robert Osfield +From Tim More and Robert Osfield, implementation of ARB_timer_query based GPU timing stats syncronization.Initial email from Tim : "I've implemented using a timestamp, available with ARB_timer_query and OpenGL 3.3, to gather GPU stats. This is nice because it can accurately fix the GPU draw time with respect to the other times on the stats graph, rather than having to estimate the wall time of the end of GPU drawing. This also prevents anomalies like the GPU phase starting before the draw phase..." +Changes to Tim's submission by Robert: Removal of need for swap buffer callback in ViewerBase.cpp, by +integrating a osg::State::frameCompleted() method that does the stats timing collection. Introduction of a +GraphicsContext::swapBuffersCallbackOrImplementation() method that calls the State::frameCompleted() and +the swap buffers callback or the swapImplementation as required. - * Added handling of vertex buffer objects into osg::Geometry copy - constructor. -2010-10-28 14:01 robert - * Improved code style consistency -2010-10-28 14:00 robert +Wed, 10 Nov 2010 12:50:06 +0000 +Checked in by : Robert Osfield +From Mourad Boufarguine, "This is a small fix to osg::createGeodeForImage to adapt Tex coords to image origin." - * Quitened down debug messages -2010-10-27 13:49 robert - * Fixed getEnableDepthWrites() naming. +Tue, 9 Nov 2010 17:17:13 +0000 +Checked in by : Robert Osfield +Added traversal of salve camera subgraphs when the slave camera doesn't share it's scene graph wiht the View's master scene graph. -2010-10-26 14:59 robert +Tue, 9 Nov 2010 15:48:46 +0000 +Checked in by : Robert Osfield +From Wang Rui with small tweak from Robert Osfield, fix of memory leak in gif plugin when using GifImageStream - * Added command line options: - - --tristripper - --no-tristripper - --smoother - --no-smoother - - --remove-duplicate-vertices / --rdv - --optimize-vertex-cache / --ovc - --optimize-vertex-order / --ovo +Tue, 9 Nov 2010 14:57:20 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I'm now testing static building of OSG and found a possible bug in the present3D application. As static-link present3d should depend on freetype, png, pdf and some other plugins, any mis-compiling of these plugins will make present3d fail to be built. Some lirbaries like poppler and cairo are not popular under Windows, so it is very common that we don't have osgdb_pdf compiled and thus get errors when building present3d. I've modified the CMakeLists and present3d.cpp to avoid this problem." -2010-10-25 13:42 robert +Tue, 9 Nov 2010 14:39:32 +0000 +Checked in by : Robert Osfield +From Sukender, "As discussed in osg-users, I found output directories with CMake >= 2.8.1 are wrong under MSVC (As Chuck said, it's to be related to CMake, and not MSVC).But I also found rev. 11354 (from Wang Rui) added a change in OsgMacroUtils which adresses a similar issue: Wang told the "../../bin" prefix wasn't working. However I think the fix isn't correct because it checks the MSVC version instead of the CMake version. Here is my fix, against latest trunk (root CMakeLists.txt, and CMakeModules/OsgMacroUtils.cmake). - * Added number of primitive sets to on screen stats +Tests I made: + | Unix Makefiles | MSVC 9 | MSVC 10 x64 +--------------------------------------------------- +CMake 2.4 | | OK | N/A +CMake 2.6.4 | | OK | N/A +CMake 2.8.0 | | OK | broken support? +CMake 2.8.2 | | OK | OK +" -2010-10-23 09:51 robert - * Added -o postfile option to allow the output of processed files - - Disabled tri-stripping when simplifing to fix performance issue - that introduces. -2010-10-22 16:44 robert - * Added StateSetManipulator usage +Tue, 9 Nov 2010 13:23:43 +0000 +Checked in by : Robert Osfield +Refactored the versioning of serializers so it now uses a _firstVersion and _lastVersion make it possible to specify what range of versions support each serializer. -2010-10-22 16:35 robert +Tue, 9 Nov 2010 12:41:55 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I'd like to submit my latest modification of the serialization IO functionalities. It includes two main parts: a version checking macro for handling backward-compatiblity since 3.0, and enhencement of current schema mechanism. I also change the option handling process to use getPluginStringData(), and add new USE_SERIALIZER_WRAPPER macro in the Registry header to allow for static-link usage as well.The enhencement of schema machanism just tells the type of each +serializer while outputting them, such as: +osg::Group = Children:1 - * Added support for enable VBO's and doing simplification. +The meaning of the number can be found in the osgDB/Serializer header, +BaseSerializer::Type enum. It may help 3rdparty utilities understand +the structure of the wrapper and do some reflection work in the +future. -2010-10-22 12:28 robert +The new macro UPDATE_TO_VERSION can help indicate the InputStream (no +affect on the writer) that a serializer is added/removed since certain +OSG version. An example wrapper file is also attached. The +Geode_modified.cpp is based on the serializers/osg/Geode.cpp file +(hey, don't merge it :-), but assumes that a new user serializer +'Test' is added since version 65 (that is, the OSG_SOVERSION): - * Cleaned up main loop, so it's more readable, seperating out the - paging and non paging implementations +REGISTER_OBJECT_WRAPPER( Geode, ... ) +{ + ADD_USER_SERIALIZER( Drawables ); // origin ones -2010-10-22 12:19 robert + UPDATE_TO_VERSION( 65 ) + { + ADD_USER_SERIALIZER( Test ); // a serializer added from version 65 + } +} - * Added paging support to osganalysis example +All kinds of ADD_... macros following UPDATE_TO_VERSION will +automatically apply the updated version. The braces here are only for +typesetting! +While reading an osgt/osgb/osgx file, OSG will now check if the file +version (recorded as the writer's soversion, instead of previous +meaningless "#Version 2") is equal or greater than Test's version, and +try reading it, or just ignore it if file version is lesser. -2010-10-21 16:29 robert +And we also have the REMOVE_SERIALIZER macro will mark a named +serializer as removed in some version, with which all files generated +by further versions will just ignore it: - * Integrated IncementalCompileOperation into DatabasePager. - - Improved various facilities in IncrementalCompileOperation. +UPDATE_TO_VERSION( 70 ) +{ + REMOVE_SERIALIZER( Test ); +} -2010-10-21 16:28 robert +This means that from version 70, the serializer Test is removed (but +not actually erased from the list) and should not be read anymore. If +the read file version is less than 70 (and equal or greater than 65), +Test will still be handled when reading; otherwise it will be ignored +to keep compatiblity on different OSG versions. +" - * Added new osganalysis example as a testbed for profiling - peformance of various aspects of OSG/OpenGL and scene graphs. -2010-10-14 18:16 robert - * Introduction of IncrementalCompileOperation support to - DatabasePager. +Mon, 8 Nov 2010 15:49:30 +0000 +Checked in by : Robert Osfield +From Johan Nouvel, "Some times ago, I have coded an osg to vrml2 writer. Today, I have updated our writer to osg 2.9.9. As it works (for our needs at least) I've done and attached a tar.gz file for the VRML2 plugin with a new part to write a VRML2 file from an osg one.The read part is the same as in osg 2.9.9. -2010-10-14 13:35 robert +The write part code is in convertToVRML.cpp and .h files. It works for some osg nodes (group, geode, matrixTransform, positionAttitudeTransform and geometry). Textures are converted to jpeg (if not translucent) or png (if translucent). +There are some options that could be given to the writer (with -O switch) : - * Introduced SubloadCallback::generatdTextureObject() method. +convertTextures=0 to copy textures without converting them to jpeg or png +convertTextures=-1 do not copy textures, keep them in their original format and location +convertTextures=-2 do not use textures, parse only geometry +convertTextures=-3 (default) convert textures to jpeg or png ones. -2010-10-14 12:20 robert +textureUnit=X in case of multiple textures, X= texture unit to use (default value=0) - * From Wang Rui, warning fix. +directoryTexture=aPath when texture will be copied, it will be in this directory, not in the current one." -2010-10-14 11:10 robert - * From Brad Christiansen, fix function entry points under Windows - to address crash -2010-10-14 09:31 robert +Mon, 8 Nov 2010 12:28:31 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "As promised, here is the fix for the background size. I also added another instance variable _lineHeight to clean up the code a bit more.Also I've done the osguserstats example. I've kept the "toy example" that was in the modified osgviewer.cpp I had sent you, because they show different uses of custom stats lines (a value displayed directly, a value without bars and a value with bars and graph). I also added a function and a thread that will sleep for a given number of milliseconds and record this time in the stats. I think it clearly shows how to record the time some processing takes and add that to the stats graph, whether the processing takes place on the same thread as the viewer or on another thread. - * From Wang Rui, QT based OpenThreads implementation +BTW, feel free to modify the colors I've given to each user stats line... I'm not very artistic. :-) -2010-10-13 15:03 robert +I've also added more doc comments to the addUserStats() method in ViewerEventHandlers, so hopefully the arguments are clear and the way to get the results you want is also clear. Maybe I went overboard, but the function makes some assumptions that may not be obvious and has many arguments, so I preferred to be explicit." - * Added support for using a custom osg::Geometry that attempts to - force the OpenGL driver - to download the texture object to graphics card. - - Calling - IncrementalCompileOperation::assignForceTextureDownloadGeometry() - assigns a geometry - to the job. -2010-10-09 11:51 robert - * Changed the _ARB cube map defines to non ARB versions. +Fri, 5 Nov 2010 17:31:25 +0000 +Checked in by : Robert Osfield +From David Fries and Robert Osfield, fix for handling remote GLX server that declares GL 3.0 support but doesn't actually implement it correctly. -2010-10-09 11:27 robert +Fri, 5 Nov 2010 17:24:50 +0000 +Checked in by : Robert Osfield +From Javier Taibo, "ere is the new code with Billboard "rotate around axis" functionality. A new AutoRotateMode was added. I named it ROTATE_TO_AXIS to be +consistent with the other AutoRotateModes, even though it changes from +how is called in Billboard (AXIAL_ROT). - * Removed redudent set up of GL_ cubemap defines as these are now - also in include/osg/Texture + Setters and getters for rotation axis and normal were also added to the +AutoTransform class interface. -2010-10-08 18:53 robert + The implementation is mainly a copy-paste from Billboard code. +" - * Tempory fix for regression due to remove of - glPushAttrib/glPopAttrib -2010-10-08 18:13 robert - * Disabled the build of Qt examples when building against GLES1 & 2 - as Qt GL includes OpenGL headers itself that cause conflict. +Fri, 5 Nov 2010 17:09:58 +0000 +Checked in by : Robert Osfield +From Alexander Irion, "Please find another bugfix for the ReaderWriterGZ. This time, the writing did not work for me - the created output file could not be deflated by zip. " -2010-10-08 17:13 robert +Fri, 5 Nov 2010 17:07:17 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "attached is a tiny cleanup for ReaderWriterFFmpeg that provides more accurate descriptions for some extensions and also adds 'm2ts' for MPEG-2 transport streams. " - * Build fixes for GLES1, GLES2 and GL3 +Fri, 5 Nov 2010 17:04:08 +0000 +Checked in by : Robert Osfield +From Sukender, "1. More handled cases in MergeGeometryVisitor - Algorithm doesn't try to merge double and single precision arrays together - Algorithm doesn't try to merge incompatible geometries (ex: one with "vertices + texoords", and another with only vertices)2. Better TextureAtlasBuilder +Algorithm is still sub-optimal, but it now tries to fill more blanks, using "unused space in the current line". +(Don't know if I already submitted it, but I guess not) +One day, someone should try to find a good solution to this NP-problem... For instance : http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.140.200&rep=rep1&type=pdf +" -2010-10-08 11:20 robert - * Refactored the Texture3D extension setup in osg::Texture3D and - gluBuild3DMipmaps and gluBuild3DMipmapLevels. -2010-10-07 11:53 robert +Fri, 5 Nov 2010 11:21:55 +0000 +Checked in by : Robert Osfield +From Peter Bear, "Attached is a fix for the detection of GDAL 1.7.0. The previous CMake file only supported up to 1.6, this fix supports 1.7." - * Introduced osg namespace to new local GLU functions +Fri, 5 Nov 2010 10:29:18 +0000 +Checked in by : Robert Osfield +From Alaxandre Irion, "Trying to load the attached texture file "texture.dds.gz" fails and causes the following warning on the console:ReadDDSFile warning: couldn't read mipmapData -2010-10-07 10:51 robert +The issue is caused, when the last block of data is read from the file (less than chunk size of 16384 bytes). The read operation in ReaderWriterGZ::read() then sets the eof and fail bit in the stream and the lines - * Introduced new gluScaleImage function that uses a - PixelStorageModes structure to pass in details on image packing, - rather than relying upon glGet's to get the values. +if (fin.fail()) +{ + (void)inflateEnd(&strm); + return false; +} -2010-10-06 19:09 robert +causes the reading to be aborted with the last read data not beeing inflated. - * Added #define GL_PROXY_TEXTURE_3D +Please find the attached fix for this problem." -2010-10-06 18:51 robert - * Fixed warning -2010-10-06 18:37 robert +Fri, 5 Nov 2010 09:12:28 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Attached is a fix to the latest PVR plugin to make it compile under MSVC. I've added definition to uint_32 and replaced std::max() with osg::maximum(), because it is not supported by some VisualStudio versions." - * Changed tabs to 8 spaces +Thu, 4 Nov 2010 17:53:58 +0000 +Checked in by : Robert Osfield +From Fabien Lavingotte and Robert Osfield, Fixed handling of texture pool size when TextureObject::setAllocate(..) is called. -2010-10-06 18:34 robert +Thu, 4 Nov 2010 15:24:00 +0000 +Checked in by : Robert Osfield +From Jan Klimke, "I did recently some work understanding the osgAnimation classes. Here the osganimationsolid example seems not to be very helpful at the moment. There are basically no comments in it and additionally there is a second animation defined which was simply not working (wrong channel type for angle animation). I added some comments and fixed the example to contain 2 working animations by now. I think this could help others who are trying to understand the osgAnimation plugin. " - * From Jean-Sebastien Guay and Robert Osfield, build fix for - Windows -2010-10-06 18:29 robert - * Added #define for Windows build +Thu, 4 Nov 2010 13:53:31 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "Here is a small change to the DirectShow plugin to support finding the video and sound pins by type rather than searching for them by name since the names of the pins can change based on what kind of file you are opening. This also removes the need for an explicit check to see if the file is a .wmv file.Also changes to the directshow plugin's CMakeLists.txt. + It is not necessary to link against d3dx9 to build the plugin. +" -2010-10-06 17:19 robert - * Added #define GLAPIENTRY to attempt to resolve some Windows build - issues -2010-10-06 16:36 robert +Thu, 4 Nov 2010 11:39:47 +0000 +Checked in by : Robert Osfield +From Sukender, "I replaced std::min() with osg::minimum() in RandomRateCounter, to avoid including the STL header (Or else it doesn't compile under MSVC 10)." - * Added #define's and local include to fix Windows GL - 1.1 build against +Thu, 4 Nov 2010 11:05:47 +0000 +Checked in by : Robert Osfield +From David Callu, fix in FrameBufferObject when using Texture2Darray and GeometryShader. -2010-10-06 16:29 robert +Thu, 4 Nov 2010 11:02:37 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, "I have added support for PowerVR texture compression. osg::Texture and osg::Image have been modified to support the texture formats and I have added a plugin to load pvr files. All modified files are in the attached zip. " - * From Jean-Sebasien Guay, fix windows compile error +Wed, 3 Nov 2010 10:37:32 +0000 +Checked in by : Robert Osfield +From Wang Rui, "additional FFmpegParameters class in the ffmpeg plugin for setting parameters before opening the video file, which benefits from getPluginStringData() as shown in the ReaderWriter implementation.Now we can use ffmpeg to render webcam video (using the vfwcap device) under Windows: -2010-10-06 15:33 robert +osgmovie 0 -e ffmpeg -O "format=vfwcap frame_rate=25" - * Removed gluois.h reference +The number 0 just indicates a default device number in ffmpeg. -2010-10-06 15:14 robert +I think this can work under Linux, too, and should be a bit better than comparing the filename with a '/dev/' string. Just type: - * Removed usage gluos.h and redundent gluint.h +./osgmovie /dev/yourcam -e ffmpeg -O "format=video4linux2 frame_rate=30 size=320x240"" -2010-10-06 14:44 robert - * Copied libutil and libtess implementations in form Mesa - 7.9/src/glu into the src/osg/glu, - changed extensions from .c to .cpp and got compiling as C files - as part of the osg core library. - - Updated and cleaned up the rest of the OSG to use the new - internal GLU. -2010-10-04 15:23 robert +Wed, 3 Nov 2010 10:37:02 +0000 +Checked in by : Robert Osfield +From Wang Rui, "a new parsePluginStringData() method in the osgDB::Options class which will be automatically executed to parse option string to the string data map" - * Improved the handling of matrices in serialization so that it's - more reliable, - change was to use doubles for reading and writing matrices - regardless of type of Matrix - being serialized. - - Change does break backwards compatibility though, so code - path supporting original format has been left in for the - time being. However, this code is not reliable enough and - is over complicated compared to the simplified handling. Once - the new code has been bedded down for a while I'll remove this - code block. +Wed, 3 Nov 2010 10:04:34 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "For a long time now I've wanted to be able to add custom values into the stats handler's graph. Here is my proposal of how I'd do this. It's surely not perfect and I'm open to suggestions, but I've already made more changes than I wanted to in order to be able to implement this...The user calls statsHandler->addUserStatsLine() providing: -2010-10-04 11:29 robert +- the label they want for that line in the graph +- the text and bar colors they want in the graph +- the stats names they want queried (one for time taken, one for begin and one for end time) and a few settings for how these will be displayed. - * From Stephan Huber, "just a follow-up: I looked at the code of - osg/Referenced.cpp and notice - a discrepancy in getOrCreateObserverSet. For the atomic- and - mutex-codepaths the newly created observerset gets manually - ref'ed, but - not in the codepath used when OPENTHREADS_ATOMIC_USE_MUTEX is - defined. I - added the manual ref and tadaaa, the crash went away." +Then all they have to do is call viewer->getViewerStats()->setAttribute(framenumber, name, value) for their three attributes each frame and they'll have their stats in the graph. -2010-10-04 11:24 robert +They can also give only a time taken attribute (or some other numerical value they want printed, which can be averaged or not), or only begin+end attributes, and the graph will accordingly display only the (average or not) numerical value or only the bars. - * Added glMultMatrixf path for GLES1 +Along the way I cleaned up the existing code a bit: -2010-10-04 11:19 robert +* Each time the setUpScene() or createCameraTimeStats() methods added a line to the graph, they did pretty much the same thing, so I moved that into a separate method called createTimeStatsLine() which is called by setUpScene() and createCameraTimeStats(). - * Added checks for NULL images to prevent crashes when no valid - images are created +* I moved the font, characterSize, startBlocks and leftPos variables to member variables, since they were being passed around everywhere but were set only once at the beginning. -2010-10-01 18:02 robert +* The geode on which stats lines are added is also kept in a member variable, and createCameraTimeStats() adds the per-camera lines to this geode instead of returning a new Group with a new Geode. This further reduces the number of variables the createCameraTimeStats() method needs as input. - * From Wojciech Lewandowski, "As promised I prepared a patch to - expose WGL_SWAP_METHOD / PFD_SWAP_METHOD selection via - GraphicsContext::Traits. Since Traits don't define any enums (I - guess to be simple to use) I tried to keep it that way and have - added two boolean values: swapCopy & swapExchange. It is somewhat - similar approach to GDI PixelFormatDescription were both options - can be present together. Feel free to replace it with enum if you - find it more appropriate. - - I also uderstand that there is a need to select system wide - default method and have also modified DisplaySettings to contain - swapMethod parameter. Swap method in Traits uses value set in - DisplaySettings as default. Proper environment and command line - args were added. Its possible to define default DeisplaySettings - swap method in standard way via system flags or with comand line. - - Env Vars: - OSG_SWAP_METHOD = DEFAULT | COPY | EXCHANGE - or Command Line: - --swap-method DEFAULT | COPY | EXCHANGE - - I also added handling of WM_ERASEBKGND in GraphicsWindowWin32. It - may be unneccessary but code should be safer this way than - without handling it. I have placed a comment explaining the - reason above the change. - - Changes were made against today trunk. - - PS. I tested only Windows code. I briefly checked X11 & Cocoa - files but have not noticed SwapMethod to be used there. - " +" -2010-10-01 17:07 robert - * -2010-10-01 15:58 robert +Wed, 3 Nov 2010 09:51:12 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "For a while now I've been bugged (pun) by a problem in the stats graph I submitted a long time ago. When it scrolled, sometimes it would scroll too little, leading to an empty space at the left that would grow as time went by. I was in that code today for something else so I fixed it. " - * From Magnes Kessler, "Attached are some fixes for the environment - variable help strings in - DisplaySettings. They contain spelling fixes and an attempt to - use consistent - expressions throughout." +Wed, 3 Nov 2010 09:28:28 +0000 +Checked in by : Robert Osfield +From David Fries, "Fix remote X11 crash querying GL_NUM_EXTENSIONSIn osg::isGLExtensionOrVersionSupported in src/osg/GLExtensions.cpp when +using indirect X11 rendering, +glGetIntegerv( GL_NUM_EXTENSIONS, &numExt ); +is leaving numExt uninitilized causing the following glGetStringi to +return NULL when the extension number isn't present. Passing NULL to +std::string() then crashes. This is with the following nVidia driver. +OpenGL version string: 3.3.0 NVIDIA 256.35 -2010-10-01 15:37 robert +I went ahead and initialized some of the other variables before +glGetInitegerv in other files as well. I don't know for sure +which ones can fail, so I don't know which are strictly required. +" - * From Wojciech Lewandowski,"These are our changes to - DatabasePager. To check if parent PLOD is registered, I - resurrected PagedLODList::containsPagedLOD() method. This method - was available some time ago, but got removed and was not - currently present in trunk. To add this method I had to also - modify the DatabasePager header. " -2010-09-30 16:57 robert - * From Magnus Kessler, "After a closer look at this particular - issue, I used some grep and sed magic - to fix all occurrences of "macro's" and "paramter". - " +Tue, 2 Nov 2010 14:00:50 +0000 +Checked in by : Robert Osfield +From Chuck Seberino, "Here is a minor fix for the vrml plugin when building with Visual Studio 2010. 2010 has updated STL/TR1 libraries that create a naming conflict with the current source. The fix is to remove the 'using boost::next' line and use the fully-qualified boost::next to get rid of the ambiguity. Here is the patch and attached changes." -2010-09-30 16:31 robert +Tue, 2 Nov 2010 12:15:18 +0000 +Checked in by : Robert Osfield +From Brad Christiansen and Robert Osfield, "I have added the new function as suggested. The change was made against trunk from an hour or so ago. I haven't tested the performance yet (and probably won't get a chance till next week) but I have checked my terrains still work. I defaulted the equalization to off as I thought this was best until we can look into why there is the performance hit. ", note from Robert, tweaked the names and enabled the code path. - * From Craig Bosma, "Attached is an updated Image.cpp that fixes a - very specific - compatability regression that was introduced almost 2 years ago - in - r8834. The IVE version number was bumped to 32 because of the - change - in binary layout, but the guard for reading/writing the new field - was - checked against 31. Of course this only causes a problem (as for - us) - when you've produced IVE files at version 31, which no longer - load (or - crash) when loaded by newer OSG/IVE versions." +Tue, 2 Nov 2010 11:44:20 +0000 +Checked in by : Robert Osfield +From Mikhail Izmestev, "There is bug in GLBufferObject::compileBuffer when changed not first buffer entry, then generated new wrong offset. " -2010-09-30 16:03 robert +Tue, 2 Nov 2010 11:27:38 +0000 +Checked in by : Robert Osfield +Fixed function name - * From Chuck Seberino, "Here is a small optimization in - osgDB/Serializer that only uses a single accessor call when - retrieving serializable values during writing. This is a sizable - win for some of my code since the getter() methods are - non-trivial. I also removed some explicit namespace qualifiers to - be consistent with the rest of the codebase." +Tue, 2 Nov 2010 11:19:17 +0000 +Checked in by : Robert Osfield +From Javier Taibo, " In current SVN code, when exporting an osgParticle::Particle object to the .osg file format, it crashes if no drawable was set in the particle. In the attached file (src/osgWrappers/deprecated-dotosg/osgParticle/IO_Particle.cpp) I have added a check for the existence of the drawable before writing it to the file. +" -2010-09-30 14:25 robert - * From WojciechLewandowski, Added DispaySettings::SwapMethod and - support for it in GraphicsContext::Traits -2010-09-30 09:40 robert +Mon, 1 Nov 2010 17:19:39 +0000 +Checked in by : Robert Osfield +From John Ivar Haugland & Robert Osfield, fix for bug in VisualStudio where it adds an redundent '/n' on the end of the command line arguments for no reason. - * From Stephan Huber, fixed build under OSX 10.5. +Mon, 1 Nov 2010 17:05:53 +0000 +Checked in by : Robert Osfield +From Alexander Irion, "When a osg::Geometry node is loaded from a ".osgb" file, there is no element buffer object created for the primitives element indices, although _useVertexBufferObjects is enabled. This bug decreases the rendering performance." -2010-09-30 09:34 robert +Mon, 1 Nov 2010 17:02:48 +0000 +Checked in by : Robert Osfield +From Sukender, fix for incorrect for loop test. - * From Wang Rui, "I've fixed the problem that osgx format doesn't - read the Font property and wrapped string correctly. The first - problem happened because the matchString() made a mistake in - comparing two strings with the same start but different size. The - second just needs complete rewriting of writeWrappedString() and - readWrappedString() in src/osgPlugins/osg/XmlStreamOperator.h - - I also fixed a possible bug in osgDB::XmlParser that doesn't - handle control characters (like " to ") when reading node - attributes, because the writeWrappedString() and - readWrappedString() now depend heavily on control characters. An - additional improvement is that osgx now supports comments." +Mon, 1 Nov 2010 13:57:44 +0000 +Checked in by : Robert Osfield +From Jan Peciva, "attaching Matrix_implementation fix for two problems:- using m.getPerspective( fovy, tmp, tmp, tmp ) to get only FOV does not work. +The reason is that getPerspective is taking tmp as reference - thus all the three variables points to the same memory location. Then, zNear (third parameter) is used inside the method, while zNear content was spoiled by zFar that was written to the same place, resulting in fovy set to nan. I consider that it is the right of programmers to use 3 times tmp as parameter and I fixed the code in the method. I have done the same for getFrustum and getLookAt. -2010-09-29 13:21 robert +- I fixed makeFrustum to accept infinite zFar. (Some graphics techniques like shadow volumes require placing zFar to infinity to avoid visual artifacts.)" - * Fixed Text3D's handling of character aspect ratio. +Note from Robert Osfield, change the local near & far variable names to temp_near and temp_far MS Visual Studio has a record of using near and far names. -2010-09-29 12:45 robert - * Moved handling of character aspect ratio into osgText::Style. -2010-09-29 12:38 robert +Mon, 1 Nov 2010 11:06:12 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, osgDB functions to expand wildcards - required to aid windows consule usage as this doesn't not automatically expand * usage. - * Added command line option for writing out the scene graph to - file. +Mon, 1 Nov 2010 10:52:20 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay and Robert Osfield, cleaned up the way that unix/windows file separators are managed. -2010-09-29 11:34 robert +Mon, 1 Nov 2010 10:31:30 +0000 +Checked in by : Robert Osfield +From Mathias Goldau, "Added very brief documentation when to use the triangle mesh class. I generated the make doc_openscenegraph target to verify that this change does not break something. " - * Moved set/getFont from Text/Text3D into TextBase +Fri, 29 Oct 2010 15:18:34 +0000 +Checked in by : Robert Osfield +From Mikhail Izmestev, "I have discovered problem with draggers from osgManipulator in HUD.This problem caused because osgManipulator::Dragger uses matrices of top camera instead last +absolute Camera in NodePath. -2010-09-29 11:09 robert +I attached modified osgManipulator/Dragger.cpp file, where added code for finding last absolute +camera. With this changes draggers works in HUD. - * Removed getScale() parameter from osgText::Font +Example for demonstrate this problem you can find in osg-users list [1]. -2010-09-29 10:54 robert +Mikhail. - * Fixed type of numberical constant +[1] http://thread.gmane.org/gmane.comp.graphics.openscenegraph.user/62636 +" -2010-09-27 17:11 robert - * Moved Text3D across to using Style for character thickness. - Quitened down debug messages in 3D text geometry creation. - Improved the Text3D implementation of the new 3D text geometry. -2010-09-27 16:18 robert +Fri, 29 Oct 2010 09:56:09 +0000 +Checked in by : Robert Osfield +From Sherman Wilcox, "there's a bug in the cmake file for the tiff plugin. See attached. The problem was that the output files were not properly setting the debug/release libs due to this cmake bug. What occurred was the release lib was set in all configurations." - * Added support for osgText::Style into osgText::Text3D. - Refactored Text3D implementation to use new GlyphGeometry class. - Implemented GlyphGeometry backend and cleaned up Glyph3D - interface. +Fri, 29 Oct 2010 09:35:54 +0000 +Checked in by : Robert Osfield -2010-09-27 09:58 robert - * Changed the reading of animation paths so that it's always done - without using the osgDB object cache. - This fixes a bug of reusing the animination path in an P3D file. +Fri, 29 Oct 2010 08:33:10 +0000 +Checked in by : Robert Osfield +Added X11_X11_LIB to LIB_EXTRA_LIBS when build X11 version of osgViewer to enable use of Mesa's GLES/EGL implementation -2010-09-26 11:02 robert +Fri, 29 Oct 2010 08:31:54 +0000 +Checked in by : Robert Osfield +Fixed warning - * Added include to fix compile error +Thu, 28 Oct 2010 15:52:52 +0000 +Checked in by : Robert Osfield +Commented out unused ElapsedTimer -2010-09-24 14:53 robert +Thu, 28 Oct 2010 14:04:57 +0000 +Checked in by : Robert Osfield +Added use ObjectWrapper's FinishObjectReadCallback to fix VertexBufferObject handling in osg::Geometry and a call to the TileLoaded callback in osgTerrain. - * From Alexander Wiebel, "I did some spell checking in my spare - time. Here come 20 files." +Thu, 28 Oct 2010 14:04:07 +0000 +Checked in by : Robert Osfield +Added FinishedObjectReadCallback to ObjectWrapper which allows wrappers to register their own handling of post processing of objects once they have been read. -2010-09-24 14:40 robert +Thu, 28 Oct 2010 14:01:47 +0000 +Checked in by : Robert Osfield +Added handling of vertex buffer objects into osg::Geometry copy constructor. - * From Jean-Sebastien Guay, "Changeset 10833 renames - discardAllDeletedGLObjects() to discardAllGLObjects() in - src/osg/GLObjects.cpp, but the declaration of the function in - include/osg/GLObjects remained. So an app using an old version of - OSG that called this function would now fail with a linker error - instead of a compile error as it should. - - Removed the declaration. Also fixed a small typo in the following - doxygen comment." +Thu, 28 Oct 2010 14:01:10 +0000 +Checked in by : Robert Osfield +Improved code style consistency -2010-09-24 14:38 robert +Thu, 28 Oct 2010 14:00:25 +0000 +Checked in by : Robert Osfield +Quitened down debug messages - * From Mikhail Izmestev, "This patch fixes operator >> used with - std::istream without std::ios::skipws flag. This allow using - boost::lexical_cast with osg vectors types, because boost's - lexical_cast disable std::ios::skipws flag of std::istream before - using operator >>. - " +Wed, 27 Oct 2010 13:49:16 +0000 +Checked in by : Robert Osfield +Fixed getEnableDepthWrites() naming. -2010-09-24 12:59 robert +Tue, 26 Oct 2010 14:59:12 +0000 +Checked in by : Robert Osfield +Added command line options:--tristripper +--no-tristripper +--smoother +--no-smoother - * From Eric Wing, QTKit plugin for reading movies under OSX using - QTKit + CoreVideo +--remove-duplicate-vertices / --rdv +--optimize-vertex-cache / --ovc +--optimize-vertex-order / --ovo -2010-09-24 12:57 robert - * Moved Style and Bevel classes out into their own - include/osgText/Style header. - - Introduced GlyphGeometry class for handling the geometry data for - rendering 3D text -2010-09-23 16:12 robert - * Refactored the handling of - readImage/writeImage/readObject/writeObject to avoid double - setting of unique ID's, fixing the problem in reading/writing - files with images +Mon, 25 Oct 2010 13:42:01 +0000 +Checked in by : Robert Osfield +Added number of primitive sets to on screen stats -2010-09-22 09:50 robert +Sat, 23 Oct 2010 09:51:11 +0000 +Checked in by : Robert Osfield +Added -o postfile option to allow the output of processed filesDisabled tri-stripping when simplifing to fix performance issue that introduces. - * Added deprecated notices. -2010-09-21 11:40 robert - * Updated ChangeLog and AUTHORS file for release +Fri, 22 Oct 2010 16:44:52 +0000 +Checked in by : Robert Osfield +Added StateSetManipulator usage -2010-09-21 10:28 robert +Fri, 22 Oct 2010 16:35:28 +0000 +Checked in by : Robert Osfield +Added support for enable VBO's and doing simplification. - * From David Guthrie, "The cocoa version of the window for Mac OS X - doesn't implement the requestWarpPointer function, but it turns - out that the code from the Carbon version of the window is the - same because it uses the windowing interface, so it this version, - based on 2.8.3 GraphicsWindowCocoa, I copied the function over. - The trunk version it also missing the function and the code looks - to be very similar, so I assume it will transfer simply enough. - " +Fri, 22 Oct 2010 12:28:50 +0000 +Checked in by : Robert Osfield +Cleaned up main loop, so it's more readable, seperating out the paging and non paging implementations -2010-09-20 16:04 robert +Fri, 22 Oct 2010 12:19:22 +0000 +Checked in by : Robert Osfield +Added paging support to osganalysis example - * From Per Fahlberg, "imageio was not spelled correctly when - registering the plugin, attached is a fixed version of - ReaderWriterImageIO.cpp." +Thu, 21 Oct 2010 16:29:23 +0000 +Checked in by : Robert Osfield +Integrated IncementalCompileOperation into DatabasePager.Improved various facilities in IncrementalCompileOperation. -2010-09-20 11:50 robert - * From Wang Rui, reverted changes to osgPartcile that caused - problems with osgparticleeffects. -2010-09-20 11:02 robert +Thu, 21 Oct 2010 16:28:23 +0000 +Checked in by : Robert Osfield +Added new osganalysis example as a testbed for profiling peformance of various aspects of OSG/OpenGL and scene graphs. - * From Ulrich Hertlein, "attached is a fix that addresses these - compiler warnings from the 64-bit OS X build: - - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp: - In - function ?std::string getFileName(const std::string&)?: - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:88: - warning: comparison is always false due to limited range of data - type - - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp: - In - function ?bool is83(const std::string&)?: - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:102: - warning: comparison is always false due to limited range of data - type - - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp: - In - function ?bool is3DSpath(const std::string&, bool)?: - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:118: - warning: comparison is always false due to limited range of data - type - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:121: - warning: comparison is always true due to limited range of data - type - - The code was using 'unsigned int' in places where it should've - used 'size_t' for correct - comparison with 'std::string::npos' (which is size_t). - " +Thu, 14 Oct 2010 18:16:03 +0000 +Checked in by : Robert Osfield +Introduction of IncrementalCompileOperation support to DatabasePager. -2010-09-17 15:41 robert +Thu, 14 Oct 2010 13:35:36 +0000 +Checked in by : Robert Osfield +Introduced SubloadCallback::generatdTextureObject() method. - * From Mathieu Marache, "This modified version of FindCOLLADA finds - it correctly when installed with macports - as in 'port install collada-dom'" +Thu, 14 Oct 2010 12:20:51 +0000 +Checked in by : Robert Osfield +From Wang Rui, warning fix. -2010-09-17 15:39 robert +Thu, 14 Oct 2010 11:10:16 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, fix function entry points under Windows to address crash - * Add clamping of the maximum number of particles per frame to - avoid too many particles being introduced at once when the - particle system comes back on screen. +Thu, 14 Oct 2010 09:31:09 +0000 +Checked in by : Robert Osfield +From Wang Rui, QT based OpenThreads implementation -2010-09-17 14:26 robert +Wed, 13 Oct 2010 15:03:02 +0000 +Checked in by : Robert Osfield +Added support for using a custom osg::Geometry that attempts to force the OpenGL driver to download the texture object to graphics card.Calling IncrementalCompileOperation::assignForceTextureDownloadGeometry() assigns a geometry +to the job. - * Updated ChangeLog, AUTHORS for 2.9.9 dev release -2010-09-17 13:33 robert - * Build fixes for when OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION - is disabled -2010-09-17 13:09 robert +Sat, 9 Oct 2010 11:51:24 +0000 +Checked in by : Robert Osfield +Changed the _ARB cube map defines to non ARB versions. - * Reverted changes from Vivien Delage as there were some - regressions discovered. Will need to revist this code to deal - with bugs that Vivien was tackling. +Sat, 9 Oct 2010 11:27:45 +0000 +Checked in by : Robert Osfield +Removed redudent set up of GL_ cubemap defines as these are now also in include/osg/Texture -2010-09-17 11:20 robert +Fri, 8 Oct 2010 18:53:16 +0000 +Checked in by : Robert Osfield +Tempory fix for regression due to remove of glPushAttrib/glPopAttrib - * From Ulrich Hertlein, "I've added a command line switch - '--testOcclusion' that enables display of other models in - front and behind the outlined object." +Fri, 8 Oct 2010 18:13:10 +0000 +Checked in by : Robert Osfield +Disabled the build of Qt examples when building against GLES1 & 2 as Qt GL includes OpenGL headers itself that cause conflict. -2010-09-16 13:04 robert +Fri, 8 Oct 2010 17:13:59 +0000 +Checked in by : Robert Osfield +Build fixes for GLES1, GLES2 and GL3 - * From Magnus Kessler, "Changes to the quicktime plugin to remove - unused variables and an unused - static function." +Fri, 8 Oct 2010 11:20:56 +0000 +Checked in by : Robert Osfield +Refactored the Texture3D extension setup in osg::Texture3D and gluBuild3DMipmaps and gluBuild3DMipmapLevels. -2010-09-16 10:33 robert +Thu, 7 Oct 2010 11:53:28 +0000 +Checked in by : Robert Osfield +Introduced osg namespace to new local GLU functions - * From Alexander Wiebel, "I came across some functions in Vec* that - I thought could benefit from some - doxygen documentation. Additionally, I made the comment on - value_type more - meaningful (in my opinion)." +Thu, 7 Oct 2010 10:51:22 +0000 +Checked in by : Robert Osfield +Introduced new gluScaleImage function that uses a PixelStorageModes structure to pass in details on image packing, rather than relying upon glGet's to get the values. -2010-09-16 09:49 robert +Wed, 6 Oct 2010 19:09:48 +0000 +Checked in by : Robert Osfield +Added #define GL_PROXY_TEXTURE_3D - * From Magnus Kessler, "I'm resubmitting a slightly different - version of the changes you left out for - osg/Camera. The ::glName issue masked the fact that the "(..)" - isn't handled - well in doxygen and leads to "(." in the generated files. - - I'm also submitting a minor documentation fix to - osgGA/DriveManipulator to get - it out of my patch queue ;)" +Wed, 6 Oct 2010 18:51:53 +0000 +Checked in by : Robert Osfield +Fixed warning -2010-09-16 09:09 robert +Wed, 6 Oct 2010 18:37:43 +0000 +Checked in by : Robert Osfield +Changed tabs to 8 spaces - * From March Sciabica, "Here is the solution I coded up over the - weekend. For improved - performance option, I added a flag to control whether the depth - writing - pass is performed. - - Since text is alpha-blended when rendering, it is placed in the - transparent bin and rendered back to front. Writing to the depth - buffer - should therefore be unnecessary. Indeed, rendering something - behind text - (or any blended object) after that object is drawn will give - incorrect - results whether the depth buffer is written or not. I therefore - think it - is safe to keep this option off by default. Users can turn it on - for any - special needs they have. - - I did not fix the existing backdrop implementations to work with - the new - code since this new method of rendering intrinsically handles - backdrops - correctly. Its results are more accurate than all of the existing - backdrop implementations. Its only downside is that it requires - two - passes if depth buffer updates are desired, whereas DEPTH_RANGE - and - POLYGON_OFFSET achieve their (less accurate) results in one pass. - The - NO_DEPTH_BUFFER method also only uses one pass, but it disables - depth - tests and not depth writes so will have serious problems if - anything is - drawn in front of the text before OR after the text is drawn. - - Given the better all-around behavior of the new method, I believe - the - other backdrop implementations can be safely removed. Code that - adjusts - the backdrop implementation will of course be broken if the - member - functions are removed. For this reason I left them in, but set - the new - rendering method as the default backdrop implementation. At the - very - least I think the old backdrop implementations should be - deprecated and - removed at a later date. - " - - Note from Robert Osfield, testing this submission with osgtext I - found that the - text would not render correctly when different text labels were - overlapping - in deth and screen space. I change _enableDepthWrites to default - to true and - found the that which artifacts still occurred around the alpha - blended edges - the artifacts where better than issue with occlusion of nearer - pixels that was - happening with _enableDepthWrites set to false.I therefore set - the - _enableDepthWrites to true as I feel it's the lesser of the two - artefacts. +Wed, 6 Oct 2010 18:34:36 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay and Robert Osfield, build fix for Windows -2010-09-16 08:46 robert +Wed, 6 Oct 2010 18:29:23 +0000 +Checked in by : Robert Osfield +Added #define for Windows build - * From Mathias Fielder, "i found an issue with the serializer - writing shared arrays. At OutputStream::writeArray(), if the - currently latest array is shared the full array content will be - written. - The following code snippet will reproduce this issue: - - - Code: - - osg::Vec2 vec(0.f, 0.f); - osg::Array* sharedArray = new osg::Vec2Array(1, & vec); - - // create 2 geometries sharing same array - osg::Geometry* geom0 = new osg::Geometry; - osg::Geometry* geom1 = new osg::Geometry; - geom0->setVertexArray(sharedArray); - geom1->setVertexArray(sharedArray); - - osg::ref_ptr geode = new osg::Geode; - geode->addDrawable(geom0); - geode->addDrawable(geom1); - - std::stringstream buffer; - - // write node - osg::ref_ptr options = new - osgDB::Options("Ascii"); - osgDB::ReaderWriter* rw = - osgDB::Registry::instance()->getReaderWriterForExtension("osgt"); - osgDB::ReaderWriter::WriteResult wr = rw->writeNode(*geode, - buffer, options.get()); - - // print result; array will be written twice with full content, - though with same ID - std::cout << buffer.str() << std::endl; - - // trying to read back node will print warnings about unmatched - properties - osgDB::ReaderWriter::ReadResult rr = rw->readNode(buffer, - options.get()); - - - - - To fix this i made a change in OutputStream::writeArray(). - I think the same issue applies to OutputStream::writeObject(). So - i made the same change there. - " +Wed, 6 Oct 2010 17:19:01 +0000 +Checked in by : Robert Osfield +Added #define GLAPIENTRY to attempt to resolve some Windows build issues -2010-09-15 13:24 robert +Wed, 6 Oct 2010 16:36:30 +0000 +Checked in by : Robert Osfield +Added #define's and local include to fix Windows GL 1.1 build against - * From Paul de Repentigny, Commented out section of code that - didn't work properly +Wed, 6 Oct 2010 16:29:16 +0000 +Checked in by : Robert Osfield +From Jean-Sebasien Guay, fix windows compile error -2010-09-15 13:04 robert +Wed, 6 Oct 2010 15:33:43 +0000 +Checked in by : Robert Osfield +Removed gluois.h reference - * Fixed warning +Wed, 6 Oct 2010 15:14:01 +0000 +Checked in by : Robert Osfield +Removed usage gluos.h and redundent gluint.h -2010-09-15 12:50 robert +Wed, 6 Oct 2010 14:44:52 +0000 +Checked in by : Robert Osfield +Copied libutil and libtess implementations in form Mesa 7.9/src/glu into the src/osg/glu, changed extensions from .c to .cpp and got compiling as C files as part of the osg core library.Updated and cleaned up the rest of the OSG to use the new internal GLU. - * From Magnus Kessler, "Fix a small typo in present3D usage string" -2010-09-15 12:00 robert - * From Magnus Kessler, "Attached are a number of files where I have - tried to fix up some of the - documentation. I have accumulated them over some time, but - rebased onto the - subversion trunk." +Mon, 4 Oct 2010 15:23:19 +0000 +Checked in by : Robert Osfield +Improved the handling of matrices in serialization so that it's more reliable, change was to use doubles for reading and writing matrices regardless of type of Matrix being serialized.Change does break backwards compatibility though, so code +path supporting original format has been left in for the +time being. However, this code is not reliable enough and +is over complicated compared to the simplified handling. Once +the new code has been bedded down for a while I'll remove this code block. -2010-09-15 11:36 robert - * From Laura Cerritelli, "I modified TXPPagedLOD::traverse to - prevent the terrain from inappropriately unloading the higher - level of detail tiles. It wasn?t updating the frame number of the - tile or the range it was traversing, causing - PagedLOD::removeExpiredChildren to always consider the range - expired." -2010-09-15 11:32 robert - * From Wang Rui, "I've fixed some pen-slips in - SharedStateManager.cpp, which writing the - last few examples for my to-be-finished book. I also do a minor - fix to - the share() method to make it work for geodes, too." +Mon, 4 Oct 2010 11:29:39 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "just a follow-up: I looked at the code of osg/Referenced.cpp and notice a discrepancy in getOrCreateObserverSet. For the atomic- and mutex-codepaths the newly created observerset gets manually ref'ed, but not in the codepath used when OPENTHREADS_ATOMIC_USE_MUTEX is defined. I added the manual ref and tadaaa, the crash went away." -2010-09-15 11:27 robert +Mon, 4 Oct 2010 11:24:54 +0000 +Checked in by : Robert Osfield +Added glMultMatrixf path for GLES1 - * From Lukasz Izdebski, "I made some changes in OcclusionQueryNode - file. - I move declaration of classes TestResult, QueryGeometry from cpp - to header file and made a void createSupportNodes() a virtual - method. - - Now is possible to inherit from class OcclusionQueryNode." +Mon, 4 Oct 2010 11:19:41 +0000 +Checked in by : Robert Osfield +Added checks for NULL images to prevent crashes when no valid images are created -2010-09-15 11:10 robert +Fri, 1 Oct 2010 18:02:24 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "As promised I prepared a patch to expose WGL_SWAP_METHOD / PFD_SWAP_METHOD selection via GraphicsContext::Traits. Since Traits don't define any enums (I guess to be simple to use) I tried to keep it that way and have added two boolean values: swapCopy & swapExchange. It is somewhat similar approach to GDI PixelFormatDescription were both options can be present together. Feel free to replace it with enum if you find it more appropriate.I also uderstand that there is a need to select system wide default method and have also modified DisplaySettings to contain swapMethod parameter. Swap method in Traits uses value set in DisplaySettings as default. Proper environment and command line args were added. Its possible to define default DeisplaySettings swap method in standard way via system flags or with comand line. - * Renamed file3ds and options member variables to _file3ds and - _options to avoid confusion and keep the code consistent with the - rest of the class/OSG. - - Added _option parameter to writeImageFile(..) call. +Env Vars: + OSG_SWAP_METHOD = DEFAULT | COPY | EXCHANGE +or Command Line: + --swap-method DEFAULT | COPY | EXCHANGE -2010-09-15 10:50 robert +I also added handling of WM_ERASEBKGND in GraphicsWindowWin32. It may be unneccessary but code should be safer this way than without handling it. I have placed a comment explaining the reason above the change. - * From Todd Furlong, "I made a couple of changes to the - osgFX::Outline class (SVN patch attached). I had a couple of - issues with it that I was trying to resolve: - - 1. When an outline object was occluded by another object, the - backfacing wireframe was exposed. To fix that, I removed the - disabling of GL_DEPTH_TEST. - - 2. In some cases, the outline color was the same color as the - geometry being drawn instead of the specified color. I'm not sure - I have completely fixed this issue, but I did make some changes - to match up to how we do a scribe effect." +Changes were made against today trunk. -2010-09-15 10:24 robert +PS. I tested only Windows code. I briefly checked X11 & Cocoa files but have not noticed SwapMethod to be used there. +" - * Added https, ftp and ftps to list of supported server protocols, - and add ability for curl plugin to ignore the need for a server - address when .curl extension is used. -2010-09-15 09:56 robert - * From Jan Peciva, "please, find attached improved Stencil and - StencilTwoSided classes. - - Goals: - - to handle INCR_WRAP values nicely if not supported by OpenGL - (old hardware) - - to support two side stenciling of OpenGL 2.0. Current - implementation does not work on ATI as it uses Nvidia extension. - - Ready for commit: - - Stencil and Stencil.cpp - please, review them - - Ready with "hack": - - StencilTwoSided.cpp: please, see the line 113 in apply(): - - glEnable(GL_STENCIL_TEST_TWO_SIDE); - - This line used to be in getModeUsage() as - - usage.usesMode(GL_STENCIL_TEST_TWO_SIDE); - - but it produces OpenGL errors on ATI as it is unknown value there - (it is Nvidia extension). - Problems with my "glEnable" solution: - - it enables two side stenciling forever, and it will disturb any - other single-side stenciling in the scene graph. - " +Fri, 1 Oct 2010 17:07:27 +0000 +Checked in by : Robert Osfield -2010-09-15 09:24 robert - * From Wang Rui, "I've changed it back to _alive, _current_size and - _current_alpha, and placed them one by one for - setTexCoordPointer() to use. - - All size() methods are now renamed to volume(). At present only - the CompositePlacer will use it for randomly choose a place - according to the volumes of all children. - " +Fri, 1 Oct 2010 15:58:49 +0000 +Checked in by : Robert Osfield +From Magnes Kessler, "Attached are some fixes for the environment variable help strings in DisplaySettings. They contain spelling fixes and an attempt to use consistent expressions throughout." -2010-09-14 15:47 robert +Fri, 1 Oct 2010 15:37:35 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski,"These are our changes to DatabasePager. To check if parent PLOD is registered, I resurrected PagedLODList::containsPagedLOD() method. This method was available some time ago, but got removed and was not currently present in trunk. To add this method I had to also modify the DatabasePager header. " - * Form Wang Rui, "An initial GLSL shader support of rendering - particles. Only the POINT - type is supported at present. The attached osgparticleshader.cpp - will - show how it works. It can also be placed in the examples folder. - But I - just wonder how this example co-exists with another two - (osgparticle - and osgparticleeffect)? - - Member variables in Particle, including _alive, _current_size and - _current_alpha, are now merged into one Vec3 variable. Then we - can - make use of the set...Pointer() methods to treat them as vertex - attribtues in GLSL. User interfaces are not changed. - - Additional methods of ParticleSystem are introduced, including - setDefaultAttributesUsingShaders(), setSortMode() and - setVisibilityDistance(). You can see how they work in - osgparticleshader.cpp. - - Additional user-defined particle type is introduced. Set the - particle - type to USER and attach a drawable to the template. Be careful - because - of possible huge memory consumption. It is highly suggested to - use - display lists here. - - The ParticleSystemUpdater can accepts ParticleSystem objects as - child - drawables now. I myself think it is a little simpler in - structure, - than creating a new geode for each particle system. Of course, - the - latter is still compatible, and can be used to transform entire - particles in the world. - - New particle operators: bounce, sink, damping, orbit and - explosion. - The bounce and sink opeartors both use a concept of domains, and - can - simulate a very basic collision of particles and objects. - - New composite placer. It contains a set of placers and emit - particles - from them randomly. The added virtual method size() of each - placer - will help determine the probability of generating. - - New virtual method operateParticles() for the Operator class. It - actually calls operate() for each particle, but can be overrode - to use - speedup techniques like SSE, or even shaders in the future. - - Partly fix a floating error of 'delta time' in emitter, program - and - updaters. Previously they keep the _t0 variable seperately and - compute - different copies of dt by themseleves, which makes some - operators, - especially the BounceOperator, work incorrectly (because the dt - in - operators and updaters are slightly different). Now a - getDeltaTime() - method is maintained in ParticleSystem, and will return the - unique dt - value (passing by reference) for use. This makes thing better, - but - still very few unexpected behavours at present... - - All dotosg and serialzier wrappers for functionalities above are - provided. - - ... - - According to some simple tests, the new shader support is - slightly - efficient than ordinary glBegin()/end(). That means, I haven't - got a - big improvement at present. I think the bottlenack here seems to - be - the cull traversal time. Because operators go through the - particle - list again and again (for example, the fountain in the shader - example - requires 4 operators working all the time). - - A really ideal solution here is to implement the particle - operators in - shaders, too, and copy the results back to particle attributes. - The - concept of GPGPU is good for implementing this. But in my - opinion, the - Camera class seems to be too heavy for realizing such - functionality in - a particle system. Myabe a light-weight ComputeDrawable class is - enough for receiving data as textures and outputting the results - to - the FBO render buffer. What do you think then? - - The floating error of emitters - (http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2009-May/028435.html) - is not solved this time. But what I think is worth testing is - that we - could directly compute the node path from the emitter to the - particle - system rather than multiplying the worldToLocal and LocalToWorld - matrices. I'll try this idea later. - " +Thu, 30 Sep 2010 16:57:02 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "After a closer look at this particular issue, I used some grep and sed magic to fix all occurrences of "macro's" and "paramter". " -2010-09-14 13:19 robert +Thu, 30 Sep 2010 16:31:22 +0000 +Checked in by : Robert Osfield +From Craig Bosma, "Attached is an updated Image.cpp that fixes a very specific compatability regression that was introduced almost 2 years ago in r8834. The IVE version number was bumped to 32 because of the change in binary layout, but the guard for reading/writing the new field was checked against 31. Of course this only causes a problem (as for us) when you've produced IVE files at version 31, which no longer load (or crash) when loaded by newer OSG/IVE versions." - * From Ulrich Hertlein, "not sure how severe this is but I believe - there's a bug in - Texture.cpp:applyTexImage2D_subload: - - - unsigned char* data = = (unsigned char*)image->data(); - if (needImageRescale) { - // allocates rescale buffer - data = new unsigned char[newTotalSize]; - - // calls gluScaleImage into the data buffer - } - - const unsigned char* dataPtr = image->data(); - // subloads 'dataPtr' - - // deletes 'data' - - - In effect, the scaled data would never be used. - - I've also replaced bits of duplicate code in - Texture1D/2D/2DArray/3D/Cubemap/Rectangle - that checks if the texture image can/should be unref'd with - common functionality in - Texture.cpp. - - " +Thu, 30 Sep 2010 16:03:04 +0000 +Checked in by : Robert Osfield +From Chuck Seberino, "Here is a small optimization in osgDB/Serializer that only uses a single accessor call when retrieving serializable values during writing. This is a sizable win for some of my code since the getter() methods are non-trivial. I also removed some explicit namespace qualifiers to be consistent with the rest of the codebase." -2010-09-14 13:19 robert +Thu, 30 Sep 2010 14:25:27 +0000 +Checked in by : Robert Osfield +From WojciechLewandowski, Added DispaySettings::SwapMethod and support for it in GraphicsContext::Traits - * Moved GL_RED and associated GL defines that aren't defined by - GLES into the include/osg/Image to aid portability. +Thu, 30 Sep 2010 09:40:48 +0000 +Checked in by : Robert Osfield +From Stephan Huber, fixed build under OSX 10.5. -2010-09-09 16:49 robert +Thu, 30 Sep 2010 09:34:41 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've fixed the problem that osgx format doesn't read the Font property and wrapped string correctly. The first problem happened because the matchString() made a mistake in comparing two strings with the same start but different size. The second just needs complete rewriting of writeWrappedString() and readWrappedString() in src/osgPlugins/osg/XmlStreamOperator.hI also fixed a possible bug in osgDB::XmlParser that doesn't handle control characters (like " to ") when reading node attributes, because the writeWrappedString() and readWrappedString() now depend heavily on control characters. An additional improvement is that osgx now supports comments." - * From Jean-Sebastien Guay, "osgWidget::WindowManager did nothing - in its keyUp event, and in particular didn't call any callbacks. - Since I wanted to have callbacks on keyUp, I copied what it does - on keyDown, which works for me. I could have just used keyDown - and saved myself the trouble, but you know me... :-) - - osgWidget::Input: - - [Functional changes] - - Previously, the field would be filled with spaces up to its max - length, and typing would just replace the spaces. Also, there was - a _textLength variable that kept track of the real length of text - in the field, since the osgText::Text's length just reflected the - length of spaces+text entered. This was not great, as you could - still select the spaces with the mouse and it just feels hacky. - So I changed it to only contain the text entered, no spaces, and - _textLength was removed since it's now redundant (the - osgText::Text's length is used instead). - - Fixed the selection size which (visually only) showed one more - character selected than what was really selected. - - Fixed selection by dragging the mouse, it would sometimes not - select the last character of the string. - - Cursor will now accurately reflect whether insert mode is - activated (block cursor) or we're in normal mode (line cursor) - like in most editors. - - Implemented Ctrl-X (cut) - - Added a new clear() method that allows the field to be emptied - correctly. Useful for a command line interface, for example - (hint, hint). - - Mouse and keyboard event handler methods would always return - false, which meant selecting with the mouse would also rotate the - trackball, and typing an 's' would turn on stats. - - [Code cleanup] - - Renamed the (local) _selectionMin and _selectionMax variables - which are used in a lot of places, as the underscores would lead - to think they were members. Either I called them - selection{Min|Max} or delete{Min|Max} where it made more sense. - - Fixed some indenting which was at 3 spaces (inconsistently), - I'm sure I didn't catch all the lines where this was the case - though. - - Put spaces between variable, operator and value where missing, - especially in for()s. Again I only did this where I made changes, - there are probably others left. - - The result is that delete, backspace, Ctrl-X, Ctrl-C, Ctrl-V, and - typing behaviour should now be consistent with text editor - conventions, whether insert mode is enabled or not. I hope. :-) - - Note, there's a nasty const_cast in there. Why isn't - osgText::Font::getGlyph() declared const? - - Also, as a note, the current implementation of cut, copy and - paste (in addition to being Windows only, yuck) gets and puts the - data into an std::string, thus if the osgText::String in the - field contains unicode characters I think it won't work - correctly. Perhaps someone could implement a proper clipboard - class that would be cross-platform and support osgText::String - (more precisely other languages like Chinese) correctly? Cut, - copy and paste are not critical to what I'm doing so I won't - invest the time to do that, but I just thought I'd mention it. - " -2010-09-09 10:44 robert - * From Torben Dannhauer, "I extended the attached CMAKE module to - search for the collada libraries of my VS2008 3rdParty package if - no other library is found. - - No CMAKE should recognize all libraries of the VS2008 3rdParty - Package." +Wed, 29 Sep 2010 13:21:34 +0000 +Checked in by : Robert Osfield +Fixed Text3D's handling of character aspect ratio. -2010-09-09 10:17 robert +Wed, 29 Sep 2010 12:45:35 +0000 +Checked in by : Robert Osfield +Moved handling of character aspect ratio into osgText::Style. - * From Joachim Pouderoux, "Please find attached a very small fix - for the DXF reader. The bug made OSG - crash with some files. - Actually, itr was incremented into the loop and after the test - with - nlist.end(). - Then, the unreferencing of itr when nlist is equals to - nlist.end() caused - the crash." +Wed, 29 Sep 2010 12:38:56 +0000 +Checked in by : Robert Osfield +Added command line option for writing out the scene graph to file. -2010-09-09 10:14 robert +Wed, 29 Sep 2010 11:34:55 +0000 +Checked in by : Robert Osfield +Moved set/getFont from Text/Text3D into TextBase - * From Joachim Pouderoux, "I have added the support for - wkbMultiPolygon & wkbMultiPolygon25D in the OGR - plugin (it was mysteriously missing and no prevent warning - messages was - print)." +Wed, 29 Sep 2010 11:09:32 +0000 +Checked in by : Robert Osfield +Removed getScale() parameter from osgText::Font -2010-09-09 10:09 robert +Wed, 29 Sep 2010 10:54:53 +0000 +Checked in by : Robert Osfield +Fixed type of numberical constant - * From Tassilo Glander, "I want to submit a fix for the plugin to - load .x model files (Direct X). - - The current version crashes when encountering global materials, - as also reported in the forum by the author of the plugin. - - The problem in mesh.cpp (app. ln 247) is, that references to - global materials that are given in curly brackets {} are not - supported by the reader. However, curly brackets seem to be - common, according to Bourke. Unfortunately, I found no - specification. However, also the DirectX model viewer that comes - with the DirectX-SDK (August 2009) expects curly brackets and - refuses models without them. - - My fix checks 2 more cases ("{ aMaterial }" -> 3 tokens and - "{aMaterial}" -> 1 token), and extracts the material name for the - lookup. I don't know if this is the most elegant solution, but - the tokenizer seems to split based on white spaces. - - You can reproduce the bug with the attached model (box.x), which - loads fine in other tools, such as 3DSmax, DeepExploration or the - DirectX model viewer. When I remove the curly brackets at the - reference of "myGlobalMaterial", it loads in osgviewer, but is - not standard conform. - " +Mon, 27 Sep 2010 17:11:12 +0000 +Checked in by : Robert Osfield +Moved Text3D across to using Style for character thickness. Quitened down debug messages in 3D text geometry creation. Improved the Text3D implementation of the new 3D text geometry. -2010-09-09 10:03 robert +Mon, 27 Sep 2010 16:18:20 +0000 +Checked in by : Robert Osfield +Added support for osgText::Style into osgText::Text3D. Refactored Text3D implementation to use new GlyphGeometry class. Implemented GlyphGeometry backend and cleaned up Glyph3D interface. - * From Roland Smeenk, "this submission adds a "Fast Drawable" line - to the camera scene statistics. - It shows the total number of sorted and unsorted drawables that - use the fastpath for rendering." +Mon, 27 Sep 2010 09:58:07 +0000 +Checked in by : Robert Osfield +Changed the reading of animation paths so that it's always done without using the osgDB object cache. This fixes a bug of reusing the animination path in an P3D file. -2010-09-09 09:47 robert +Sun, 26 Sep 2010 11:02:03 +0000 +Checked in by : Robert Osfield +Added include to fix compile error - * From Jean-Sebastien Guay, "I've added a second ctor where no - argument is optional, and documented that it's meant to be used - when the InteractiveImage is going to be used in a fullscreen - HUD. - " +Fri, 24 Sep 2010 14:53:10 +0000 +Checked in by : Robert Osfield +From Alexander Wiebel, "I did some spell checking in my spare time. Here come 20 files." -2010-09-09 09:05 robert +Fri, 24 Sep 2010 14:40:56 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "Changeset 10833 renames discardAllDeletedGLObjects() to discardAllGLObjects() in src/osg/GLObjects.cpp, but the declaration of the function in include/osg/GLObjects remained. So an app using an old version of OSG that called this function would now fail with a linker error instead of a compile error as it should.Removed the declaration. Also fixed a small typo in the following doxygen comment." - * Added version check for av_lockmgr_register support. -2010-09-09 08:47 robert - * From Nathan Monteleone and Robert Osfield, - - submission email from Nathan: "I discovered a problem with - POINT_ROT_EYE billboards in IntersectionVisitor: because we pass - in just the model matrix to Billboard::computeBillboardMatrix, - the billboard gets the wrong up vector. It really needs to take - the view matrix into account to get the correct up vector. - - This version of IntersectionVisitor.cpp is made against today's - SVN. It corrects the problem by computing the billboard matrix - using the complete modelview, and then multiplies by the inverse - of the view matrix before pushing onto IntersectionVisitor's - model stack. The only code I changed is in apply(Billboard&)." - - notes from Robert, refactored the matrix multiplication code and - the use of RefMatrix to make Nathan's changes more efficient. +Fri, 24 Sep 2010 14:38:01 +0000 +Checked in by : Robert Osfield +From Mikhail Izmestev, "This patch fixes operator >> used with std::istream without std::ios::skipws flag. This allow using boost::lexical_cast with osg vectors types, because boost's lexical_cast disable std::ios::skipws flag of std::istream before using operator >>. " -2010-09-08 11:02 robert +Fri, 24 Sep 2010 12:59:37 +0000 +Checked in by : Robert Osfield +From Eric Wing, QTKit plugin for reading movies under OSX using QTKit + CoreVideo - * Cleaned up debug info, and changed Text3D across to using - GL_NORMALIZE instead of GL_RESCALE_NORMAL. +Fri, 24 Sep 2010 12:57:55 +0000 +Checked in by : Robert Osfield +Moved Style and Bevel classes out into their own include/osgText/Style header.Introduced GlyphGeometry class for handling the geometry data for rendering 3D text -2010-09-08 10:46 robert - * Added support for honouring PrimitiveSet names in new smoothing - algorithm -2010-09-08 08:09 robert +Thu, 23 Sep 2010 16:12:05 +0000 +Checked in by : Robert Osfield +Refactored the handling of readImage/writeImage/readObject/writeObject to avoid double setting of unique ID's, fixing the problem in reading/writing files with images - * From Jean-Sebastien Guay, build fixes for Windows +Wed, 22 Sep 2010 09:50:07 +0000 +Checked in by : Robert Osfield +Added deprecated notices. -2010-09-07 19:55 robert +Tue, 21 Sep 2010 11:40:50 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file for release - * Removed files that have been moved into osgText. +Tue, 21 Sep 2010 10:28:50 +0000 +Checked in by : Robert Osfield +From David Guthrie, "The cocoa version of the window for Mac OS X doesn't implement the requestWarpPointer function, but it turns out that the code from the Carbon version of the window is the same because it uses the windowing interface, so it this version, based on 2.8.3 GraphicsWindowCocoa, I copied the function over. The trunk version it also missing the function and the code looks to be very similar, so I assume it will transfer simply enough. " -2010-09-07 18:20 robert +Mon, 20 Sep 2010 16:04:22 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, "imageio was not spelled correctly when registering the plugin, attached is a fixed version of ReaderWriterImageIO.cpp." - * Moved Glyph and Glyph3D out of Font header/source file into their - own header/source file. +Mon, 20 Sep 2010 11:50:24 +0000 +Checked in by : Robert Osfield +From Wang Rui, reverted changes to osgPartcile that caused problems with osgparticleeffects. -2010-09-07 18:18 robert +Mon, 20 Sep 2010 11:02:40 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "attached is a fix that addresses these compiler warnings from the 64-bit OS X build:/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp: In +function ?std::string getFileName(const std::string&)?: +/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:88: +warning: comparison is always false due to limited range of data type - * Moved TextNode into osgText. - - Cleaned up freetype plugin so it no longer does tesselation - - instead Glyph and TextNode do this. +/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp: In +function ?bool is83(const std::string&)?: +/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:102: +warning: comparison is always false due to limited range of data type -2010-09-06 15:43 robert +/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp: In +function ?bool is3DSpath(const std::string&, bool)?: +/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:118: +warning: comparison is always false due to limited range of data type +/Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/3ds/WriterNodeVisitor.cpp:121: +warning: comparison is always true due to limited range of data type - * Further work on new 3D text support +The code was using 'unsigned int' in places where it should've used 'size_t' for correct +comparison with 'std::string::npos' (which is size_t). +" -2010-09-03 15:03 robert - * Added basic wiring up of TextTechnique to 3D glyph code -2010-09-03 09:10 robert +Fri, 17 Sep 2010 15:41:55 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, "This modified version of FindCOLLADA finds it correctly when installed with macports as in 'port install collada-dom'" - * Removed now redundent Font3D files +Fri, 17 Sep 2010 15:39:53 +0000 +Checked in by : Robert Osfield +Add clamping of the maximum number of particles per frame to avoid too many particles being introduced at once when the particle system comes back on screen. -2010-09-03 09:08 robert +Fri, 17 Sep 2010 14:26:27 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, AUTHORS for 2.9.9 dev release - * Refactored to use a typedef of Font to Font3D rather than have a - separate Font3D class +Fri, 17 Sep 2010 13:33:09 +0000 +Checked in by : Robert Osfield +Build fixes for when OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION is disabled -2010-09-03 08:26 robert +Fri, 17 Sep 2010 13:09:23 +0000 +Checked in by : Robert Osfield +Reverted changes from Vivien Delage as there were some regressions discovered. Will need to revist this code to deal with bugs that Vivien was tackling. - * Refactored osgText::Font so that it now supports both 2D and 3D - glyphs. - - Added TextNode.h and TextNode.cpp to examples/osgtext3D in prep - for introducing the new node to osgText library +Fri, 17 Sep 2010 11:20:11 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "I've added a command line switch '--testOcclusion' that enables display of other models in front and behind the outlined object." -2010-09-02 07:55 robert +Thu, 16 Sep 2010 13:04:55 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "Changes to the quicktime plugin to remove unused variables and an unused static function." - * Added to Text::resizeGLObjectBuffers(uint) the follow: - - _textureObjectBuffer.resize(maxSize); - _texParametersDirtyList.resize(maxSize); +Thu, 16 Sep 2010 10:33:51 +0000 +Checked in by : Robert Osfield +From Alexander Wiebel, "I came across some functions in Vec* that I thought could benefit from some doxygen documentation. Additionally, I made the comment on value_type more meaningful (in my opinion)." -2010-08-25 16:59 robert +Thu, 16 Sep 2010 09:49:22 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "I'm resubmitting a slightly different version of the changes you left out for osg/Camera. The ::glName issue masked the fact that the "(..)" isn't handled well in doxygen and leads to "(." in the generated files.I'm also submitting a minor documentation fix to osgGA/DriveManipulator to get +it out of my patch queue ;)" - * Implemented a greedy triangle associate technique to minimize the - number of duplicate vertices required to produce crease angles. -2010-08-25 14:34 robert - * Changed --flat to --flat-shaded to avoid conflict with oiginal - --flat ratio control. +Thu, 16 Sep 2010 09:09:43 +0000 +Checked in by : Robert Osfield +From March Sciabica, "Here is the solution I coded up over the weekend. For improved performance option, I added a flag to control whether the depth writing pass is performed.Since text is alpha-blended when rendering, it is placed in the +transparent bin and rendered back to front. Writing to the depth buffer +should therefore be unnecessary. Indeed, rendering something behind text +(or any blended object) after that object is drawn will give incorrect +results whether the depth buffer is written or not. I therefore think it +is safe to keep this option off by default. Users can turn it on for any +special needs they have. -2010-08-25 11:07 robert +I did not fix the existing backdrop implementations to work with the new +code since this new method of rendering intrinsically handles backdrops +correctly. Its results are more accurate than all of the existing +backdrop implementations. Its only downside is that it requires two +passes if depth buffer updates are desired, whereas DEPTH_RANGE and +POLYGON_OFFSET achieve their (less accurate) results in one pass. The +NO_DEPTH_BUFFER method also only uses one pass, but it disables depth +tests and not depth writes so will have serious problems if anything is +drawn in front of the text before OR after the text is drawn. - * Cleaned up main and introduced --samples , --flat, --smooth - command line controls. - - Add StatsHandler to viewer to enable review of different settings - on number vertices/triangles. +Given the better all-around behavior of the new method, I believe the +other backdrop implementations can be safely removed. Code that adjusts +the backdrop implementation will of course be broken if the member +functions are removed. For this reason I left them in, but set the new +rendering method as the default backdrop implementation. At the very +least I think the old backdrop implementations should be deprecated and +removed at a later date. +" -2010-08-25 11:06 robert +Note from Robert Osfield, testing this submission with osgtext I found that the +text would not render correctly when different text labels were overlapping +in deth and screen space. I change _enableDepthWrites to default to true and +found the that which artifacts still occurred around the alpha blended edges +the artifacts where better than issue with occlusion of nearer pixels that was +happening with _enableDepthWrites set to false.I therefore set the +_enableDepthWrites to true as I feel it's the lesser of the two artefacts. - * Added support for controlling the number of curves samples to - generate on Glyph3D's. Set via - Font3D::setNumberCurveSamples(num). -2010-08-24 16:08 robert - * Implemented the shell geometry code -2010-08-24 16:06 robert +Thu, 16 Sep 2010 08:46:38 +0000 +Checked in by : Robert Osfield +From Mathias Fielder, "i found an issue with the serializer writing shared arrays. At OutputStream::writeArray(), if the currently latest array is shared the full array content will be written. The following code snippet will reproduce this issue:Code: - * Added "SORT_BACK_TO_FRONT" and "SORT_FRONT_TO_BACK" RenderBin's - to default prototype list +osg::Vec2 vec(0.f, 0.f); +osg::Array* sharedArray = new osg::Vec2Array(1, & vec); -2010-08-24 14:22 robert +// create 2 geometries sharing same array +osg::Geometry* geom0 = new osg::Geometry; +osg::Geometry* geom1 = new osg::Geometry; +geom0->setVertexArray(sharedArray); +geom1->setVertexArray(sharedArray); - * Refactored 3d text geometry creation code so that the text is all - placed in one osg::Geometry. +osg::ref_ptr geode = new osg::Geode; +geode->addDrawable(geom0); +geode->addDrawable(geom1); -2010-08-20 10:24 robert +std::stringstream buffer; - * Fixed bug in handling large osg::Geometry. +// write node +osg::ref_ptr options = new osgDB::Options("Ascii"); +osgDB::ReaderWriter* rw = osgDB::Registry::instance()->getReaderWriterForExtension("osgt"); +osgDB::ReaderWriter::WriteResult wr = rw->writeNode(*geode, buffer, options.get()); -2010-08-19 16:24 robert +// print result; array will be written twice with full content, though with same ID +std::cout << buffer.str() << std::endl; - * Implemented generation of front, back and bevel geometries to - complete the 3d glyphs. +// trying to read back node will print warnings about unmatched properties +osgDB::ReaderWriter::ReadResult rr = rw->readNode(buffer, options.get()); -2010-08-18 11:14 robert - * Improved the detection of problem vetices and associated - triangles -2010-08-17 19:48 robert - * Fixed indentation +To fix this i made a change in OutputStream::writeArray(). +I think the same issue applies to OutputStream::writeObject(). So i made the same change there. +" -2010-08-17 19:48 robert - * Implemented basic duplication of points that sit on sharp edges. -2010-08-17 13:25 mplatings +Wed, 15 Sep 2010 13:24:37 +0000 +Checked in by : Robert Osfield +From Paul de Repentigny, Commented out section of code that didn't work properly - * From Donn Mielcarek: - The fbx plugin won't compile using gcc 4.3.2. I made the - following - minor changes: - - 1. WriterNodeVisitor.cpp needed limits.h added to the headers. - - 2. gcc does not allow structures to be defined inside of - functions, so - I moved the definition of PolygonRef out of the function to a - global - scope (right above the function readMesh). - - I also removed a bunch of embedded carriage returns +Wed, 15 Sep 2010 13:04:35 +0000 +Checked in by : Robert Osfield +Fixed warning -2010-08-17 13:10 robert +Wed, 15 Sep 2010 12:50:16 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "Fix a small typo in present3D usage string" - * Added support for RGTC1 and RGTC2 enums +Wed, 15 Sep 2010 12:00:12 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "Attached are a number of files where I have tried to fix up some of the documentation. I have accumulated them over some time, but rebased onto the subversion trunk." -2010-08-16 15:02 robert +Wed, 15 Sep 2010 11:36:45 +0000 +Checked in by : Robert Osfield +From Laura Cerritelli, "I modified TXPPagedLOD::traverse to prevent the terrain from inappropriately unloading the higher level of detail tiles. It wasn?t updating the frame number of the tile or the range it was traversing, causing PagedLOD::removeExpiredChildren to always consider the range expired." - * From Guillaume Taze, "Here are some bugs fix : - - - missing copy attribute _referenceFrame in ClipNode in copy - constructor - - checked iterators against the end in osgText - - close codec context in ffmpeg plugin to avoid memory leak - - " +Wed, 15 Sep 2010 11:32:51 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've fixed some pen-slips in SharedStateManager.cpp, which writing the last few examples for my to-be-finished book. I also do a minor fix to the share() method to make it work for geodes, too." -2010-08-16 14:54 robert +Wed, 15 Sep 2010 11:27:31 +0000 +Checked in by : Robert Osfield +From Lukasz Izdebski, "I made some changes in OcclusionQueryNode file. I move declaration of classes TestResult, QueryGeometry from cpp to header file and made a void createSupportNodes() a virtual method.Now is possible to inherit from class OcclusionQueryNode." - * From Maria Ten, "Importing 3ds files with a texture for the - diffuse component and other one for opacity does not work with - the osg 3ds plugin. In the attached file, there is a fix to solve - this issue but it does not support textures without alpha channel - in the opacity component (like black and white textures used in - 3ds max to achieve the transparency). There is attached a test - 3ds file too. - " -2010-08-16 14:39 robert - * From Wang Rui, "Attachment is the implementation of the writing - operation of the TGA - format. I wrote it just for one of my client. At present it only - outputs uncompressed RGBA images, but the OSG community can go - deeper - at any time." +Wed, 15 Sep 2010 11:10:10 +0000 +Checked in by : Robert Osfield +Renamed file3ds and options member variables to _file3ds and _options to avoid confusion and keep the code consistent with the rest of the class/OSG.Added _option parameter to writeImageFile(..) call. -2010-08-16 14:24 robert - * Added material setName. -2010-08-16 14:14 robert - * Added support for USE_RGBT1_COMPRESSION and USE_RGBT2_COMPRESSION +Wed, 15 Sep 2010 10:50:24 +0000 +Checked in by : Robert Osfield +From Todd Furlong, "I made a couple of changes to the osgFX::Outline class (SVN patch attached). I had a couple of issues with it that I was trying to resolve:1. When an outline object was occluded by another object, the backfacing wireframe was exposed. To fix that, I removed the disabling of GL_DEPTH_TEST. -2010-08-16 14:11 robert +2. In some cases, the outline color was the same color as the geometry being drawn instead of the specified color. I'm not sure I have completely fixed this issue, but I did make some changes to match up to how we do a scribe effect." - * From Lukasz Izdebski, "Texture: added support for - GL_EXT_texture_compression_rgtc, I added support (read and write - ) for BC4 BC5 Block Compression to dds file format." -2010-08-16 11:03 robert - * Changed setTransformation(eye, center, up) paramter ordering to - match gluLookAt conventions. +Wed, 15 Sep 2010 10:24:59 +0000 +Checked in by : Robert Osfield +Added https, ftp and ftps to list of supported server protocols, and add ability for curl plugin to ignore the need for a server address when .curl extension is used. -2010-08-16 10:11 robert +Wed, 15 Sep 2010 09:56:16 +0000 +Checked in by : Robert Osfield +From Jan Peciva, "please, find attached improved Stencil and StencilTwoSided classes.Goals: +- to handle INCR_WRAP values nicely if not supported by OpenGL (old hardware) +- to support two side stenciling of OpenGL 2.0. Current implementation does not work on ATI as it uses Nvidia extension. - * From Bradley Anderegg, "I fixed a problem with a stack overflow - error in Particle.cpp. When the hexagon particle renders it does - a glPushMatrix with no matching glPopMatrix, I simply added a - glPopMatrix at the end of the rendering code." +Ready for commit: +- Stencil and Stencil.cpp - please, review them -2010-08-16 09:35 robert +Ready with "hack": +- StencilTwoSided.cpp: please, see the line 113 in apply(): - * From Alexander Wiebel, "Documentation of PrimitiveSet" + glEnable(GL_STENCIL_TEST_TWO_SIDE); -2010-08-09 17:02 robert +This line used to be in getModeUsage() as - * From David Fries, merge from a series of related submission - emails: - - "enable thread locking in libavcodec - - This is required for a multithreaded application using ffmpeg - from - another thread." - - "Prevent the audio from videos from hanging on exit if they are - paused. - The video decoder already has similar logic." - - "Add a way to retrieve the creation time for MPEG-4 files." - - "fmpeg, improve wait for close logic - - Both audio and video destructors have been succesfully using the - logic, - if(isRunning()) - { - m_exit = true; - join(); - } - since it was introduced, - - but the close routines are using, - m_exit = true; - if(isRunning() && waitForThreadToExit) - { - while(isRunning()) { OpenThreads::Thread::YieldCurrentThread(); } - } - which not only is it doing an unnecessary busy wait, but it - doesn't - guaranteed that the other thread has terminated, just that it has - progressed far enough that OpenThreads has set the thread status - as - not running. Like the destructor set the m_exit after checking - isRunning() to avoid the race condition of not getting to join() - because the thread was running, but isRunning() returns false. - - Now that FFmpeg*close is fixed, call it from the destructor as - well - to have that code in only one location." + usage.usesMode(GL_STENCIL_TEST_TWO_SIDE); -2010-08-09 16:19 robert +but it produces OpenGL errors on ATI as it is unknown value there (it is Nvidia extension). +Problems with my "glEnable" solution: +- it enables two side stenciling forever, and it will disturb any other single-side stenciling in the scene graph. +" - * Aded option for doing a glFlush() after compiling texture - objects, with a dedicated compile thread default to issuing the - glFlush. -2010-08-09 16:14 robert - * Cleaned up the inline methods +Wed, 15 Sep 2010 09:24:45 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've changed it back to _alive, _current_size and _current_alpha, and placed them one by one for setTexCoordPointer() to use.All size() methods are now renamed to volume(). At present only the CompositePlacer will use it for randomly choose a place according to the volumes of all children. + " -2010-08-08 15:45 robert - * From Stephan Huber, "attached you'll find a small enhancement for - GraphicsWindowCocoa, so - osgViewer behaves smarter, when the computer will reboot or - shutdown. In - older versions the reboot/shutdown got cancelled by - GraphicsWindowCocoa, - now it behaves more system conform. - " -2010-08-08 15:44 robert +Tue, 14 Sep 2010 15:47:29 +0000 +Checked in by : Robert Osfield +Form Wang Rui, "An initial GLSL shader support of rendering particles. Only the POINT type is supported at present. The attached osgparticleshader.cpp will show how it works. It can also be placed in the examples folder. But I just wonder how this example co-exists with another two (osgparticle and osgparticleeffect)?Member variables in Particle, including _alive, _current_size and +_current_alpha, are now merged into one Vec3 variable. Then we can +make use of the set...Pointer() methods to treat them as vertex +attribtues in GLSL. User interfaces are not changed. - * Removed the erroneous subclassing from osg::Observer +Additional methods of ParticleSystem are introduced, including +setDefaultAttributesUsingShaders(), setSortMode() and +setVisibilityDistance(). You can see how they work in +osgparticleshader.cpp. -2010-08-08 15:34 robert +Additional user-defined particle type is introduced. Set the particle +type to USER and attach a drawable to the template. Be careful because +of possible huge memory consumption. It is highly suggested to use +display lists here. - * From Farshid Lashkari, "This patch simply reduces some messages - output in osg::Program from NOTICE to INFO, since they are not - important for most users." +The ParticleSystemUpdater can accepts ParticleSystem objects as child +drawables now. I myself think it is a little simpler in structure, +than creating a new geode for each particle system. Of course, the +latter is still compatible, and can be used to transform entire +particles in the world. -2010-08-08 15:32 robert +New particle operators: bounce, sink, damping, orbit and explosion. +The bounce and sink opeartors both use a concept of domains, and can +simulate a very basic collision of particles and objects. - * From Cedric Pinson, "I used the lod of the texture manager to - track the instance, and it - seems that the number of current active texture is wrong. It's - because - of the line in - Texture::TextureObjectSet::flushDeletedTextureObjects - - _parent->getNumberActiveTextureObjects() += numDeleted;" +New composite placer. It contains a set of placers and emit particles +from them randomly. The added virtual method size() of each placer +will help determine the probability of generating. -2010-08-04 08:35 cedricpinson +New virtual method operateParticles() for the Operator class. It +actually calls operate() for each particle, but can be overrode to use +speedup techniques like SSE, or even shaders in the future. - * From Rob Smith, makes hardware skinning use of the existing - stateset +Partly fix a floating error of 'delta time' in emitter, program and +updaters. Previously they keep the _t0 variable seperately and compute +different copies of dt by themseleves, which makes some operators, +especially the BounceOperator, work incorrectly (because the dt in +operators and updaters are slightly different). Now a getDeltaTime() +method is maintained in ParticleSystem, and will return the unique dt +value (passing by reference) for use. This makes thing better, but +still very few unexpected behavours at present... -2010-07-31 10:33 robert +All dotosg and serialzier wrappers for functionalities above are provided. - * From Jan Peciva, "I am sending pov plugin for exporting scene to - POV-Ray format. - POV-Ray is photorealistic ray tracer." +... -2010-07-31 10:22 robert +According to some simple tests, the new shader support is slightly +efficient than ordinary glBegin()/end(). That means, I haven't got a +big improvement at present. I think the bottlenack here seems to be +the cull traversal time. Because operators go through the particle +list again and again (for example, the fountain in the shader example +requires 4 operators working all the time). - * From Jeremy Moles, "The version of GCC I use (4.4.3-4ubuntu5) - gives the following warning - about the Observer header: - - /home/cubicool/local/include/osg/Observer: In copy constructor - ?osg::ObserverSet::ObserverSet(const osg::ObserverSet&)?: - /home/cubicool/local/include/osg/Observer:66: warning: base class - ?class - osg::Referenced? should be explicitly initialized in the copy - constructor - - I've been fixing this by hand by using the attached Observer - header; it - does exactly what the warning requests. Purely cosmetic, I - believe, but - other than that OSG seems to compile w/ -W -Wall just fine." +A really ideal solution here is to implement the particle operators in +shaders, too, and copy the results back to particle attributes. The +concept of GPGPU is good for implementing this. But in my opinion, the +Camera class seems to be too heavy for realizing such functionality in +a particle system. Myabe a light-weight ComputeDrawable class is +enough for receiving data as textures and outputting the results to +the FBO render buffer. What do you think then? -2010-07-31 10:20 robert +The floating error of emitters +(http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2009-May/028435.html) +is not solved this time. But what I think is worth testing is that we +could directly compute the node path from the emitter to the particle +system rather than multiplying the worldToLocal and LocalToWorld +matrices. I'll try this idea later. +" - * From Farshid Lashkari, "I noticed that some of my applications - output the following notification message: - - no PixelBufferObject 00000000, 00000000 pbo=00000000 - - It's kind of annoying since there is nothing actually wrong. The - message is generated from TextureRectangle::applyTexImage_subload - when it fails to create a pbo, even if the Image object is not - even requesting to use a pbo. This message is not generated by - all the other code in TextureRectangle.cpp & Texture.cpp that - also attempts to create pbo's. I've modified TextureRectangle.cpp - to remove this message, so it is at least consistent with the - other code." -2010-07-31 10:18 robert - * From Warren Macchi, "While tracing texture artifacts with the - 2.9.8 dev release we - uncovered what looks like a type in the "src\osgPlugins\dae\ - daeRMaterials.cpp" file. Line 1094 reads: - - ^^^ - parameters.filter_min = getFilterMode(sampler->getMagfilter()-> - getValue(), false); - - whereas it should read - - ^^^ - parameters.filter_mag = getFilterMode(sampler->getMagfilter()-> - getValue(), false); - " +Tue, 14 Sep 2010 13:19:55 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "not sure how severe this is but I believe there's a bug in Texture.cpp:applyTexImage2D_subload: +unsigned char* data = = (unsigned char*)image->data(); +if (needImageRescale) { + // allocates rescale buffer + data = new unsigned char[newTotalSize]; -2010-07-31 10:17 robert + // calls gluScaleImage into the data buffer +} - * From Brad Christiansen, "To build OSG using Visual Studio 2010 - Terrain.cpp requires #include . This is a very common - fix when using 2010 due to changes in Microsoft STL. - " +const unsigned char* dataPtr = image->data(); +// subloads 'dataPtr' -2010-07-31 09:21 robert +// deletes 'data' + - * Fixed build +In effect, the scaled data would never be used. -2010-07-31 09:04 robert +I've also replaced bits of duplicate code in Texture1D/2D/2DArray/3D/Cubemap/Rectangle +that checks if the texture image can/should be unref'd with common functionality in +Texture.cpp. - * From Ryan Kawicki, "I found a memory leak within the Terrex - plugin. - - Out application has the ability to switch to different types of - terrains on the fly. This problem only exists in this type of - situation. - - The TXPArchive is held by the ReadWriterTXP class. When the - TXPNode, which is the top level node, is released from memory, - the archive associated to that TXPNode is also released. The - issue is that the reference count on the TXPArchive never gets to - zero. - - The reason why the reference count never gets to zero is because - the TXPParse, which is owned by the TXPArchive, stores a ref_ptr - to the TXPArchive. You can then see why this becomes a problem. - The TXPParser's ref_ptr cannot be unreferenced since the - TXPArchive has not released the TXPParser. - - Since the TXPParser is fully contained within the TXPArchive, I - don't see the reason to have the TXPParser have a ref_ptr to the - TXPArchive. I've made this change locally and have had no - problems and our memory leak has been fixed. - " +" -2010-07-31 09:03 robert - * From Ryan Kawicki, fixed indentation -2010-07-31 08:57 robert +Tue, 14 Sep 2010 13:19:12 +0000 +Checked in by : Robert Osfield +Moved GL_RED and associated GL defines that aren't defined by GLES into the include/osg/Image to aid portability. - * From Stephan Huber, - "changed the CmakeFiles for OpenThreads and the - osg-frameworks, so they are versioned by - OPENSCENEGRAPH_SOVERSION. " - - And from a later email: - - "Attached you'll find a fixed version of ModulInstall.cmake. - Hopefully it - works for old CMake-versions. I removed the offending line, and - the - compile went fine on my end." +Thu, 9 Sep 2010 16:49:10 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "osgWidget::WindowManager did nothing in its keyUp event, and in particular didn't call any callbacks. Since I wanted to have callbacks on keyUp, I copied what it does on keyDown, which works for me. I could have just used keyDown and saved myself the trouble, but you know me... :-)osgWidget::Input: -2010-07-31 08:56 robert +[Functional changes] +- Previously, the field would be filled with spaces up to its max length, and typing would just replace the spaces. Also, there was a _textLength variable that kept track of the real length of text in the field, since the osgText::Text's length just reflected the length of spaces+text entered. This was not great, as you could still select the spaces with the mouse and it just feels hacky. So I changed it to only contain the text entered, no spaces, and _textLength was removed since it's now redundant (the osgText::Text's length is used instead). +- Fixed the selection size which (visually only) showed one more character selected than what was really selected. +- Fixed selection by dragging the mouse, it would sometimes not select the last character of the string. +- Cursor will now accurately reflect whether insert mode is activated (block cursor) or we're in normal mode (line cursor) like in most editors. +- Implemented Ctrl-X (cut) +- Added a new clear() method that allows the field to be emptied correctly. Useful for a command line interface, for example (hint, hint). +- Mouse and keyboard event handler methods would always return false, which meant selecting with the mouse would also rotate the trackball, and typing an 's' would turn on stats. - * Added output of triangles at problem vertices +[Code cleanup] +- Renamed the (local) _selectionMin and _selectionMax variables which are used in a lot of places, as the underscores would lead to think they were members. Either I called them selection{Min|Max} or delete{Min|Max} where it made more sense. +- Fixed some indenting which was at 3 spaces (inconsistently), I'm sure I didn't catch all the lines where this was the case though. +- Put spaces between variable, operator and value where missing, especially in for()s. Again I only did this where I made changes, there are probably others left. -2010-07-30 19:39 robert +The result is that delete, backspace, Ctrl-X, Ctrl-C, Ctrl-V, and typing behaviour should now be consistent with text editor conventions, whether insert mode is enabled or not. I hope. :-) - * Beginning of crease angle support for SmoothingVisitor to all it - duplicate vertices are creases - thus enabling separate normals for triangles adjacent to the - creases. +Note, there's a nasty const_cast in there. Why isn't osgText::Font::getGlyph() declared const? -2010-07-30 16:06 robert +Also, as a note, the current implementation of cut, copy and paste (in addition to being Windows only, yuck) gets and puts the data into an std::string, thus if the osgText::String in the field contains unicode characters I think it won't work correctly. Perhaps someone could implement a proper clipboard class that would be cross-platform and support osgText::String (more precisely other languages like Chinese) correctly? Cut, copy and paste are not critical to what I'm doing so I won't invest the time to do that, but I just thought I'd mention it. +" - * Changed emit() to emitParticles() to avoid collision with Qt. -2010-07-29 16:09 robert - * From Wang Rui, fixes to handling of indentation. +Thu, 9 Sep 2010 10:44:11 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, "I extended the attached CMAKE module to search for the collada libraries of my VS2008 3rdParty package if no other library is found.No CMAKE should recognize all libraries of the VS2008 3rdParty Package." -2010-07-26 11:12 robert - * Added bevel geometry -2010-07-26 11:06 robert +Thu, 9 Sep 2010 10:17:55 +0000 +Checked in by : Robert Osfield +From Joachim Pouderoux, "Please find attached a very small fix for the DXF reader. The bug made OSG crash with some files. Actually, itr was incremented into the loop and after the test with nlist.end(). Then, the unreferencing of itr when nlist is equals to nlist.end() caused the crash." - * Clean up boudnary code +Thu, 9 Sep 2010 10:14:54 +0000 +Checked in by : Robert Osfield +From Joachim Pouderoux, "I have added the support for wkbMultiPolygon & wkbMultiPolygon25D in the OGR plugin (it was mysteriously missing and no prevent warning messages was print)." -2010-07-26 08:41 robert +Thu, 9 Sep 2010 10:09:31 +0000 +Checked in by : Robert Osfield +From Tassilo Glander, "I want to submit a fix for the plugin to load .x model files (Direct X).The current version crashes when encountering global materials, as also reported in the forum by the author of the plugin. - * Added a os< 3 tokens and "{aMaterial}" -> 1 token), and extracts the material name for the lookup. I don't know if this is the most elegant solution, but the tokenizer seems to split based on white spaces. - * From Sukender: polygon tessellation +You can reproduce the bug with the attached model (box.x), which loads fine in other tools, such as 3DSmax, DeepExploration or the DirectX model viewer. When I remove the curly brackets at the reference of "myGlobalMaterial", it loads in osgviewer, but is not standard conform. +" -2010-07-20 10:46 robert - * Implemented boundary polygon creation based on the refined - boundary segments -2010-07-19 20:34 robert +Thu, 9 Sep 2010 10:03:58 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "this submission adds a "Fast Drawable" line to the camera scene statistics. It shows the total number of sorted and unsorted drawables that use the fastpath for rendering." - * Added boundary bisector computation, bisector intersection - thickness and segment removal. +Thu, 9 Sep 2010 09:47:31 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "I've added a second ctor where no argument is optional, and documented that it's meant to be used when the InteractiveImage is going to be used in a fullscreen HUD. " -2010-07-17 12:03 robert +Thu, 9 Sep 2010 09:05:33 +0000 +Checked in by : Robert Osfield +Added version check for av_lockmgr_register support. - * Added computeIntersectionPoint and computeBisectorNormal - functions +Thu, 9 Sep 2010 08:47:12 +0000 +Checked in by : Robert Osfield +From Nathan Monteleone and Robert Osfield,submission email from Nathan: "I discovered a problem with POINT_ROT_EYE billboards in IntersectionVisitor: because we pass in just the model matrix to Billboard::computeBillboardMatrix, the billboard gets the wrong up vector. It really needs to take the view matrix into account to get the correct up vector. -2010-07-15 11:32 robert +This version of IntersectionVisitor.cpp is made against today's SVN. It corrects the problem by computing the billboard matrix using the complete modelview, and then multiplies by the inverse of the view matrix before pushing onto IntersectionVisitor's model stack. The only code I changed is in apply(Billboard&)." - * Added handling of duplicate vertices +notes from Robert, refactored the matrix multiplication code and the use of RefMatrix to make Nathan's changes more efficient. -2010-07-15 11:31 robert - * Fixed duplicate vertices in Font3D outline generation -2010-07-14 18:50 robert - * Added raw primitive and vertex data into the osgText::Font3D and - FreeTypePlugin to aid development of new 3D text functionality. - - Added new test for original 3D text support and new experimental - code for exploring approaches to new 3D text support. +Wed, 8 Sep 2010 11:02:39 +0000 +Checked in by : Robert Osfield +Cleaned up debug info, and changed Text3D across to using GL_NORMALIZE instead of GL_RESCALE_NORMAL. -2010-07-12 11:30 robert +Wed, 8 Sep 2010 10:46:49 +0000 +Checked in by : Robert Osfield +Added support for honouring PrimitiveSet names in new smoothing algorithm - * From Mathias Froehlich, "I have now put together what I have for - the order independent transparency or - short oit. This rendering technique is also known as depth - peeling. - - Attached is the example that makes depth peeling work with the - fixed function - pipeline. Ok, this is 'old fashioned' but required for our use - case that - still has to work on older UNIX OpenGL implementations as well as - together - with a whole existing application making use of the fixed - function pipeline. - I can imagine to add support for shaders when we have that shader - composition - framework where we can add a second depth test in a generic way. - - This does *not* implement the dual depth peeling described in a - paper from the - ETH Zurich. - - This example could serve as a test case for the feature that you - can on the - fly remove pre render cameras that you made work a few time ago. - It is also a test case for the new TraversalOrderBin that is used - to composite - the depth layers in the correct blend order. - This example also stresses your new texture object cache since - you can change - some parameters for the oit implementation at runtime. - - You can just load any model with osgoit and see how it works. - Use the usual help key to see what you can change. - - There is already an osgdepthpeeling example that I could not - really make sense - of up to now. So I just made something new without touching what - I do not - understand." +Wed, 8 Sep 2010 08:09:01 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, build fixes for Windows -2010-07-10 17:14 robert +Tue, 7 Sep 2010 19:55:41 +0000 +Checked in by : Robert Osfield +Removed files that have been moved into osgText. - * Added debug State::print(std::ostream&) method and extra debug - messages in ShaderComposer and ShaderAttribute. - - Added better shader composition testing in the - osgshadercomposition example. +Tue, 7 Sep 2010 18:20:03 +0000 +Checked in by : Robert Osfield +Moved Glyph and Glyph3D out of Font header/source file into their own header/source file. -2010-07-10 10:07 robert +Tue, 7 Sep 2010 18:18:35 +0000 +Checked in by : Robert Osfield +Moved TextNode into osgText.Cleaned up freetype plugin so it no longer does tesselation - instead Glyph and TextNode do this. - * From Pierre Bourdin, "just a small typo in debug messages of - Viewer.cpp..." -2010-07-10 09:56 robert - * From Michael Platings, "Autodesk have re-released 2011.3 of the - FBX SDK with Visual Studio 2010 support ( - http://images.autodesk.com/adsk/files/fbx20113_fbxsdk_win_static.exe - ). I've attached an updated FindFBX.cmake that supports this - latest version but also retains support for FBX 2011.2 for those - who don't want to update." +Mon, 6 Sep 2010 15:43:59 +0000 +Checked in by : Robert Osfield +Further work on new 3D text support -2010-07-08 10:56 robert +Fri, 3 Sep 2010 15:03:42 +0000 +Checked in by : Robert Osfield +Added basic wiring up of TextTechnique to 3D glyph code - * From Wang Rui, "I've found a minor bug in the cmake script of - src/osgPresentation when testing the osgIntrospection project. It - missed the Export header file and thus will not install this file - while 'make install'. Add a line to the LIB_PUBLIC_HEADERS - variable will fix the issue." +Fri, 3 Sep 2010 09:10:27 +0000 +Checked in by : Robert Osfield +Removed now redundent Font3D files -2010-07-08 10:51 robert +Fri, 3 Sep 2010 09:08:19 +0000 +Checked in by : Robert Osfield +Refactored to use a typedef of Font to Font3D rather than have a separate Font3D class - * From Jean-Sebastien Guay and Martin Scheffler, "First are - Martin's changes: - * Added support for floating windows and context menus in - QMDIAreas. - * Protected the size (_width and _height) by a mutex to prevent - threading problems. - - Then my own: - * Made sure the embedded widget's size follows the graphicsView's - size at all times so that window resizes will resize the widget - as expected in fullscreen mode." +Fri, 3 Sep 2010 08:26:46 +0000 +Checked in by : Robert Osfield +Refactored osgText::Font so that it now supports both 2D and 3D glyphs.Added TextNode.h and TextNode.cpp to examples/osgtext3D in prep for introducing the new node to osgText library -2010-07-07 11:02 robert - * Added some debugging to investigate issue of global default - ShaderAttribute not being automatically assigned. -2010-07-06 12:19 robert +Thu, 2 Sep 2010 07:55:36 +0000 +Checked in by : Robert Osfield +Added to Text::resizeGLObjectBuffers(uint) the follow: _textureObjectBuffer.resize(maxSize); + _texParametersDirtyList.resize(maxSize); - * Added compile/release and resize of GL objects to - ShaderAttribute. - - Removed the StateAttribute::compose() method. - - Fixed the default type value in ShaderAttribute -2010-07-06 10:55 robert - * Added support for passing on uniforms from StateAttribute -2010-07-05 16:32 robert +Wed, 25 Aug 2010 16:59:27 +0000 +Checked in by : Robert Osfield +Implemented a greedy triangle associate technique to minimize the number of duplicate vertices required to produce crease angles. - * Added basic code injection fields to osg::Shader, - creation of main shader to ShaderComposer and - collection of ShaderComponent to osg::State. - Also added very basic shader set up in osgshadecomposition - example. +Wed, 25 Aug 2010 14:34:08 +0000 +Checked in by : Robert Osfield +Changed --flat to --flat-shaded to avoid conflict with oiginal --flat ratio control. -2010-07-02 14:18 robert +Wed, 25 Aug 2010 11:07:30 +0000 +Checked in by : Robert Osfield +Cleaned up main and introduced --samples , --flat, --smooth command line controls.Add StatsHandler to viewer to enable review of different settings on number vertices/triangles. - * Implement basic cache in ShadeComposer -2010-07-02 12:04 robert - * Added basic ShaderComponent class and beginnings - osgshadercomposition example +Wed, 25 Aug 2010 11:06:10 +0000 +Checked in by : Robert Osfield +Added support for controlling the number of curves samples to generate on Glyph3D's. Set via Font3D::setNumberCurveSamples(num). -2010-06-28 17:27 robert +Tue, 24 Aug 2010 16:08:50 +0000 +Checked in by : Robert Osfield +Implemented the shell geometry code - * From Stephan Huber, fixed typo. +Tue, 24 Aug 2010 16:06:31 +0000 +Checked in by : Robert Osfield +Added "SORT_BACK_TO_FRONT" and "SORT_FRONT_TO_BACK" RenderBin's to default prototype list -2010-06-28 09:52 robert +Tue, 24 Aug 2010 14:22:58 +0000 +Checked in by : Robert Osfield +Refactored 3d text geometry creation code so that the text is all placed in one osg::Geometry. - * Added skipping of newlines in AsciiStreamOperator.h +Fri, 20 Aug 2010 10:24:06 +0000 +Checked in by : Robert Osfield +Fixed bug in handling large osg::Geometry. -2010-06-28 08:27 robert +Thu, 19 Aug 2010 16:24:08 +0000 +Checked in by : Robert Osfield +Implemented generation of front, back and bevel geometries to complete the 3d glyphs. - * From Wang Rui, "A solution for serialziers to call static - functions at the end of reading/writing is to use a user - serializer. The serialziers/osgManipulator/Draggers.cpp uses a - DefaultGeometry serializer to run setupDefaultGeometry() once the - reading process is finished, and this can also be applied to load - the TerrainTileCallback. - - I've attached the modified serializer/osgTerrain/TerrainTile.cpp - for tracing and solving current problem." +Wed, 18 Aug 2010 11:14:58 +0000 +Checked in by : Robert Osfield +Improved the detection of problem vetices and associated triangles -2010-06-28 08:24 robert +Tue, 17 Aug 2010 19:48:19 +0000 +Checked in by : Robert Osfield +Fixed indentation - * From Brad Christiansen, "The small change I have made (against - this morning's trunk) enables subclasses to register and - unregister windows via protected methods. I need this access as I - have a subclass that handles some of the oddities of mixing a - native OpenGL window with Java's windowing system. I doubt there - will be much general benefit of the modification but it should - also not be harmful in any way to others." +Tue, 17 Aug 2010 19:48:07 +0000 +Checked in by : Robert Osfield +Implemented basic duplication of points that sit on sharp edges. -2010-06-28 08:20 robert +Tue, 17 Aug 2010 13:25:46 +0000 +Checked in by : Michael PLATINGS +From Donn Mielcarek: The fbx plugin won't compile using gcc 4.3.2. I made the following minor changes:1. WriterNodeVisitor.cpp needed limits.h added to the headers. - * From Torben Dannhauer, "I have extended the attached zipped file - to recognize some more filenames and versions. - I added support to find libxml2 in the 3rdparty package if - available. - - Now this file can find all libraries from the 32/64bit VS2008sp1 - dependency package except collada. I will add that later. - " +2. gcc does not allow structures to be defined inside of functions, so + I moved the definition of PolygonRef out of the function to a global + scope (right above the function readMesh). -2010-06-26 09:55 robert + I also removed a bunch of embedded carriage returns - * Checked in missing source file. -2010-06-24 17:15 robert +Tue, 17 Aug 2010 13:10:18 +0000 +Checked in by : Robert Osfield +Added support for RGTC1 and RGTC2 enums - * Added beginnings of shader composition with the shells of the - ShaderComposer and ShaderAttribute classes. This aren't - functional yet, but a useful placeholders for future - fucntionality. +Mon, 16 Aug 2010 15:02:04 +0000 +Checked in by : Robert Osfield +From Guillaume Taze, "Here are some bugs fix :- missing copy attribute _referenceFrame in ClipNode in copy constructor +- checked iterators against the end in osgText +- close codec context in ffmpeg plugin to avoid memory leak -2010-06-24 15:43 robert +" - * Fixed typo -2010-06-24 14:03 robert - * Renamed osgshadercompositor to osgvirtualprogram. +Mon, 16 Aug 2010 14:54:16 +0000 +Checked in by : Robert Osfield +From Maria Ten, "Importing 3ds files with a texture for the diffuse component and other one for opacity does not work with the osg 3ds plugin. In the attached file, there is a fix to solve this issue but it does not support textures without alpha channel in the opacity component (like black and white textures used in 3ds max to achieve the transparency). There is attached a test 3ds file too. " -2010-06-23 14:38 robert +Mon, 16 Aug 2010 14:39:53 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Attachment is the implementation of the writing operation of the TGA format. I wrote it just for one of my client. At present it only outputs uncompressed RGBA images, but the OSG community can go deeper at any time." - * From Magnus Kessler, "FFmpeg headers need __STDC_CONSTANT_MACROS - defined before stdint.h is loaded. - The file FFmpegHeaders.hpp sets this definition. However, if - stdint.h is - already included through other files, it won't take any effect. - - Include FFmpeg headers as early as possible in order to avoid - stdint.h being - included on other paths. - " +Mon, 16 Aug 2010 14:24:12 +0000 +Checked in by : Robert Osfield +Added material setName. -2010-06-23 14:18 robert +Mon, 16 Aug 2010 14:14:03 +0000 +Checked in by : Robert Osfield +Added support for USE_RGBT1_COMPRESSION and USE_RGBT2_COMPRESSION - * Removed osgIntrospection and added osgQt to doxygen files +Mon, 16 Aug 2010 14:11:49 +0000 +Checked in by : Robert Osfield +From Lukasz Izdebski, "Texture: added support for GL_EXT_texture_compression_rgtc, I added support (read and write ) for BC4 BC5 Block Compression to dds file format." -2010-06-23 13:28 robert +Mon, 16 Aug 2010 11:03:24 +0000 +Checked in by : Robert Osfield +Changed setTransformation(eye, center, up) paramter ordering to match gluLookAt conventions. - * Removed osgIntrospection as it's now available as a seperate - osgIntrospection project that can be checked out thus: - - svn co http://www.openscenegraph.org/svn/osg/osgIntrospection - osgIntrospection +Mon, 16 Aug 2010 10:11:49 +0000 +Checked in by : Robert Osfield +From Bradley Anderegg, "I fixed a problem with a stack overflow error in Particle.cpp. When the hexagon particle renders it does a glPushMatrix with no matching glPopMatrix, I simply added a glPopMatrix at the end of the rendering code." -2010-06-21 16:48 robert +Mon, 16 Aug 2010 09:35:59 +0000 +Checked in by : Robert Osfield +From Alexander Wiebel, "Documentation of PrimitiveSet" - * From Mathias Fiedler, "i'm using OSG on ES 2.0 and observed that - only one texture unit will be supported by OSG. - In State::initializeExtensionProcs() the _glMaxTextureUnits is - calculated based on osg::getGLVersionNumber(). - At least for ES 2.0 this function will return 0.f since the - version string will look like "OpenGL ES 2.0 ...". - - My proposal doesn't touch getGLVersionNumber(), since desktop - OpenGL 2.0 isn't OpenGL ES 2.0. - So i changed the conditions in State::initializeExtensionProcs() - for getting the number via glGetIntegerv()." +Mon, 9 Aug 2010 17:02:31 +0000 +Checked in by : Robert Osfield +From David Fries, merge from a series of related submission emails:"enable thread locking in libavcodec -2010-06-21 15:55 robert +This is required for a multithreaded application using ffmpeg from +another thread." - * From Alberto Luaces, "I have updated a bit the pkg-config system: - - 1. Install the .pc file for osgIntrospection only if it is - compiled, - instead of unconditionally. - - 2. New .pc file for osgQt, also created only if that library is - actually - compiled. - " +"Prevent the audio from videos from hanging on exit if they are paused. +The video decoder already has similar logic." -2010-06-21 15:09 robert +"Add a way to retrieve the creation time for MPEG-4 files." - * Moved Xcode project out into OpenSceneGraph/deprecated +"fmpeg, improve wait for close logic -2010-06-21 14:42 robert +Both audio and video destructors have been succesfully using the logic, +if(isRunning()) +{ + m_exit = true; + join(); +} +since it was introduced, - * Implement support for compound name only entries in - CompositeLayer +but the close routines are using, +m_exit = true; +if(isRunning() && waitForThreadToExit) +{ + while(isRunning()) { OpenThreads::Thread::YieldCurrentThread(); } +} +which not only is it doing an unnecessary busy wait, but it doesn't +guaranteed that the other thread has terminated, just that it has +progressed far enough that OpenThreads has set the thread status as +not running. Like the destructor set the m_exit after checking +isRunning() to avoid the race condition of not getting to join() +because the thread was running, but isRunning() returns false. -2010-06-21 10:33 robert +Now that FFmpeg*close is fixed, call it from the destructor as well +to have that code in only one location." - * Updated version number for next dev release -2010-06-21 10:19 robert - * From Magnus Kessler, "The attached file fixes the build error - reported by Maxim Gammer. In out-of- - source build moc has difficulties with header files that do not - end in ".h". - Force moc to include any files passed to it." -2010-06-18 16:07 robert +Mon, 9 Aug 2010 16:19:50 +0000 +Checked in by : Robert Osfield +Aded option for doing a glFlush() after compiling texture objects, with a dedicated compile thread default to issuing the glFlush. - * Updated ChangeLog and AUTHORS file for 2.9.8 release +Mon, 9 Aug 2010 16:14:25 +0000 +Checked in by : Robert Osfield +Cleaned up the inline methods -2010-06-18 15:48 robert +Sun, 8 Aug 2010 15:45:25 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a small enhancement for GraphicsWindowCocoa, so osgViewer behaves smarter, when the computer will reboot or shutdown. In older versions the reboot/shutdown got cancelled by GraphicsWindowCocoa, now it behaves more system conform. " - * From Laurens Voerman, "While reading the code for - setUpViewFor3DSphericalDisplay I noticed that the top face of the - cube map uses Draw/Read buffer GL_BACK, while all other faces are - using the GL_FRONT buffer. This because the buffer variable is - hidden by a new buffer at lower scope. - Removing the local variable tested (win32 and linux64) and works - fine." +Sun, 8 Aug 2010 15:44:03 +0000 +Checked in by : Robert Osfield +Removed the erroneous subclassing from osg::Observer -2010-06-18 15:46 robert +Sun, 8 Aug 2010 15:34:43 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "This patch simply reduces some messages output in osg::Program from NOTICE to INFO, since they are not important for most users." - * Updated AUTHORS +Sun, 8 Aug 2010 15:32:58 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "I used the lod of the texture manager to track the instance, and it seems that the number of current active texture is wrong. It's because of the line in Texture::TextureObjectSet::flushDeletedTextureObjects_parent->getNumberActiveTextureObjects() += numDeleted;" -2010-06-18 15:16 robert - * Updated ChangeLog -2010-06-18 14:53 robert +Wed, 4 Aug 2010 08:35:49 +0000 +Checked in by : Cedric Pinson +From Rob Smith, makes hardware skinning use of the existing stateset - * Added checks against windows being realized before doing warp - pointer +Sat, 31 Jul 2010 10:33:20 +0000 +Checked in by : Robert Osfield +From Jan Peciva, "I am sending pov plugin for exporting scene to POV-Ray format. POV-Ray is photorealistic ray tracer." -2010-06-18 09:48 robert +Sat, 31 Jul 2010 10:22:37 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, "The version of GCC I use (4.4.3-4ubuntu5) gives the following warning about the Observer header:/home/cubicool/local/include/osg/Observer: In copy constructor +?osg::ObserverSet::ObserverSet(const osg::ObserverSet&)?: +/home/cubicool/local/include/osg/Observer:66: warning: base class ?class +osg::Referenced? should be explicitly initialized in the copy +constructor - * #if 0'd out debugging timing code for detecting deadlocks +I've been fixing this by hand by using the attached Observer header; it +does exactly what the warning requests. Purely cosmetic, I believe, but +other than that OSG seems to compile w/ -W -Wall just fine." -2010-06-18 09:07 robert - * Build fixes for when OSG_USE_REF_PTR_IMPLICIT_OUTPUT is set to - OFF -2010-06-17 15:23 robert +Sat, 31 Jul 2010 10:20:31 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I noticed that some of my applications output the following notification message: no PixelBufferObject 00000000, 00000000 pbo=00000000 - * Fixed warnings +It's kind of annoying since there is nothing actually wrong. The message is generated from TextureRectangle::applyTexImage_subload when it fails to create a pbo, even if the Image object is not even requesting to use a pbo. This message is not generated by all the other code in TextureRectangle.cpp & Texture.cpp that also attempts to create pbo's. I've modified TextureRectangle.cpp to remove this message, so it is at least consistent with the other code." -2010-06-17 14:36 robert - * From Nguyen Van Truong, introduced the use of the ScratchPad when - distributing the master killed message -2010-06-17 14:28 robert +Sat, 31 Jul 2010 10:18:41 +0000 +Checked in by : Robert Osfield +From Warren Macchi, "While tracing texture artifacts with the 2.9.8 dev release we uncovered what looks like a type in the "src\osgPlugins\dae\ daeRMaterials.cpp" file. Line 1094 reads: ^^^ + parameters.filter_min = getFilterMode(sampler->getMagfilter()-> + getValue(), false); - * From Nguyen Van Truong, fix for passing of events to slaves +whereas it should read -2010-06-17 14:18 robert + ^^^ + parameters.filter_mag = getFilterMode(sampler->getMagfilter()-> + getValue(), false); +" - * Added event handling -2010-06-17 11:07 robert - * From Brad Christiansen, "I tried building the latest (as of - Sunday) SVN version of OSG using Visual Studio 2010 and it failed - due to a missing include. The build completed successfully by - adding #include to nodeTrackerManipulator.cpp, which - is attached." +Sat, 31 Jul 2010 10:17:06 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, "To build OSG using Visual Studio 2010 Terrain.cpp requires #include . This is a very common fix when using 2010 due to changes in Microsoft STL. " -2010-06-17 11:03 robert +Sat, 31 Jul 2010 09:21:50 +0000 +Checked in by : Robert Osfield +Fixed build - * From Farshid Lashkari, "I've made a small modification to - osgDB::DynamicLibrary so it can load UTF-8 filenames on Windows." +Sat, 31 Jul 2010 09:04:18 +0000 +Checked in by : Robert Osfield +From Ryan Kawicki, "I found a memory leak within the Terrex plugin.Out application has the ability to switch to different types of terrains on the fly. This problem only exists in this type of situation. -2010-06-17 11:01 robert +The TXPArchive is held by the ReadWriterTXP class. When the TXPNode, which is the top level node, is released from memory, the archive associated to that TXPNode is also released. The issue is that the reference count on the TXPArchive never gets to zero. - * From Jim Vaughan, "The attached file fixes a bug in the Inventor - loader that causes texture images to have r with a value of zero. - - The bug caused the image data to not get copied, size the size - was calculated to be zero. This caused crashes during rendering." +The reason why the reference count never gets to zero is because the TXPParse, which is owned by the TXPArchive, stores a ref_ptr to the TXPArchive. You can then see why this becomes a problem. The TXPParser's ref_ptr cannot be unreferenced since the TXPArchive has not released the TXPParser. -2010-06-16 16:49 robert +Since the TXPParser is fully contained within the TXPArchive, I don't see the reason to have the TXPParser have a ref_ptr to the TXPArchive. I've made this change locally and have had no problems and our memory leak has been fixed. +" - * Fixed bug where PropertyAdjustmentCallback was being added - multiple times. -2010-06-16 15:56 robert - * Changed the default behaviour of computeHomePosition so that it - uses the bounding sphere of the model rather than computing the - bounding box. +Sat, 31 Jul 2010 09:03:04 +0000 +Checked in by : Robert Osfield +From Ryan Kawicki, fixed indentation -2010-06-16 15:56 robert +Sat, 31 Jul 2010 08:57:52 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "changed the CmakeFiles for OpenThreads and the osg-frameworks, so they are versioned by OPENSCENEGRAPH_SOVERSION. "And from a later email: - * Added better handling of when the bounding box computation fails - to return a valid bounding box. +"Attached you'll find a fixed version of ModulInstall.cmake. Hopefully it +works for old CMake-versions. I removed the offending line, and the +compile went fine on my end." -2010-06-16 15:54 robert - * Updated wrappers -2010-06-16 15:53 robert +Sat, 31 Jul 2010 08:56:44 +0000 +Checked in by : Robert Osfield +Added output of triangles at problem vertices - * Added reporting of possible deadlock of paging thread +Fri, 30 Jul 2010 19:39:38 +0000 +Checked in by : Robert Osfield +Beginning of crease angle support for SmoothingVisitor to all it duplicate vertices are creases thus enabling separate normals for triangles adjacent to the creases. -2010-06-16 12:46 robert +Fri, 30 Jul 2010 16:06:22 +0000 +Checked in by : Robert Osfield +Changed emit() to emitParticles() to avoid collision with Qt. - * Re-organized the access of the mutex in Terrain to avoid - deadlocks, and temporarily switched off the update of the - neightbouring tile boundaries within the - GeometryTechnique::generateGeometry method, again to avoid - deadlocks. +Thu, 29 Jul 2010 16:09:49 +0000 +Checked in by : Robert Osfield +From Wang Rui, fixes to handling of indentation. -2010-06-16 08:13 robert +Mon, 26 Jul 2010 11:12:45 +0000 +Checked in by : Robert Osfield +Added bevel geometry - * Added timing code for helping detect deadlocks in the paging - threads +Mon, 26 Jul 2010 11:06:45 +0000 +Checked in by : Robert Osfield +Clean up boudnary code -2010-06-16 08:09 robert +Mon, 26 Jul 2010 08:41:05 +0000 +Checked in by : Robert Osfield +Added a os<setAttribute(Qt::WA_TranslucentBackground) themselves). - - The included osgQtBrowser example has been modified to serve as a - test - bed for these changes. It has lots more command line arguments - than - before, some of which can be removed eventually (once things are - tested). Note that it may be interesting to change its name or - split it - into two examples. Though if things go well, the specific - QWebViewImage - class can be removed completely and we can consolidate to using - QWidgetImage everywhere, and then a single example to demonstrate - it - would make more sense, albeit not named osgQtBrowser... You can - try this - path by using the --useWidgetImage --useBrowser command line - arguments - - this results in an equivalent setup to QWebViewImage, but using - QWidgetImage, and doesn't work completely yet for some unknown - reason, - see below. - - ---------------- - Remaining issues - ---------------- - There are a few issues left to fix, and for these I request the - community's assistance. They are not blockers for me, and with my - limited Qt experience I don't feel like I'm getting any closer to - fixing - them, so if someone else could pitch in and see what they can - find, it - would be appreciated. It would be really nice to get them fixed, - that - way we'd really have a first-class integration of Qt widgets in - an OSG - scene. The issues are noted in the osgQtBrowser.cpp source file, - but - here they are too: - - ------------------------------------------------------------------- - QWidgetImage still has some issues, some examples are: - - 1. Editing in the QTextEdit doesn't work. Also when started with - --useBrowser, editing in the search field on YouTube doesn't - work. But that same search field when using QWebViewImage - works... And editing in the text field in the pop-up getInteger - dialog works too. All these cases use QGraphicsViewAdapter - under the hood, so why do some work and others don't? - - a) osgQtBrowser --useWidgetImage [--fullscreen] (optional) - b) Try to click in the QTextEdit and type, or to select text - and drag-and-drop it somewhere else in the QTextEdit. These - don't work. - c) osgQtBrowser --useWidgetImage --sanityCheck - d) Try the operations in b), they all work. - e) osgQtBrowser --useWidgetImage --useBrowser [--fullscreen] - f) Try to click in the search field and type, it doesn't work. - g) osgQtBrowser - h) Try the operation in f), it works. - - 2. Operations on floating windows (--numFloatingWindows 1 or - more). - Moving by dragging the titlebar, clicking the close button, - resizing them, none of these work. I wonder if it's because the - OS manages those functions (they're functions of the window - decorations) so we need to do something special for that? But - in --sanityCheck mode they work. - - a) osgQtBrowser --useWidgetImage --numFloatingWindows 1 - [--fullscreen] - b) Try to drag the floating window, click the close button, or - drag its sides to resize it. None of these work. - c) osgQtBrowser --useWidgetImage --numFloatingWindows 1 - --sanityCheck - d) Try the operations in b), all they work. - e) osgQtBrowser --useWidgetImage [--fullscreen] - f) Click the button so that the getInteger() dialog is - displayed, then try to move that dialog or close it with the - close button, these don't work. - g) osgQtBrowser --useWidgetImage --sanityCheck - h) Try the operation in f), it works. - - 3. (Minor) The QGraphicsView's scrollbars don't appear when - using QWidgetImage or QWebViewImage. QGraphicsView is a - QAbstractScrollArea and it should display scrollbars as soon as - the scene is too large to fit the view. - - a) osgQtBrowser --useWidgetImage --fullscreen - b) Resize the OSG window so it's smaller than the QTextEdit. - Scrollbars should appear but don't. - c) osgQtBrowser --useWidgetImage --sanityCheck - d) Try the operation in b), scrollbars appear. Even if you have - floating windows (by clicking the button or by adding - --numFloatingWindows 1) and move them outside the view, - scrollbars appear too. You can't test that case in OSG for - now because of problem 2 above, but that's pretty cool. - - 4. (Minor) In sanity check mode, the widget added to the - QGraphicsView is centered. With QGraphicsViewAdapter, it is not. - - a) osgQtBrowser --useWidgetImage [--fullscreen] - b) The QTextEdit and button are not in the center of the image - generated by the QGraphicsViewAdapter. - c) osgQtBrowser --useWidgetImage --sanityCheck - d) The QTextEdit and button are in the center of the - QGraphicsView. - ------------------------------------------------------------------- - - As you can see I've put specific repro steps there too, so it's - clear - what I mean by a given problem. The --sanityCheck mode is useful - to see - what should happen in a "normal" Qt app that demonstrates the - same - situation, so hopefully we can get to a point where it behaves - the same - with --sanityCheck and without." +Mon, 19 Jul 2010 20:34:15 +0000 +Checked in by : Robert Osfield +Added boundary bisector computation, bisector intersection thickness and segment removal. -2010-06-15 10:02 robert +Sat, 17 Jul 2010 12:03:17 +0000 +Checked in by : Robert Osfield +Added computeIntersectionPoint and computeBisectorNormal functions - * From Cedric Pinson, "Here a fix about a leak in - InputStream::decompress - - I changed - _in->setStream( new std::stringstream(data) ); - to - _dataDecompress = new std::stringstream(data); - _in->setStream( _dataDecompress ); - - Then when the destructor is of InputStream is called I delete the - dataDecompress stringstream. - " +Thu, 15 Jul 2010 11:32:31 +0000 +Checked in by : Robert Osfield +Added handling of duplicate vertices -2010-06-15 09:14 robert +Thu, 15 Jul 2010 11:31:07 +0000 +Checked in by : Robert Osfield +Fixed duplicate vertices in Font3D outline generation - * From Michael Platings, "Hi Bob, thanks for the CMake fixes. I'm - not sure what the purpose of the capitalisation changes was so - I've reverted that (a) to make diff-ing easier and (b) because - all-caps is consistent with all the other OSG CMake files. Aside - from that the changes seem fine. - I don't understand the changes to ReaderWriterFBX.cpp - (i) - strings.h isn't a standard header, (ii) the ISO-conformant form - is _strnicmp (with the underscore). Does the existing code not - compile for you? If not we'll have to do some #ifdef nastiness." +Wed, 14 Jul 2010 18:50:41 +0000 +Checked in by : Robert Osfield +Added raw primitive and vertex data into the osgText::Font3D and FreeTypePlugin to aid development of new 3D text functionality.Added new test for original 3D text support and new experimental code for exploring approaches to new 3D text support. -2010-06-15 09:09 mplatings - * Changed _strnicmp to strncasecmp for non-Windows builds -2010-06-14 16:41 robert +Mon, 12 Jul 2010 11:30:15 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "I have now put together what I have for the order independent transparency or short oit. This rendering technique is also known as depth peeling.Attached is the example that makes depth peeling work with the fixed function +pipeline. Ok, this is 'old fashioned' but required for our use case that +still has to work on older UNIX OpenGL implementations as well as together +with a whole existing application making use of the fixed function pipeline. +I can imagine to add support for shaders when we have that shader composition +framework where we can add a second depth test in a generic way. - * From Tan Dunning and Jan Peciva, Jan's email : "I created a new - submission, based on Tan's two changes, including further naming - functionality that includes: - - geode and geometry naming - - shaders and osg::Program name - - as these nodes did not receive names before. Some code cleaning - included as well." +This does *not* implement the dual depth peeling described in a paper from the +ETH Zurich. -2010-06-14 16:30 robert +This example could serve as a test case for the feature that you can on the +fly remove pre render cameras that you made work a few time ago. +It is also a test case for the new TraversalOrderBin that is used to composite +the depth layers in the correct blend order. +This example also stresses your new texture object cache since you can change +some parameters for the oit implementation at runtime. - * From Luc Frauciel, added extra test case accessible via -t 7. +You can just load any model with osgoit and see how it works. +Use the usual help key to see what you can change. -2010-06-14 16:27 robert +There is already an osgdepthpeeling example that I could not really make sense +of up to now. So I just made something new without touching what I do not +understand." - * Introduced the use of atan2 in place of asin/acos for reliability - and simplicity -2010-06-14 15:58 robert - * From Laurens Voerman, "while debugging a file loader I noticed a - missed check here." +Sat, 10 Jul 2010 17:14:59 +0000 +Checked in by : Robert Osfield +Added debug State::print(std::ostream&) method and extra debug messages in ShaderComposer and ShaderAttribute.Added better shader composition testing in the osgshadercomposition example. -2010-06-14 15:28 robert - * From Jean-Sebastien Guay, "Currently, if a GraphicsWindowWin32 is - created with traits->useCursor = false, it still shows the - cursor. An app must call gw->useCursor(false) after having - created the context as a workaround, but I think what we ask for - in the traits should be honored... Attached is a simple fix for - this. - - I have no idea when this stopped working. It worked before in our - 2.6.0-based apps but after the upgrade to 2.8.3 it doesn't - anymore. - " -2010-06-14 15:25 robert +Sat, 10 Jul 2010 10:07:59 +0000 +Checked in by : Robert Osfield +From Pierre Bourdin, "just a small typo in debug messages of Viewer.cpp..." - * From Wang Rui, "For a long time, the osgviewerMFC example uses - addSlave() to setup the - graphics context and link it with a slave camera. I don't know - the - reason we perform like that, which will cause a problem that the - GUIEventHandler may not obtain correct window coordinates because - the - main camera will use a default input range to receive events from - the - slave camera's graphics context. It is also weird to see the - addSlave() used in non-cluster applications, which beginners will - be - confused with. - - I've make a slightly modification to the osgviewerMFC example to - make - it work without setting slave cameras. I've tested with the MDI - framework and everything seems fine." +Sat, 10 Jul 2010 09:56:06 +0000 +Checked in by : Robert Osfield +From Michael Platings, "Autodesk have re-released 2011.3 of the FBX SDK with Visual Studio 2010 support ( http://images.autodesk.com/adsk/files/fbx20113_fbxsdk_win_static.exe ). I've attached an updated FindFBX.cmake that supports this latest version but also retains support for FBX 2011.2 for those who don't want to update." -2010-06-14 15:22 robert +Thu, 8 Jul 2010 10:56:34 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've found a minor bug in the cmake script of src/osgPresentation when testing the osgIntrospection project. It missed the Export header file and thus will not install this file while 'make install'. Add a line to the LIB_PUBLIC_HEADERS variable will fix the issue." - * From Stephan Huber, "the IncrementalCompileOperation-class throws - away compiled compile-sets, - when no compileCompletedCallback is set. Attached you'll find a - simple - fix for this bug." +Thu, 8 Jul 2010 10:51:37 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay and Martin Scheffler, "First are Martin's changes: * Added support for floating windows and context menus in QMDIAreas. * Protected the size (_width and _height) by a mutex to prevent threading problems.Then my own: +* Made sure the embedded widget's size follows the graphicsView's size at all times so that window resizes will resize the widget as expected in fullscreen mode." -2010-06-14 15:21 robert - * From Jan Peciva, change information about failed shader - compilation/linking/validation to OSG_WARN. -2010-06-14 15:20 robert - * From Jan Peciva, additional comments, and standarisation of throw - and handling of mouse wheel. +Wed, 7 Jul 2010 11:02:15 +0000 +Checked in by : Robert Osfield +Added some debugging to investigate issue of global default ShaderAttribute not being automatically assigned. -2010-06-11 09:39 robert +Tue, 6 Jul 2010 12:19:26 +0000 +Checked in by : Robert Osfield +Added compile/release and resize of GL objects to ShaderAttribute.Removed the StateAttribute::compose() method. - * Updated wrappers +Fixed the default type value in ShaderAttribute -2010-06-09 15:05 robert - * Removed debug messages -2010-06-09 13:54 robert +Tue, 6 Jul 2010 10:55:54 +0000 +Checked in by : Robert Osfield +Added support for passing on uniforms from StateAttribute - * Fixed reading of wrapped strings that contain multiple " within - the string +Mon, 5 Jul 2010 16:32:58 +0000 +Checked in by : Robert Osfield +Added basic code injection fields to osg::Shader, creation of main shader to ShaderComposer and collection of ShaderComponent to osg::State. Also added very basic shader set up in osgshadecomposition example. -2010-06-09 13:09 cedricpinson +Fri, 2 Jul 2010 14:18:59 +0000 +Checked in by : Robert Osfield +Implement basic cache in ShadeComposer - * From Michael Platings, The attached file fixes 2 issues: - 1) some time values were passed as floats, reducing accuracy. - 2) comparisons done between doubles and floats gave different - results so time < endtime evaluated to false the first time it - was checked (with doubles), and true the second time it was - checked (with time having been converted to a float). This - consequently resulted in an array-out-of-bounds crash +Fri, 2 Jul 2010 12:04:20 +0000 +Checked in by : Robert Osfield +Added basic ShaderComponent class and beginnings osgshadercomposition example -2010-06-09 13:08 cedricpinson +Mon, 28 Jun 2010 17:27:56 +0000 +Checked in by : Robert Osfield +From Stephan Huber, fixed typo. - * From Michael Platings - I attach a simple fix that makes osgAnimation animations loop - correctly when their duration is different from the original - duration. +Mon, 28 Jun 2010 09:52:18 +0000 +Checked in by : Robert Osfield +Added skipping of newlines in AsciiStreamOperator.h -2010-06-09 11:24 robert +Mon, 28 Jun 2010 08:27:30 +0000 +Checked in by : Robert Osfield +From Wang Rui, "A solution for serialziers to call static functions at the end of reading/writing is to use a user serializer. The serialziers/osgManipulator/Draggers.cpp uses a DefaultGeometry serializer to run setupDefaultGeometry() once the reading process is finished, and this can also be applied to load the TerrainTileCallback.I've attached the modified serializer/osgTerrain/TerrainTile.cpp for tracing and solving current problem." - * Added missing loadWrappers -2010-06-09 10:01 robert - * From Wang Rui, "Henry and Brendan just found a small bug of the - ListSerializer which - will cause the writing of osg::Switch incorrectly. The original - thread - was posted on osg-users. I would like to follow the suggestion of - Brendan and add a std::endl before the END_BRACKET in - ListSerializer::write(). - " +Mon, 28 Jun 2010 08:24:53 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, "The small change I have made (against this morning's trunk) enables subclasses to register and unregister windows via protected methods. I need this access as I have a subclass that handles some of the oddities of mixing a native OpenGL window with Java's windowing system. I doubt there will be much general benefit of the modification but it should also not be harmful in any way to others." -2010-06-09 09:12 mplatings +Mon, 28 Jun 2010 08:20:59 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, "I have extended the attached zipped file to recognize some more filenames and versions. I added support to find libxml2 in the 3rdparty package if available.Now this file can find all libraries from the 32/64bit VS2008sp1 dependency package except collada. I will add that later. +" - * From Alessandro Terenzi: previously the plugin ignored UV scaling - values eventually stored in the FBX file, now they are read and - set for each supported texture map (not considering reflection - maps). - - From Michael Platings: fixed UVs for files that don't explicitly - reference the name of a UV channel. -2010-06-08 17:32 mplatings - * Added support for Euler angles and step/linear/cubic-bezier - interpolation. +Sat, 26 Jun 2010 09:55:18 +0000 +Checked in by : Robert Osfield +Checked in missing source file. -2010-06-08 11:53 robert +Thu, 24 Jun 2010 17:15:27 +0000 +Checked in by : Robert Osfield +Added beginnings of shader composition with the shells of the ShaderComposer and ShaderAttribute classes. This aren't functional yet, but a useful placeholders for future fucntionality. - * Added ref_ptr<> to avoid memory leak +Thu, 24 Jun 2010 15:43:33 +0000 +Checked in by : Robert Osfield +Fixed typo -2010-06-07 17:08 robert +Thu, 24 Jun 2010 14:03:51 +0000 +Checked in by : Robert Osfield +Renamed osgshadercompositor to osgvirtualprogram. - * Added insertion of children found by the CountPagedLODsVisitor - into the childrenRemoved list to make sure that they are caught - and then removed correctly from the PagedLODLists. +Wed, 23 Jun 2010 14:38:49 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "FFmpeg headers need __STDC_CONSTANT_MACROS defined before stdint.h is loaded. The file FFmpegHeaders.hpp sets this definition. However, if stdint.h is already included through other files, it won't take any effect.Include FFmpeg headers as early as possible in order to avoid stdint.h being +included on other paths. +" -2010-06-07 15:25 mplatings - * Added more NURBS types to triangulate. -2010-06-07 11:28 robert +Wed, 23 Jun 2010 14:18:42 +0000 +Checked in by : Robert Osfield +Removed osgIntrospection and added osgQt to doxygen files - * Added size() and swap() methods to provide a thread safe way to - keep track of size of a RequestQueue/ReadQueue. +Wed, 23 Jun 2010 13:28:19 +0000 +Checked in by : Robert Osfield +Removed osgIntrospection as it's now available as a seperate osgIntrospection project that can be checked out thus: svn co http://www.openscenegraph.org/svn/osg/osgIntrospection osgIntrospection -2010-06-07 09:05 robert - * Added removeNodes method to prune any nodes that are going to be - deleted from the PagedLODLists. -2010-06-07 08:36 shuber - * From Stephan Huber: updated XCode project +Mon, 21 Jun 2010 16:48:03 +0000 +Checked in by : Robert Osfield +From Mathias Fiedler, "i'm using OSG on ES 2.0 and observed that only one texture unit will be supported by OSG. In State::initializeExtensionProcs() the _glMaxTextureUnits is calculated based on osg::getGLVersionNumber(). At least for ES 2.0 this function will return 0.f since the version string will look like "OpenGL ES 2.0 ...".My proposal doesn't touch getGLVersionNumber(), since desktop OpenGL 2.0 isn't OpenGL ES 2.0. +So i changed the conditions in State::initializeExtensionProcs() for getting the number via glGetIntegerv()." -2010-06-04 19:50 mplatings - * From Alessandro Terenzi: modifications for supporting opacity, - reflective and emissive maps beyond the already supported diffuse - map in the FBX plugin. - A problem with transparency has also been fixed: objects were - transparent wrt themselves but were opaque wrt to other objects. - Finally I added the support for "mixing factors" of diffuse, - reflective and opacity textures/values. - - From Michael Platings: added "LightmapTextures" plugin option - that changes the way textures are interpreted so Alessandro's - models appear correctly. Also refactored to put many functions in - one class to avoid passing around too many arguments to - functions. -2010-06-04 11:04 shuber +Mon, 21 Jun 2010 15:55:13 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, "I have updated a bit the pkg-config system:1. Install the .pc file for osgIntrospection only if it is compiled, +instead of unconditionally. - * From Stephan Huber: updated XCode project +2. New .pc file for osgQt, also created only if that library is actually +compiled. +" -2010-06-03 16:24 robert - * Fixed double registeration bug. -2010-06-03 16:02 robert +Mon, 21 Jun 2010 15:09:07 +0000 +Checked in by : Robert Osfield +Moved Xcode project out into OpenSceneGraph/deprecated - * Fixed permissions +Mon, 21 Jun 2010 14:42:18 +0000 +Checked in by : Robert Osfield +Implement support for compound name only entries in CompositeLayer -2010-06-03 16:01 robert +Mon, 21 Jun 2010 10:33:46 +0000 +Checked in by : Robert Osfield +Updated version number for next dev release - * Fixed permissions +Mon, 21 Jun 2010 10:19:57 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "The attached file fixes the build error reported by Maxim Gammer. In out-of- source build moc has difficulties with header files that do not end in ".h". Force moc to include any files passed to it." -2010-06-03 16:00 robert +Fri, 18 Jun 2010 16:07:55 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file for 2.9.8 release - * Removed redundent makefiles +Fri, 18 Jun 2010 15:48:50 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "While reading the code for setUpViewFor3DSphericalDisplay I noticed that the top face of the cube map uses Draw/Read buffer GL_BACK, while all other faces are using the GL_FRONT buffer. This because the buffer variable is hidden by a new buffer at lower scope. Removing the local variable tested (win32 and linux64) and works fine." -2010-06-03 15:09 robert +Fri, 18 Jun 2010 15:46:10 +0000 +Checked in by : Robert Osfield +Updated AUTHORS - * Fixed permissions +Fri, 18 Jun 2010 15:16:20 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2010-06-03 15:07 robert +Fri, 18 Jun 2010 14:53:58 +0000 +Checked in by : Robert Osfield +Added checks against windows being realized before doing warp pointer - * Fixed permissions +Fri, 18 Jun 2010 09:48:55 +0000 +Checked in by : Robert Osfield +#if 0'd out debugging timing code for detecting deadlocks -2010-06-03 15:04 robert +Fri, 18 Jun 2010 09:07:17 +0000 +Checked in by : Robert Osfield +Build fixes for when OSG_USE_REF_PTR_IMPLICIT_OUTPUT is set to OFF - * Fixed permissions +Thu, 17 Jun 2010 15:23:44 +0000 +Checked in by : Robert Osfield +Fixed warnings -2010-06-03 14:14 robert +Thu, 17 Jun 2010 14:36:11 +0000 +Checked in by : Robert Osfield +From Nguyen Van Truong, introduced the use of the ScratchPad when distributing the master killed message - * Refactored the PagedLODList implementation so that it's now done - via a base class that enables different implementations to be - easily tried. Initial concrete PagedLODList is the - SetBasedPagedLODList. +Thu, 17 Jun 2010 14:28:16 +0000 +Checked in by : Robert Osfield +From Nguyen Van Truong, fix for passing of events to slaves -2010-06-02 18:09 robert +Thu, 17 Jun 2010 14:18:11 +0000 +Checked in by : Robert Osfield +Added event handling - * Added #include +Thu, 17 Jun 2010 11:07:54 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, "I tried building the latest (as of Sunday) SVN version of OSG using Visual Studio 2010 and it failed due to a missing include. The build completed successfully by adding #include to nodeTrackerManipulator.cpp, which is attached." -2010-06-02 15:07 robert +Thu, 17 Jun 2010 11:03:23 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've made a small modification to osgDB::DynamicLibrary so it can load UTF-8 filenames on Windows." - * Added check for presence of extension. +Thu, 17 Jun 2010 11:01:40 +0000 +Checked in by : Robert Osfield +From Jim Vaughan, "The attached file fixes a bug in the Inventor loader that causes texture images to have r with a value of zero.The bug caused the image data to not get copied, size the size was calculated to be zero. This caused crashes during rendering." -2010-06-02 13:29 robert - * Removed glFramebufferTexture from list of required extension - function -2010-06-02 12:14 robert +Wed, 16 Jun 2010 16:49:45 +0000 +Checked in by : Robert Osfield +Fixed bug where PropertyAdjustmentCallback was being added multiple times. - * Updated wrappers to handle the new - ref_ptr::ref_ptr(observer_ptr&> constructor. +Wed, 16 Jun 2010 15:56:42 +0000 +Checked in by : Robert Osfield +Changed the default behaviour of computeHomePosition so that it uses the bounding sphere of the model rather than computing the bounding box. -2010-06-01 18:20 robert +Wed, 16 Jun 2010 15:56:07 +0000 +Checked in by : Robert Osfield +Added better handling of when the bounding box computation fails to return a valid bounding box. - * Changed types from unsigned int to int's to address warnings, and - changed the extension requirements so the GLES2 builds with FBO's - where supported +Wed, 16 Jun 2010 15:54:24 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-06-01 15:20 robert +Wed, 16 Jun 2010 15:53:57 +0000 +Checked in by : Robert Osfield +Added reporting of possible deadlock of paging thread - * From Michael Platings, "MorphGeometry fix: this fixes a crash - found by Alessandro Terenzi" +Wed, 16 Jun 2010 12:46:16 +0000 +Checked in by : Robert Osfield +Re-organized the access of the mutex in Terrain to avoid deadlocks, and temporarily switched off the update of the neightbouring tile boundaries within the GeometryTechnique::generateGeometry method, again to avoid deadlocks. -2010-06-01 14:12 robert +Wed, 16 Jun 2010 08:13:00 +0000 +Checked in by : Robert Osfield +Added timing code for helping detect deadlocks in the paging threads - * From Frederic Bouvier, "here is my proposal. It is supposed to be - used like this : - - osg::Camera* c = createCamera(); - c->attach( osg::Camera::COLOR_BUFFER0, texture3d, 0, - osg::Camera::FACE_CONTROLLED_BY_GEOMETRY_SHADER ); - - it works also for cubemap textures and 2d texture arrays - " +Wed, 16 Jun 2010 08:09:13 +0000 +Checked in by : Robert Osfield +Re-enabled call to ShareStateManager. -2010-06-01 13:33 robert +Tue, 15 Jun 2010 13:57:44 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "I've been working in the last few days to get QWidgetImage to a point where it can fill a need we have: to be able to use Qt to make HUDs and to display widgets over / inside an OSG scene.--------------- +Current results +--------------- +I've attached what I have at this point. The modified QWidgetImage + +QGraphicsViewAdapter classes can be rendered fullscreen (i.e. the Qt +QGraphicsView's size follows the size of the OSG window) or on a quad in +the scene as before. It will let events go through to OSG if no widget +is under the mouse when they happen (useful when used as a HUD with +transparent parts - a click-focus scheme could be added later too). It +also supercedes Martin Scheffler's submission because it adds a +getter/setter for the QGraphicsViewAdapter's background color (and the +user can set their widget to be transparent using +widget->setAttribute(Qt::WA_TranslucentBackground) themselves). - * From Michael Platings, introduced - osg::State::applyModelViewMaitrx(const osg::Matrix& matrix) - method and associated osg::State::_modelViewCache to enable - osgText::Text3D to be refactored in away that avoids - creating/destroying matrices +The included osgQtBrowser example has been modified to serve as a test +bed for these changes. It has lots more command line arguments than +before, some of which can be removed eventually (once things are +tested). Note that it may be interesting to change its name or split it +into two examples. Though if things go well, the specific QWebViewImage +class can be removed completely and we can consolidate to using +QWidgetImage everywhere, and then a single example to demonstrate it +would make more sense, albeit not named osgQtBrowser... You can try this +path by using the --useWidgetImage --useBrowser command line arguments - +this results in an equivalent setup to QWebViewImage, but using +QWidgetImage, and doesn't work completely yet for some unknown reason, +see below. -2010-06-01 13:32 robert +---------------- +Remaining issues +---------------- +There are a few issues left to fix, and for these I request the +community's assistance. They are not blockers for me, and with my +limited Qt experience I don't feel like I'm getting any closer to fixing +them, so if someone else could pitch in and see what they can find, it +would be appreciated. It would be really nice to get them fixed, that +way we'd really have a first-class integration of Qt widgets in an OSG +scene. The issues are noted in the osgQtBrowser.cpp source file, but +here they are too: - * Added newline to fix warnings +------------------------------------------------------------------- + QWidgetImage still has some issues, some examples are: -2010-06-01 11:51 robert + 1. Editing in the QTextEdit doesn't work. Also when started with + --useBrowser, editing in the search field on YouTube doesn't + work. But that same search field when using QWebViewImage + works... And editing in the text field in the pop-up getInteger + dialog works too. All these cases use QGraphicsViewAdapter + under the hood, so why do some work and others don't? - * From Mathias Froehlich, "While tracking some valgrind problems in - flightgear, I found a remaining off by - one error in the rgb loader. - - Previously we limited the current line to the image with + 1. - With that change - it is correctly limited to the width of the image. - Also flightgear seems to run nice with that change. - " + a) osgQtBrowser --useWidgetImage [--fullscreen] (optional) + b) Try to click in the QTextEdit and type, or to select text + and drag-and-drop it somewhere else in the QTextEdit. These + don't work. + c) osgQtBrowser --useWidgetImage --sanityCheck + d) Try the operations in b), they all work. + e) osgQtBrowser --useWidgetImage --useBrowser [--fullscreen] + f) Try to click in the search field and type, it doesn't work. + g) osgQtBrowser + h) Try the operation in f), it works. -2010-06-01 11:28 robert + 2. Operations on floating windows (--numFloatingWindows 1 or more). + Moving by dragging the titlebar, clicking the close button, + resizing them, none of these work. I wonder if it's because the + OS manages those functions (they're functions of the window + decorations) so we need to do something special for that? But + in --sanityCheck mode they work. - * From Tim Moore, "This is a patch that allows a ref_ptr to be - constructed using an observer_ptr argument, which is locked. This - is shorthand for declaring the ref_ptr and then passing it to - observer_ptr::lock(). - - " + a) osgQtBrowser --useWidgetImage --numFloatingWindows 1 + [--fullscreen] + b) Try to drag the floating window, click the close button, or + drag its sides to resize it. None of these work. + c) osgQtBrowser --useWidgetImage --numFloatingWindows 1 + --sanityCheck + d) Try the operations in b), all they work. + e) osgQtBrowser --useWidgetImage [--fullscreen] + f) Click the button so that the getInteger() dialog is + displayed, then try to move that dialog or close it with the + close button, these don't work. + g) osgQtBrowser --useWidgetImage --sanityCheck + h) Try the operation in f), it works. -2010-06-01 11:23 robert + 3. (Minor) The QGraphicsView's scrollbars don't appear when + using QWidgetImage or QWebViewImage. QGraphicsView is a + QAbstractScrollArea and it should display scrollbars as soon as + the scene is too large to fit the view. - * Removed unneccessary QWebKit includes + a) osgQtBrowser --useWidgetImage --fullscreen + b) Resize the OSG window so it's smaller than the QTextEdit. + Scrollbars should appear but don't. + c) osgQtBrowser --useWidgetImage --sanityCheck + d) Try the operation in b), scrollbars appear. Even if you have + floating windows (by clicking the button or by adding + --numFloatingWindows 1) and move them outside the view, + scrollbars appear too. You can't test that case in OSG for + now because of problem 2 above, but that's pretty cool. -2010-06-01 09:23 robert + 4. (Minor) In sanity check mode, the widget added to the + QGraphicsView is centered. With QGraphicsViewAdapter, it is not. - * From Wang Rui, "The Notify header doesn't include the OSG_ALWAYS - macro, which is used - in the quicktime plugin. The file attached is to fix that small - problem." + a) osgQtBrowser --useWidgetImage [--fullscreen] + b) The QTextEdit and button are not in the center of the image + generated by the QGraphicsViewAdapter. + c) osgQtBrowser --useWidgetImage --sanityCheck + d) The QTextEdit and button are in the center of the + QGraphicsView. +------------------------------------------------------------------- -2010-06-01 09:21 robert +As you can see I've put specific repro steps there too, so it's clear +what I mean by a given problem. The --sanityCheck mode is useful to see +what should happen in a "normal" Qt app that demonstrates the same +situation, so hopefully we can get to a point where it behaves the same +with --sanityCheck and without." - * From Tim Moore, fixed typo and removed redundent include -2010-05-31 17:16 robert - * Updated wrappers -2010-05-31 16:53 robert - * From Torben Dannhauer, "I added radial fog functionality be using - the OpenGL extension 'GL_NV_fog_distance'." +Tue, 15 Jun 2010 10:02:34 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "Here a fix about a leak in InputStream::decompressI changed + _in->setStream( new std::stringstream(data) ); +to + _dataDecompress = new std::stringstream(data); + _in->setStream( _dataDecompress ); -2010-05-31 15:52 robert +Then when the destructor is of InputStream is called I delete the +dataDecompress stringstream. +" - * From Xin Li, "use std::list::splice to replace std::list::insert - and std::list::clear - - it may use the constant time to move all the items in the - '_eventQueue' to 'events', and reduce the mutex holding time" -2010-05-31 15:51 robert - * Added support for a wider range of gpx files +Tue, 15 Jun 2010 09:14:20 +0000 +Checked in by : Robert Osfield +From Michael Platings, "Hi Bob, thanks for the CMake fixes. I'm not sure what the purpose of the capitalisation changes was so I've reverted that (a) to make diff-ing easier and (b) because all-caps is consistent with all the other OSG CMake files. Aside from that the changes seem fine. I don't understand the changes to ReaderWriterFBX.cpp - (i) strings.h isn't a standard header, (ii) the ISO-conformant form is _strnicmp (with the underscore). Does the existing code not compile for you? If not we'll have to do some #ifdef nastiness." -2010-05-28 17:17 robert +Tue, 15 Jun 2010 09:09:38 +0000 +Checked in by : Michael PLATINGS +Changed _strnicmp to strncasecmp for non-Windows builds - * Added OSG_DEBUG_DP macro +Mon, 14 Jun 2010 16:41:32 +0000 +Checked in by : Robert Osfield +From Tan Dunning and Jan Peciva, Jan's email : "I created a new submission, based on Tan's two changes, including further naming functionality that includes: - geode and geometry naming - shaders and osg::Program nameas these nodes did not receive names before. Some code cleaning included as well." -2010-05-28 17:17 robert - * Converted osg::notify to OSG_INFO etc. -2010-05-28 17:16 robert - * Converted osg::notify to OSG_INFO etc. -2010-05-28 17:15 robert +Mon, 14 Jun 2010 16:30:43 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, added extra test case accessible via -t 7. - * Converted osg::notify to OSG_INFO etc. +Mon, 14 Jun 2010 16:27:35 +0000 +Checked in by : Robert Osfield +Introduced the use of atan2 in place of asin/acos for reliability and simplicity -2010-05-28 17:14 robert +Mon, 14 Jun 2010 15:58:26 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "while debugging a file loader I noticed a missed check here." - * Converted osg::notify to OSG_INFO etc. +Mon, 14 Jun 2010 15:28:58 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "Currently, if a GraphicsWindowWin32 is created with traits->useCursor = false, it still shows the cursor. An app must call gw->useCursor(false) after having created the context as a workaround, but I think what we ask for in the traits should be honored... Attached is a simple fix for this.I have no idea when this stopped working. It worked before in our 2.6.0-based apps but after the upgrade to 2.8.3 it doesn't anymore. +" -2010-05-28 17:14 robert - * Converted osg::notify to OSG_INFO etc. -2010-05-28 17:14 robert +Mon, 14 Jun 2010 15:25:05 +0000 +Checked in by : Robert Osfield +From Wang Rui, "For a long time, the osgviewerMFC example uses addSlave() to setup the graphics context and link it with a slave camera. I don't know the reason we perform like that, which will cause a problem that the GUIEventHandler may not obtain correct window coordinates because the main camera will use a default input range to receive events from the slave camera's graphics context. It is also weird to see the addSlave() used in non-cluster applications, which beginners will be confused with.I've make a slightly modification to the osgviewerMFC example to make +it work without setting slave cameras. I've tested with the MDI +framework and everything seems fine." - * Converted osg::notify to OSG_INFO etc. -2010-05-28 17:13 robert - * Converted osg::notify to OSG_INFO etc. +Mon, 14 Jun 2010 15:22:35 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "the IncrementalCompileOperation-class throws away compiled compile-sets, when no compileCompletedCallback is set. Attached you'll find a simple fix for this bug." -2010-05-28 17:13 robert +Mon, 14 Jun 2010 15:21:50 +0000 +Checked in by : Robert Osfield +From Jan Peciva, change information about failed shader compilation/linking/validation to OSG_WARN. - * Converted osg::notify to OSG_INFO etc. +Mon, 14 Jun 2010 15:20:47 +0000 +Checked in by : Robert Osfield +From Jan Peciva, additional comments, and standarisation of throw and handling of mouse wheel. -2010-05-28 17:12 robert +Fri, 11 Jun 2010 09:39:03 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Converted osg::notify to OSG_INFO etc. +Wed, 9 Jun 2010 15:05:34 +0000 +Checked in by : Robert Osfield +Removed debug messages -2010-05-28 17:12 robert +Wed, 9 Jun 2010 13:54:08 +0000 +Checked in by : Robert Osfield +Fixed reading of wrapped strings that contain multiple " within the string - * Converted osg::notify to OSG_INFO etc. +Wed, 9 Jun 2010 13:09:40 +0000 +Checked in by : Cedric Pinson +From Michael Platings, The attached file fixes 2 issues: 1) some time values were passed as floats, reducing accuracy. 2) comparisons done between doubles and floats gave different results so time < endtime evaluated to false the first time it was checked (with doubles), and true the second time it was checked (with time having been converted to a float). This consequently resulted in an array-out-of-bounds crash -2010-05-28 17:11 robert +Wed, 9 Jun 2010 13:08:49 +0000 +Checked in by : Cedric Pinson +From Michael Platings I attach a simple fix that makes osgAnimation animations loop correctly when their duration is different from the original duration. - * Converted osg::notify to OSG_INFO etc. +Wed, 9 Jun 2010 11:24:22 +0000 +Checked in by : Robert Osfield +Added missing loadWrappers -2010-05-28 17:11 robert +Wed, 9 Jun 2010 10:01:25 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Henry and Brendan just found a small bug of the ListSerializer which will cause the writing of osg::Switch incorrectly. The original thread was posted on osg-users. I would like to follow the suggestion of Brendan and add a std::endl before the END_BRACKET in ListSerializer::write(). " - * Converted osg::notify to OSG_INFO etc. +Wed, 9 Jun 2010 09:12:20 +0000 +Checked in by : Michael PLATINGS +From Alessandro Terenzi: previously the plugin ignored UV scaling values eventually stored in the FBX file, now they are read and set for each supported texture map (not considering reflection maps).From Michael Platings: fixed UVs for files that don't explicitly reference the name of a UV channel. -2010-05-28 17:10 robert - * Converted osg::notify to OSG_INFO etc. +Tue, 8 Jun 2010 17:32:36 +0000 +Checked in by : Michael PLATINGS +Added support for Euler angles and step/linear/cubic-bezier interpolation. -2010-05-28 17:10 robert +Tue, 8 Jun 2010 11:53:28 +0000 +Checked in by : Robert Osfield +Added ref_ptr<> to avoid memory leak - * Converted osg::notify to OSG_INFO etc. +Mon, 7 Jun 2010 17:08:53 +0000 +Checked in by : Robert Osfield +Added insertion of children found by the CountPagedLODsVisitor into the childrenRemoved list to make sure that they are caught and then removed correctly from the PagedLODLists. -2010-05-28 17:10 robert +Mon, 7 Jun 2010 15:25:18 +0000 +Checked in by : Michael PLATINGS +Added more NURBS types to triangulate. - * Converted osg::notify to OSG_INFO etc. +Mon, 7 Jun 2010 11:28:25 +0000 +Checked in by : Robert Osfield +Added size() and swap() methods to provide a thread safe way to keep track of size of a RequestQueue/ReadQueue. -2010-05-28 17:09 robert +Mon, 7 Jun 2010 09:05:58 +0000 +Checked in by : Robert Osfield +Added removeNodes method to prune any nodes that are going to be deleted from the PagedLODLists. - * Converted osg::notify to OSG_INFO etc. +Mon, 7 Jun 2010 08:36:08 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project -2010-05-28 17:09 robert +Fri, 4 Jun 2010 19:50:32 +0000 +Checked in by : Michael PLATINGS +From Alessandro Terenzi: modifications for supporting opacity, reflective and emissive maps beyond the already supported diffuse map in the FBX plugin. A problem with transparency has also been fixed: objects were transparent wrt themselves but were opaque wrt to other objects. Finally I added the support for "mixing factors" of diffuse, reflective and opacity textures/values.From Michael Platings: added "LightmapTextures" plugin option that changes the way textures are interpreted so Alessandro's models appear correctly. Also refactored to put many functions in one class to avoid passing around too many arguments to functions. - * Converted osg::notify to OSG_INFO etc. -2010-05-28 17:08 robert +Fri, 4 Jun 2010 11:04:15 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project - * Converted osg::notify to OSG_INFO etc. +Thu, 3 Jun 2010 16:24:25 +0000 +Checked in by : Robert Osfield +Fixed double registeration bug. -2010-05-28 17:08 robert +Thu, 3 Jun 2010 16:02:01 +0000 +Checked in by : Robert Osfield +Fixed permissions - * Converted osg::notify to OSG_INFO etc. +Thu, 3 Jun 2010 16:01:25 +0000 +Checked in by : Robert Osfield +Fixed permissions -2010-05-28 17:07 robert +Thu, 3 Jun 2010 16:00:28 +0000 +Checked in by : Robert Osfield +Removed redundent makefiles - * Converted osg::notify to OSG_INFO etc. +Thu, 3 Jun 2010 15:09:06 +0000 +Checked in by : Robert Osfield +Fixed permissions -2010-05-28 17:07 robert +Thu, 3 Jun 2010 15:07:21 +0000 +Checked in by : Robert Osfield +Fixed permissions - * Converted osg::notify to OSG_INFO etc. +Thu, 3 Jun 2010 15:04:58 +0000 +Checked in by : Robert Osfield +Fixed permissions -2010-05-28 17:07 robert +Thu, 3 Jun 2010 14:14:40 +0000 +Checked in by : Robert Osfield +Refactored the PagedLODList implementation so that it's now done via a base class that enables different implementations to be easily tried. Initial concrete PagedLODList is the SetBasedPagedLODList. - * Converted osg::notify to OSG_INFO etc. +Wed, 2 Jun 2010 18:09:34 +0000 +Checked in by : Robert Osfield +Added #include -2010-05-28 17:06 robert +Wed, 2 Jun 2010 15:07:27 +0000 +Checked in by : Robert Osfield +Added check for presence of extension. - * Converted osg::notify to OSG_INFO etc. +Wed, 2 Jun 2010 13:29:42 +0000 +Checked in by : Robert Osfield +Removed glFramebufferTexture from list of required extension function -2010-05-28 17:06 robert +Wed, 2 Jun 2010 12:14:10 +0000 +Checked in by : Robert Osfield +Updated wrappers to handle the new ref_ptr::ref_ptr(observer_ptr&> constructor. - * Converted osg::notify to OSG_INFO etc. +Tue, 1 Jun 2010 18:20:38 +0000 +Checked in by : Robert Osfield +Changed types from unsigned int to int's to address warnings, and changed the extension requirements so the GLES2 builds with FBO's where supported -2010-05-28 17:05 robert +Tue, 1 Jun 2010 15:20:30 +0000 +Checked in by : Robert Osfield +From Michael Platings, "MorphGeometry fix: this fixes a crash found by Alessandro Terenzi" - * Converted osg::notify to OSG_INFO etc. +Tue, 1 Jun 2010 14:12:03 +0000 +Checked in by : Robert Osfield +From Frederic Bouvier, "here is my proposal. It is supposed to be used like this : osg::Camera* c = createCamera(); + c->attach( osg::Camera::COLOR_BUFFER0, texture3d, 0, +osg::Camera::FACE_CONTROLLED_BY_GEOMETRY_SHADER ); -2010-05-28 16:54 robert +it works also for cubemap textures and 2d texture arrays +" - * Converted osg::notify to OSG_INFO etc. -2010-05-28 16:54 robert - * Converted osg::notify to OSG_INFO etc. +Tue, 1 Jun 2010 13:33:58 +0000 +Checked in by : Robert Osfield +From Michael Platings, introduced osg::State::applyModelViewMaitrx(const osg::Matrix& matrix) method and associated osg::State::_modelViewCache to enable osgText::Text3D to be refactored in away that avoids creating/destroying matrices -2010-05-28 16:53 robert +Tue, 1 Jun 2010 13:32:12 +0000 +Checked in by : Robert Osfield +Added newline to fix warnings - * Converted osg::notify to OSG_INFO etc. +Tue, 1 Jun 2010 11:51:37 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "While tracking some valgrind problems in flightgear, I found a remaining off by one error in the rgb loader.Previously we limited the current line to the image with + 1. With that change +it is correctly limited to the width of the image. +Also flightgear seems to run nice with that change. +" -2010-05-28 16:52 robert - * Converted osg::notify to OSG_INFO etc. -2010-05-28 16:51 robert +Tue, 1 Jun 2010 11:28:04 +0000 +Checked in by : Robert Osfield +From Tim Moore, "This is a patch that allows a ref_ptr to be constructed using an observer_ptr argument, which is locked. This is shorthand for declaring the ref_ptr and then passing it to observer_ptr::lock()." - * Converted osg::notify to OSG_INFO etc. -2010-05-28 16:50 robert - * Converted osg::notify to OSG_INFO etc. +Tue, 1 Jun 2010 11:23:04 +0000 +Checked in by : Robert Osfield +Removed unneccessary QWebKit includes -2010-05-28 16:50 robert +Tue, 1 Jun 2010 09:23:21 +0000 +Checked in by : Robert Osfield +From Wang Rui, "The Notify header doesn't include the OSG_ALWAYS macro, which is used in the quicktime plugin. The file attached is to fix that small problem." - * Converted osg::notify to OSG_INFO etc. +Tue, 1 Jun 2010 09:21:42 +0000 +Checked in by : Robert Osfield +From Tim Moore, fixed typo and removed redundent include -2010-05-28 16:49 robert +Mon, 31 May 2010 17:16:45 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Converted osg::notify to OSG_INFO etc. +Mon, 31 May 2010 16:53:41 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, "I added radial fog functionality be using the OpenGL extension 'GL_NV_fog_distance'." -2010-05-28 16:49 robert +Mon, 31 May 2010 15:52:25 +0000 +Checked in by : Robert Osfield +From Xin Li, "use std::list::splice to replace std::list::insert and std::list::clearit may use the constant time to move all the items in the '_eventQueue' to 'events', and reduce the mutex holding time" - * Converted osg::notify to OSG_INFO etc. -2010-05-28 16:48 robert - * Converted osg::notify to OSG_INFO etc. +Mon, 31 May 2010 15:51:59 +0000 +Checked in by : Robert Osfield +Added support for a wider range of gpx files -2010-05-28 16:48 robert +Fri, 28 May 2010 17:17:34 +0000 +Checked in by : Robert Osfield +Added OSG_DEBUG_DP macro - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 17:17:09 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:47 robert +Fri, 28 May 2010 17:16:49 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 17:15:47 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:45 robert +Fri, 28 May 2010 17:14:58 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 17:14:29 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:44 robert +Fri, 28 May 2010 17:14:11 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 17:13:41 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:44 robert +Fri, 28 May 2010 17:13:20 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 17:12:55 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:42 robert +Fri, 28 May 2010 17:12:14 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 17:11:35 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:42 robert +Fri, 28 May 2010 17:11:14 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 17:10:57 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:41 robert +Fri, 28 May 2010 17:10:27 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 17:10:06 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:41 robert +Fri, 28 May 2010 17:09:36 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 17:09:15 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:39 robert +Fri, 28 May 2010 17:08:30 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 17:08:10 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:39 robert +Fri, 28 May 2010 17:07:44 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 17:07:24 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:38 robert +Fri, 28 May 2010 17:07:01 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 17:06:35 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:38 robert +Fri, 28 May 2010 17:06:10 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 17:05:46 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:37 robert +Fri, 28 May 2010 16:54:45 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:54:08 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:37 robert +Fri, 28 May 2010 16:53:46 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:52:45 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:32 robert +Fri, 28 May 2010 16:51:18 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:50:45 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:32 robert +Fri, 28 May 2010 16:50:29 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:49:45 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:31 robert +Fri, 28 May 2010 16:49:23 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:48:31 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:31 robert +Fri, 28 May 2010 16:48:05 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:47:42 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:30 robert +Fri, 28 May 2010 16:45:32 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:44:28 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:30 robert +Fri, 28 May 2010 16:44:08 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:42:57 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:29 robert +Fri, 28 May 2010 16:42:24 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:41:53 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:28 robert +Fri, 28 May 2010 16:41:37 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:39:42 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:28 robert +Fri, 28 May 2010 16:39:08 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to use info +Fri, 28 May 2010 16:38:19 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:27 robert +Fri, 28 May 2010 16:38:00 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO +Fri, 28 May 2010 16:37:40 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:27 robert +Fri, 28 May 2010 16:37:10 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:32:51 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:26 robert +Fri, 28 May 2010 16:32:06 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:31:38 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:25 robert +Fri, 28 May 2010 16:31:17 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:30:58 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:24 robert +Fri, 28 May 2010 16:30:36 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO +Fri, 28 May 2010 16:29:53 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:22 robert +Fri, 28 May 2010 16:28:58 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:28:18 +0000 +Checked in by : Robert Osfield +Converted osg::notify to use info -2010-05-28 16:10 robert +Fri, 28 May 2010 16:27:37 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO - * Conversion of osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:27:02 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:09 robert +Fri, 28 May 2010 16:26:24 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:25:41 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:08 robert +Fri, 28 May 2010 16:24:04 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:22:02 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:07 robert +Fri, 28 May 2010 16:10:24 +0000 +Checked in by : Robert Osfield +Conversion of osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO +Fri, 28 May 2010 16:09:29 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:07 robert +Fri, 28 May 2010 16:08:15 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:07:34 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO -2010-05-28 16:06 robert +Fri, 28 May 2010 16:07:09 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:06:15 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. -2010-05-28 16:05 robert +Fri, 28 May 2010 16:05:47 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:04:56 +0000 +Checked in by : Robert Osfield +Convertex osg::notify to OSG_INFO etc. -2010-05-28 16:04 robert +Fri, 28 May 2010 16:04:19 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Convertex osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:03:38 +0000 +Checked in by : Robert Osfield +Conversion of osg::notify to OSG_INFO etc. -2010-05-28 16:04 robert +Fri, 28 May 2010 16:03:14 +0000 +Checked in by : Robert Osfield +Converted osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 16:00:45 +0000 +Checked in by : Robert Osfield +converted osg::notify to OSG_INFO etc. -2010-05-28 16:03 robert +Fri, 28 May 2010 15:56:43 +0000 +Checked in by : Robert Osfield +conversion of osg::notify to OSG_INFO etc. - * Conversion of osg::notify to OSG_INFO etc. +Fri, 28 May 2010 15:53:32 +0000 +Checked in by : Robert Osfield +Conversion of osg::notify to OSG_INFO. -2010-05-28 16:03 robert +Fri, 28 May 2010 15:52:45 +0000 +Checked in by : Robert Osfield +Conversion of osg::notify to OSG_INFO etc. - * Converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 15:51:00 +0000 +Checked in by : Robert Osfield +Conversion of osg::notify to OSG_INFO etc. -2010-05-28 16:00 robert +Fri, 28 May 2010 15:47:52 +0000 +Checked in by : Robert Osfield +Convesion of osg::notify to OSG_INFO etc. - * converted osg::notify to OSG_INFO etc. +Fri, 28 May 2010 09:12:07 +0000 +Checked in by : Robert Osfield +Changed debug info to use DEBUG_INFO -2010-05-28 15:56 robert +Fri, 28 May 2010 08:57:48 +0000 +Checked in by : Robert Osfield +Changed the ref_ptr observer_ptr<>::lock() method to be bool observer_ptr<>::lock(ref_ptr&) to avoid the temporary ref_ptr<>'s being created and destroyed on the stack along with the associated ref/unref() operations - * conversion of osg::notify to OSG_INFO etc. +Thu, 27 May 2010 18:46:58 +0000 +Checked in by : Robert Osfield +Refactored the expiry and PagedLOD counting so that it's now done in single CountPagedLODsVisitor::removeExpiredChildrenAndCountPagedLODs method -2010-05-28 15:53 robert +Thu, 27 May 2010 15:54:37 +0000 +Checked in by : Robert Osfield +Renamed osgGA::MatrixManipualtor to osgGA::CameraManipulator so its name better reflects it's function - * Conversion of osg::notify to OSG_INFO. +Thu, 27 May 2010 14:35:10 +0000 +Checked in by : Robert Osfield +From Michael Platings, "Minor ffmpeg build fix, Replaced IF (${FFMPEG_STDINT_INCLUDE_DIR}) with IF (FFMPEG_STDINT_INCLUDE_DIR)" -2010-05-28 15:52 robert +Thu, 27 May 2010 13:59:34 +0000 +Checked in by : Robert Osfield +From Jan Pecvia, improvements to manipulators and added new manipulator to osgviewer - * Conversion of osg::notify to OSG_INFO etc. +Thu, 27 May 2010 13:58:46 +0000 +Checked in by : Robert Osfield +Moved across to using more flexible dirtyMark when dirtying tiles -2010-05-28 15:51 robert +Wed, 26 May 2010 16:10:16 +0000 +Checked in by : Robert Osfield +Re-enabled boundary equalization support. - * Conversion of osg::notify to OSG_INFO etc. +Wed, 26 May 2010 08:34:15 +0000 +Checked in by : Robert Osfield +Fixed warnings -2010-05-28 15:47 robert +Tue, 25 May 2010 17:02:22 +0000 +Checked in by : Robert Osfield +Fixed 3 space indenting - * Convesion of osg::notify to OSG_INFO etc. +Tue, 25 May 2010 17:02:11 +0000 +Checked in by : Robert Osfield +Fixed 3 space indenting in headers. -2010-05-28 09:12 robert +Tue, 25 May 2010 16:27:21 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Changed debug info to use DEBUG_INFO +Tue, 25 May 2010 15:52:11 +0000 +Checked in by : Robert Osfield +Removed export -2010-05-28 08:57 robert +Tue, 25 May 2010 12:05:13 +0000 +Checked in by : Robert Osfield +From Jan Perciva with changes from Robert Osfield, "I am submitting improved osgGA camera manipulators. Changes: - new mouse wheel zoom/movement/center functionality - ability to fix vertical axis (important for CAD) - possibility to specify values as absolute values or relative to model size - kind of backward compatibility by flags passed to constructor - and much more - restructuring classes to use kind of hierarchy and standard way of event processing (handle methods). This way, there is much more code reusability and it is more easy to develop new kinds of manipulators.Briefly, the new architecture keeps MatrixManipulator as base abstract class. StandardManipulator is the feature-rich standard manipulator with two main descendant classes: OrbitManipulator and FirstPersonManipulator. OrbitManipulator is base class for all trackball style manipulators, based on center, rotation and distance from center. FirstPersonManipulator is base for walk or fly style manipulators, using position and rotation for camera manipulation. +" - * Changed the ref_ptr observer_ptr<>::lock() method to be - bool observer_ptr<>::lock(ref_ptr&) to avoid the temporary - ref_ptr<>'s - being created and destroyed on the stack along with the - associated ref/unref() operations +Changes by Robert: Replaced osg::Vec3 by osg::Vec3d, introduced DEFAULT_SETTINGS enum and usage. Added frame time member variables in prep for improving throw animation when vysync is off. -2010-05-27 18:46 robert - * Refactored the expiry and PagedLOD counting so that it's now done - in single - CountPagedLODsVisitor::removeExpiredChildrenAndCountPagedLODs - method -2010-05-27 15:54 robert - * Renamed osgGA::MatrixManipualtor to osgGA::CameraManipulator so - its name better reflects it's function +Mon, 24 May 2010 14:16:31 +0000 +Checked in by : Robert Osfield +Quitened down debug output -2010-05-27 14:35 robert +Mon, 24 May 2010 09:44:38 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Michael Platings, "Minor ffmpeg build fix, Replaced - IF (${FFMPEG_STDINT_INCLUDE_DIR}) - with - IF (FFMPEG_STDINT_INCLUDE_DIR)" +Sat, 22 May 2010 15:45:02 +0000 +Checked in by : Robert Osfield +Refactored osgQt so that QWebViewImage is now entirely implementated in the header, and osgQt itself no longer compiles it, leaving it to only applications that require it to include the header and it's implementation and with ith the QWebKit dependency. -2010-05-27 13:59 robert +Fri, 21 May 2010 09:56:59 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "Reading and Writing of Texture2DArrays for IVE format." - * From Jan Pecvia, improvements to manipulators and added new - manipulator to osgviewer +Fri, 21 May 2010 09:34:25 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "Support for compressed texture arrays + mipmaps + auto mipmap generation. Changes vs OSG trunk. Thanks to Ricardo Corsi I was able to add last time tweaks and remove few issues. This version was so well tested that it has to be posted for inclusion into OSG ;-) " -2010-05-27 13:58 robert +Fri, 21 May 2010 09:23:41 +0000 +Checked in by : Robert Osfield +From Hartwig Wiesmann, fixed setup of texture coordinates for applying a contour layer. - * Moved across to using more flexible dirtyMark when dirtying tiles +Fri, 21 May 2010 09:00:19 +0000 +Checked in by : Robert Osfield +Fixed warning -2010-05-26 16:10 robert +Thu, 20 May 2010 17:02:45 +0000 +Checked in by : Robert Osfield +From Hartwig Wiesmann, "I have added some doxygen documentation to the plane class. " - * Re-enabled boundary equalization support. +Thu, 20 May 2010 17:00:10 +0000 +Checked in by : Robert Osfield +From Terry Welsh, added missing static_cast in Referenced.cpp -2010-05-26 08:34 robert +Thu, 20 May 2010 15:25:40 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Fixed warnings +Thu, 20 May 2010 13:38:28 +0000 +Checked in by : Robert Osfield +Introduced a alternative implementation of observer_ptr<> that uses ObserverSet rather than an local WeakReference object. -2010-05-25 17:02 robert +Wed, 19 May 2010 16:43:37 +0000 +Checked in by : Robert Osfield +From Alok Priyadarshi, build fix for gcc. - * Fixed 3 space indenting +Wed, 19 May 2010 13:40:46 +0000 +Checked in by : Robert Osfield +Introduction an ADD_FUNCTION macro to simply the set up of the static function mappings -2010-05-25 17:02 robert +Wed, 19 May 2010 13:14:57 +0000 +Checked in by : Robert Osfield +From Tim Moore, fix for deadlock - * Fixed 3 space indenting in headers. +Wed, 19 May 2010 08:22:10 +0000 +Checked in by : Robert Osfield +Fixed warning -2010-05-25 16:27 robert +Wed, 19 May 2010 08:08:49 +0000 +Checked in by : Robert Osfield +From Martin Naylor, "Please find attached the modified observer_ptr include for fixing a compiler issue for Windows and VS2008." - * Updated wrappers +Tue, 18 May 2010 18:01:02 +0000 +Checked in by : Robert Osfield +From Tim Moore, typo fix. -2010-05-25 15:52 robert +Tue, 18 May 2010 17:58:35 +0000 +Checked in by : Robert Osfield +Fixed typo - * Removed export +Tue, 18 May 2010 15:33:59 +0000 +Checked in by : Robert Osfield +Added better invalidation of the inactive and active PageLOD lists when children are invalidated when parents are removed. -2010-05-25 12:05 robert +Tue, 18 May 2010 11:00:06 +0000 +Checked in by : Robert Osfield +From Wang Rui, serializers for osgSim and osgVolume - * From Jan Perciva with changes from Robert Osfield, "I am - submitting improved osgGA camera manipulators. - Changes: - - new mouse wheel zoom/movement/center functionality - - ability to fix vertical axis (important for CAD) - - possibility to specify values as absolute values or relative to - model size - - kind of backward compatibility by flags passed to constructor - - and much more - - restructuring classes to use kind of hierarchy and standard way - of event processing (handle methods). This way, there is much - more code reusability and it is more easy to develop new kinds of - manipulators. - - Briefly, the new architecture keeps MatrixManipulator as base - abstract class. StandardManipulator is the feature-rich standard - manipulator with two main descendant classes: OrbitManipulator - and FirstPersonManipulator. OrbitManipulator is base class for - all trackball style manipulators, based on center, rotation and - distance from center. FirstPersonManipulator is base for walk or - fly style manipulators, using position and rotation for camera - manipulation. - " - - Changes by Robert: Replaced osg::Vec3 by osg::Vec3d, introduced - DEFAULT_SETTINGS enum and usage. Added frame time member - variables in prep for improving throw animation when vysync is - off. +Tue, 18 May 2010 10:12:30 +0000 +Checked in by : Robert Osfield +Fixed typos in method names -2010-05-24 14:16 robert +Mon, 17 May 2010 18:37:32 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Quitened down debug output +Mon, 17 May 2010 14:43:41 +0000 +Checked in by : Robert Osfield +From Tim Moore, improved doxygen comments -2010-05-24 09:44 robert +Mon, 17 May 2010 14:21:53 +0000 +Checked in by : Robert Osfield +Removed signalUnreffed interface - * Updated wrappers +Mon, 17 May 2010 09:03:44 +0000 +Checked in by : Robert Osfield +From Tim Moore, refactore WeakReference/Referenced to avoid signalling the observers when do a unref_nodelete. -2010-05-22 15:45 robert +Mon, 17 May 2010 08:29:35 +0000 +Checked in by : Robert Osfield +Re-ordered the inclusion of platform specific headers to fix compile error under Windows - * Refactored osgQt so that QWebViewImage is now entirely - implementated in the header, and osgQt itself no longer compiles - it, - leaving it to only applications that require it to include the - header and it's implementation and with ith the QWebKit - dependency. +Fri, 14 May 2010 19:47:50 +0000 +Checked in by : Robert Osfield +From Alok Priyadarshi, support for statically linking to GLES2.lib -2010-05-21 09:56 robert +Fri, 14 May 2010 12:24:13 +0000 +Checked in by : Robert Osfield +Refactored Observer/ObserverNodePath and DatabasePager to improve their robustness. - * From Wojciech Lewandowski, "Reading and Writing of - Texture2DArrays for IVE format." +Fri, 14 May 2010 12:14:14 +0000 +Checked in by : Robert Osfield +From Tim Moore, new more robust observer_ptr<> implementation -2010-05-21 09:34 robert +Thu, 13 May 2010 11:01:06 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I modified some plugins to use the osgDB file stream functions in order to support UTF-8 encoded filenames." - * From Wojciech Lewandowski, "Support for compressed texture arrays - + mipmaps + auto mipmap generation. Changes vs OSG trunk. Thanks - to Ricardo Corsi I was able to add last time tweaks and remove - few issues. This version was so well tested that it has to be - posted for inclusion into OSG ;-) - " +Thu, 13 May 2010 10:01:07 +0000 +Checked in by : Robert Osfield +From Gunter Huber, fixes for better GLES2 support -2010-05-21 09:23 robert +Wed, 12 May 2010 20:02:31 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I'd like to submit my inbuilt schema data support of the OutputStream/InputStream implementations, which was just finished last weekend with a few tests on Windows and Ubuntu. Hope it could work and get more feedbacks soon.I've added a new option "SchemaData" to the osg2 plugin. Developers +may test the new feature with the command line: - * From Hartwig Wiesmann, fixed setup of texture coordinates for - applying a contour layer. +# osgconv cow.osg cow.osgb -O SchemaData -2010-05-21 09:00 robert +It will record all serializer properties used in the scene graph, at +the beginning of the generated file. And when osgviewer and user +applications is going to read the osgb file, the inbuilt data will be +automatically read and applied first, to keep backwards compatibility +partly. This will not affect osgb files generated with older versions. +" - * Fixed warning -2010-05-20 17:02 robert - * From Hartwig Wiesmann, "I have added some doxygen documentation - to the plane class. - " +Wed, 12 May 2010 15:11:15 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, fixed memory leak when using OpenThread::Mutex based reference counting. -2010-05-20 17:00 robert +Wed, 12 May 2010 14:34:18 +0000 +Checked in by : Robert Osfield +Removed inappropriate code which was causing a memory leak. This code was clearly a copy and paste error. The mistake was spotted by Robin Bourianes, with code changes made by Robert Osfield. - * From Terry Welsh, added missing static_cast in Referenced.cpp +Wed, 12 May 2010 11:58:01 +0000 +Checked in by : Robert Osfield +Improved the indentation/replaced tabs -2010-05-20 15:25 robert +Wed, 12 May 2010 11:44:30 +0000 +Checked in by : Robert Osfield +From Sukender, "Here is a tiny fix about texture wrap mode not being written correctly in 3DS files." - * Updated wrappers +Wed, 12 May 2010 11:41:36 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a fix for a crash when closeImplementation gets called more than once." -2010-05-20 13:38 robert +Wed, 12 May 2010 11:37:27 +0000 +Checked in by : Robert Osfield +Fixes for building OSG with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION set to OFF.Fixed copy and paste error in Camera::getImplicitBufferAttachmentResolveMask(). - * Introduced a alternative implementation of observer_ptr<> that - uses ObserverSet rather than an local WeakReference object. -2010-05-19 16:43 robert - * From Alok Priyadarshi, build fix for gcc. +Wed, 12 May 2010 08:54:22 +0000 +Checked in by : Michael PLATINGS +From Martins Innus: The current fbx writer doesn't seem to support BIND_PER_VERTEX for normals. If you have this type of geometry it, exports the the first normal in the array over the whole primitive set. I don't know that the attached change should be applied as is, since I don't know enough about DrawArrays and Draw Elements to know if the indices for the vertices and normals are guaranteed to be the same. I tried it on a couple models and that seemed to be the case. The alternative is to have the logic down in setControlPointAndNormalsAndUV and set the normals there with the "vertexIndex" if the binding type is per vertex. Not sure what is cleaner. -2010-05-19 13:40 robert +Tue, 11 May 2010 17:02:18 +0000 +Checked in by : Michael PLATINGS +From Martins Innus: allow the fbx exporter to reference textures correctly if the stateset is applied to the Geode instead of Geometry - * Introduction an ADD_FUNCTION macro to simply the set up of the - static function mappings +Tue, 11 May 2010 09:08:55 +0000 +Checked in by : Michael PLATINGS +Fix from Martins Innus for error: extra qualification 'FbxMaterialToOsgStateSet::' on member 'FbxMaterialToOsgStateSet' -2010-05-19 13:14 robert +Fri, 30 Apr 2010 20:04:25 +0000 +Checked in by : Robert Osfield +updated wrappers - * From Tim Moore, fix for deadlock +Fri, 30 Apr 2010 19:42:43 +0000 +Checked in by : Robert Osfield +Added support for stripping all by text nodes from a p3d xml file, and merging of an original and stripped p3d xml file for the purpose of using external editors to fix spelling mistakes -2010-05-19 08:22 robert +Fri, 30 Apr 2010 19:41:56 +0000 +Checked in by : Robert Osfield +Added proper support for writing out Xml graph - * Fixed warning +Fri, 30 Apr 2010 19:41:24 +0000 +Checked in by : Robert Osfield +Fixed warnings -2010-05-19 08:08 robert +Fri, 30 Apr 2010 15:51:38 +0000 +Checked in by : Robert Osfield +Added beginnings of spell checking support - * From Martin Naylor, "Please find attached the modified - observer_ptr include for fixing a compiler - issue for Windows and VS2008." +Fri, 30 Apr 2010 12:22:31 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've just made another OSG+Qt (GUI) examples to demonstrate how to create OSG views, add them to a CompositeViewer, and add corresponding widgets to Qt layouts or as popup windows. The example inherits a GraphicsWindowQt from the GraphicsWindow base class and implements most of the virtual methods. A QGLWidget is created at the same time to perform keyboards and mouse events, who is also added as the main widget's child.The new example, named osgviewerQtContext (because of deriving from GraphicsContext), works fine on Windows XP SP3 and Qt 4.5.0, with 4 widgets in QGridLayout and a popup window and 60Hz frame rate. I haven't tested it on Unix/Linux and Mac OSX yet. So any feedback from these platforms is appreciated. I wish this example be a useful complement to current osgviewerQt and osgviewerQtWidgets ones. :) -2010-05-18 18:01 robert +Some unfinished functionalities: inheritedWindowData, sharedContext, and more tests needed." - * From Tim Moore, typo fix. -2010-05-18 17:58 robert - * Fixed typo +Fri, 30 Apr 2010 11:48:30 +0000 +Checked in by : Robert Osfield +Changed DisplaySetting::instance() to return a ref_ptr<>& rathern than a raw C pointer to enable apps to delete the singleton or assign their own. -2010-05-18 15:33 robert +Fri, 30 Apr 2010 10:52:24 +0000 +Checked in by : Robert Osfield +Added free of _visualInfo if it's already been allocated - * Added better invalidation of the inactive and active PageLOD - lists when children are invalidated when parents are removed. +Fri, 30 Apr 2010 10:51:27 +0000 +Checked in by : Robert Osfield +Changed debug messages to use printf to avoid issues with using notify at startup and exit. -2010-05-18 11:00 robert +Fri, 30 Apr 2010 10:50:17 +0000 +Checked in by : Robert Osfield +Added support for using dot graphs directly in the token - * From Wang Rui, serializers for osgSim and osgVolume +Thu, 29 Apr 2010 15:23:43 +0000 +Checked in by : Robert Osfield +From Bernardt Duvenhage: "I noticed that in 'src/OpenThreads/pthreads/CMakeLists.txt' a '!' has been written instead of 'NOT' within an if statement expression.IF(!OSG_COMPILE_FRAMEWORKS) ... +vs. +IF(NOT OSG_COMPILE_FRAMEWORKS) ... -2010-05-18 10:12 robert +This has the effect of always compiling OpenThreads as a framework under OSX. The CMakeLists.txt that I use to be able to compile the non-framework version of OpenThreads is attached. I simply replaced the '!' replaced by a 'NOT' and added a MESSAGE to notify me when the .framework will be compiled." - * Fixed typos in method names -2010-05-17 18:37 robert - * Updated wrappers +Thu, 29 Apr 2010 11:59:51 +0000 +Checked in by : Robert Osfield +From Michael Platings, "I've updated the FBX plugin to use the latest version of the FBX SDK. I've checked in the plugin files myself, but I need you to check in this change to FindFBX.cmake to change the SDK directory." -2010-05-17 14:43 robert +Thu, 29 Apr 2010 09:46:14 +0000 +Checked in by : Robert Osfield +Fixed handling of Terrain/CoordinateSystem node so that the code now handles the fact that Terrain now subclasses from CoordinateSystemNode. - * From Tim Moore, improved doxygen comments +Wed, 28 Apr 2010 22:08:48 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-05-17 14:21 robert +Wed, 28 Apr 2010 21:22:44 +0000 +Checked in by : Robert Osfield +From Alok Priyadarshi, "1. Replaced APIENTRY to GL_APIENTRY which is used by OpenGL ES headers. For desktop GL GL_APIENTRY has been defined as APIENTRY." - * Removed signalUnreffed interface +Wed, 28 Apr 2010 21:10:29 +0000 +Checked in by : Robert Osfield +Fixed typo -2010-05-17 09:03 robert +Wed, 28 Apr 2010 20:33:40 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Two small bugs were just found when I was writing examples for my book in process: a wrong definition of the OSG_FATAL macro, and wrong logic inside the KeySwitchMatrixManipulator::getDistance() function. I believe both were slips." - * From Tim Moore, refactore WeakReference/Referenced to avoid - signalling the observers when do a unref_nodelete. +Wed, 28 Apr 2010 20:21:28 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "There's a subtle bug in osgDB::getFileExtension where it returns an incorrect value if the filename does not contain an extension but a sub-directory contains a dot character. I've modified the function so that it checks for this case." -2010-05-17 08:29 robert +Wed, 28 Apr 2010 20:16:44 +0000 +Checked in by : Robert Osfield +From Wang Rui, "The osgManipulator serializers are ready now. I need to modify the META_OSGMANIPULATOR_Object macro to ensure these classes could work with their wrappers, and a few naming styles should be changed as well. Fortunately everything seems to compile fine under Windows and my new Ubuntu system.And I finally find the problem of the +serializers/osgTerrain/Terrain.cpp, it just missed an "osg::Group" +before "osg::CoordinateSystemNode" indicator. With the small fix +attached now VPB could generate terrain with osgt/osgb formats." - * Re-ordered the inclusion of platform specific headers to fix - compile error under Windows -2010-05-14 19:47 robert - * From Alok Priyadarshi, support for statically linking to - GLES2.lib +Wed, 28 Apr 2010 20:10:53 +0000 +Checked in by : Robert Osfield +From John Ivar Haugland and Michael Platings, JIV:"I deleted a line from the ReaderWriterDAE.cpp file that was introduced in rev 11341. I got a crash on this line when the options pointer was NULL." MP:"Good spot John. The next line is also unnecessary and can be removed as well (attached, plus some minor code beautifying)" -2010-05-14 12:24 robert +Wed, 28 Apr 2010 18:53:34 +0000 +Checked in by : Robert Osfield +Added support for passing options to the .dot plugin - * Refactored Observer/ObserverNodePath and DatabasePager to improve - their robustness. +Wed, 28 Apr 2010 18:52:58 +0000 +Checked in by : Robert Osfield +Added support for passing in an options string to control the orientation of the generated graph -2010-05-14 12:14 robert +Wed, 28 Apr 2010 17:29:31 +0000 +Checked in by : Robert Osfield +Introduced the use of ref_ptr<> in read show methods - * From Tim Moore, new more robust observer_ptr<> implementation +Wed, 28 Apr 2010 17:18:01 +0000 +Checked in by : Robert Osfield +Removed redundent files -2010-05-13 11:01 robert +Wed, 28 Apr 2010 14:56:38 +0000 +Checked in by : Robert Osfield +Added support for using graphviz dot for graphics visualization via filename token. - * From Farshid Lashkari, "I modified some plugins to use the osgDB - file stream functions in order to support UTF-8 encoded - filenames." +Wed, 28 Apr 2010 14:55:42 +0000 +Checked in by : Robert Osfield +Fixed typo -2010-05-13 10:01 robert +Wed, 28 Apr 2010 14:55:07 +0000 +Checked in by : Robert Osfield +Added colours and different style to drawable and statesets - * From Gunter Huber, fixes for better GLES2 support +Wed, 28 Apr 2010 14:05:47 +0000 +Checked in by : Michael PLATINGS +No longer removes redundant nodes because node structure may be important. -2010-05-12 20:02 robert +Wed, 28 Apr 2010 10:15:16 +0000 +Checked in by : Robert Osfield +Replaced afprintf usage with std::string to fix memory leak and improve portability of code. - * From Wang Rui, "I'd like to submit my inbuilt schema data support - of - the OutputStream/InputStream implementations, which was just - finished - last weekend with a few tests on Windows and Ubuntu. Hope it - could - work and get more feedbacks soon. - - I've added a new option "SchemaData" to the osg2 plugin. - Developers - may test the new feature with the command line: - - # osgconv cow.osg cow.osgb -O SchemaData - - It will record all serializer properties used in the scene graph, - at - the beginning of the generated file. And when osgviewer and user - applications is going to read the osgb file, the inbuilt data - will be - automatically read and applied first, to keep backwards - compatibility - partly. This will not affect osgb files generated with older - versions. - " +Mon, 26 Apr 2010 10:07:49 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated xcode-project -2010-05-12 15:11 robert +Fri, 23 Apr 2010 16:35:44 +0000 +Checked in by : Robert Osfield +From Roland Smeenk and Robert Osfield, improvements to the indentation of comments. - * From Mathias Froehlich, fixed memory leak when using - OpenThread::Mutex based reference counting. +Fri, 23 Apr 2010 09:29:50 +0000 +Checked in by : Robert Osfield +From Hatwig Wiesmann, "osg::TransferFunction1D::assignToImage may assign NaN values to the image in case an underflow inside the method occurs. This underflow can be reproduced by the following call sequence:osg::TransferFunction1D* tf(new osg::TransferFunction1D()); -2010-05-12 14:34 robert +tf->allocate(18); +tf->setColor(-10000,osg::Vec4( 1.0, 1.0, 1.0,1.0)); +tf->setColor(-1e-6,osg::Vec4( 1.0, 1.0, 1.0,1.0)); +tf->setColor( 0,osg::Vec4( 0.0, 0.0, 1.0,1.0)); - * Removed inappropriate code which was causing a memory leak. This - code was clearly a copy and paste error. The mistake was spotted - by Robin Bourianes, with code changes made by Robert Osfield. +Remark: The value -1e-6 may be added (falsely) because of a rounding error. -2010-05-12 11:58 robert +The attached fix prevents assigning NaN values to the image. +" - * Improved the indentation/replaced tabs -2010-05-12 11:44 robert - * From Sukender, "Here is a tiny fix about texture wrap mode not - being written correctly in 3DS files." +Fri, 23 Apr 2010 08:58:57 +0000 +Checked in by : Robert Osfield +Fixed warnings -2010-05-12 11:41 robert +Fri, 23 Apr 2010 08:55:23 +0000 +Checked in by : Robert Osfield +From Mourad Boufarguine, "This submissions fixes the problem of the difference of std::*::size_type between 32bit and 64 bit platforms. It wraps the reading and writing of std::*::size_type values using the osgDB::InputStream::readSize and osgDB::OutputStream::writeSize methods." - * From Stephan Huber, "attached you'll find a fix for a crash when - closeImplementation gets - called more than once." +Thu, 22 Apr 2010 17:02:22 +0000 +Checked in by : Robert Osfield +From Marcin Hajder, "This submission contains Texture2DMultisample osg implementation.Texture2DMultismaple as name suggests provides means to directly access subsamples of rendered FBO target. (GLSL 1.5 texelFetch call). -2010-05-12 11:37 robert +Recently I was working on deferred renderer with OSG, during that I noticed there is no support for multisampled textures (GL_ARB_texture_multisample extension). After consultations with Paul Martz and Wojtek Lewandowski I added Texture2DMultisample class and made few necessary changes around osg::FrameBufferObject, osg::Texture and osgUtil::RenderStage classes." - * Fixes for building OSG with - OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION set to OFF. - - Fixed copy and paste error in - Camera::getImplicitBufferAttachmentResolveMask(). +and from follow email: -2010-05-12 08:54 mplatings +"Fixed. According to ARB_texture_multisample extension specification multisample textures don't need TexParameters since they can only be fetched with texelFetch." - * From Martins Innus: The current fbx writer doesn't seem to - support BIND_PER_VERTEX for normals. If you have this type of - geometry it, exports the the first normal in the array over the - whole primitive set. I don't know that the attached change should - be applied as is, since I don't know enough about DrawArrays and - Draw Elements to know if the indices for the vertices and normals - are guaranteed to be the same. I tried it on a couple models and - that seemed to be the case. The alternative is to have the logic - down in setControlPointAndNormalsAndUV and set the normals there - with the "vertexIndex" if the binding type is per vertex. Not - sure what is cleaner. -2010-05-11 17:02 mplatings - * From Martins Innus: allow the fbx exporter to reference textures - correctly if the stateset is applied to the Geode instead of - Geometry -2010-05-11 09:08 mplatings - * Fix from Martins Innus for error: extra qualification - 'FbxMaterialToOsgStateSet::' on member 'FbxMaterialToOsgStateSet' +Thu, 22 Apr 2010 16:08:26 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've attached a small fix so that osgDB::convertStringFromUTF8toCurrentCodePage actually performs the conversion onto the destination string." -2010-04-30 20:04 robert +Thu, 22 Apr 2010 16:01:38 +0000 +Checked in by : Robert Osfield +From Alok Priyadashi, "The attached patch fixes - compile errors on windows when compiled with UNICODE flag - warnings for duplicate WIN32_LEAN_AND_MEAN. I think this should better fixed by adding WIN32_LEAN_AND_MEAN to vcproj preprocessor list." - * updated wrappers +Thu, 22 Apr 2010 13:07:49 +0000 +Checked in by : Robert Osfield +From John Ivar Haugland, "I have added the serializer for UserData in osg::Object. See the attached modified file: src\osgWrappers\serializers\osg\Object.cpp" -2010-04-30 19:42 robert +Thu, 22 Apr 2010 11:20:31 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, and AUTHORS files - * Added support for stripping all by text nodes from a p3d xml - file, and merging of an original and stripped p3d xml file for - the purpose of using external editors to fix spelling mistakes +Thu, 22 Apr 2010 10:13:05 +0000 +Checked in by : Robert Osfield +From Tim Moore, added check to whether validConfigs is empty. -2010-04-30 19:41 robert +Thu, 22 Apr 2010 08:59:52 +0000 +Checked in by : Robert Osfield +Added a temporary /* */ around the check against _traits->vsync to avoid the errors reported with the current usage of RestoreContext for setting the vsync. - * Added proper support for writing out Xml graph +Thu, 22 Apr 2010 07:32:11 +0000 +Checked in by : Robert Osfield +From Torben Dannhauer, fixed typo -2010-04-30 19:41 robert +Wed, 21 Apr 2010 17:16:13 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlien with little bits from Robert Osfield and Chris Hanson, added provisionl support for controlling sync to vblank. - * Fixed warnings +Wed, 21 Apr 2010 16:44:38 +0000 +Checked in by : Robert Osfield +Changed "Sorted" label to "Sorted Drawables" -2010-04-30 15:51 robert +Wed, 21 Apr 2010 16:37:28 +0000 +Checked in by : Robert Osfield +From Mourad Boufarguine, "When compiling the example on VS9, the compiler complain about undefined GL_DEPTH_COMPONENT32F and GL_DEPTH_COMPONENT32F_NV. So I added them to include/osg/FrameBufferObject. The example builds fine and is working for me without crashs unless it is ran whithout argument. I added couple of lines to check for arguments number and print the example usage when needed." - * Added beginnings of spell checking support +Tue, 20 Apr 2010 16:27:54 +0000 +Checked in by : Robert Osfield +From Wang Rui, "The OSG book I'm working on will focus on helping beginners build latest OSG source code with Visual Studio 2010 express, without setting too many options and without facing unexpected errors. But at present, the compilation process will fail because the INSTALL project 'cannot find' generated DLLs while copying files. I have looked into the build directory and found that the places of generated file folders were just different from previous VS versions. In this case, the old hack in OsgMacroUtils.cmake may become invalid:MACRO(HANDLE_MSVC_DLL) + #this is a hack... the build place is set to lib/ by LIBARARY_OUTPUT_PATH equal to OUTPUT_LIBDIR + #the .lib will be crated in ../ so going straight in lib by +the IMPORT_PREFIX property + #because we want dll placed in OUTPUT_BINDIR ie the bin folder +sibling of lib, we can use ../../bin to go there, + ... + ELSE(NOT MSVC_IDE) + SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX +"../../bin/${LIB_PREFIX}${LIB_SOVERSION}-" IMPORT_PREFIX "../") + ENDIF(NOT MSVC_IDE) +ENDMACRO(HANDLE_MSVC_DLL) -2010-04-30 12:22 robert +Here the prefix "../../bin" may need to be fixed. I just modified it to: - * From Wang Rui, "I've just made another OSG+Qt (GUI) examples to - demonstrate how to create OSG views, add them to a - CompositeViewer, and add corresponding widgets to Qt layouts or - as popup windows. The example inherits a GraphicsWindowQt from - the GraphicsWindow base class and implements most of the virtual - methods. A QGLWidget is created at the same time to perform - keyboards and mouse events, who is also added as the main - widget's child. - - The new example, named osgviewerQtContext (because of deriving - from GraphicsContext), works fine on Windows XP SP3 and Qt 4.5.0, - with 4 widgets in QGridLayout and a popup window and 60Hz frame - rate. I haven't tested it on Unix/Linux and Mac OSX yet. So any - feedback from these platforms is appreciated. I wish this example - be a useful complement to current osgviewerQt and - osgviewerQtWidgets ones. :) - - Some unfinished functionalities: inheritedWindowData, - sharedContext, and more tests needed." +IF(MSVC_VERSION LESS 1600) + SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX +"../../bin/${LIB_PREFIX}${LIB_SOVERSION}-" IMPORT_PREFIX "../") +ENDIF() -2010-04-30 11:48 robert +It should keep compatible with old MSVC versions. There are similar +fixes in the SETUP_PLUGIN and SETUP_EXE macros. I haven't tested them +on more platforms. +" - * Changed DisplaySetting::instance() to return a ref_ptr<>& rathern - than a raw C pointer to enable apps to delete the singleton or - assign their own. -2010-04-30 10:52 robert - * Added free of _visualInfo if it's already been allocated +Tue, 20 Apr 2010 13:52:28 +0000 +Checked in by : Robert Osfield +From Serge Lages, "Currently if multiple event callbacks are nested on one node, only the first will be called. The proposed fix checks if there is a nested callback." -2010-04-30 10:51 robert +Tue, 20 Apr 2010 13:34:57 +0000 +Checked in by : Robert Osfield +Implemented Colin MacDonald's recommended change of "unsigned short" to "unsigned" to solve big endian problem under Solaris. Also added comment to highlight the oddity of the mixing of types in the associated lib3ds code. - * Changed debug messages to use printf to avoid issues with using - notify at startup and exit. +Tue, 20 Apr 2010 11:38:38 +0000 +Checked in by : Robert Osfield +Replaced tabs with four spaces -2010-04-30 10:50 robert +Tue, 20 Apr 2010 11:34:19 +0000 +Checked in by : Robert Osfield +UPdated wrappers - * Added support for using dot graphs directly in the - token +Tue, 20 Apr 2010 11:23:08 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "Here is a fix to the curl plugin CMake to allow it to link against the CURL_LIBRARY_DEBUG and ZLIB_LIBRARY_DEBUG. Previously it linked the debug version against the release libs, which was causing a hang when running in debug mode on Windows." -2010-04-29 15:23 robert +Tue, 20 Apr 2010 11:13:27 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "Anaglyphic stereo does not seem to work properly when performing pre-render stages. I believe the reason is that the pre-render stages are performed with the last applied color mask, which is cyan. I've fixed this by resetting the color mask before performing the pre-render stages." - * From Bernardt Duvenhage: "I noticed that in - 'src/OpenThreads/pthreads/CMakeLists.txt' a '!' has been written - instead of 'NOT' within an if statement expression. - - IF(!OSG_COMPILE_FRAMEWORKS) ... - vs. - IF(NOT OSG_COMPILE_FRAMEWORKS) ... - - This has the effect of always compiling OpenThreads as a - framework under OSX. The CMakeLists.txt that I use to be able to - compile the non-framework version of OpenThreads is attached. I - simply replaced the '!' replaced by a 'NOT' and added a MESSAGE - to notify me when the .framework will be compiled." +Tue, 20 Apr 2010 11:05:22 +0000 +Checked in by : Robert Osfield +Fixed the background quad size to fit all the camera stats labels -2010-04-29 11:59 robert +Tue, 20 Apr 2010 10:59:44 +0000 +Checked in by : Robert Osfield +From Tim Moore, "I noticed that the "Materials" statistic in the camera scene stats display seemed to be identical to the number of drawables. In fact, it displays the nummat member of osgUtil::Statistics, but that variable has nothing to do with materials. nummat tracks the number of matrices associated with Drawable objects in a RenderBin; as I understand it, Drawables pretty much always have a model-view matrix tied to them in RenderBins, so this statistic doesn't seem very useful. So, I added statistics for the number of StateGraph objects in RenderBins and also for the number of Drawables in the "fine grain ordering" of RenderBins. The latter corresponds to the number of Drawables in the scene that are sorted by some criteria other than graphics state; usually that is distance for semi-transparent objects, though it could be traversal order. These two statistics give an idea of the number of graphic state changes happening in a visible scene: each StateGraph implies a state change, and there could be a change for each sorted object too. You can also subtract the number of sorted Drawables from the total number of Drawables and get an idea of how many Drawables are being drawn for each StateGraph. " - * From Michael Platings, "I've updated the FBX plugin to use the - latest version of the FBX SDK. I've checked in the plugin files - myself, but I need you to check in this change to FindFBX.cmake - to change the SDK directory." +Tue, 20 Apr 2010 10:35:33 +0000 +Checked in by : Robert Osfield +Changed the AbmientBias type from Vec2d to Vec2 as use of double is inappropriate. -2010-04-29 09:46 robert +Tue, 20 Apr 2010 10:29:04 +0000 +Checked in by : Robert Osfield +From Wang Rui, "The new osgShadow and osgFX serializers are attached, and some modifications of the osgShadow header naming styles as well. The osgDB::Serializer header is also changed to add new Vec2 serializer macros because of the needs of osgShadow classes. It should compile fine on both Windows and Linux. But I have only done a few tests to generate .osgb, .osgt and .osgx formats with these new wrappers." - * Fixed handling of Terrain/CoordinateSystem node so that the code - now handles the fact that Terrain now subclasses from - CoordinateSystemNode. +Tue, 20 Apr 2010 09:48:45 +0000 +Checked in by : Robert Osfield +From Mourad Boufarguine, "This submission fixes osgDAE::toString(*) unresolved external symbols compile errors (on VS)." -2010-04-28 22:08 robert +Mon, 19 Apr 2010 14:49:42 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I noticed that osg::State::getInitialViewMatrix returns the monocular view matrix when rendering in stereo. I've made some changes to osgUtil::RenderStage & SceneView so that it will return the correct view matrix depending on which eye is currently being rendered." & "I made a small change to the previous patch so that osg::State::getInitialViewMatrix works correctly with pre/post render stages as well." - * Updated wrappers +Mon, 19 Apr 2010 13:44:42 +0000 +Checked in by : Robert Osfield +From Stephan Huber and Mathieu Marache, "attached you'll find framework support for os x via cmake. Please credit Mathieu Marache, he added the last missing piece to this puzzle.I think it is safe to commit these changes to trunk, as the traditional +way via dylibs should work as before. -2010-04-28 21:22 robert +Here's some more info how to get frameworks: - * From Alok Priyadarshi, "1. Replaced APIENTRY to GL_APIENTRY which - is used by OpenGL ES - headers. For desktop GL GL_APIENTRY has been defined as - APIENTRY." +With these modifications it is possible to compile frameworks on OS X, +when you set the Cmake-option OSG_COMPILE_FRAMEWORKS to true. If you +want to embed the frameworks in your app-bundle make sure to set +OSG_COMPILE_FRAMEWORKS_INSTALL_NAME_DIR accordingly. -2010-04-28 21:10 robert +You'll have to build the install-target of the generated xcode-projects +as this sets the install_name_dirs of the frameworks and plugins." - * Fixed typo -2010-04-28 20:33 robert - * From Wang Rui, "Two small bugs were just found when I was writing - examples for my book - in process: a wrong definition of the OSG_FATAL macro, and wrong - logic - inside the KeySwitchMatrixManipulator::getDistance() function. I - believe both were slips." +Mon, 19 Apr 2010 12:09:21 +0000 +Checked in by : Robert Osfield +From Martins Innus,"Here's a fix to allow the serializer to compile on the Mac 10.4 SDK. The definition of GLint seems to be different accross the SDKs. Its defined as "long" in 10.4. I have no idea if this is the correct way to go about this, but it compiles on my end." -2010-04-28 20:21 robert +Mon, 19 Apr 2010 11:43:06 +0000 +Checked in by : Robert Osfield +From Tim Moore, "This contains a couple of fixes to support changing FrameBufferObject configurations on the fly; the user changes the camera attachments and calls Renderer::setCameraRequiresSetUp(). The major part of this submission is a comprehensive example of setting up floating point depth buffers. The user can change the near plane value and cycle through the available combinations of depth format and multisample buffer formats." - * From Farshid Lashkari, "There's a subtle bug in - osgDB::getFileExtension where it returns an incorrect value if - the filename does not contain an extension but a sub-directory - contains a dot character. I've modified the function so that it - checks for this case." +Mon, 19 Apr 2010 10:35:18 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Attached is the osgAnimation wrappers for serialize IO operations. A few headers and the osgAnimation sources are also modified to make everything goes well, including:A new REGISTER_OBJECT_WRAPPER2 macro to wrap classes like +Skeleton::UpdateSkeleton. +A bug fix in the Seralizer header which avoids setting default values +to objects. +Naming style fixes in osgAnimation headers and sources, also in the +deprecated dotosg wrappers. +A bug fix for the XML support, to write char values correctly. +A small change in the osg::Geometry wrapper to ignore the +InternalGeometry property, which is used by the MorphGeometry and +should not be set by user applications. -2010-04-28 20:16 robert +The avatar.osg, nathan.osg and robot.osg data files all work fine with +serializers, with some 'unsupported wrapper' warnings when converting. +I'm thinking of removing these warnings by disabling related property +serializers (ComputeBoundingBoxCallback and Drawable::UpdateCallback), +which are seldom recorded by users. - * From Wang Rui, "The osgManipulator serializers are ready now. I - need to modify the - META_OSGMANIPULATOR_Object macro to ensure these classes could - work - with their wrappers, and a few naming styles should be changed as - well. Fortunately everything seems to compile fine under Windows - and - my new Ubuntu system. - - And I finally find the problem of the - serializers/osgTerrain/Terrain.cpp, it just missed an - "osg::Group" - before "osg::CoordinateSystemNode" indicator. With the small fix - attached now VPB could generate terrain with osgt/osgb formats." +By the way, I still wonder how would we handle the C4121 problem, +discussed some days before. The /Zp compile option is set to 16 in the +attached cmake script file. And is there a better solution now?" -2010-04-28 20:10 robert - * From John Ivar Haugland and Michael Platings, - JIV:"I deleted a line from the ReaderWriterDAE.cpp file that was - introduced in rev 11341. I got a crash on this line when the - options pointer was NULL." - MP:"Good spot John. The next line is also unnecessary and can be - removed as well (attached, plus some minor code beautifying)" -2010-04-28 18:53 robert +Mon, 19 Apr 2010 09:39:39 +0000 +Checked in by : Robert Osfield +From Paul Martz, fixes for static build - * Added support for passing options to the .dot plugin +Mon, 19 Apr 2010 08:41:00 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project -2010-04-28 18:52 robert +Thu, 15 Apr 2010 18:40:40 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "The new 3ds plugin isn't working at all on big-endian machines, due to a byte order issue.The problem is that osg::SwapBytes code has been copied from the old +plugin to the new one, but the latest lib3ds also incorporates code to +handle byte ordering in read & writing. So the net result is that the +swap is done twice. - * Added support for passing in an options string to control the - orientation of the generated graph +The solution is simply to remove the custom osg code, and use the +stock lib3ds code. The attached files are against today's revision +11331. I've tested on Sparc & Intel. +" -2010-04-28 17:29 robert - * Introduced the use of ref_ptr<> in read show methods -2010-04-28 17:18 robert +Thu, 15 Apr 2010 18:38:32 +0000 +Checked in by : Robert Osfield +Ran dos2unix on header files - * Removed redundent files +Thu, 15 Apr 2010 18:38:03 +0000 +Checked in by : Robert Osfield +Ran dos2unix on lib3ds files -2010-04-28 14:56 robert +Thu, 15 Apr 2010 12:51:41 +0000 +Checked in by : Robert Osfield +From J.P. Delport, Fix for invalid iterator dereference in DatabasePager. - * Added support for using graphviz dot for graphics visualization - via filename token. +Thu, 15 Apr 2010 11:49:33 +0000 +Checked in by : Robert Osfield +From Sukender, "After discussion with Paul Martz, here is a fix for 3DS reader/writer (on rev. 11315) + some changes. Changelog:- Fixed handling of MatrixTransforms (still doesn't support other Transforms types). Fixes things for OSG, DeepExploration, 3DSMax... +- Added support for writing double precision vertices by converting them. +- Added base code for future compatibility option (3rd-party apps that don't read animation data). See "DISABLE_3DS_ANIMATION" compile flag." -2010-04-28 14:55 robert - * Fixed typo -2010-04-28 14:55 robert +Thu, 15 Apr 2010 11:45:10 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "Here is a small fix to the DatabasePager to fix a crash if you were running with the OSG_NOTIFY_LEVEL set to INFO.An iterator was being erased, and then referenced to display a +message. Just changed it to display the message first, then erase." - * Added colours and different style to drawable and statesets -2010-04-28 14:05 mplatings - * No longer removes redundant nodes because node structure may be - important. +Thu, 15 Apr 2010 11:41:37 +0000 +Checked in by : Robert Osfield +From Chris Hanson, build fixes for Solaris-64 -2010-04-28 10:15 robert +Thu, 15 Apr 2010 11:40:49 +0000 +Checked in by : Robert Osfield +Changed std::pair declaration to ListTriangle::value_type to avoid Solaris compile errors - * Replaced afprintf usage with std::string to fix memory leak and - improve portability of code. +Thu, 15 Apr 2010 11:02:22 +0000 +Checked in by : Robert Osfield +Removed the setting of the DatabasePager thread affinity, and moved the setting of the DatabasePager thread priotity to after the creation of the threads -2010-04-26 10:07 shuber +Wed, 14 Apr 2010 16:43:50 +0000 +Checked in by : Michael PLATINGS +Updated the plugin to be compatible with version 2011.2 of the FBX SDK - * From Stephan Huber: updated xcode-project +Wed, 14 Apr 2010 13:39:43 +0000 +Checked in by : Robert Osfield +Added minimum frame delay of 1/100th second when using on demand rendering to avoid creating a CPU lock. -2010-04-23 16:35 robert +Wed, 14 Apr 2010 10:43:16 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Roland Smeenk and Robert Osfield, improvements to the - indentation of comments. +Tue, 13 Apr 2010 18:42:58 +0000 +Checked in by : Robert Osfield +Added BufferData::ModifiedCallback to provide a mechanism for tracking when a osg::Image::dirty() has been called to signify that an image has been modified. -2010-04-23 09:29 robert +Tue, 13 Apr 2010 14:50:31 +0000 +Checked in by : Michael PLATINGS +Added support for double precision geometry - * From Hatwig Wiesmann, "osg::TransferFunction1D::assignToImage may - assign NaN values to the image in case an underflow inside the - method occurs. This underflow can be reproduced by the following - call sequence: - - osg::TransferFunction1D* tf(new osg::TransferFunction1D()); - - tf->allocate(18); - tf->setColor(-10000,osg::Vec4( 1.0, 1.0, 1.0,1.0)); - tf->setColor(-1e-6,osg::Vec4( 1.0, 1.0, 1.0,1.0)); - tf->setColor( 0,osg::Vec4( 0.0, 0.0, 1.0,1.0)); - - Remark: The value -1e-6 may be added (falsely) because of a - rounding error. - - The attached fix prevents assigning NaN values to the image. - " +Tue, 13 Apr 2010 13:06:27 +0000 +Checked in by : Robert Osfield +From Michael Platings with tweaks from Robert Osfield, added Options::s/getPrecisionHint(..) to allow apps to hint to plugins about how to handle double precision geometry data. -2010-04-23 08:58 robert +Tue, 13 Apr 2010 09:42:53 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Fixed warnings +Tue, 13 Apr 2010 09:42:36 +0000 +Checked in by : Robert Osfield +updated wrappers -2010-04-23 08:55 robert +Mon, 12 Apr 2010 16:35:15 +0000 +Checked in by : Michael PLATINGS +osgAnimation now stores times as doubles - * From Mourad Boufarguine, "This submissions fixes the problem of - the difference of std::*::size_type between 32bit and 64 bit - platforms. It wraps the reading and writing of std::*::size_type - values using the osgDB::InputStream::readSize and - osgDB::OutputStream::writeSize methods." +Mon, 12 Apr 2010 15:04:25 +0000 +Checked in by : Michael PLATINGS +From Sukender: Fixed FBX writer: now handles double precision arrays (vertices, normals, texcoords) -2010-04-22 17:02 robert +Fri, 9 Apr 2010 08:52:40 +0000 +Checked in by : Robert Osfield +Added corner dirty options to TerrainTechnique, added experimental code paths in GeometryTechnique for accounting for neighbouring corner tiles - optionally compiled out in this check-in.Changed the normal computation in GeometryTechnique so that it doesn't include diagonals, thus avoid normal jumps at corners. - * From Marcin Hajder, "This submission contains - Texture2DMultisample osg implementation. - - Texture2DMultismaple as name suggests provides means to directly - access subsamples of rendered FBO target. (GLSL 1.5 texelFetch - call). - - Recently I was working on deferred renderer with OSG, during that - I noticed there is no support for multisampled textures - (GL_ARB_texture_multisample extension). After consultations with - Paul Martz and Wojtek Lewandowski I added Texture2DMultisample - class and made few necessary changes around - osg::FrameBufferObject, osg::Texture and osgUtil::RenderStage - classes." - - and from follow email: - - "Fixed. According to ARB_texture_multisample extension - specification multisample textures don't need TexParameters since - they can only be fetched with texelFetch." -2010-04-22 16:08 robert - * From Farshid Lashkari, "I've attached a small fix so that - osgDB::convertStringFromUTF8toCurrentCodePage actually performs - the conversion onto the destination string." -2010-04-22 16:01 robert - * From Alok Priyadashi, "The attached patch fixes - - compile errors on windows when compiled with UNICODE flag - - warnings for duplicate WIN32_LEAN_AND_MEAN. I think this should - better fixed by adding WIN32_LEAN_AND_MEAN to vcproj preprocessor - list." +Sat, 3 Apr 2010 16:26:32 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-04-22 13:07 robert +Sat, 3 Apr 2010 16:21:34 +0000 +Checked in by : Robert Osfield +Change Terrain so that it subclassed from CoordinateSystemNode.Implemented new update scheme of GeometryTechnique to avoid potential threading issues. - * From John Ivar Haugland, "I have added the serializer for - UserData in osg::Object. See the attached modified file: - src\osgWrappers\serializers\osg\Object.cpp" +Added Terrain support to .ive. -2010-04-22 11:20 robert - * Updated ChangeLog, and AUTHORS files -2010-04-22 10:13 robert - * From Tim Moore, added check to whether validConfigs is empty. -2010-04-22 08:59 robert +Thu, 1 Apr 2010 21:18:39 +0000 +Checked in by : Robert Osfield +Removed getNeighbours() method to avoid problems with introspection wrappers - * Added a temporary /* */ around the check against _traits->vsync - to avoid the errors reported with the current usage of - RestoreContext for setting the vsync. +Thu, 1 Apr 2010 21:15:17 +0000 +Checked in by : Robert Osfield +Removed TerrainNeightbours class from wrapping to avoid associated build errors -2010-04-22 07:32 robert +Thu, 1 Apr 2010 21:06:56 +0000 +Checked in by : Robert Osfield +Added support for boundary equalization to GeometryTechnique - * From Torben Dannhauer, fixed typo +Thu, 1 Apr 2010 21:04:36 +0000 +Checked in by : Robert Osfield +Added window size event handler -2010-04-21 17:16 robert +Mon, 29 Mar 2010 08:49:20 +0000 +Checked in by : Robert Osfield +Added TerainHandler event handler to provide 'v'/'V' and 'r'/'R' key controls for change vertical scale and sample ratio respectively. - * From Ulrich Hertlien with little bits from Robert Osfield and - Chris Hanson, added provisionl support for controlling sync to - vblank. +Fri, 26 Mar 2010 11:09:10 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "When the StatsHandler tries to find a context to add itself to, it will first look for a GraphicsWindow, and if none is found it will look for a GraphicsContext. This enables apps that do all their rendering to offscreen contexts (pbuffer) to still use the StatsHandler." -2010-04-21 16:44 robert +Fri, 26 Mar 2010 11:07:43 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Changed "Sorted" label to "Sorted Drawables" +Fri, 26 Mar 2010 09:01:49 +0000 +Checked in by : Robert Osfield +From Jim Brooks, fix for FreeBSD build where FIND_LIBRARY(DL_LIBRARY..) return NOT_FOUND. -2010-04-21 16:37 robert +Thu, 25 Mar 2010 20:20:10 +0000 +Checked in by : Cedric Pinson +Fix compile issue t = fmod(t, (float)_duration); - * From Mourad Boufarguine, "When compiling the example on VS9, the - compiler complain about undefined GL_DEPTH_COMPONENT32F and - GL_DEPTH_COMPONENT32F_NV. So I added them to - include/osg/FrameBufferObject. The example builds fine and is - working for me without crashs unless it is ran whithout argument. - I added couple of lines to check for arguments number and print - the example usage when needed." +Thu, 25 Mar 2010 17:50:29 +0000 +Checked in by : Cedric Pinson +Change time type from float to double in osgAnimation -2010-04-20 16:27 robert +Thu, 25 Mar 2010 14:19:01 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "I added some features to the vrml plugin.The plugin can now handle embeded PixelTexture fields in addition to the +already implemented ImageTexture fields. - * From Wang Rui, "The OSG book I'm working on will focus on helping - beginners build - latest OSG source code with Visual Studio 2010 express, without - setting too many options and without facing unexpected errors. - But at - present, the compilation process will fail because the INSTALL - project - 'cannot find' generated DLLs while copying files. I have looked - into - the build directory and found that the places of generated file - folders were just different from previous VS versions. In this - case, - the old hack in OsgMacroUtils.cmake may become invalid: - - MACRO(HANDLE_MSVC_DLL) - #this is a hack... the build place is set to lib/ by LIBARARY_OUTPUT_PATH equal to OUTPUT_LIBDIR - #the .lib will be crated in ../ so going straight in lib by - the IMPORT_PREFIX property - #because we want dll placed in OUTPUT_BINDIR ie the bin folder - sibling of lib, we can use ../../bin to go there, - ... - ELSE(NOT MSVC_IDE) - SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX - "../../bin/${LIB_PREFIX}${LIB_SOVERSION}-" IMPORT_PREFIX "../") - ENDIF(NOT MSVC_IDE) - ENDMACRO(HANDLE_MSVC_DLL) - - Here the prefix "../../bin" may need to be fixed. I just modified - it to: - - IF(MSVC_VERSION LESS 1600) - SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX - "../../bin/${LIB_PREFIX}${LIB_SOVERSION}-" IMPORT_PREFIX "../") - ENDIF() - - It should keep compatible with old MSVC versions. There are - similar - fixes in the SETUP_PLUGIN and SETUP_EXE macros. I haven't tested - them - on more platforms. - " +Fixed a bug with texture repeat being applied to the wrong texture dimension. -2010-04-20 13:52 robert +Added handling for IndexedLineSet geometries." - * From Serge Lages, "Currently if multiple event callbacks are - nested on one node, only the first will be called. The proposed - fix checks if there is a nested callback." -2010-04-20 13:34 robert - * Implemented Colin MacDonald's recommended change of "unsigned - short" to "unsigned" to solve big endian problem under Solaris. - Also added comment to highlight the oddity of the mixing of types - in the associated lib3ds code. +Thu, 25 Mar 2010 14:14:46 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a small enhancement for GraphicsWindowCocoa. My submision adds a getter for the pixel-format. I need this for some custom software so I can integrate CoreVideo-playback with osg. " -2010-04-20 11:38 robert +Thu, 25 Mar 2010 14:12:28 +0000 +Checked in by : Robert Osfield +Fixed warning - * Replaced tabs with four spaces +Thu, 25 Mar 2010 11:11:35 +0000 +Checked in by : Robert Osfield +Introduced the use of linear interpolation of evelvations when sampling -2010-04-20 11:34 robert +Wed, 24 Mar 2010 17:12:05 +0000 +Checked in by : Robert Osfield +Added a compile test for pthread_setaffinity_np to workaround problem with the FreeBSD pthread lib containing the function but the pthread.h header not containing it. - * UPdated wrappers +Wed, 24 Mar 2010 14:27:00 +0000 +Checked in by : Robert Osfield +Refactored the way that the RequestQueue's are pruned and highest prioty items taken from them so the operation is now O(n) rather than O(nlogn) where n is the number of requests. The refactoring also cleans up the access of the request lists so that the code is more readable/maintainable. -2010-04-20 11:23 robert +Tue, 23 Mar 2010 12:41:02 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Jason Beverage, "Here is a fix to the curl plugin CMake to - allow it to link against the - CURL_LIBRARY_DEBUG and ZLIB_LIBRARY_DEBUG. Previously it linked - the - debug version against the release libs, which was causing a hang - when - running in debug mode on Windows." +Mon, 22 Mar 2010 17:55:14 +0000 +Checked in by : Robert Osfield +From Michael Platings, "the attached files fix the DAE importer for animations that don't contain channels for all X, Y and Z components, as exported by SoftImage." -2010-04-20 11:13 robert +Mon, 22 Mar 2010 14:32:19 +0000 +Checked in by : Robert Osfield +Changed private: to protected: to fix build issue under OSX - * From Farshid Lashkari, "Anaglyphic stereo does not seem to work - properly when performing pre-render stages. I believe the reason - is that the pre-render stages are performed with the last applied - color mask, which is cyan. I've fixed this by resetting the color - mask before performing the pre-render stages." +Mon, 22 Mar 2010 13:13:22 +0000 +Checked in by : Robert Osfield +From Chuck Seberino, "have a fix for the reading code in trunk/src/osgPlugins/gz/ReaderWriterGZ.cpp. It seems that the std::istream::readsome method on windows is a no-op (for files. After much head scratching and research I was able to figure out what was going on. I am submitting a fix to replace readsome with read() and gcount(). This change is for all platforms. The previous implementation works fine under linux and OSX, so if you would rather keep things the way they are you can just #ifdef for non-WIN32.I also added openmode flags to the ifstream constructor, since they were needed to get proper reading as well as a typo fix." -2010-04-20 11:05 robert - * Fixed the background quad size to fit all the camera stats labels -2010-04-20 10:59 robert +Mon, 22 Mar 2010 12:50:27 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I noticed that osg::notify does not output to stderr when using either FATAL or WARN severity levels. There is code in osg::StandardNotifyHandler::notify that will use stderr based on the severity level, but it is disabled by an #if 0. I'm assuming this was a mistake and have re-enabled the code.Many IDEs will capture the output of processes and highlight stderr messages in red. After upgrading from OSG 1.2, I was noticing that none of the error messages were being highlighted, which I find quite useful." - * From Tim Moore, "I noticed that the "Materials" statistic in the - camera scene stats display seemed to be identical to the number - of drawables. In fact, it displays the nummat member of - osgUtil::Statistics, but that variable has nothing to do with - materials. nummat tracks the number of matrices associated with - Drawable objects in a RenderBin; as I understand it, Drawables - pretty much always have a model-view matrix tied to them in - RenderBins, so this statistic doesn't seem very useful. So, I - added statistics for the number of StateGraph objects in - RenderBins and also for the number of Drawables in the "fine - grain ordering" of RenderBins. The latter corresponds to the - number of Drawables in the scene that are sorted by some criteria - other than graphics state; usually that is distance for - semi-transparent objects, though it could be traversal order. - These two statistics give an idea of the number of graphic state - changes happening in a visible scene: each StateGraph implies a - state change, and there could be a change for each sorted object - too. You can also subtract the number of sorted Drawables from - the total number of Drawables and get an idea of how many - Drawables are being drawn for each StateGraph. - " -2010-04-20 10:35 robert - * Changed the AbmientBias type from Vec2d to Vec2 as use of double - is inappropriate. +Mon, 22 Mar 2010 10:43:45 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated xcode-project -2010-04-20 10:29 robert +Sat, 20 Mar 2010 09:45:59 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, changed init() call to _init(). - * From Wang Rui, "The new osgShadow and osgFX serializers are - attached, and some - modifications of the osgShadow header naming styles as well. The - osgDB::Serializer header is also changed to add new Vec2 - serializer - macros because of the needs of osgShadow classes. It should - compile - fine on both Windows and Linux. But I have only done a few tests - to - generate .osgb, .osgt and .osgx formats with these new wrappers." +Fri, 19 Mar 2010 20:12:19 +0000 +Checked in by : Michael PLATINGS +Workaround for files exported from SoftImage that don't tag skeleton nodes correctly. -2010-04-20 09:48 robert +Fri, 19 Mar 2010 18:28:20 +0000 +Checked in by : Michael PLATINGS +From Paul Martz: This is a fix to get the FBX plugin to compile on OS X - * From Mourad Boufarguine, "This submission fixes - osgDAE::toString(*) unresolved external symbols compile errors - (on VS)." +Fri, 19 Mar 2010 17:09:30 +0000 +Checked in by : Robert Osfield +Added a minimum tiles size of 16 to prevent down sampling from being overly aggressive. -2010-04-19 14:49 robert +Fri, 19 Mar 2010 16:31:48 +0000 +Checked in by : Robert Osfield +Added new osgterrain example that is simplified to just basic setup and control osgTerrain nodes, leaving the osgthreadedterrain as the more complex example. - * From Farshid Lashkari, "I noticed that - osg::State::getInitialViewMatrix returns the monocular view - matrix when rendering in stereo. I've made some changes to - osgUtil::RenderStage & SceneView so that it will return the - correct view matrix depending on which eye is currently being - rendered." & "I made a small change to the previous patch so that - osg::State::getInitialViewMatrix works correctly with pre/post - render stages as well." +Fri, 19 Mar 2010 16:30:56 +0000 +Checked in by : Robert Osfield +Renamed source file -2010-04-19 13:44 robert +Fri, 19 Mar 2010 14:55:35 +0000 +Checked in by : Robert Osfield +Renamed osgterrain to osgthreadedterrain to better reflect it's functionality. - * From Stephan Huber and Mathieu Marache, "attached you'll find - framework support for os x via cmake. Please credit - Mathieu Marache, he added the last missing piece to this puzzle. - - I think it is safe to commit these changes to trunk, as the - traditional - way via dylibs should work as before. - - Here's some more info how to get frameworks: - - With these modifications it is possible to compile frameworks on - OS X, - when you set the Cmake-option OSG_COMPILE_FRAMEWORKS to true. If - you - want to embed the frameworks in your app-bundle make sure to set - OSG_COMPILE_FRAMEWORKS_INSTALL_NAME_DIR accordingly. - - You'll have to build the install-target of the generated - xcode-projects - as this sets the install_name_dirs of the frameworks and - plugins." +Fri, 19 Mar 2010 10:19:41 +0000 +Checked in by : Michael PLATINGS +Fixed an infinite loop when loading a malformed file. -2010-04-19 12:09 robert +Thu, 18 Mar 2010 19:02:12 +0000 +Checked in by : Michael PLATINGS +Workaround for models with inverted transparency - * From Martins Innus,"Here's a fix to allow the serializer to - compile on the Mac 10.4 SDK. The definition of GLint seems to be - different accross the SDKs. Its defined as "long" in 10.4. I have - no idea if this is the correct way to go about this, but it - compiles on my end." +Thu, 18 Mar 2010 17:10:48 +0000 +Checked in by : Robert Osfield +Added StateSet event handler to osgfont and osgtext to aid with debugging -2010-04-19 11:43 robert +Thu, 18 Mar 2010 15:04:27 +0000 +Checked in by : Robert Osfield +Added in a test of using the utility classes in include/osgUtil/MeshOptimizers to see if they could improve peformance.Tests shown poorer performance with the code enabled so for now the code is #if 0 #endif'd out, and just left in place for future testing. - * From Tim Moore, "This contains a couple of fixes to support - changing FrameBufferObject configurations on the fly; the user - changes the camera attachments and calls - Renderer::setCameraRequiresSetUp(). The major part of this - submission is a comprehensive example of setting up floating - point depth buffers. The user can change the near plane value and - cycle through the available combinations of depth format and - multisample buffer formats." -2010-04-19 10:35 robert - * From Wang Rui, "Attached is the osgAnimation wrappers for - serialize IO operations. A - few headers and the osgAnimation sources are also modified to - make - everything goes well, including: - - A new REGISTER_OBJECT_WRAPPER2 macro to wrap classes like - Skeleton::UpdateSkeleton. - A bug fix in the Seralizer header which avoids setting default - values - to objects. - Naming style fixes in osgAnimation headers and sources, also in - the - deprecated dotosg wrappers. - A bug fix for the XML support, to write char values correctly. - A small change in the osg::Geometry wrapper to ignore the - InternalGeometry property, which is used by the MorphGeometry and - should not be set by user applications. - - The avatar.osg, nathan.osg and robot.osg data files all work fine - with - serializers, with some 'unsupported wrapper' warnings when - converting. - I'm thinking of removing these warnings by disabling related - property - serializers (ComputeBoundingBoxCallback and - Drawable::UpdateCallback), - which are seldom recorded by users. - - By the way, I still wonder how would we handle the C4121 problem, - discussed some days before. The /Zp compile option is set to 16 - in the - attached cmake script file. And is there a better solution now?" -2010-04-19 09:39 robert - * From Paul Martz, fixes for static build +Thu, 18 Mar 2010 14:41:33 +0000 +Checked in by : Robert Osfield +Removed the sizeAdjustment code as it was leading to incorrect tex coord generation and clipping of the left handside of the text glyphs. -2010-04-19 08:41 shuber +Wed, 17 Mar 2010 14:36:16 +0000 +Checked in by : Robert Osfield +From J.P. Delport, "attached an updated FindGDAL that finds 1.6.0 version in Debian unstable. Could also be added to VPB.Also some misc spelling fixes in CMakeLists.txt" - * From Stephan Huber: updated XCode project -2010-04-15 18:40 robert - * From Colin McDonald, "The new 3ds plugin isn't working at all on - big-endian machines, due to - a byte order issue. - - The problem is that osg::SwapBytes code has been copied from the - old - plugin to the new one, but the latest lib3ds also incorporates - code to - handle byte ordering in read & writing. So the net result is that - the - swap is done twice. - - The solution is simply to remove the custom osg code, and use the - stock lib3ds code. The attached files are against today's - revision - 11331. I've tested on Sparc & Intel. - " +Wed, 17 Mar 2010 14:32:32 +0000 +Checked in by : Robert Osfield +From Glenn Waldron, "The PLY plugin only works for a file that includes both vertices and faces. This patch adds support for PLY files that include only vertices (a point cloud)." -2010-04-15 18:38 robert +Wed, 17 Mar 2010 11:35:52 +0000 +Checked in by : Robert Osfield +disabled timing debug info - * Ran dos2unix on header files +Wed, 17 Mar 2010 10:33:48 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project -2010-04-15 18:38 robert +Tue, 16 Mar 2010 18:53:42 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Ran dos2unix on lib3ds files +Tue, 16 Mar 2010 18:44:27 +0000 +Checked in by : Robert Osfield +Updated various serialization support for .osg, .osgt/b/x and .ive. -2010-04-15 12:51 robert +Tue, 16 Mar 2010 18:43:59 +0000 +Checked in by : Robert Osfield +Added BlendingPolicy support into osgTerrain::Terrain. - * From J.P. Delport, Fix for invalid iterator dereference in - DatabasePager. +Tue, 16 Mar 2010 12:05:41 +0000 +Checked in by : Robert Osfield +Added osgTerrain::TerrainTile::set/getBlendingPolicy(BlendingPolicy) to enable control over whether the tile should have blending enabled on it. -2010-04-15 11:49 robert +Mon, 15 Mar 2010 20:09:23 +0000 +Checked in by : Robert Osfield +Fixed recursive call due to missing _ - * From Sukender, "After discussion with Paul Martz, here is a fix - for 3DS reader/writer (on rev. 11315) + some changes. Changelog: - - - Fixed handling of MatrixTransforms (still doesn't support other - Transforms types). Fixes things for OSG, DeepExploration, - 3DSMax... - - Added support for writing double precision vertices by - converting them. - - Added base code for future compatibility option (3rd-party apps - that don't read animation data). See "DISABLE_3DS_ANIMATION" - compile flag." +Mon, 15 Mar 2010 15:10:50 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "This small one-line change allows us to load a geometry shader with the extension .geom with osgDB::readShaderFile() which will return an osg::Shader* with the type already set to GEOMETRY. Very convenient. :-)This was already possible for .frag and .vert so there's no reason why it shouldn't be possible for .geom. -2010-04-15 11:45 robert +I also changed the alignment of some extension aliases so the file looks a bit better now, but it's up to you if you want to merge that or not. +" - * From Jason Beverage, "Here is a small fix to the DatabasePager to - fix a crash if you were - running with the OSG_NOTIFY_LEVEL set to INFO. - - An iterator was being erased, and then referenced to display a - message. Just changed it to display the message first, then - erase." -2010-04-15 11:41 robert - * From Chris Hanson, build fixes for Solaris-64 +Mon, 15 Mar 2010 15:01:21 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I noticed that CMake forces a high stack size by default for all MSVC projects. This can cause problems for applications that use a lot of threads. I've added a new option MSVC_USE_DEFAULT_STACK_SIZE that will remove the explicit stack size and use the default MSVC size. Apparently this was only necessary for very old versions of MSVC but it's still around. I would argue that this option should be on by default, but I've left it off for now." -2010-04-15 11:40 robert - * Changed std::pair declaration to ListTriangle::value_type to - avoid Solaris compile errors -2010-04-15 11:02 robert +Mon, 15 Mar 2010 14:47:22 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Here is a small fix in the eventTraversal() function of both viewer and composite viewer class.if (getCameraWithFocus()) +{ + if (getCameraWithFocus()!=getCamera()) // Newly added + { + osg::Viewport* viewport = getCameraWithFocus()->getViewport(); + osg::Matrix localCameraVPW = +getCameraWithFocus()->getViewMatrix() * +getCameraWithFocus()->getProjectionMatrix(); + if (viewport) localCameraVPW *= viewport->computeWindowMatrix(); - * Removed the setting of the DatabasePager thread affinity, and - moved the setting of the DatabasePager thread priotity to after - the creation of the threads + osg::Matrix matrix( osg::Matrix::inverse(localCameraVPW) * +masterCameraVPW ); -2010-04-14 16:43 mplatings + osg::Vec3d new_coord = osg::Vec3d(x,y,0.0) * matrix; - * Updated the plugin to be compatible with version 2011.2 of the - FBX SDK + x = new_coord.x(); + y = new_coord.y(); + } + ... +} -2010-04-14 13:39 robert +I put an additional conditional statement here to ensure that +_cameraWithCamera and _camera are different, otherwise it's no need to +calculate the transition matrix from main camera to focus camera. The +excess calculations of 'matrix' and 'new_coord' may cause +floating-point error and return a slightly wrong result other than an +identity matrix. It seems OK in most cases but will be still pain when +there is little difference between two mouse moving events. " - * Added minimum frame delay of 1/100th second when using - on demand rendering to avoid creating a CPU lock. -2010-04-14 10:43 robert - * Updated wrappers +Mon, 15 Mar 2010 10:32:29 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-04-13 18:42 robert +Mon, 15 Mar 2010 10:32:03 +0000 +Checked in by : Robert Osfield +Refactored Texture::Extensions to simplify it and make it more efficient. - * Added BufferData::ModifiedCallback to provide a mechanism for - tracking when a osg::Image::dirty() has been called to signify - that an image has been modified. +Sun, 14 Mar 2010 08:56:21 +0000 +Checked in by : Robert Osfield +Added return into ReaderWriterOSG2::prepareReading(..) to prevent bug associated with result being discarded. -2010-04-13 14:50 mplatings +Sat, 13 Mar 2010 11:28:00 +0000 +Checked in by : Robert Osfield +Refactored the initialization of OSX windowing settings so that it's done on demand rather than on startup. - * Added support for double precision geometry +Fri, 12 Mar 2010 09:32:23 +0000 +Checked in by : Robert Osfield +Added initializer -2010-04-13 13:06 robert +Fri, 12 Mar 2010 09:10:12 +0000 +Checked in by : Robert Osfield +Changed ssize_t to int to fix windows build error - * From Michael Platings with tweaks from Robert Osfield, added - Options::s/getPrecisionHint(..) to allow apps to hint to plugins - about how to handle double precision geometry data. +Thu, 11 Mar 2010 18:15:20 +0000 +Checked in by : Robert Osfield +From Time Moore, "This submission implements 3 optimizations for meshes. INDEX_MESH turns DrawArrays style geometry into DrawElements, uniquifying the vertices in the process. This is useful for certain loaders, like ac3d, which just spit out DrawArrays. VERTEX_POSTTRANSFORM and VERTEX_PRETRANSFORM optimize mesh triangle and vertex order for the caches on a modern GPU, using Tom Forsyth's algorithm. I describe this and the big difference it makes (38% improvement on a very large mesh) in my blog, http://shiny-dynamics.blogspot.com/2010/03/vertex-cache-optimization-for-osg.html." -2010-04-13 09:42 robert +Thu, 11 Mar 2010 16:53:35 +0000 +Checked in by : Robert Osfield +From Sukender, "I had some conflicts when updating but they seem resolved now. Attached files (four files) are against rev. 11200. Changelog: - Replaced exceptions with assert() or OSG_NOTIFY - Replaced osg::notify() with OSG_NOTIFY - Changed braces and tabs to fit OSG coding convention - Cleaned a few things in code (names, added deallocations upon error)" - * Fixed warnings +Thu, 11 Mar 2010 16:46:01 +0000 +Checked in by : Robert Osfield +Clean up of initialization of statics/use of getenv -2010-04-13 09:42 robert +Thu, 11 Mar 2010 14:48:54 +0000 +Checked in by : Robert Osfield +Added export for PerContextShader. - * updated wrappers +Thu, 11 Mar 2010 10:24:20 +0000 +Checked in by : Robert Osfield +Cleaned up the registration of wrappers so that they are done on demand. -2010-04-12 16:35 mplatings +Thu, 11 Mar 2010 10:17:50 +0000 +Checked in by : Robert Osfield +Fixed warning - * osgAnimation now stores times as doubles +Wed, 10 Mar 2010 17:23:58 +0000 +Checked in by : Robert Osfield +From David Fries,"This improves the out of box detection of the 3rd party libraries for Windows. If the 3rdparty directory isn't available it will use the directory names subversion uses such as 3rdParty_win32binaries_vs71 3rdParty_win32binaries_vs80sp1 3rdParty_win32binaries_vs90sp1. That helps when as we are building both vs71 and vs80, and probably vs90 in the future at the same time in addition to not having to rename the directory once it is downloaded. It also adds the _i suffix to match some of the libraries. " -2010-04-12 15:04 mplatings +Wed, 10 Mar 2010 17:19:35 +0000 +Checked in by : Robert Osfield +From David Fries,"We are needing to compile Debug, Release, and MinSizeWithDebInfo, but currently only Debug appends "d" so the Release and MinSizeWithDebInfo (and MinSizeRel) all produce the same filenames. This set of changes lets each build type have a cmake defined string appended, defaulting to Release none, Debug d, RelWithDebInfo rd, MinSizeRel s. But a user still can have Release, RelWithDebInfo, and MinSizeRel to produce the same filenames. It does so by setting the preprocessor define OSG_LIBRARY_POSTFIX in src/osgDB/CMakeLists.txt to one of the previously defined cmake variables CMAKE_DEBUG_POSTFIX CMAKE_RELEASE_POSTFIX CMAKE_RELWITHDEBINFO_POSTFIX CMAKE_MINSIZEREL_POSTFIX. This method cuts down on the #ifdef _DEBUG #else preprocessor directives in Registry.cpp as the extension is always passed in OSG_LIBRARY_POSTFIX. That and __MINGW32__ didn't have the _DEBUG check which looks like a bug." - * From Sukender: Fixed FBX writer: now handles double precision - arrays (vertices, normals, texcoords) +Wed, 10 Mar 2010 16:31:30 +0000 +Checked in by : Robert Osfield +From Roger James, "Here is a small stability fix to the dae reader which seems to have dropped out of the latest version." -2010-04-09 08:52 robert +Wed, 10 Mar 2010 16:31:15 +0000 +Checked in by : Robert Osfield +Updated version - * Added corner dirty options to TerrainTechnique, added - experimental code paths in GeometryTechnique for accounting for - neighbouring corner tiles - optionally compiled out in this - check-in. - - Changed the normal computation in GeometryTechnique so that it - doesn't include diagonals, thus avoid normal jumps at corners. +Wed, 10 Mar 2010 16:05:52 +0000 +Checked in by : Robert Osfield +From Sukender, "I've fixed positions for 3DS writer. Points in 3DS must be in world coordinates and I added what was missing. And by refactoring a bit of code, I may have fixed some StateSets related bugs (was ignoring StateSets for osg::Groups). I also added support for Billboard's points, so now "osgconv lz.osg lz.3ds" has an acceptable output. However, there is no rotation depending on billboards' axis, hence the notice "Warning: 3DS writer is incomplete for Billboards (rotation not implemented).". You may want to remove this notice (or lower the notify severity) if you feel 3DS doesn't have to handle such rotations. The attached archive contains 3 files from 3DS plugin, against rev. 11162.Please note there is still the textures issue for cow.osg. I guess it's because it's not a "flat, dummy and standard" texture in slot 0... That is to say the only thing the writer can handle at the moment. I guess I won't address this soon. +" +and -2010-04-03 16:26 robert +"I've detected and fixed another bug in 3DS writer: support for automatic splitting of meshes having >65k faces/points was buggy (was deleting faces). +Here is my four 3DS modified files (in a ZIP), against rev. 11193, including previous fixes AND Stephan's fix about relative filenames." - * Updated wrappers -2010-04-03 16:21 robert - * Change Terrain so that it subclassed from CoordinateSystemNode. - - Implemented new update scheme of GeometryTechnique to avoid - potential threading issues. - - Added Terrain support to .ive. -2010-04-01 21:18 robert +Wed, 10 Mar 2010 14:44:12 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Removed getNeighbours() method to avoid problems with - introspection wrappers +Wed, 10 Mar 2010 14:29:05 +0000 +Checked in by : Robert Osfield +Update SO version number to 66 to skip over 65 value planned to 2.8.3 -2010-04-01 21:15 robert +Wed, 10 Mar 2010 14:28:18 +0000 +Checked in by : Robert Osfield +From Vincent Bourdier, addition of out of memory read result. - * Removed TerrainNeightbours class from wrapping to avoid - associated build errors +Wed, 10 Mar 2010 13:48:41 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've initially added the XML support of the new native osg format, using osgDB::XmlParser. The extension for XML-formatted scenes is .osgx, corresponding to .osgb for binary and .osgt for ascii. It could either be rendered in osgviewer or edited by common web browsers and xml editors because of a range of changes to fit the XML syntax. For example, the recorded class names are slight modified, from 'osg::Geode' to 'osg--Geode'.To quickly get an XML file: +# ./osgconv cow.osg cow.osgx -2010-04-01 21:06 robert +The StreamOperator header, InputStreram and OutputStream classes are +modified to be more portable for triple ascii/binary/XML formats. I +also fixed a bug in readImage()/writeImage() to share image objects if +needed. - * Added support for boundary equalization to GeometryTechnique +The ReaderWriterOSG2 class now supports all three formats and +reading/writing scene objects (not nodes or images), thanks to +Torben's advice before. +" -2010-04-01 21:04 robert - * Added window size event handler -2010-03-29 08:49 robert +Wed, 10 Mar 2010 13:37:19 +0000 +Checked in by : Robert Osfield +From John Ivar Haugland, "This is a fix to InputStream.cpp. (revision 11114) . I have attached the modified file.The options where not passed on to the image reader plugins when reading the new osg2 format files, so I added the options to the osgDB.:readImageFile function call. - * Added TerainHandler event handler to provide 'v'/'V' and 'r'/'R' - key controls for change vertical scale and sample ratio - respectively. +" -2010-03-26 11:09 robert - * From Jean-Sebastien Guay, "When the StatsHandler tries to find a - context to add itself to, it will first look for a - GraphicsWindow, and if none is found it will look for a - GraphicsContext. This enables apps that do all their rendering to - offscreen contexts (pbuffer) to still use the StatsHandler." -2010-03-26 11:07 robert +Wed, 10 Mar 2010 13:24:53 +0000 +Checked in by : Robert Osfield +From Wang Rui, QWidgetImage class that enables QWidgets to be used as an interactive osg::Image that can be assigned to textures. - * Updated wrappers +Wed, 10 Mar 2010 12:56:33 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "as I work in Visual Studio, the introduction of the new osg2 reader/writer gave me a confusing project list, especially the three projects named "Plugins osg". The attached patch changes the project names to "Plugins osg depricated xxx" and "Plugins osg serializer xxx" therefore keeping them close together in the Solution Explorer. " -2010-03-26 09:01 robert +Wed, 10 Mar 2010 12:13:31 +0000 +Checked in by : Robert Osfield +Added tests of various FileNameUtils functions, tests invoked by osgunittests filenames - * From Jim Brooks, fix for FreeBSD build where - FIND_LIBRARY(DL_LIBRARY..) return NOT_FOUND. +Wed, 10 Mar 2010 12:04:14 +0000 +Checked in by : Robert Osfield +Refactored the find_last_of to simplify it. -2010-03-25 20:20 cedricpinson +Wed, 10 Mar 2010 11:40:17 +0000 +Checked in by : Robert Osfield +From Sukender, "Here is my proposal. I fixed what Paul said, added some doxygen comments, added the function I told about, and removed the two "find('/')"-like calls to use only one." - * Fix compile issue t = fmod(t, (float)_duration); +Wed, 10 Mar 2010 11:09:55 +0000 +Checked in by : Robert Osfield +From Nico Krulthof and Jori Torres, additions for detecting OSX 10.6 SDK and setting variable defaults accordingly. -2010-03-25 17:50 cedricpinson +Wed, 10 Mar 2010 11:01:17 +0000 +Checked in by : Robert Osfield +Based on a suggestion from Chuck Seberino, have added a section for testing of 64bit build under OSX and disable the use of quicktime when the build includes 64bit. - * Change time type from float to double in osgAnimation +Wed, 10 Mar 2010 10:32:58 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "my compiler (VC Express 9) gives some warnings (see below) about not being able to generate an assignment operator. As those assignment operators are not used and problably should never be used, I solved this by creating an private (empty) assingment operator. "From Robert Osfield, added "return *this;" to Laurens's addition to prevent them generating a warning under gcc... -2010-03-25 14:19 robert - * From Mathias Froehlich, "I added some features to the vrml - plugin. - - The plugin can now handle embeded PixelTexture fields in addition - to the - already implemented ImageTexture fields. - - Fixed a bug with texture repeat being applied to the wrong - texture dimension. - - Added handling for IndexedLineSet geometries." -2010-03-25 14:14 robert - * From Stephan Huber, "attached you'll find a small enhancement for - GraphicsWindowCocoa. My - submision adds a getter for the pixel-format. I need this for - some - custom software so I can integrate CoreVideo-playback with osg. - " +Wed, 10 Mar 2010 10:10:57 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a small bugfix for the 3ds-reader. It allows reading files with relative paths again. (Hard to explain, easy to see in the diff)" -2010-03-25 14:12 robert +Wed, 10 Mar 2010 09:37:04 +0000 +Checked in by : Robert Osfield +Added automatic updating of the OpenThreads version number from the CMake version numbers - * Fixed warning +Tue, 9 Mar 2010 15:16:58 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: fixed xcode project again -2010-03-25 11:11 robert +Mon, 8 Mar 2010 10:20:14 +0000 +Checked in by : Robert Osfield +Added extra ffmpeg version check - * Introduced the use of linear interpolation of evelvations when - sampling +Fri, 5 Mar 2010 16:17:12 +0000 +Checked in by : Robert Osfield +From Wojcoech Lewandowski, "Attched are aimShadowCastingCamera() call changes, I have described in former post. Basically now MinimalShadowMap overrides first variant and keeps second. So both variants of aimShadowCastingCamera are clearly defined in MinimalShadowMap::ViewData scope. This way compilers have no problem and code looks less obscure. Changes made against the trunk." -2010-03-24 17:12 robert +Fri, 5 Mar 2010 16:08:34 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Not so long time ago, there was a complaint about the ac3d plugin not honoring absolute filenames for the texture images.The attached change should fix this by at first looking at the absolute file +name to load a texture and then, if that fails, strip away any paths to try +that again with the bare file name. +The change also fixes a possible exception that could be triggered by an out +of bounds std::string access which is now avoided by using functions from +osgDB/FileUtils. - * Added a compile test for pthread_setaffinity_np to workaround - problem with the FreeBSD pthread lib containing the function but - the pthread.h header not containing it. +The change is based on rev 11161." -2010-03-24 14:27 robert - * Refactored the way that the RequestQueue's are pruned and highest - prioty items taken from them so the operation is - now O(n) rather than O(nlogn) where n is the number of requests. - The refactoring also cleans up the access of the - request lists so that the code is more readable/maintainable. -2010-03-23 12:41 robert +Fri, 5 Mar 2010 16:07:12 +0000 +Checked in by : Robert Osfield +Fixed warning - * Updated wrappers +Fri, 5 Mar 2010 16:04:30 +0000 +Checked in by : Robert Osfield +Fixed usage of osg::swapBytes to properly pass in pointer to data that needs swapping. -2010-03-22 17:55 robert +Fri, 5 Mar 2010 15:46:17 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "If you want to have that qfont plugin loader, this is the updated implementation which uses osgQt and includes the changes to make fonts load without a file on disk." - * From Michael Platings, "the attached files fix the DAE importer - for animations that don't contain channels for all X, Y and Z - components, as exported by SoftImage." +Fri, 5 Mar 2010 15:36:32 +0000 +Checked in by : Robert Osfield +Replaced find_first_of with find -2010-03-22 14:32 robert +Fri, 5 Mar 2010 15:17:26 +0000 +Checked in by : Robert Osfield +Replaced find_first_of with find. - * Changed private: to protected: to fix build issue under OSX +Fri, 5 Mar 2010 15:10:34 +0000 +Checked in by : Robert Osfield +From Sukender, "Here is a tiny fix for getNameLessExtension(). It does now check for the presence of slashes ('/' and '\') to avoid changing the string when having a dot in a directory. Old behaviour: "abc.d/filename_no_ext" -> "abc" New behaviour: "abc.d/filename_no_ext" -> "abc.d/filename_no_ext"Attached file is against rev. 11158." -2010-03-22 13:13 robert - * From Chuck Seberino, "have a fix for the reading code in - trunk/src/osgPlugins/gz/ReaderWriterGZ.cpp. It seems that the - std::istream::readsome method on windows is a no-op (for files. - After much head scratching and research I was able to figure out - what was going on. I am submitting a fix to replace readsome with - read() and gcount(). This change is for all platforms. The - previous implementation works fine under linux and OSX, so if you - would rather keep things the way they are you can just #ifdef for - non-WIN32. - - I also added openmode flags to the ifstream constructor, since - they were needed to get proper reading as well as a typo fix." -2010-03-22 12:50 robert +Fri, 5 Mar 2010 15:08:03 +0000 +Checked in by : Robert Osfield +Fixes for warning from qt headers - * From Farshid Lashkari, "I noticed that osg::notify does not - output to stderr when using either FATAL or WARN severity levels. - There is code in osg::StandardNotifyHandler::notify that will use - stderr based on the severity level, but it is disabled by an #if - 0. I'm assuming this was a mistake and have re-enabled the code. - - Many IDEs will capture the output of processes and highlight - stderr messages in red. After upgrading from OSG 1.2, I was - noticing that none of the error messages were being highlighted, - which I find quite useful." +Fri, 5 Mar 2010 15:07:11 +0000 +Checked in by : Robert Osfield +Removed files that are now part of osgQt -2010-03-22 10:43 shuber +Fri, 5 Mar 2010 15:05:28 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project - * From Stephan Huber: updated xcode-project +Fri, 5 Mar 2010 15:04:36 +0000 +Checked in by : Robert Osfield +Fixed warnings -2010-03-20 09:45 robert +Fri, 5 Mar 2010 12:55:08 +0000 +Checked in by : Robert Osfield +Replaced use of unsigned int/enum mask combinations with int/enum mask combinations to avoid the need for casting enums to unsigned ints, and to avoid associated warnings.Update wrappers to reflect these changes. - * From Ulrich Hertlein, changed init() call to _init(). -2010-03-19 20:12 mplatings - * Workaround for files exported from SoftImage that don't tag - skeleton nodes correctly. +Fri, 5 Mar 2010 12:53:08 +0000 +Checked in by : Robert Osfield +Updated version and soversion numbers -2010-03-19 18:28 mplatings +Fri, 5 Mar 2010 12:43:03 +0000 +Checked in by : Robert Osfield +From Mourad Boufarguine, "Some others modified CMake scripts :- OsgMacroUtils.cmake, SETUP_LINK_LIBRARIES macro : allow linking with debug/release external libraries +- osgQt/CMakeLists.txt : fix the linking to Qt librairies + linking to debug Qt librairies if found +- examples/ qt examples : linking to debug Qt librairies if found" - * From Paul Martz: This is a fix to get the FBX plugin to compile - on OS X -2010-03-19 17:09 robert - * Added a minimum tiles size of 16 to prevent down sampling from - being overly aggressive. +Fri, 5 Mar 2010 11:30:50 +0000 +Checked in by : Robert Osfield +Change Shader::getPCS(..) from protected to public scope to enable isCompiled() method to be accessible in applications.Updated wrappers -2010-03-19 16:31 robert - * Added new osgterrain example that is simplified to just basic - setup and control osgTerrain nodes, leaving the - osgthreadedterrain as the more complex example. -2010-03-19 16:30 robert +Fri, 5 Mar 2010 11:21:36 +0000 +Checked in by : Robert Osfield +Added an "-a" speed averager option and a "-o filename" output option. - * Renamed source file +Fri, 5 Mar 2010 11:19:34 +0000 +Checked in by : Robert Osfield +Changed Options::setDatabasePath(..) usage to getDatabasePathList().push_front() to paths set by Options to be picked up. -2010-03-19 14:55 robert +Fri, 5 Mar 2010 10:58:47 +0000 +Checked in by : Robert Osfield +Fixed warning - * Renamed osgterrain to osgthreadedterrain to better reflect it's - functionality. +Fri, 5 Mar 2010 10:50:50 +0000 +Checked in by : Robert Osfield +Fixed warning -2010-03-19 10:19 mplatings +Fri, 5 Mar 2010 10:48:34 +0000 +Checked in by : Robert Osfield +Fixed warning - * Fixed an infinite loop when loading a malformed file. +Thu, 4 Mar 2010 20:45:30 +0000 +Checked in by : Robert Osfield +From Mourad Boufarguine, "The attached CMakeLists allows building osgQt in case BUILD_OSG_EXAMPLES is set to off." -2010-03-18 19:02 mplatings - * Workaround for models with inverted transparency -2010-03-18 17:10 robert +Thu, 4 Mar 2010 17:01:33 +0000 +Checked in by : Michael PLATINGS +Added BlendFunc for transparent materials - * Added StateSet event handler to osgfont and osgtext to aid with - debugging +Thu, 4 Mar 2010 16:27:19 +0000 +Checked in by : Michael PLATINGS +Fix for some FBX files with multiple meshes bound to a bone. -2010-03-18 15:04 robert +Thu, 4 Mar 2010 13:03:18 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Added in a test of using the utility classes in - include/osgUtil/MeshOptimizers to see if they could improve - peformance. - - Tests shown poorer performance with the code enabled so for now - the code is #if 0 #endif'd out, and just left in place for future - testing. +Thu, 4 Mar 2010 12:59:53 +0000 +Checked in by : Robert Osfield +From Michael Platings, "Here are a couple more fixes on top of what you've already done." (in reply to fixes submission from Roland Smeenk). -2010-03-18 14:41 robert +Thu, 4 Mar 2010 12:57:24 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "I took a quick look at the warnings and they contain nothing serious. Attached you will find updates of the files to hopefully solve the warnings (in VS2005 only one warning occured). In addition I fixed a tiny bug that caused a crash with one of my test files." - * Removed the sizeAdjustment code as it was leading to incorrect - tex coord generation and clipping of the left handside - of the text glyphs. +Thu, 4 Mar 2010 12:43:09 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, Integration of osgText::Font with QFont to enable use of Qt fonts and selectors in osgText. -2010-03-17 14:36 robert +Thu, 4 Mar 2010 12:18:04 +0000 +Checked in by : Robert Osfield +Added Export for new osgQt lib - * From J.P. Delport, "attached an updated FindGDAL that finds 1.6.0 - version in Debian unstable. Could also be added to VPB. - - Also some misc spelling fixes in CMakeLists.txt" +Thu, 4 Mar 2010 12:15:35 +0000 +Checked in by : Robert Osfield +Moved QWebViewImage and QGraphicsViewAdapter into new osgQt utility library. -2010-03-17 14:32 robert +Thu, 4 Mar 2010 12:14:39 +0000 +Checked in by : Robert Osfield +Removed now redundent call to register PagedLODs - * From Glenn Waldron, "The PLY plugin only works for a file that - includes both vertices and faces. This patch adds support for PLY - files that include only vertices (a point cloud)." +Thu, 4 Mar 2010 11:45:44 +0000 +Checked in by : Robert Osfield +Removed old net plugin that is nolonger used. This plugin can be found in the deprecated/src/osgPlugins/net respository -2010-03-17 11:35 robert +Wed, 3 Mar 2010 17:24:04 +0000 +Checked in by : Robert Osfield +Ran dos2unix of files to fix issues with file endings - * disabled timing debug info +Wed, 3 Mar 2010 16:40:19 +0000 +Checked in by : Robert Osfield +Refactored DatabasePager so that it nolonger takes ref_ptr, but instead uses a custom version of observer_ptr<>. This change should make it possible to delete PagedLOD's independantly from the DatabasePager, and also prevent issues of consistency of the pager when subgraphs when are cached elsewhere in the application such as in the Registry filecache. -2010-03-17 10:33 shuber +Wed, 3 Mar 2010 16:37:45 +0000 +Checked in by : Robert Osfield +Fixed warning - * From Stephan Huber: updated XCode project +Wed, 3 Mar 2010 16:14:04 +0000 +Checked in by : Michael PLATINGS -2010-03-16 18:53 robert - * Updated wrappers +Wed, 3 Mar 2010 10:11:54 +0000 +Checked in by : Robert Osfield +From Martin Beckett, "I tested DJ's fix to stop flicker on Windows + Qt viewer on 2.6.7It solves the problem on XP and Win7 on Qt 4.5 and 4.62 +It isn't necessary on Linux (ubuntu 8.10/9.04 Qt 4.5/4.6.2) but doesn't cause any harm. +But I have #ifdef'ed it with WIN32. I can't test it on 64bit windows (not sure if x64 defines WIN32?)" -2010-03-16 18:44 robert - * Updated various serialization support for .osg, .osgt/b/x and - .ive. -2010-03-16 18:43 robert +Tue, 2 Mar 2010 18:18:06 +0000 +Checked in by : Michael PLATINGS - * Added BlendingPolicy support into osgTerrain::Terrain. -2010-03-16 12:05 robert +Mon, 1 Mar 2010 13:10:58 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added - osgTerrain::TerrainTile::set/getBlendingPolicy(BlendingPolicy) to - enable control over whether the tile should have blending enabled - on it. +Mon, 1 Mar 2010 13:00:04 +0000 +Checked in by : Robert Osfield +Added a ShadowTechnique::computeOrthogonalVector(const osg::Vec3& direction) const method for helping compute an appropriate up vector to setViewMatrixAsLookAt(..) codes in osgShadow. This will addresses previous issues that occured when look vectors co-incided with the hard coded up vectors. -2010-03-15 20:09 robert +Mon, 1 Mar 2010 11:52:44 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "Here comes a list of small fixes in StandardShadowMap and derived classes affecting LispSM techniques. Changes made against SVN trunk.Fixes in StandardShadowMap.cpp & MinimalShadowMap.cpp were made for spotlight issues. There were cases when further located spotlights were not shadowing properly. - * Fixed recursive call due to missing _ +Small tweak in DebugShadowMap & StandardShadowMap.cpp to not limit shadow maps to texture2D (which should also allow texture2D arrays and cube maps). I simply replaced ptr to osg::Texture2D with pointer to osg::Texture. Interpretation of this member could be now changed with change of shaders in derived classes. This may be useful for guys who override LispSM or MinimalBoundsShadowMaps techniques. Could be useful for implementation of PerspectiveCascadedShadowMaps technique for example. -2010-03-15 15:10 robert +ConvexPolyhedron.cpp & DebugShadowMap.cpp contain debug HUD tweaks. - * From Jean-Sebastien Guay, "This small one-line change allows us - to load a geometry shader with the extension .geom with - osgDB::readShaderFile() which will return an osg::Shader* with - the type already set to GEOMETRY. Very convenient. :-) - - This was already possible for .frag and .vert so there's no - reason why it shouldn't be possible for .geom. - - I also changed the alignment of some extension aliases so the - file looks a bit better now, but it's up to you if you want to - merge that or not. - " +Change in ConvexPolyhedron.cpp overcomes the regression problem with color per primitive binding which caused that shadow volume outlines stopped to draw. I simply changed PER_PRIMITIVE to PER_PRIMITIVE_SET and it works again. -2010-03-15 15:01 robert +Other adition is dump method I added to DebugShadowMap which can be used in shadow debugging mode to dump current frame shadow volumes & scene to osg file. It could be then loaded into viewer and freely examined from different angles (which is difficult inside the application if shadow adopts to view and projection). " - * From Farshid Lashkari, "I noticed that CMake forces a high stack - size by default for all MSVC projects. This can cause problems - for applications that use a lot of threads. I've added a new - option MSVC_USE_DEFAULT_STACK_SIZE that will remove the explicit - stack size and use the default MSVC size. Apparently this was - only necessary for very old versions of MSVC but it's still - around. I would argue that this option should be on by default, - but I've left it off for now. - - " -2010-03-15 14:47 robert - * From Wang Rui, - "Here is a small fix in the eventTraversal() function of both - viewer - and composite viewer class. - - if (getCameraWithFocus()) - { - if (getCameraWithFocus()!=getCamera()) // Newly added - { - osg::Viewport* viewport = getCameraWithFocus()->getViewport(); - osg::Matrix localCameraVPW = - getCameraWithFocus()->getViewMatrix() * - getCameraWithFocus()->getProjectionMatrix(); - if (viewport) localCameraVPW *= viewport->computeWindowMatrix(); - - osg::Matrix matrix( osg::Matrix::inverse(localCameraVPW) * - masterCameraVPW ); - - osg::Vec3d new_coord = osg::Vec3d(x,y,0.0) * matrix; - - x = new_coord.x(); - y = new_coord.y(); - } - ... - } - - I put an additional conditional statement here to ensure that - _cameraWithCamera and _camera are different, otherwise it's no - need to - calculate the transition matrix from main camera to focus camera. - The - excess calculations of 'matrix' and 'new_coord' may cause - floating-point error and return a slightly wrong result other - than an - identity matrix. It seems OK in most cases but will be still pain - when - there is little difference between two mouse moving events. " +Mon, 1 Mar 2010 11:29:19 +0000 +Checked in by : Robert Osfield +From Mourad Boufarguine, "With the present CMakeLists, the directory ${PROJECT_BINARY_DIR}/include is added to the include path before ${OpenSceneGraph_SOURCE_DIR}/include. This causes problems whenever a header file is changed when updating OSG, because cpp files are build against the old header files contained in ${PROJECT_BINARY_DIR}/include rather than the new ones in ${OpenSceneGraph_SOURCE_DIR}/include. Inverting the order of the two drectories in the include path solves the problem.Attached is the modified CMakeLists.txt." -2010-03-15 10:32 robert - * Updated wrappers -2010-03-15 10:32 robert +Fri, 26 Feb 2010 21:31:13 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Refactored Texture::Extensions to simplify it and make it more - efficient. +Fri, 26 Feb 2010 16:02:20 +0000 +Checked in by : Robert Osfield +updated wrappers -2010-03-14 08:56 robert +Fri, 26 Feb 2010 15:54:37 +0000 +Checked in by : Robert Osfield +Added spaces between < > template parts of macros to prevent compile problems when templates as use as macro parameters - * Added return into ReaderWriterOSG2::prepareReading(..) to prevent - bug associated with result being discarded. +Fri, 26 Feb 2010 15:40:19 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Regarding the osg-users thread "mergeGeodes crash", I'm submitting this for consideration as a fix for the problem with the FlattenStaticTransformsVisitor. It seems that the additional nested loop over the Transform's parent was not needed. I'm not sure why it was there, and if it really was unnecessary, then it has probably been resulting in many redundant Nodes for quite some time. Perhaps this fix will result in a cull- and draw-time performance boost."From Robert Osfield, added copying of the UserData and Descriptions from the transform to the new group. -2010-03-13 11:28 robert - * Refactored the initialization of OSX windowing settings so that - it's done on demand rather than on startup. -2010-03-12 09:32 robert - * Added initializer +Fri, 26 Feb 2010 15:01:00 +0000 +Checked in by : Robert Osfield +From Raymon de Vries, "I've made a small change to DirectShowTexture.cpp: in the options for the directshow plugin it is possible to specify the capture device by number. For instance: options->setPluginStringData("captureVideoDevice", "0");Lines added in getDevice() are: + int deviceId = atoi(name.c_str()); + if(deviceId >= 0 && deviceId < (int)_listDevice.size()) + return _listDevice[deviceId]; -2010-03-12 09:10 robert +This makes it easy to use a capture device without knowing it's name. Attached is the whole file against rev 11044" - * Changed ssize_t to int to fix windows build error -2010-03-11 18:15 robert - * From Time Moore, "This submission implements 3 optimizations for - meshes. INDEX_MESH turns DrawArrays style geometry into - DrawElements, uniquifying the vertices in the process. This is - useful for certain loaders, like ac3d, which just spit out - DrawArrays. VERTEX_POSTTRANSFORM and VERTEX_PRETRANSFORM optimize - mesh triangle and vertex order for the caches on a modern GPU, - using Tom Forsyth's algorithm. I describe this and the big - difference it makes (38% improvement on a very large mesh) in my - blog, - http://shiny-dynamics.blogspot.com/2010/03/vertex-cache-optimization-for-osg.html." +Fri, 26 Feb 2010 14:41:50 +0000 +Checked in by : Robert Osfield +From Michael Platings, "Here's the all-new, all-dancing DAE plugin, with support for reading osgAnimation. It's been tested with the majority of the samples in the COLLADA test repository and works with all of them either as well as, or better than, the version of the plugin currently in SVN.Known issue: vertex animation (AKA morphing) doesn't work at present, +but that's a relatively unpopular method of animating so it's not high +on my priority list." -2010-03-11 16:53 robert +Follow up email: +"I've been informed that the previous DAE submission didn't build on +unix, so here's the submission again with the fixes. Thanks to Gregory Potdevin and Benjamin Bozou. +Also, my apologies to Roland for not crediting his part in making DAE +animation happen, my work was indeed built on top of his work. Thanks +also to Marius Heise and of course Cedric Pinson." - * From Sukender, "I had some conflicts when updating but they seem - resolved now. Attached files (four files) are against rev. 11200. - Changelog: - - Replaced exceptions with assert() or OSG_NOTIFY - - Replaced osg::notify() with OSG_NOTIFY - - Changed braces and tabs to fit OSG coding convention - - Cleaned a few things in code (names, added deallocations upon - error)" +Changes by Robert Osfield, fixed compile issues when compile without C* automatic conversion enabled in ref_ptr<> +and constructor initialization fixes to address some warnings under gcc. -2010-03-11 16:46 robert - * Clean up of initialization of statics/use of getenv -2010-03-11 14:48 robert - * Added export for PerContextShader. +Fri, 26 Feb 2010 14:36:23 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-03-11 10:24 robert +Fri, 26 Feb 2010 10:13:28 +0000 +Checked in by : Robert Osfield +From Paul Martz, "The changes are very similar to Magne's, except they now take the near plane into account. The changes are: * Change OcclusionQueryNode::getPassed to take a NodeVisitor rather than the distance from BS center to the eye point. Change where CullVisitor calls this method to use the new parameters. + * getPassed now exits early and returns true to avoid blinking / blink-in of geometry for the first frame or for out-of-range LOD children coming back into view. + * getPassed now considers the distance from the near plane to the bounding sphere (rather than eye point to bounding sphere) when determining if the viewer is "inside" the bounding sphere or not." - * Cleaned up the registration of wrappers so that they are done on - demand. -2010-03-11 10:17 robert - * Fixed warning -2010-03-10 17:23 robert +Fri, 26 Feb 2010 10:03:01 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Summary: GL3 deprecates "glGetString(GL_EXTENSIONS)". In GL3, individual extension strings are queried by looping over GL_NUM_EXTENSIONS and calling "glGetStringi(GL_EXTENSIONS,)".The fix is basically as follows: + if( GL3 ) + Query indexed extension strings. + else + Query the old way. - * From David Fries,"This improves the out of box detection of the - 3rd party libraries for - Windows. If the 3rdparty directory isn't available it will use - the - directory names subversion uses such as - 3rdParty_win32binaries_vs71 - 3rdParty_win32binaries_vs80sp1 3rdParty_win32binaries_vs90sp1. - That - helps when as we are building both vs71 and vs80, and probably - vs90 in - the future at the same time in addition to not having to rename - the - directory once it is downloaded. It also adds the _i suffix to - match - some of the libraries. - " +The "else" branch is re-indented but otherwise shouldn't contain any changes." -2010-03-10 17:19 robert +From Robert Osfield, added #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) to new block to prevent it +being compiled under GLES where no glGetStringi exists. - * From David Fries,"We are needing to compile Debug, Release, and - MinSizeWithDebInfo, but - currently only Debug appends "d" so the Release and - MinSizeWithDebInfo - (and MinSizeRel) all produce the same filenames. This set of - changes - lets each build type have a cmake defined string appended, - defaulting - to Release none, Debug d, RelWithDebInfo rd, MinSizeRel s. But a - user - still can have Release, RelWithDebInfo, and MinSizeRel to produce - the - same filenames. It does so by setting the preprocessor define - OSG_LIBRARY_POSTFIX in src/osgDB/CMakeLists.txt to one of the - previously defined cmake variables CMAKE_DEBUG_POSTFIX - CMAKE_RELEASE_POSTFIX CMAKE_RELWITHDEBINFO_POSTFIX - CMAKE_MINSIZEREL_POSTFIX. This method cuts down on the #ifdef - _DEBUG - #else preprocessor directives in Registry.cpp as the extension is - always passed in OSG_LIBRARY_POSTFIX. That and __MINGW32__ didn't - have the _DEBUG check which looks like a bug." -2010-03-10 16:31 robert - * From Roger James, "Here is a small stability fix to the dae - reader which seems to have dropped out of the latest version." -2010-03-10 16:31 robert +Fri, 26 Feb 2010 09:48:22 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Summary: GL3 deprecates "glGetString(GL_EXTENSIONS)". In GL3, individual extension strings are queried by looping over GL_NUM_EXTENSIONS and calling "glGetStringi(GL_EXTENSIONS,)".The fix is basically as follows: + if( GL3 ) + Query indexed extension strings. + else + Query the old way. - * Updated version +The "else" branch is re-indented but otherwise shouldn't contain any changes." -2010-03-10 16:05 robert - * From Sukender, "I've fixed positions for 3DS writer. Points in - 3DS must be in world coordinates and I added what was missing. - And by refactoring a bit of code, I may have fixed some StateSets - related bugs (was ignoring StateSets for osg::Groups). - I also added support for Billboard's points, so now "osgconv - lz.osg lz.3ds" has an acceptable output. However, there is no - rotation depending on billboards' axis, hence the notice - "Warning: 3DS writer is incomplete for Billboards (rotation not - implemented).". You may want to remove this notice (or lower the - notify severity) if you feel 3DS doesn't have to handle such - rotations. - The attached archive contains 3 files from 3DS plugin, against - rev. 11162. - - Please note there is still the textures issue for cow.osg. I - guess it's because it's not a "flat, dummy and standard" texture - in slot 0... That is to say the only thing the writer can handle - at the moment. I guess I won't address this soon. - " - and - - "I've detected and fixed another bug in 3DS writer: support for - automatic splitting of meshes having >65k faces/points was buggy - (was deleting faces). - Here is my four 3DS modified files (in a ZIP), against rev. - 11193, including previous fixes AND Stephan's fix about relative - filenames." -2010-03-10 14:44 robert - * Updated wrappers +Fri, 26 Feb 2010 09:40:11 +0000 +Checked in by : Robert Osfield +From Chris Hanson, comment fix -2010-03-10 14:29 robert +Fri, 26 Feb 2010 09:33:48 +0000 +Checked in by : Robert Osfield +From Sukender, "I tried a tiny change in is83() function and had no crash (under Windows). "osgconv cow.osg cow.3ds" exports a black cow and "osgconv lz.osg lz.3ds" exports tree(s) at (0,0,0)... I guess there are still things to do about non-zero-index textures and multiple instanciation of a node, but at least it doesn't crash." - * Update SO version number to 66 to skip over 65 value planned to - 2.8.3 +Fri, 26 Feb 2010 09:23:28 +0000 +Checked in by : Robert Osfield +From Ryan Kawicki, "I guess I missed these during my testing, but if the database pager has outstanding requests while the application is shutting down, the archive can become invalidated through unsafe calls to ReaderWriterTXP::getArchive. I've made this function return a ref_ptr and change other locations to as needed to conform to the change. I've tested this and no more crashes.Following files from revision 11057 have been attached." -2010-03-10 14:28 robert - * From Vincent Bourdier, addition of out of memory read result. -2010-03-10 13:48 robert - * From Wang Rui, "I've initially added the XML support of the new - native osg format, - using osgDB::XmlParser. The extension for XML-formatted scenes is - .osgx, corresponding to .osgb for binary and .osgt for ascii. It - could - either be rendered in osgviewer or edited by common web browsers - and - xml editors because of a range of changes to fit the XML syntax. - For - example, the recorded class names are slight modified, from - 'osg::Geode' to 'osg--Geode'. - - To quickly get an XML file: - # ./osgconv cow.osg cow.osgx - - The StreamOperator header, InputStreram and OutputStream classes - are - modified to be more portable for triple ascii/binary/XML formats. - I - also fixed a bug in readImage()/writeImage() to share image - objects if - needed. - - The ReaderWriterOSG2 class now supports all three formats and - reading/writing scene objects (not nodes or images), thanks to - Torben's advice before. - " +Fri, 26 Feb 2010 08:55:50 +0000 +Checked in by : Robert Osfield +From Philip Lownman, "The libpng project decided to rename png_set_gray_1_2_4_to_8() to png_set_expand_gray_1_2_4_to_8() with the 1.2.9 release. This submission fixes builds of the OSG against versions of libpng < 1.2.9 that don't have the new symbol available. This affects platforms like Red Hat Enterprise Linux 4 which come with libpng 1.2.7." -2010-03-10 13:37 robert +Thu, 25 Feb 2010 18:17:20 +0000 +Checked in by : Robert Osfield +From Terry Welsh, "As discussed on the osg-users list, I have implemented these rules in Text and Text3D:1. A new line should be started after a line's last hyphen or before +its last whitespace. +2. If no suitable place to break a line is found, just start new line +after the last character that fits on the line. +3. Whitespace should be removed from the beginning of the new line +(already worked in Text, but not in Text3D). - * From John Ivar Haugland, "This is a fix to InputStream.cpp. - (revision 11114) . I have attached the modified file. - - The options where not passed on to the image reader plugins when - reading the new osg2 format files, so I added the options to the - osgDB.:readImageFile function call. - - " +Line wrapping looks a lot better now with no more lone periods +appearing at the beginning of lines. -2010-03-10 13:24 robert +Also, right-justified text is more accurate now (slashes would hang +off the end of lines before). With this new code I spotted one +instance where a hyphen stuck out too far, but in general it looks +better. Centered text was not perfect before and still isn't, but I +can't see any significant increase or decrease in quality. The casual +observer would probably never notice a problem. - * From Wang Rui, QWidgetImage class that enables QWidgets to be - used as an interactive osg::Image that can be assigned to - textures. +Also fixed a whitespace problem in Text3D. Not all whitespace was +being removed from the beginning of lines. Now it is all being +removed in the same manner as in Text." -2010-03-10 12:56 robert - * From Laurens Voerman, "as I work in Visual Studio, the - introduction of the new osg2 reader/writer gave me a confusing - project list, especially the three projects named "Plugins osg". - The attached patch changes the project names to "Plugins osg - depricated xxx" and "Plugins osg serializer xxx" therefore - keeping them close together in the Solution Explorer. - " -2010-03-10 12:13 robert +Thu, 25 Feb 2010 18:05:59 +0000 +Checked in by : Robert Osfield +From Erik Johnson, "There is an issue on win32 if the application hides the cursor using GraphicsWindowWin32::useCursor(false). The cursor has a habit of re-showing itself.To reproduce, on win32: - * Added tests of various FileNameUtils functions, tests invoked by - osgunittests filenames +-Run osgViewer in a windowed mode, with the cursor off, as such: + osgViewer::Viewer::Windows windows; + viewer.getWindows(windows); + for(osgViewer::Viewer::Windows::iterator itr = windows.begin(); + itr != windows.end(); + ++itr) + { + (*itr)->useCursor( false ); + } -2010-03-10 12:04 robert +-Quickly move the cursor into the window (cursor it should be hidden) +-Resize the window by dragging the border (notice the cursor changes to "resize" cursor) +-Move the cursor back to the inside of the window (notice the cursor is not hidden anymore) - * Refactored the find_last_of to simplify it. +The attached SVN patch will set the cursor to a "NoCursor" during useCursor(false). This correctly stores the no cursor state, so it can be rejuvenated after a future cursor change. This patch also fixes a couple instances where a hidden cursor should show itself, like when it's on the title bar, or the window close button." -2010-03-10 11:40 robert - * From Sukender, "Here is my proposal. I fixed what Paul said, - added some doxygen comments, added the function I told about, and - removed the two "find('/')"-like calls to use only one." -2010-03-10 11:09 robert +Thu, 25 Feb 2010 18:03:14 +0000 +Checked in by : Robert Osfield +From Chris Hanson, comment fix. - * From Nico Krulthof and Jori Torres, additions for detecting OSX - 10.6 SDK and setting variable defaults accordingly. +Thu, 25 Feb 2010 18:01:25 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov, "attached is some fix for the directshow plugin. Cleans up the build warnings as well makes the code a bit safer" -2010-03-10 11:01 robert +Thu, 25 Feb 2010 17:58:50 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, submitted by Cedric Pinson "Here an new example from Jeremy Moles that demonstrate EaseMotion from osgAnimation, i have updated EaseMotion with new type, so for users of EaseMotion just have look, it's a great example." - * Based on a suggestion from Chuck Seberino, have added a section - for testing of 64bit build under OSX and disable the use of - quicktime when the build includes 64bit. +Thu, 25 Feb 2010 17:53:51 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Attached is the osgTerrain wrappers, based on the latest SVN version of OSG. I modified the osgDB::InputStream and OutputStream and the PagedLOD wrapper as well. Now all seems to work fine with paged scenes. I've tested with the puget terrain data and the osgdem application from VPB: # osgdem --xx 10 --yy 10 -t ps_texture_4k.tif --xx 10 --yy 10 -d ps_height_4k.tif -l 8 -v 0.1 -o puget.osgbAs the ive plugin does, The PagedLOD wrapper now automatically add the +latest file path to PagedLODs' databasePath member, to help them find +correct child positions. I also changed the image storage strategy of +the OutputStream class, to store them inline by default. The osgt +extension should also work, in case the image files are also written +to the disk. +" -2010-03-10 10:32 robert - * From Laurens Voerman, "my compiler (VC Express 9) gives some - warnings (see below) about not being able to generate an - assignment operator. As those assignment operators are not used - and problably should never be used, I solved this by creating an - private (empty) assingment operator. - " - - From Robert Osfield, added "return *this;" to Laurens's addition - to prevent them generating a warning under gcc... -2010-03-10 10:10 robert +Thu, 25 Feb 2010 17:18:46 +0000 +Checked in by : Robert Osfield +From J.P. Delport: "by some strange circumstance I've stumbled across the following problem:I create a compositeviewer with two views that share a context. One view is deleted. Texture::TextureObjectSet::discardAllTextureObjects is called, but this does not reset _tail. Now the texture object is again created and addToBack is called from Texture::TextureObjectSet::takeOrGenerate. In addToBack (line 612) _tail is now not 0 (although the list should be empty) and a loop is created from the texture object to itself. Then when the second view is deleted, Texture::TextureObjectSet::deleteAllTextureObjects loops forever. Setting _tail to 0 fixes it for me (see attached)." - * From Stephan Huber, "attached you'll find a small bugfix for the - 3ds-reader. It allows - reading files with relative paths again. (Hard to explain, easy - to see - in the diff)" -2010-03-10 09:37 robert - * Added automatic updating of the OpenThreads version number from - the CMake version numbers -2010-03-09 15:16 shuber +Thu, 25 Feb 2010 17:13:15 +0000 +Checked in by : Robert Osfield +From Simon Buckley, "Attached is a small change to the file src\osgPlugins\dxf\dxfFile.cpp that allows the dxf reader to skip comments in a dxf file. I found with the existing version and a test file I had that the loader failed when comments were present. I made a very minor change to allow "999" comment codes to be skipped rather than causing load failure." - * From Stephan Huber: fixed xcode project again +Thu, 25 Feb 2010 17:07:34 +0000 +Checked in by : Robert Osfield +From Michael Platings, "There is a function, convertStringFromCurrentCodePageToUTF8() that would be useful outside the FBX plugin so it belongs in osgDB. I've attached ConvertUTF and ConvertUTF.cpp with the function added for you to commit at your convenience. " -2010-03-08 10:20 robert +Wed, 24 Feb 2010 10:52:51 +0000 +Checked in by : Michael PLATINGS - * Added extra ffmpeg version check -2010-03-05 16:17 robert +Wed, 24 Feb 2010 10:25:50 +0000 +Checked in by : Michael PLATINGS - * From Wojcoech Lewandowski, "Attched are aimShadowCastingCamera() - call changes, I have described in former post. Basically now - MinimalShadowMap overrides first variant and keeps second. So - both variants of aimShadowCastingCamera are clearly defined in - MinimalShadowMap::ViewData scope. This way compilers have no - problem and code looks less obscure. Changes made against the - trunk." -2010-03-05 16:08 robert +Wed, 24 Feb 2010 10:12:11 +0000 +Checked in by : Michael PLATINGS - * From Mathias Froehlich, "Not so long time ago, there was a - complaint about the ac3d plugin not honoring - absolute filenames for the texture images. - - The attached change should fix this by at first looking at the - absolute file - name to load a texture and then, if that fails, strip away any - paths to try - that again with the bare file name. - The change also fixes a possible exception that could be - triggered by an out - of bounds std::string access which is now avoided by using - functions from - osgDB/FileUtils. - - The change is based on rev 11161." -2010-03-05 16:07 robert +Wed, 24 Feb 2010 10:02:14 +0000 +Checked in by : Michael PLATINGS - * Fixed warning -2010-03-05 16:04 robert +Mon, 22 Feb 2010 17:41:35 +0000 +Checked in by : Robert Osfield +Added an empty() method - * Fixed usage of osg::swapBytes to properly pass in pointer to data - that needs swapping. +Mon, 22 Feb 2010 10:43:22 +0000 +Checked in by : Robert Osfield +Updated authors file -2010-03-05 15:46 robert +Mon, 22 Feb 2010 10:36:55 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Mathias Froehlich, "If you want to have that qfont plugin - loader, this is the updated - implementation which uses osgQt and includes the changes to make - fonts load - without a file on disk." +Mon, 22 Feb 2010 10:10:08 +0000 +Checked in by : Robert Osfield +Fixed STDINT_INCLUDE path -2010-03-05 15:36 robert +Mon, 22 Feb 2010 09:50:37 +0000 +Checked in by : Robert Osfield +From Trajce Nicklov, fixes to warnings - * Replaced find_first_of with find +Mon, 22 Feb 2010 08:48:02 +0000 +Checked in by : Robert Osfield +Seperated out the #define of GL_PERSPECTIVE_CORRECTION_HINT to fix GL3 build -2010-03-05 15:17 robert +Mon, 22 Feb 2010 08:39:33 +0000 +Checked in by : Robert Osfield +Added missing _ptr = rp._ptr to constructor. - * Replaced find_first_of with find. +Sat, 20 Feb 2010 17:36:55 +0000 +Checked in by : Robert Osfield +Converted View across to use ObserverNodePath. -2010-03-05 15:10 robert +Fri, 19 Feb 2010 21:03:33 +0000 +Checked in by : Robert Osfield +Build fixes for GLES2 - * From Sukender, "Here is a tiny fix for getNameLessExtension(). It - does now check for the presence of slashes ('/' and '\') to avoid - changing the string when having a dot in a directory. - Old behaviour: "abc.d/filename_no_ext" -> "abc" - New behaviour: "abc.d/filename_no_ext" -> "abc.d/filename_no_ext" - - Attached file is against rev. 11158." +Fri, 19 Feb 2010 20:58:46 +0000 +Checked in by : Robert Osfield +Fixed GLES1/GLES2 build -2010-03-05 15:08 robert +Fri, 19 Feb 2010 20:43:58 +0000 +Checked in by : Robert Osfield +Added include of osg/FrameBufferObject to fix GLES1/GLES2 build issue - * Fixes for warning from qt headers +Fri, 19 Feb 2010 20:40:41 +0000 +Checked in by : Robert Osfield +Build fix for GLES1 and GLES2 -2010-03-05 15:07 robert +Fri, 19 Feb 2010 20:18:48 +0000 +Checked in by : Robert Osfield +Moved implementation of Observer destructor and constructor from header into .cpp to avoid possible issues with imports/exports under Windows build. - * Removed files that are now part of osgQt +Fri, 19 Feb 2010 20:14:12 +0000 +Checked in by : Robert Osfield +Added check against OSG_GL3_AVAILABLE to avoid issues with GL3 build under linux -2010-03-05 15:05 shuber +Fri, 19 Feb 2010 20:11:14 +0000 +Checked in by : Robert Osfield +Added #include , convert osg::notify usage to OSG_NOTICE - * From Stephan Huber: updated XCode project +Fri, 19 Feb 2010 19:50:55 +0000 +Checked in by : Robert Osfield +Clean up observer_ptr<> and removed the eronous casting of ptr in objectDeleted. -2010-03-05 15:04 robert +Fri, 19 Feb 2010 19:00:48 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Fixed warnings +Fri, 19 Feb 2010 18:56:21 +0000 +Checked in by : Robert Osfield +Removed the uncessary subclassing from osg::Object as this base class is already pullled via ViewerBase -2010-03-05 12:55 robert +Fri, 19 Feb 2010 16:04:33 +0000 +Checked in by : Robert Osfield +Added mutex lock to destructor. - * Replaced use of unsigned int/enum mask combinations with int/enum - mask combinations to avoid the need for casting enums to unsigned - ints, - and to avoid associated warnings. - - Update wrappers to reflect these changes. +Fri, 19 Feb 2010 15:41:42 +0000 +Checked in by : Robert Osfield +Replaced local mutex with getObserverMutex(). -2010-03-05 12:53 robert +Fri, 19 Feb 2010 14:30:01 +0000 +Checked in by : Robert Osfield +From Fabien Lavignotte, "In order to compile on Windows with Wrappers ON, some exports are still missing on osgPresentation::AnimationMaterialCallback and osgUtil::IncrementalCompileOperation::CompileSet." - * Updated version and soversion numbers +Fri, 19 Feb 2010 14:05:49 +0000 +Checked in by : Robert Osfield +Removed no longer defined methods and updated wrappers -2010-03-05 12:43 robert +Fri, 19 Feb 2010 09:32:15 +0000 +Checked in by : Robert Osfield +Updated contributors list for 2.9.7 release - * From Mourad Boufarguine, "Some others modified CMake scripts : - - - OsgMacroUtils.cmake, SETUP_LINK_LIBRARIES macro : allow linking - with debug/release external libraries - - osgQt/CMakeLists.txt : fix the linking to Qt librairies + - linking to debug Qt librairies if found - - examples/ qt examples : linking to debug Qt librairies if - found" +Fri, 19 Feb 2010 09:21:00 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2010-03-05 11:30 robert +Fri, 19 Feb 2010 09:02:24 +0000 +Checked in by : Robert Osfield +Added an InitGlobalMutexes to enforce early construction and hence late destruction of singleton mutexes. - * Change Shader::getPCS(..) from protected to public scope to - enable isCompiled() method to be accessible in applications. - - Updated wrappers +Thu, 18 Feb 2010 22:53:15 +0000 +Checked in by : Robert Osfield +Added newline. -2010-03-05 11:21 robert +Thu, 18 Feb 2010 22:20:11 +0000 +Checked in by : Robert Osfield +From Mourad Boufarguine, fixed typo. - * Added an "-a" speed averager option and a "-o filename" output - option. +Thu, 18 Feb 2010 22:17:50 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-03-05 11:19 robert +Thu, 18 Feb 2010 22:17:35 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Changed Options::setDatabasePath(..) usage to - getDatabasePathList().push_front() to paths set by Options to be - picked up. +Thu, 18 Feb 2010 21:24:42 +0000 +Checked in by : Robert Osfield +Updated version number of OpenThreads to reflect recent changes -2010-03-05 10:58 robert +Thu, 18 Feb 2010 21:21:59 +0000 +Checked in by : Robert Osfield +Completed usage of ObserverNodePath to fix longstanding crash that occurred when nodes in parental chain of a newly loaded node had been deleted. - * Fixed warning +Thu, 18 Feb 2010 21:21:12 +0000 +Checked in by : Robert Osfield +Refactored the osg::Referenced observerset code so that it now uses a dedicated ObserverSet class, which utilises a global recursive mutex that is dedicated to manage Observer and ObserverSet.The new global mutex for observers avoids problems with deadlocks that were occurring previously when +an osg::Refenced object was being deleted at the same time as on osg::ObserverNodePath. -2010-03-05 10:50 robert - * Fixed warning -2010-03-05 10:48 robert - * Fixed warning +Thu, 18 Feb 2010 21:18:49 +0000 +Checked in by : Robert Osfield +Replaced use of observer_ptr<> with straight C pointer to avoid thrashing of an observer_ptr<> every frame.Changed include to point to new Observer header -2010-03-04 20:45 robert - * From Mourad Boufarguine, "The attached CMakeLists allows building - osgQt in case BUILD_OSG_EXAMPLES is set to off. - - " -2010-03-04 17:01 mplatings +Thu, 18 Feb 2010 21:17:36 +0000 +Checked in by : Robert Osfield +Added className() to assist with debugging - * Added BlendFunc for transparent materials +Thu, 18 Feb 2010 21:15:28 +0000 +Checked in by : Robert Osfield +Changed controls for changing animation speed to '(' and ')' to avoid overlap with window resize handler. -2010-03-04 16:27 mplatings +Thu, 18 Feb 2010 20:14:41 +0000 +Checked in by : Robert Osfield +Refactored the ReentrantMutex support so that it utilises the underling thread implementation for recusive mutex support. - * Fix for some FBX files with multiple meshes bound to a bone. +Thu, 18 Feb 2010 09:00:37 +0000 +Checked in by : Robert Osfield +Added new setNodePathTo() method -2010-03-04 13:03 robert +Wed, 17 Feb 2010 10:09:31 +0000 +Checked in by : Robert Osfield +Fixed double addition of source node when doing ObserverNodPath::setNodePathTo()Fixed comment in Referenced.cpp - * Fixed warnings -2010-03-04 12:59 robert - * From Michael Platings, "Here are a couple more fixes on top of - what you've already done." (in reply to fixes submission from - Roland Smeenk). +Tue, 16 Feb 2010 17:38:49 +0000 +Checked in by : Robert Osfield +Added className() implementation to help wiht debugging. -2010-03-04 12:57 robert +Tue, 16 Feb 2010 14:05:49 +0000 +Checked in by : Robert Osfield +Fixed crash - * From Roland Smeenk, "I took a quick look at the warnings and they - contain nothing serious. - Attached you will find updates of the files to hopefully solve - the warnings (in VS2005 only one warning occured). In addition I - fixed a tiny bug that caused a crash with one of my test files." +Tue, 16 Feb 2010 11:10:49 +0000 +Checked in by : Robert Osfield +Threads safety fixes based on suggestions from Tim Moore. -2010-03-04 12:43 robert +Tue, 16 Feb 2010 08:53:56 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Mathias Froehlich, Integration of osgText::Font with QFont - to enable use of Qt fonts and selectors in osgText. +Mon, 15 Feb 2010 23:47:12 +0000 +Checked in by : Cedric Pinson +From Jeremy Moles, add new EaseMotion and add example osganimationeasemotion to demonstrate them -2010-03-04 12:18 robert +Mon, 15 Feb 2010 20:15:43 +0000 +Checked in by : Robert Osfield +Upadted wrappers - * Added Export for new osgQt lib +Mon, 15 Feb 2010 20:15:32 +0000 +Checked in by : Robert Osfield +Refactor various NodeTracker and MatrixManipulator classes to use the osg::ObserverNodePath and osg::oberserver_ptr<> classes -2010-03-04 12:15 robert +Mon, 15 Feb 2010 20:14:32 +0000 +Checked in by : Robert Osfield +Introduced new osg::ObserverNodePath class that robustly manages a NodePath in a thread safe manner, making it easier for users to track a NodePath even when nodes in the path get deleted. - * Moved QWebViewImage and QGraphicsViewAdapter into new osgQt - utility library. +Mon, 15 Feb 2010 20:12:53 +0000 +Checked in by : Robert Osfield +Refactored the osg::Observer to introduce a new bool Observer::objectUnreferenced(void*) method that adds the extra capability of making it possible for Observers to assume ownership of a object that would otherwsie be deleted.Added a thread safe ref_ptr observer_ptr::lock() method for robust access to an observed object. This +makes observer_ptr<> more equivilant to boosts weak_ptr. -2010-03-04 12:14 robert - * Removed now redundent call to register PagedLODs -2010-03-04 11:45 robert +Mon, 15 Feb 2010 11:36:05 +0000 +Checked in by : Robert Osfield +Added osg:: qualifyer to OSG_NOTIFY macro - * Removed old net plugin that is nolonger used. This plugin can be - found in the deprecated/src/osgPlugins/net respository +Fri, 12 Feb 2010 11:45:00 +0000 +Checked in by : Robert Osfield +Introduced OSG_WARN, OSG_NOTICE, OSG_INFO, OSG_DEBUG convinience macros that map to OSG_NOTIFY(osg::WARN) etc.Introduced the OSG_NOTIFY_DISABLE Cmake variable + include/osg/Config #define to control whether the OpenSceneGraph build +should disable the notification system completely. By setting OSG_NOTIFY_DISABLE to ON in CMake and then rebuilding the +the OSG you can get a slightly smaller (~1%) and more slightly efficient library which can be good for shipping applications, +but with downside of reduced ability to detect runtime problems and their causes. -2010-03-03 17:24 robert - * Ran dos2unix of files to fix issues with file endings -2010-03-03 16:40 robert - * Refactored DatabasePager so that it nolonger takes - ref_ptr, but instead uses a custom version of - observer_ptr<>. - This change should make it possible to delete PagedLOD's - independantly from the DatabasePager, and also prevent issues of - consistency of the pager when subgraphs when are cached elsewhere - in the application such as in the Registry filecache. +Thu, 11 Feb 2010 11:56:43 +0000 +Checked in by : Robert Osfield +From Sukender, "- Added support for extended filenames (=not 8.3) for images: reads without crashing, optionnally write extended filenames (correctly truncate names if option is OFF). Write option is OFF by default. - Improved identifiers generation in duplicate name handling (was limited to 1000 name collisions, which can be very short for some usages). - Set all read/write operations use a custom log function that will redirect lib3DS log to osg::notify() (was only used for streams) - Removed custom code (now uses osgDB::getFilePath()) - Added missing supportsOption() calls - Cleaned a few minor things" -2010-03-03 16:37 robert +Thu, 11 Feb 2010 11:17:55 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, "he new GNU linker, "gold", is going to replace soon the current ld in almost all Linux distributions. Although it is 100% compatible with ld, by default it gives an error if a library has unresolved symbols at link time, that is, it has set -Wl,--no-undefined by default. Debian folks have found that libosg.so and libosgDB.so use some functions belonging to libdl.so {dlsym,dlopen,dlclose,dlerror} without linking to it.My changes link those two libraries to libdl.so explicitly in the same +way it is already done for libm.so and librt.so." - * Fixed warning -2010-03-03 16:14 mplatings - * +Thu, 11 Feb 2010 11:13:01 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Just a minor fix of the src/osgDB/CMakeLists.txt, change:SET(COMPRESSION_LIBRARIES ${ZLIB_LIBRARY}) +... +LINK_EXTERNAL(${LIB_NAME} ${OSGDB_PLATFORM_SPECIFIC_LIBRARIES}) -2010-03-03 10:11 robert +to - * From Martin Beckett, "I tested DJ's fix to stop flicker on - Windows + Qt viewer on 2.6.7 - - It solves the problem on XP and Win7 on Qt 4.5 and 4.62 - It isn't necessary on Linux (ubuntu 8.10/9.04 Qt 4.5/4.6.2) but - doesn't cause any harm. - But I have #ifdef'ed it with WIN32. I can't test it on 64bit - windows (not sure if x64 defines WIN32?)" +SET(COMPRESSION_LIBRARIES ZLIB_LIBRARY) +... +LINK_EXTERNAL(${LIB_NAME} ${OSGDB_PLATFORM_SPECIFIC_LIBRARIES} +${COMPRESSION_LIBRARIES}) +LINK_WITH_VARIABLES(${LIB_NAME} ${COMPRESSION_LIBRARIES}) -2010-03-02 18:18 mplatings - * +I notice that the LINK_EXTERNAL macro won't distinguish between debug +and release dependences, which means that osgDB will use the release +version of zlib for all build configurations. Under Win32, this will +cause a manifest problem: all applications using osgDB may complain +"failed to start because msvcr80.dll was not found" or similar +messages. -2010-03-01 13:10 robert +This change will make it back to normal." - * Updated wrappers -2010-03-01 13:00 robert - * Added a ShadowTechnique::computeOrthogonalVector(const osg::Vec3& - direction) const method for helping compute an appropriate - up vector to setViewMatrixAsLookAt(..) codes in osgShadow. This - will addresses previous issues that occured when look vectors - co-incided with the hard coded up vectors. +Thu, 11 Feb 2010 11:06:12 +0000 +Checked in by : Robert Osfield +Fixed the rotation of normals -2010-03-01 11:52 robert +Thu, 11 Feb 2010 09:13:33 +0000 +Checked in by : Robert Osfield +Added futher use of readSize/writeSize. - * From Wojciech Lewandowski, "Here comes a list of small fixes in - StandardShadowMap and derived classes affecting LispSM - techniques. Changes made against SVN trunk. - - Fixes in StandardShadowMap.cpp & MinimalShadowMap.cpp were made - for spotlight issues. There were cases when further located - spotlights were not shadowing properly. - - Small tweak in DebugShadowMap & StandardShadowMap.cpp to not - limit shadow maps to texture2D (which should also allow texture2D - arrays and cube maps). I simply replaced ptr to osg::Texture2D - with pointer to osg::Texture. Interpretation of this member could - be now changed with change of shaders in derived classes. This - may be useful for guys who override LispSM or - MinimalBoundsShadowMaps techniques. Could be useful for - implementation of PerspectiveCascadedShadowMaps technique for - example. - - ConvexPolyhedron.cpp & DebugShadowMap.cpp contain debug HUD - tweaks. - - Change in ConvexPolyhedron.cpp overcomes the regression problem - with color per primitive binding which caused that shadow volume - outlines stopped to draw. I simply changed PER_PRIMITIVE to - PER_PRIMITIVE_SET and it works again. - - Other adition is dump method I added to DebugShadowMap which can - be used in shadow debugging mode to dump current frame shadow - volumes & scene to osg file. It could be then loaded into viewer - and freely examined from different angles (which is difficult - inside the application if shadow adopts to view and projection). - " +Wed, 10 Feb 2010 19:36:31 +0000 +Checked in by : Robert Osfield +replaced reading and writing of std::container.size() using InputStream::readSize() and OutputStream::writeSize() to make the type writing more explictly tied to the size type, with use of unsigned int as the default size. This approach ensures that we get the same results under 32 and 64bit builds. -2010-03-01 11:29 robert +Wed, 10 Feb 2010 17:03:09 +0000 +Checked in by : Robert Osfield +Added OutputStream::writeSize and InputStream::readSize methods to help out with ensure that 32bit and 64bit builds all use the same 32bit type for sizes. - * From Mourad Boufarguine, "With the present CMakeLists, the - directory ${PROJECT_BINARY_DIR}/include is added to the include - path before ${OpenSceneGraph_SOURCE_DIR}/include. This causes - problems whenever a header file is changed when updating OSG, - because cpp files are build against the old header files - contained in ${PROJECT_BINARY_DIR}/include rather than the new - ones in ${OpenSceneGraph_SOURCE_DIR}/include. Inverting the order - of the two drectories in the include path solves the problem. - - Attached is the modified CMakeLists.txt." +Wed, 10 Feb 2010 16:23:27 +0000 +Checked in by : Robert Osfield +Fixed automatic loading of plugins -2010-02-26 21:31 robert +Wed, 10 Feb 2010 15:18:20 +0000 +Checked in by : Robert Osfield +Changed NOTIFY to OSG_NOTIFY - * Updated wrappers +Wed, 10 Feb 2010 12:48:21 +0000 +Checked in by : Robert Osfield +Fixed typo -2010-02-26 16:02 robert +Wed, 10 Feb 2010 12:44:59 +0000 +Checked in by : Robert Osfield +Convert NOTIFY to OSG_NOTIFY to avoid problems with polution of users apps with the NOTIFY macro - * updated wrappers +Wed, 10 Feb 2010 11:21:45 +0000 +Checked in by : Robert Osfield +Added pruning of requests that haven't been reissued since the last frame. -2010-02-26 15:54 robert +Tue, 9 Feb 2010 19:30:52 +0000 +Checked in by : Robert Osfield +Added enabling of threadsafe ref/unref in FileCache. - * Added spaces between < > template parts of macros to prevent - compile problems when templates as use as macro parameters +Tue, 9 Feb 2010 18:24:37 +0000 +Checked in by : Robert Osfield +Converted osg::notify usage to NOTIFY -2010-02-26 15:40 robert +Tue, 9 Feb 2010 17:39:43 +0000 +Checked in by : Robert Osfield +Introduced NOTIFY macro to help out with avoiding using of streams with notification level is below the user defined cutoff. This addition has been introduced to help out with avoid threading performance issues with the Microsoft ostream implementation. - * From Paul Martz, "Regarding the osg-users thread "mergeGeodes - crash", I'm submitting this for consideration as a fix for the - problem with the FlattenStaticTransformsVisitor. It seems that - the additional nested loop over the Transform's parent was not - needed. I'm not sure why it was there, and if it really was - unnecessary, then it has probably been resulting in many - redundant Nodes for quite some time. Perhaps this fix will result - in a cull- and draw-time performance boost." - - From Robert Osfield, added copying of the UserData and - Descriptions from the transform to the new group. +Tue, 9 Feb 2010 17:38:02 +0000 +Checked in by : Robert Osfield +Added extra elaspedTime_*() methods to help with reporting times in milliseconds etc. -2010-02-26 15:01 robert +Thu, 4 Feb 2010 10:20:17 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I also did a small fix to the ObjectWrapper header, to add a OSGDB_EXPORT macro to RegisterCompressorProxy, and modified the findCompressor() method to look for custom compressors in libraries such like osgdb_compressor_name.so, which was described in the wiki page chapter 2.4." - * From Raymon de Vries, "I've made a small change to - DirectShowTexture.cpp: in the options for the directshow plugin - it is possible to specify the capture device by number. For - instance: - options->setPluginStringData("captureVideoDevice", "0"); - - Lines added in getDevice() are: - int deviceId = atoi(name.c_str()); - if(deviceId >= 0 && deviceId < (int)_listDevice.size()) - return _listDevice[deviceId]; - - This makes it easy to use a capture device without knowing it's - name. Attached is the whole file against rev 11044" +Wed, 3 Feb 2010 09:35:36 +0000 +Checked in by : Robert Osfield +Added #define for GL3 build -2010-02-26 14:41 robert +Wed, 3 Feb 2010 09:35:05 +0000 +Checked in by : Robert Osfield +Added #defines for GL3 build - * From Michael Platings, "Here's the all-new, all-dancing DAE - plugin, with support for reading - osgAnimation. It's been tested with the majority of the samples - in the - COLLADA test repository and works with all of them either as well - as, or - better than, the version of the plugin currently in SVN. - - Known issue: vertex animation (AKA morphing) doesn't work at - present, - but that's a relatively unpopular method of animating so it's not - high - on my priority list." - - Follow up email: - "I've been informed that the previous DAE submission didn't build - on - unix, so here's the submission again with the fixes. Thanks to - Gregory Potdevin and Benjamin Bozou. - Also, my apologies to Roland for not crediting his part in making - DAE - animation happen, my work was indeed built on top of his work. - Thanks - also to Marius Heise and of course Cedric Pinson." - - Changes by Robert Osfield, fixed compile issues when compile - without C* automatic conversion enabled in ref_ptr<> - and constructor initialization fixes to address some warnings - under gcc. +Tue, 2 Feb 2010 11:16:10 +0000 +Checked in by : Robert Osfield +From Ryan Kawicki, added removal of TXPArchive from ReaderWriterTXP when the TXPNode destructs to fix memory consumption issue relating to leaving unused archives in memory. -2010-02-26 14:36 robert +Tue, 2 Feb 2010 11:02:42 +0000 +Checked in by : Robert Osfield +Fixed indentation. - * Updated wrappers +Mon, 1 Feb 2010 10:04:56 +0000 +Checked in by : Robert Osfield +From Serge Lages, build fix -2010-02-26 10:13 robert +Sun, 31 Jan 2010 18:24:01 +0000 +Checked in by : Robert Osfield +Build fixes for build without ref_ptr<> automatic type conversion - * From Paul Martz, "The changes are very similar to Magne's, except - they now take the near plane into account. The changes are: - - * Change OcclusionQueryNode::getPassed to take a NodeVisitor - rather than the distance from BS center to the eye point. Change - where CullVisitor calls this method to use the new parameters. - * getPassed now exits early and returns true to avoid blinking / - blink-in of geometry for the first frame or for out-of-range LOD - children coming back into view. - * getPassed now considers the distance from the near plane to the - bounding sphere (rather than eye point to bounding sphere) when - determining if the viewer is "inside" the bounding sphere or - not." +Sun, 31 Jan 2010 18:23:35 +0000 +Checked in by : Robert Osfield +From Jan Peciva, improvements to Inventor find operation -2010-02-26 10:03 robert +Sun, 31 Jan 2010 12:55:29 +0000 +Checked in by : Robert Osfield +From Jan Peciva, "I am sending improved version of Inventor plugin. Attaching just modified files, while GroupSoLOD.h and .cpp was deleted. Please, delete it from repository, it is not used any longer and I doubt if it is probably not used for anything meaningful for a while. In the new code, there is no GroupSoLOD. Please, delete it.I am using new plugin version for about 1.5 month so I consider it +stable by myself. - * From Paul Martz, "Summary: GL3 deprecates - "glGetString(GL_EXTENSIONS)". In GL3, individual extension - strings are queried by looping over GL_NUM_EXTENSIONS and calling - "glGetStringi(GL_EXTENSIONS,)". - - The fix is basically as follows: - if( GL3 ) - Query indexed extension strings. - else - Query the old way. - - The "else" branch is re-indented but otherwise shouldn't contain - any changes." - - From Robert Osfield, added #if !defined(OSG_GLES1_AVAILABLE) && - !defined(OSG_GLES2_AVAILABLE) to new block to prevent it - being compiled under GLES where no glGetStringi exists. +List of changes: +- rewritten Inventor state stack +- shaders support +- light attenuation support +- support for reading from stream (readNode(std::istream& fin, options)) +- improved grouping node handling (SoSeparator, SoGroup,...) +- fixed transformation bug when two SoShapes/Drawables with different transformations are placed bellow one grouping node +- introduced preprocessing to handle more advanced usage schemes of SoLOD and SoSwitch nodes +- unused code clean up +- improved notify messages +- animation callbacks fixes +- FindInventor.cmake improved finding routines, support for Coin3 and Coin4" -2010-02-26 09:48 robert - * From Paul Martz, "Summary: GL3 deprecates - "glGetString(GL_EXTENSIONS)". In GL3, individual extension - strings are queried by looping over GL_NUM_EXTENSIONS and calling - "glGetStringi(GL_EXTENSIONS,)". - - The fix is basically as follows: - if( GL3 ) - Query indexed extension strings. - else - Query the old way. - - The "else" branch is re-indented but otherwise shouldn't contain - any changes." -2010-02-26 09:40 robert +Fri, 29 Jan 2010 17:20:58 +0000 +Checked in by : Robert Osfield +Changed GeometryTechnique::private to protected, updated wrappers - * From Chris Hanson, comment fix +Fri, 29 Jan 2010 14:55:52 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov, bug fixes -2010-02-26 09:33 robert +Fri, 29 Jan 2010 11:58:14 +0000 +Checked in by : Robert Osfield +Removed redudent string; - * From Sukender, "I tried a tiny change in is83() function and had - no crash (under Windows). "osgconv cow.osg cow.3ds" exports a - black cow and "osgconv lz.osg lz.3ds" exports tree(s) at - (0,0,0)... I guess there are still things to do about - non-zero-index textures and multiple instanciation of a node, but - at least it doesn't crash." +Fri, 29 Jan 2010 11:35:09 +0000 +Checked in by : Robert Osfield +From Wang Rui, osgText serializers and support for PagedLOD+ProxyNode -2010-02-26 09:23 robert +Thu, 28 Jan 2010 12:10:17 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Ryan Kawicki, "I guess I missed these during my testing, but - if the database pager has outstanding requests while the - application is shutting down, the archive can become invalidated - through unsafe calls to ReaderWriterTXP::getArchive. I've made - this function return a ref_ptr and change other locations to as - needed to conform to the change. I've tested this and no more - crashes. - - Following files from revision 11057 have been attached." +Thu, 28 Jan 2010 11:47:28 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-02-26 08:55 robert +Thu, 28 Jan 2010 11:44:19 +0000 +Checked in by : Robert Osfield +Fixed typo - * From Philip Lownman, "The libpng project decided to rename - png_set_gray_1_2_4_to_8() to - png_set_expand_gray_1_2_4_to_8() with the 1.2.9 release. This - submission fixes builds of the OSG against versions of libpng < - 1.2.9 - that don't have the new symbol available. This affects platforms - like - Red Hat Enterprise Linux 4 which come with libpng 1.2.7." +Thu, 28 Jan 2010 10:59:00 +0000 +Checked in by : Robert Osfield +From Martin Lambers, "Fix static linking with EXR plugin on MinGW" -2010-02-25 18:17 robert +Thu, 28 Jan 2010 10:45:40 +0000 +Checked in by : Robert Osfield +Fom Sukender, "Added copyFile() and comments in FileUtils."From Robert Osfield, build fix for linux/gcc and reformating to keep coding style consistent with rest of OSG - * From Terry Welsh, "As discussed on the osg-users list, I have - implemented these rules in - Text and Text3D: - - 1. A new line should be started after a line's last hyphen or - before - its last whitespace. - 2. If no suitable place to break a line is found, just start new - line - after the last character that fits on the line. - 3. Whitespace should be removed from the beginning of the new - line - (already worked in Text, but not in Text3D). - - Line wrapping looks a lot better now with no more lone periods - appearing at the beginning of lines. - - Also, right-justified text is more accurate now (slashes would - hang - off the end of lines before). With this new code I spotted one - instance where a hyphen stuck out too far, but in general it - looks - better. Centered text was not perfect before and still isn't, but - I - can't see any significant increase or decrease in quality. The - casual - observer would probably never notice a problem. - - Also fixed a whitespace problem in Text3D. Not all whitespace was - being removed from the beginning of lines. Now it is all being - removed in the same manner as in Text." -2010-02-25 18:05 robert - * From Erik Johnson, "There is an issue on win32 if the application - hides the cursor using GraphicsWindowWin32::useCursor(false). The - cursor has a habit of re-showing itself. - - To reproduce, on win32: - - -Run osgViewer in a windowed mode, with the cursor off, as such: - osgViewer::Viewer::Windows windows; - viewer.getWindows(windows); - for(osgViewer::Viewer::Windows::iterator itr = windows.begin(); - itr != windows.end(); - ++itr) - { - (*itr)->useCursor( false ); - } - - -Quickly move the cursor into the window (cursor it should be - hidden) - -Resize the window by dragging the border (notice the cursor - changes to "resize" cursor) - -Move the cursor back to the inside of the window (notice the - cursor is not hidden anymore) - - The attached SVN patch will set the cursor to a "NoCursor" during - useCursor(false). This correctly stores the no cursor state, so - it can be rejuvenated after a future cursor change. This patch - also fixes a couple instances where a hidden cursor should show - itself, like when it's on the title bar, or the window close - button." +Thu, 28 Jan 2010 08:59:23 +0000 +Checked in by : Robert Osfield +Added files back in with the execution bit correctly disabled. -2010-02-25 18:03 robert +Thu, 28 Jan 2010 08:58:05 +0000 +Checked in by : Robert Osfield +Removed files as they all have the incorrectly have the execution bit enabled, will add back in with this fixed. - * From Chris Hanson, comment fix. +Thu, 28 Jan 2010 08:53:48 +0000 +Checked in by : Robert Osfield +From Wang Rui, added osgParticle serializers -2010-02-25 18:01 robert +Wed, 27 Jan 2010 17:12:40 +0000 +Checked in by : Robert Osfield +From Serge Lages, "Here is a fix for the Quicktime plugin, with the previous version, the size for some videos was not correct, using GetMovieBoundsRgn instead of GetMovieBox returns the real movie size. " - * From Trajce Nikolov, "attached is some fix for the directshow - plugin. Cleans up the build warnings as well makes the code a bit - safer" +Wed, 27 Jan 2010 17:09:05 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Changes:1. Rewrite the reading/writing exception handlers to work like the ive +plugin exceptions. +2. Write a header writing/checking function in ReaderWriterOSG2.cpp, +which may help decide if the stream is ascii or binary. The +readInputIterator() function will return null pointer if the input +file is nither osgb nor osgt format, which indicates that the old .osg +format could be used here, in case we've merged the two plugins +together. +3. Add a new ForceReadingImage option in the InputStream, which will +allocate an empty image object with the filename if specifed external +image file is missed. It may be useful for format converting in some +cases. +4. Add new osgParticle wrappers, as well as some modification to the +osgParticle headers, for instance, change isEnabled() to getEnabled(). +5. Some fixes to the osg serialization wrappers." -2010-02-25 17:58 robert - * From Jeremy Moles, submitted by Cedric Pinson "Here an new - example from Jeremy Moles that demonstrate EaseMotion from - osgAnimation, i have updated EaseMotion with new type, so for - users of - EaseMotion just have look, it's a great example." -2010-02-25 17:53 robert +Wed, 27 Jan 2010 16:31:34 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov, improvements to osgWidget::Input including selection support - * From Wang Rui, "Attached is the osgTerrain wrappers, based on the - latest SVN version - of OSG. I modified the osgDB::InputStream and OutputStream and - the - PagedLOD wrapper as well. Now all seems to work fine with paged - scenes. I've tested with the puget terrain data and the osgdem - application from VPB: - # osgdem --xx 10 --yy 10 -t ps_texture_4k.tif --xx 10 --yy 10 -d - ps_height_4k.tif -l 8 -v 0.1 -o puget.osgb - - As the ive plugin does, The PagedLOD wrapper now automatically - add the - latest file path to PagedLODs' databasePath member, to help them - find - correct child positions. I also changed the image storage - strategy of - the OutputStream class, to store them inline by default. The osgt - extension should also work, in case the image files are also - written - to the disk. - " +Wed, 27 Jan 2010 15:53:38 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project -2010-02-25 17:18 robert +Wed, 27 Jan 2010 15:37:45 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, remove unused file, fix crash for old files - * From J.P. Delport: "by some strange circumstance I've stumbled - across the following problem: - - I create a compositeviewer with two views that share a context. - One view is deleted. - Texture::TextureObjectSet::discardAllTextureObjects is called, - but this does not reset _tail. Now the texture object is again - created and addToBack is called from - Texture::TextureObjectSet::takeOrGenerate. In addToBack (line - 612) _tail is now not 0 (although the list should be empty) and a - loop is created from the texture object to itself. Then when the - second view is deleted, - Texture::TextureObjectSet::deleteAllTextureObjects loops forever. - Setting _tail to 0 fixes it for me (see attached)." +Wed, 27 Jan 2010 15:00:01 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-02-25 17:13 robert +Wed, 27 Jan 2010 13:12:49 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Simon Buckley, "Attached is a small change to the file - src\osgPlugins\dxf\dxfFile.cpp that allows the dxf reader to skip - comments in a dxf file. I found with the existing version and a - test file I had that the loader failed when comments were - present. I made a very minor change to allow "999" comment codes - to be skipped rather than causing load failure." +Wed, 27 Jan 2010 13:12:26 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-02-25 17:07 robert +Wed, 27 Jan 2010 12:24:55 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "Here a list of changes: Bone now inherit from MatrixTransform. It simplify a lot the update of Bone matrix. It helps to have the bone system more generic. eg it's now possible to have animation data with precomputed bind matrix. The other benefit, is now the collada plugin will be able to use osgAnimation to display skinned mesh. Michael Plating did a great work to improve this aspect, he is working on the collada plugin and should be able to submit a new version soon. The RigGeometry has been refactored so now it works when you save and reload RigGeometry because the source is not touched anymore. The benefit with this update is that it should be now possible to use a MorphGeometry as source for a RigGeometry.The bad news is that the format has changed, so i have rebuild osg-data +related to osgAnimation data, updated the blender exporter to export to +the new format. +The fbx plugin could be touched about this commit, i dont compile it so +i can't give more information about it. +The bvh plugin has been updated by Wang rui so this one is fixed with +the new code of osgAnimation. +The examples has been updated to work with the new code too... - * From Michael Platings, "There is a function, - convertStringFromCurrentCodePageToUTF8() that would be useful - outside the FBX plugin so it belongs in osgDB. I've attached - ConvertUTF and ConvertUTF.cpp with the function added for you to - commit at your convenience. - " +The example osg-data/example.osg should be remove, it's an old example +that does not work. -2010-02-24 10:52 mplatings +For people using blender the blender exporter up to date is here: +http://hg.plopbyte.net/osgexport2/ +it will be merge to http://hg.plopbyte.net/osgexport/ as soon as the +modification will be push in the trunk. +" - * -2010-02-24 10:25 mplatings - * +Tue, 26 Jan 2010 17:07:11 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-02-24 10:12 mplatings +Tue, 26 Jan 2010 17:04:55 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "Wile working with pbuffers I noticed that the Win32 implementation uses the attribute WGL_PBUFFER_LARGEST_ARB.> quote from http://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt +> The following attributes are supported by wglCreatePbufferARB: +> +> WGL_PBUFFER_LARGEST_ARB If this attribute is set to a +> non-zero value, the largest +> available pbuffer is allocated +> when the allocation of the pbuffer +> would otherwise fail due to +> insufficient resources. The width +> or height of the allocated pbuffer +> never exceeds and , +> respectively. Use wglQueryPbufferARB +> to retrieve the dimensions of the +> allocated pbuffer. - * +It notifies the user when the size is not as requested, but I could find no way for the program to detect this. I've added two lines to write the new size back into the _traits, I think this is appropriate, but I am not absolutely sure. -2010-02-24 10:02 mplatings +In PixelBufferX11 was no support, so I've added GLX_LARGEST_PBUFFER(_SGIX) support, with the same writeback to the _trais. - * -2010-02-22 17:41 robert +I have tested the GLX_LARGEST_PBUFFER version on linux and the WGL_PBUFFER_LARGEST_ARB with windows, all tested with the modified autocapture I just submitted. - * Added an empty() method -2010-02-22 10:43 robert +"autocapture --pbuffer --window 100 100 18192 18192 cow.osg.\[0,0,-22.7\].trans" +gives me a 4096x4096 image on my windows machine, +and a 8192x8192 image on linux." - * Updated authors file -2010-02-22 10:36 robert - * Updated wrappers +Tue, 26 Jan 2010 16:59:17 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov, various improvements of the workings of osgWidget::Input. -2010-02-22 10:10 robert +Tue, 26 Jan 2010 16:50:26 +0000 +Checked in by : Robert Osfield +From Juan Hernando, fixed typo in handling of RGBA and BGRA data - * Fixed STDINT_INCLUDE path +Tue, 26 Jan 2010 16:48:55 +0000 +Checked in by : Robert Osfield +Added .get() to fix build -2010-02-22 09:50 robert +Tue, 26 Jan 2010 16:41:53 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Trajce Nicklov, fixes to warnings +Tue, 26 Jan 2010 16:30:48 +0000 +Checked in by : Robert Osfield +From Tony Horrobin, "This fix just makes a couple of calls to ref_ptr<>::get() to satisfy the compiler.The changes make the build successful under Windows 7/VC2005 and Ubuntu 9.10 with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION set to OFF. +" -2010-02-22 08:48 robert - * Seperated out the #define of GL_PERSPECTIVE_CORRECTION_HINT to - fix GL3 build -2010-02-22 08:39 robert +Tue, 26 Jan 2010 15:37:26 +0000 +Checked in by : Robert Osfield +From Laurence Muller, "attached the CMakeList.txt to fix the issue described in: http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2010-January/037792.htmlIssue: +osgQtBrowser fails to compile because it can not find the QTCore header files - * Added missing _ptr = rp._ptr to constructor. +Fix: +Add the QT_QTCORE_INCLUDE_DIR to the CMakeList.txt file -2010-02-20 17:36 robert +Patch: +...\OpenSceneGraphSVN\examples\osgQtBrowser\CMakeLists.txt +change (line 17): INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} ) +to (line 17): INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR}) +" - * Converted View across to use ObserverNodePath. -2010-02-19 21:03 robert - * Build fixes for GLES2 +Tue, 26 Jan 2010 15:08:25 +0000 +Checked in by : Robert Osfield +From Jan Peciva, "I am sending one more improvement (separately from Inventor plugin). I found very useful to have a control whether osgView::setCameraManipulator does or does not reset camera to home position.I extended method signature as follows: +void setCameraManipulator(osgGA::MatrixManipulator* manipulator, bool resetPosition = true); -2010-02-19 20:58 robert +keeping the current usage intact (default parameter), while enabling user to disable the position reset. That can be useful in the situation when manipulator position was already loaded, for example from a file (user specification), or defined any other way, while we do not want to be reset to home position. Other usability is usage of two manipulators in a modeling program (orbiting around the model, walking on the model) and changing between them while we want to preserve the position of a camera in the change. Games may benefit from it as well when we change from user-defined helicopter manipulator to soldier manipulator because the user escaped the helicopter. The camera will change manipulator but the position is expected to be kept in the transition (provided that user makes the state transition between the two manipulators himself). +" - * Fixed GLES1/GLES2 build -2010-02-19 20:43 robert - * Added include of osg/FrameBufferObject to fix GLES1/GLES2 build - issue +Tue, 26 Jan 2010 14:57:44 +0000 +Checked in by : Robert Osfield +Removal of redundant spaces at ends of lines -2010-02-19 20:40 robert +Tue, 26 Jan 2010 14:54:46 +0000 +Checked in by : Robert Osfield +updated wrappers - * Build fix for GLES1 and GLES2 +Tue, 26 Jan 2010 13:05:05 +0000 +Checked in by : Robert Osfield +From Lars Nilsson, "Attached is a small program doing intersection calculations, both with and without KdTree. The geometry is a TRIANGLE_STRIP consisting of five vertices, all with the same rather high Z-value. If the intersection calculation uses KdTree, it fails. When I changed osg::Vec3 to osg::Vec3d in a few places in osg::KdTree it finds the correct intersection point."From Robert Osfield, I didn't merge the change of parameter type of IntersectKdTree::intersect() as the internal maths is all done in Vec3s. Keeping Vec3 here hasn't effected the test results. -2010-02-19 20:18 robert - * Moved implementation of Observer destructor and constructor from - header into .cpp to avoid possible issues with imports/exports - under Windows build. -2010-02-19 20:14 robert - * Added check against OSG_GL3_AVAILABLE to avoid issues with GL3 - build under linux +Tue, 26 Jan 2010 11:37:24 +0000 +Checked in by : Robert Osfield +From Laurens Voerman,"ttached is a updated version for examples\osgautocapture\osgautocapture.cpp-fixed a bug with --active command line option not rendering +-added --pbuffer command line option +-changed very confusing #ifdef 0 +-added OSG_GLES GL_RGB readPixels support if available (UNTESTED)" -2010-02-19 20:11 robert - * Added #include , convert osg::notify usage to - OSG_NOTICE -2010-02-19 19:50 robert +Tue, 26 Jan 2010 11:16:38 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "I've removed an underscore in OpenSceneGraph/src/osgUtil/SceneView.cpp introduced in svn 10915 (5 Jan 2010): "Added support for call root Camera CullCallbacks"It causes a segfault in osgViewer based apps on our linux system (OSG_STEREO=ON OSG_STEREO_MODE=QUAD_BUFFER) - * Clean up observer_ptr<> and removed the eronous casting of ptr in - objectDeleted. +Problem does not show when OSG_STEREO=OFF. -2010-02-19 19:00 robert - * Updated wrappers +< 976 else _cullVisitor->traverse(*_camera); +> 976 else cullVisitor->traverse(*_camera); -2010-02-19 18:56 robert +Looks like a typo, and removing the _ does fix the problem." - * Removed the uncessary subclassing from osg::Object as this base - class is already pullled via ViewerBase -2010-02-19 16:04 robert - * Added mutex lock to destructor. +Tue, 26 Jan 2010 10:37:38 +0000 +Checked in by : Robert Osfield +Changed doxygen comments to signal deprecation of this old IO classes -2010-02-19 15:41 robert +Mon, 25 Jan 2010 18:08:15 +0000 +Checked in by : Robert Osfield +Removed inapprorpiate OSGDB_EXPORT - * Replaced local mutex with getObserverMutex(). +Mon, 25 Jan 2010 17:07:25 +0000 +Checked in by : Robert Osfield +Refactored the DotOsgWrapper support in osgDB::Registry so it's now provided by the osgDB::DeprecatedDotOsgWrapperManager. -2010-02-19 14:30 robert +Mon, 25 Jan 2010 15:25:16 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Fabien Lavignotte, "In order to compile on Windows with - Wrappers ON, some exports are still missing on - osgPresentation::AnimationMaterialCallback and - osgUtil::IncrementalCompileOperation::CompileSet." +Mon, 25 Jan 2010 15:24:47 +0000 +Checked in by : Robert Osfield +Moved the declaration of osgDB::Field, FieldReader and FieldReaderIterator into include/osg/Input to centralise all the deprecated .osg parsing code into one place. -2010-02-19 14:05 robert +Mon, 25 Jan 2010 12:48:25 +0000 +Checked in by : Robert Osfield +Removed deprecated classes - * Removed no longer defined methods and updated wrappers +Mon, 25 Jan 2010 11:40:18 +0000 +Checked in by : Robert Osfield +Added back in StreamOperation with executation bit disabled -2010-02-19 09:32 robert +Mon, 25 Jan 2010 11:39:42 +0000 +Checked in by : Robert Osfield +Temporily removed StreamOperation as it had execution bit enable for it. - * Updated contributors list for 2.9.7 release +Mon, 25 Jan 2010 11:03:21 +0000 +Checked in by : Robert Osfield +From Wang Rui, refactored the InputStream/OutputStream operations so that the binar/ascii foramts are implemented via subclasses. -2010-02-19 09:21 robert +Fri, 22 Jan 2010 20:47:39 +0000 +Checked in by : Robert Osfield +Added RequestQueue destructor and DatabaseRequest::invalidate() and valid() methods to allow the destruction of RequestQueue to remove any pointers held in DatabaseRequest attached to the scene graph, and to prevent their subsequent use in cases where the scene graph is attached to a new DatabasePager. - * Updated ChangeLog +Fri, 22 Jan 2010 20:35:11 +0000 +Checked in by : Robert Osfield +Seting the notifcation level of debug message to INFO. -2010-02-19 09:02 robert +Fri, 22 Jan 2010 16:13:28 +0000 +Checked in by : Robert Osfield +Reverted fixes for Mingw as they break OSX build - * Added an InitGlobalMutexes to enforce early construction and - hence late destruction of singleton mutexes. +Fri, 22 Jan 2010 15:16:22 +0000 +Checked in by : Robert Osfield +Renamed ObjectRegistry to ObjectWrapperManager, and replaced it's instance() method usage with assigning a ObjectWrapperManager to the osgDB::Registry. Added a osgDB::Registry::getObjectWrapperManager() for access of this object wrapper manager. This change centralises the singleton management in osgDB.Merged the osgDB::GlobalLookUpTable functionality into ObjectWrapperManger to keep down the number of singletons in use. -2010-02-18 22:53 robert - * Added newline. -2010-02-18 22:20 robert +Thu, 21 Jan 2010 16:26:48 +0000 +Checked in by : Robert Osfield +Added extra export for windows build - * From Mourad Boufarguine, fixed typo. +Thu, 21 Jan 2010 16:07:19 +0000 +Checked in by : Robert Osfield +Added extra includes to bring in their local definitions of OpenGL enums that don't exist across all GL versions -2010-02-18 22:17 robert +Thu, 21 Jan 2010 13:17:51 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project - * Updated wrappers +Thu, 21 Jan 2010 10:24:48 +0000 +Checked in by : Robert Osfield +Added support for passing on slave Camera's StateSet's to the rendering backend. -2010-02-18 22:17 robert +Thu, 21 Jan 2010 09:25:45 +0000 +Checked in by : Robert Osfield +From Wang Rui, added exports for windows build - * Updated wrappers +Wed, 20 Jan 2010 20:13:33 +0000 +Checked in by : Robert Osfield +From Wang Rui, new native binary/ascii format infrastructure and wrappers.From Robert Osfield, refactor of Wang Rui's original osg2 into 3 parts - parts placed into osgDB, the ReaderWriter placed into src/osg/Plugin/osg and wrappers into src/osgWrappers/serializers/osg -2010-02-18 21:24 robert - * Updated version number of OpenThreads to reflect recent changes -2010-02-18 21:21 robert +Wed, 20 Jan 2010 10:35:40 +0000 +Checked in by : Robert Osfield +Introduced file globbing to deprecated-dotosg directories and added new serializers direcotory in prep for new serializers - * Completed usage of ObserverNodePath to fix longstanding crash - that occurred when nodes in parental chain of a newly loaded node - had been deleted. +Tue, 19 Jan 2010 13:31:06 +0000 +Checked in by : Robert Osfield +Replaced osgDB::RegisterDotOsgWrapperProxy usage with REGISTER_DOTOSGWRAPPER proxy to aid static linking -2010-02-18 21:21 robert +Tue, 19 Jan 2010 12:36:57 +0000 +Checked in by : Robert Osfield +Added CmakeList.txt for new wrapper plugins - * Refactored the osg::Referenced observerset code so that it now - uses a dedicated ObserverSet class, - which utilises a global recursive mutex that is dedicated to - manage Observer and ObserverSet. - - The new global mutex for observers avoids problems with deadlocks - that were occurring previously when - an osg::Refenced object was being deleted at the same time as on - osg::ObserverNodePath. +Tue, 19 Jan 2010 12:26:37 +0000 +Checked in by : Robert Osfield +Refactored the old style .osg plugin support so that the DotOsgWrappers are placed in their own dedicated plugins found in src/osgWrappers/deprecated_osg -2010-02-18 21:18 robert +Tue, 19 Jan 2010 12:24:55 +0000 +Checked in by : Robert Osfield +Inserted /introspection/ into path of osgIntrospection wrappers - * Replaced use of observer_ptr<> with straight C pointer to avoid - thrashing of an observer_ptr<> every frame. - - Changed include to point to new Observer header +Tue, 19 Jan 2010 10:31:38 +0000 +Checked in by : Robert Osfield +Added deprecated-dot/osg directory from the contents of the src/osgPlugins/osg and CMakeLists.txt in prep for creating the plugin mechanism for .osg support -2010-02-18 21:17 robert +Tue, 19 Jan 2010 09:54:42 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode projects - * Added className() to assist with debugging +Mon, 18 Jan 2010 20:49:40 +0000 +Checked in by : Robert Osfield +Added introspection directory -2010-02-18 21:15 robert +Mon, 18 Jan 2010 19:56:16 +0000 +Checked in by : Robert Osfield +Regenerated introspection wrappers in their new location - * Changed controls for changing animation speed to '(' and ')' to - avoid overlap with window resize handler. +Mon, 18 Jan 2010 19:43:14 +0000 +Checked in by : Robert Osfield +Cleaned out all wrappers as will be moving them all into src/osgWrappers/introspection directory, and use genwrapper to generate the new ones -2010-02-18 20:14 robert +Mon, 18 Jan 2010 16:39:12 +0000 +Checked in by : Robert Osfield +Added #include for Mingw build - * Refactored the ReentrantMutex support so that it utilises the - underling thread implementation for recusive mutex support. +Mon, 18 Jan 2010 16:38:07 +0000 +Checked in by : Robert Osfield +Restructure the includes of freetype -2010-02-18 09:00 robert +Mon, 18 Jan 2010 14:27:20 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, build fixes for Mingw - * Added new setNodePathTo() method +Mon, 18 Jan 2010 13:00:41 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-02-17 10:09 robert +Mon, 18 Jan 2010 12:43:02 +0000 +Checked in by : Robert Osfield +From Serge Lages, "Here is a patch to allow setting an audio volume with the AudioSink interface, I've also modified the ffmpeg plugin code to implement the ImageStream's setVolume method with its AudioSink." - * Fixed double addition of source node when doing - ObserverNodPath::setNodePathTo() - - Fixed comment in Referenced.cpp +Fri, 15 Jan 2010 15:34:17 +0000 +Checked in by : Robert Osfield +Removed the old style Serializer, moving it back into VirtuaLPlanetBuilder to make way for the new Serializer that exists in support for the new binary/ascii format. -2010-02-16 17:38 robert +Thu, 14 Jan 2010 15:15:42 +0000 +Checked in by : Robert Osfield +Added setting of the charcode during construction of osgText::Font::Glyph() - * Added className() implementation to help wiht debugging. +Thu, 14 Jan 2010 15:15:08 +0000 +Checked in by : Robert Osfield +Updated so version -2010-02-16 14:05 robert +Wed, 13 Jan 2010 18:50:58 +0000 +Checked in by : Robert Osfield +Updated rev number for 2.9.7 dev release as ABI compatibility has been broken - * Fixed crash +Wed, 13 Jan 2010 18:50:17 +0000 +Checked in by : Robert Osfield +Updated wrappers and supported shadow texture formats -2010-02-16 11:10 robert +Wed, 13 Jan 2010 18:46:52 +0000 +Checked in by : Robert Osfield +For backwards compatiblity add a staic void BufferObject::deleteBufferObject(unsigned int contextID,GLuint globj) method. - * Threads safety fixes based on suggestions from Tim Moore. +Wed, 13 Jan 2010 14:57:02 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-02-16 08:53 robert +Wed, 13 Jan 2010 14:16:33 +0000 +Checked in by : Robert Osfield +Moved dispatch/recieve methods into public scope to allow easier custom usage. - * Updated wrappers +Wed, 13 Jan 2010 13:31:03 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-02-15 23:47 cedricpinson +Wed, 13 Jan 2010 13:30:45 +0000 +Checked in by : Robert Osfield +Changed get methods to new style ones. - * From Jeremy Moles, add new EaseMotion and add example - osganimationeasemotion to demonstrate them +Wed, 13 Jan 2010 13:30:14 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Attached are two simple modifications of osg::Sequence and osg::Texture1D classes, for the reason of implementing the I/O serialization feature. In the Sequence header, I've added some more convenient functions: setTimeList/getTimeList, setLoopMode/getLoopMode, setBegin/getBegin, setEnd/getEnd, setSpeed/getSpeed and setNumRepeats/getNumRepeats.In the Texture1D header, fixed: -2010-02-15 20:15 robert +inline void setTextureWidth(int width) const ... - * Upadted wrappers +to: -2010-02-15 20:15 robert +inline void setTextureWidth(int width) ..." - * Refactor various NodeTracker and MatrixManipulator classes to use - the osg::ObserverNodePath and osg::oberserver_ptr<> classes +Notes from Robert Osfield, have gone a little further with these changes and have removed some of the original get methods that were out of step with the way the rest of the OSG manages the set/get property pairs. -2010-02-15 20:14 robert - * Introduced new osg::ObserverNodePath class that robustly manages - a NodePath in a thread safe manner, - making it easier for users to track a NodePath even when nodes in - the path get deleted. -2010-02-15 20:12 robert - * Refactored the osg::Observer to introduce a new bool - Observer::objectUnreferenced(void*) method that adds - the extra capability of making it possible for Observers to - assume ownership of a object that would otherwsie be deleted. - - Added a thread safe ref_ptr observer_ptr::lock() method for - robust access to an observed object. This - makes observer_ptr<> more equivilant to boosts weak_ptr. +Wed, 13 Jan 2010 13:09:48 +0000 +Checked in by : Robert Osfield +Added missing .get()'s -2010-02-15 11:36 robert +Wed, 13 Jan 2010 11:45:19 +0000 +Checked in by : Robert Osfield +Added missing .get() to fix build when compiling with no automatic type convention in ref_ptr<> - * Added osg:: qualifyer to OSG_NOTIFY macro +Wed, 13 Jan 2010 10:46:40 +0000 +Checked in by : Robert Osfield +From Sukender, warning fix. -2010-02-12 11:45 robert +Tue, 12 Jan 2010 11:12:06 +0000 +Checked in by : Robert Osfield +Convert dos line endings - * Introduced OSG_WARN, OSG_NOTICE, OSG_INFO, OSG_DEBUG convinience - macros that map to OSG_NOTIFY(osg::WARN) etc. - - Introduced the OSG_NOTIFY_DISABLE Cmake variable + - include/osg/Config #define to control whether the OpenSceneGraph - build - should disable the notification system completely. By setting - OSG_NOTIFY_DISABLE to ON in CMake and then rebuilding the - the OSG you can get a slightly smaller (~1%) and more slightly - efficient library which can be good for shipping applications, - but with downside of reduced ability to detect runtime problems - and their causes. +Tue, 12 Jan 2010 10:00:24 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-02-11 11:56 robert +Mon, 11 Jan 2010 17:36:03 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "OK, so here are new changes.1. The node type will be set to ATOM on read of type tags. +2. GROUP and NODE are now written using the same code (and not just duplicated code). Also NODE will not be written as an ATOM if it has no children or contents, so you need to set the type to ATOM if you want the style. +3. You had put the write of "/>" for ATOM after the "return true", so it had no effect... Moved to before the return. +4. ATOM did not write its properties correctly, fixed. +5. As an added bonus, I made the write() method indent the output so it's more readable. It brings a small public interface change but the indent argument has a default value so client code doesn't need to change (if there even is any). +6. Another added bonus, I've simplified the write() method a bit by factoring out the write for children and properties into protected methods." - * From Sukender, "- Added support for extended filenames (=not 8.3) - for images: reads without crashing, optionnally write extended - filenames (correctly truncate names if option is OFF). Write - option is OFF by default. - - Improved identifiers generation in duplicate name handling (was - limited to 1000 name collisions, which can be very short for some - usages). - - Set all read/write operations use a custom log function that - will redirect lib3DS log to osg::notify() (was only used for - streams) - - Removed custom code (now uses osgDB::getFilePath()) - - Added missing supportsOption() calls - - Cleaned a few minor things" -2010-02-11 11:17 robert - * From Alberto Luaces, "he new GNU linker, "gold", is going to - replace soon the current ld in - almost all Linux distributions. Although it is 100% compatible - with ld, - by default it gives an error if a library has unresolved symbols - at link - time, that is, it has set -Wl,--no-undefined by default. Debian - folks - have found that libosg.so and libosgDB.so use some functions - belonging - to libdl.so {dlsym,dlopen,dlclose,dlerror} without linking to it. - - My changes link those two libraries to libdl.so explicitly in the - same - way it is already done for libm.so and librt.so." +Mon, 11 Jan 2010 17:27:09 +0000 +Checked in by : Robert Osfield +Added missing .get() -2010-02-11 11:13 robert +Mon, 11 Jan 2010 16:09:18 +0000 +Checked in by : Robert Osfield +From Sukender, introduced usage of ref_ptr<> and local scoped_array to address more robust memory management. - * From Wang Rui, "Just a minor fix of the src/osgDB/CMakeLists.txt, - change: - - SET(COMPRESSION_LIBRARIES ${ZLIB_LIBRARY}) - ... - LINK_EXTERNAL(${LIB_NAME} ${OSGDB_PLATFORM_SPECIFIC_LIBRARIES}) - - to - - SET(COMPRESSION_LIBRARIES ZLIB_LIBRARY) - ... - LINK_EXTERNAL(${LIB_NAME} ${OSGDB_PLATFORM_SPECIFIC_LIBRARIES} - ${COMPRESSION_LIBRARIES}) - LINK_WITH_VARIABLES(${LIB_NAME} ${COMPRESSION_LIBRARIES}) - - - I notice that the LINK_EXTERNAL macro won't distinguish between - debug - and release dependences, which means that osgDB will use the - release - version of zlib for all build configurations. Under Win32, this - will - cause a manifest problem: all applications using osgDB may - complain - "failed to start because msvcr80.dll was not found" or similar - messages. - - This change will make it back to normal." +Mon, 11 Jan 2010 16:03:13 +0000 +Checked in by : Robert Osfield +Added desctructor with jas_cleanup(). -2010-02-11 11:06 robert +Mon, 11 Jan 2010 14:28:33 +0000 +Checked in by : Robert Osfield +From Laurens Voerman,"the current ReaderWriterJP2 has all the code for writing jp2 files (jpeg 2000), but the writing fails on my windows machine (jasper-1.900.1) because the ID for the "jp2" extention is requested before the jas_init() call. (bug introduced in svn 7645 - 10 dec 2007)" - * Fixed the rotation of normals +Mon, 11 Jan 2010 14:04:55 +0000 +Checked in by : Robert Osfield +From Sukender, "a small fix about using non 3-charcacters long file extensions (such as "jpeg", to be converted to "jpg")." -2010-02-11 09:13 robert +Fri, 8 Jan 2010 11:47:31 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added futher use of readSize/writeSize. +Fri, 8 Jan 2010 11:40:43 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "was testing an osgWidget-based test app I have and noticed that I couldn't move the windows/frames around on the screen anymore. Turns out that the virtual methods' interface changed in the EventInterface base class, the third argument to mouseDrag() is now const, but it was not changed in the derived classes, so it still compiled but the derived-class version was not being called because its arguments differed.Here are the changes that fix it. +" -2010-02-10 19:36 robert - * replaced reading and writing of std::container.size() using - InputStream::readSize() and OutputStream::writeSize() to make - the type writing more explictly tied to the size type, with use - of unsigned int as the default size. This approach - ensures that we get the same results under 32 and 64bit builds. -2010-02-10 17:03 robert +Fri, 8 Jan 2010 11:37:35 +0000 +Checked in by : Robert Osfield +From Marius Heise, "osgShadow was using single precision variables for light positioning and orientation. This was causing precision problems (shadow jumping) with big databases (eg. geocentric created vpb). This patch fixes this by using double precision variables for light positioning and orientation. It works for all algorithms dreived form osgShadow::StandardShadowMap. " - * Added OutputStream::writeSize and InputStream::readSize methods - to help out with ensure that 32bit and 64bit builds all - use the same 32bit type for sizes. +Fri, 8 Jan 2010 11:32:55 +0000 +Checked in by : Robert Osfield +From Rob Radtke, "I recently ran into some issues trying to save/load a scene graph as a .ive file. The problems came about because the scene graph contained depth textures in it. I have attached a patch (against the current revision: 10919) that fixes the issues that I encountered. Both attachments contain the same patch--one is a .zip file that contains the modified files and the other is a text patch file. Here is a summary of the changes I made:1) Add getShadowComparison() accessor function to osg::Texture class +2) Modify ReaderWriterTiff::writeTifStream() and _readColor() (in Image.cpp) to handle pixelFormat==GL_DEPTH_COMPONENT as if it were GL_LUMINANCE +3) Modify the Texture classes of the ive and osg plug-ins so that they save/load the following Texture members: _use_shadow_comparison, _shadow_compare_func and _shadow_texture_mode +" -2010-02-10 16:23 robert - * Fixed automatic loading of plugins -2010-02-10 15:18 robert +Fri, 8 Jan 2010 11:16:22 +0000 +Checked in by : Robert Osfield +From Paul Martz, "OcclusionQueryNode was incorrectly marking itself as DYNAMIC, so I removed that code. And I also found some uses of dynamic_cast that could be changed to static_cast. " - * Changed NOTIFY to OSG_NOTIFY +Fri, 8 Jan 2010 10:52:03 +0000 +Checked in by : Robert Osfield +From Sukender, "ReaderWriter3DS.cpp fixes: - Fixed creation of useless intermediate nodesWriterNodeVisitor.cpp fixes: +- Fixed naming of textures (path and extension) +" -2010-02-10 12:48 robert +Note from Robert Osfield, this submission also came with changes to use of ref_ptr<> and removal of delete[]'s, but these were not merged as they didn't actually fix any memory leaks, and in once instance introduced one. - * Fixed typo -2010-02-10 12:44 robert - * Convert NOTIFY to OSG_NOTIFY to avoid problems with polution of - users apps with the NOTIFY macro +Fri, 8 Jan 2010 10:12:02 +0000 +Checked in by : Robert Osfield +Added newline at end of file to fix warning -2010-02-10 11:21 robert +Thu, 7 Jan 2010 19:13:40 +0000 +Checked in by : Robert Osfield +Fixed writing out of ATOM. - * Added pruning of requests that haven't been reissued since the - last frame. +Thu, 7 Jan 2010 19:08:53 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, fix to handling of xml node with contents by not children -2010-02-09 19:30 robert +Thu, 7 Jan 2010 17:36:44 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, fixed handling of < tag /> xml syntax - * Added enabling of threadsafe ref/unref in FileCache. +Thu, 7 Jan 2010 17:20:55 +0000 +Checked in by : Robert Osfield +From Chuck Seberino, (submitted by Stephan Huber) Chuck's original message : "I have a patch to submit that fixes the following error when building against OSX 10.6.2." -2010-02-09 18:24 robert +Thu, 7 Jan 2010 16:49:12 +0000 +Checked in by : Robert Osfield +From Lilith Bryant, "As discussed previously on the users list. Fixes the redundant calls to glActiveTexture on every State::apply after more than one texunits have been used.This is against 2.9.6 (I think SVN head is the same) - * Converted osg::notify usage to NOTIFY +Quick Synopsis: -2010-02-09 17:39 robert +New functions: - * Introduced NOTIFY macro to help out with avoiding using of - streams with notification level is below the user defined cutoff. - This addition has been introduced to help out with avoid - threading performance issues with the Microsoft ostream - implementation. +State::applyModeOnTexUnit +State::applyAttributeOnTexUnit +State::applyModeMapOnTexUnit +State::applyAttributeMapOnTexUnit +State::applyModeListOnTexUnit +State::applyAttributeListOnTexUnit -2010-02-09 17:38 robert +All copies of the normal versions, but they also set the active tex unit if +absolutely necessary (i.e. only if they call something OpenGL). - * Added extra elaspedTime_*() methods to help with reporting times - in milliseconds etc. +State::apply (*2) +State::applyTextureAttribute -2010-02-04 10:20 robert +Changed to call the above functions and no longer call setActiveTextureUnit +themselves. - * From Wang Rui, "I also did a small fix to the ObjectWrapper - header, to add a - OSGDB_EXPORT macro to RegisterCompressorProxy, and modified the - findCompressor() method to look for custom compressors in - libraries - such like osgdb_compressor_name.so, which was described in the - wiki - page chapter 2.4." +State::setActiveTextureUnit -2010-02-03 09:35 robert +Made inline, so the benefit of having applyModeOnTexUnit (etc) inline +is retained. +" - * Added #define for GL3 build -2010-02-03 09:35 robert - * Added #defines for GL3 build +Thu, 7 Jan 2010 14:35:17 +0000 +Checked in by : Robert Osfield +Added virtual pause() method into osg::AudioSink to support pausing of a movie thread and it's associated audio.Updated osgmovie plugin to use the pause support. -2010-02-02 11:16 robert - * From Ryan Kawicki, added removal of TXPArchive from - ReaderWriterTXP when the TXPNode destructs to fix memory - consumption issue relating to leaving unused archives in memory. -2010-02-02 11:02 robert +Thu, 7 Jan 2010 12:14:47 +0000 +Checked in by : Robert Osfield +Refactored the way that osg::Image/ImageSequence manages the update callback that needs to be attached to Textures to make it possible to use the Image::update() mechansim in other subclasses from osg::Image. To enable the automatic attachment of the required update callback to call osg::Image::update(..) subclasses from osg::Image will need to implement the osg::Image::requestUpdateCall() and return true, and implement the osg::Image::update(NodeVisitor*) method to recieve the update call during the update traversal. - * Fixed indentation. +Thu, 7 Jan 2010 10:01:26 +0000 +Checked in by : Robert Osfield +Fixed warnings -2010-02-01 10:04 robert +Thu, 7 Jan 2010 09:45:34 +0000 +Checked in by : Robert Osfield +From Serge Lages, "Here is a modified fix. It doesn't break the other patch for this plugin as they are for different files. I've only added the file formats handled by default with DirectShow (based on its Wikipedia page)." - * From Serge Lages, build fix +Thu, 7 Jan 2010 09:43:54 +0000 +Checked in by : Robert Osfield +Imporoved spacing -2010-01-31 18:24 robert +Thu, 7 Jan 2010 09:11:42 +0000 +Checked in by : Robert Osfield +Reordered the readAllDataIntoBuffer() to avoid bug in failing on all calls to readXmlParser(..) - * Build fixes for build without ref_ptr<> automatic type conversion +Wed, 6 Jan 2010 15:43:06 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-01-31 18:23 robert +Wed, 6 Jan 2010 10:41:14 +0000 +Checked in by : Robert Osfield +Fixed type of index to int. - * From Jan Peciva, improvements to Inventor find operation +Tue, 5 Jan 2010 20:03:02 +0000 +Checked in by : Robert Osfield +Replaced nullptr with isNullPointer -2010-01-31 12:55 robert +Tue, 5 Jan 2010 11:15:17 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Jan Peciva, "I am sending improved version of Inventor - plugin. Attaching just - modified files, while GroupSoLOD.h and .cpp was deleted. Please, - delete - it from repository, it is not used any longer and I doubt if it - is - probably not used for anything meaningful for a while. In the new - code, - there is no GroupSoLOD. Please, delete it. - - I am using new plugin version for about 1.5 month so I consider - it - stable by myself. - - List of changes: - - rewritten Inventor state stack - - shaders support - - light attenuation support - - support for reading from stream (readNode(std::istream& fin, - options)) - - improved grouping node handling (SoSeparator, SoGroup,...) - - fixed transformation bug when two SoShapes/Drawables with - different transformations are placed bellow one grouping node - - introduced preprocessing to handle more advanced usage schemes - of SoLOD and SoSwitch nodes - - unused code clean up - - improved notify messages - - animation callbacks fixes - - FindInventor.cmake improved finding routines, support for Coin3 - and Coin4" +Tue, 5 Jan 2010 11:15:03 +0000 +Checked in by : Robert Osfield +Added support for call root Camera CullCallbacks -2010-01-29 17:20 robert +Tue, 5 Jan 2010 11:10:21 +0000 +Checked in by : Robert Osfield +Fixed indentation - * Changed GeometryTechnique::private to protected, updated wrappers +Tue, 5 Jan 2010 11:09:18 +0000 +Checked in by : Robert Osfield +Added set/getDistance() method -2010-01-29 14:55 robert +Mon, 4 Jan 2010 15:54:57 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode-project - * From Trajce Nikolov, bug fixes +Tue, 22 Dec 2009 14:09:46 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, remove unused file Skinning, cleanup file Timeline.cpp -2010-01-29 11:58 robert +Wed, 16 Dec 2009 15:48:34 +0000 +Checked in by : Robert Osfield +Moved the supports*() method into public scope to allow external injection of supported formats. Added docs to clearly state this type of inject is not generally supported by ReaderWriters. - * Removed redudent string; +Wed, 16 Dec 2009 15:12:36 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS.txt to mark the point in time that the OpenSceneGraph gained it's 400th contributor! -2010-01-29 11:35 robert +Wed, 16 Dec 2009 15:05:14 +0000 +Checked in by : Robert Osfield +From Lilith Bryant, "This patch fixes a regression (introduced in @ rev 9228), where simple .dae files, that have no material assignments, will cause a crash on load.In particular, the case when the "instance_geometry" element has no "bind_material" sub-element. This is valid, according to the official collada 1.4.1 specification." - * From Wang Rui, osgText serializers and support for - PagedLOD+ProxyNode -2010-01-28 12:10 robert - * Updated wrappers +Wed, 16 Dec 2009 12:17:45 +0000 +Checked in by : Robert Osfield +Removed old texture object manage code. -2010-01-28 11:47 robert +Tue, 15 Dec 2009 17:25:12 +0000 +Checked in by : Robert Osfield +From Sukender, warning fix - * Updated wrappers +Tue, 15 Dec 2009 15:55:24 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode-project -2010-01-28 11:44 robert +Tue, 15 Dec 2009 14:45:33 +0000 +Checked in by : Robert Osfield +Fixed compile warnings - * Fixed typo +Tue, 15 Dec 2009 14:44:12 +0000 +Checked in by : Robert Osfield +Fixed compile warnings -2010-01-28 10:59 robert +Tue, 15 Dec 2009 14:40:06 +0000 +Checked in by : Robert Osfield +Fixed warning - * From Martin Lambers, "Fix static linking with EXR plugin on - MinGW" +Tue, 15 Dec 2009 12:37:49 +0000 +Checked in by : Robert Osfield +From Tanguy Fautre and Robert Osfield, updated tristripper code to use the latest tristripper_r94 code. -2010-01-28 10:45 robert +Tue, 15 Dec 2009 11:47:38 +0000 +Checked in by : Robert Osfield +Updated version to 2.9.7 in prep for next dev release - * Fom Sukender, "Added copyFile() and comments in FileUtils." - - From Robert Osfield, build fix for linux/gcc and reformating to - keep coding style consistent with rest of OSG +Tue, 15 Dec 2009 11:27:28 +0000 +Checked in by : Robert Osfield +From Julen Garcia, "So here is the code with a proper audio sync (at least in my computer)" -2010-01-28 08:59 robert +Tue, 15 Dec 2009 09:16:20 +0000 +Checked in by : Robert Osfield +Changed GL_BGRA_EXT to GL_BGRA and added include of include/osg/Image to make sure define is declared - * Added files back in with the execution bit correctly disabled. +Mon, 14 Dec 2009 13:42:00 +0000 +Checked in by : Robert Osfield +Renamed osg::GraphicsContext::OperationQueue typedef to GraphicsOperationQueue to avoid naming conflict with osg::OperationQueue -2010-01-28 08:58 robert +Mon, 14 Dec 2009 12:50:57 +0000 +Checked in by : Robert Osfield +Added checked against QT webkit being available - * Removed files as they all have the incorrectly have the execution - bit enabled, will add back in with this fixed. +Mon, 14 Dec 2009 12:49:59 +0000 +Checked in by : Robert Osfield +Fixed warnings -2010-01-28 08:53 robert +Thu, 10 Dec 2009 17:52:40 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find the missing GraphicsHandleCocoa-implementation." - * From Wang Rui, added osgParticle serializers +Thu, 10 Dec 2009 12:58:05 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and README.txt for 2.9.6 dev release -2010-01-27 17:12 robert +Thu, 10 Dec 2009 12:14:24 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file for 2.9.6 dev release - * From Serge Lages, "Here is a fix for the Quicktime plugin, with - the previous version, the size for some videos was not correct, - using GetMovieBoundsRgn instead of GetMovieBox returns the real - movie size. - " +Thu, 10 Dec 2009 12:13:13 +0000 +Checked in by : Robert Osfield +Updated Contributors list to workaround typos in ChangeLog -2010-01-27 17:09 robert +Thu, 10 Dec 2009 11:46:44 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * From Wang Rui, "Changes: - - 1. Rewrite the reading/writing exception handlers to work like - the ive - plugin exceptions. - 2. Write a header writing/checking function in - ReaderWriterOSG2.cpp, - which may help decide if the stream is ascii or binary. The - readInputIterator() function will return null pointer if the - input - file is nither osgb nor osgt format, which indicates that the old - .osg - format could be used here, in case we've merged the two plugins - together. - 3. Add a new ForceReadingImage option in the InputStream, which - will - allocate an empty image object with the filename if specifed - external - image file is missed. It may be useful for format converting in - some - cases. - 4. Add new osgParticle wrappers, as well as some modification to - the - osgParticle headers, for instance, change isEnabled() to - getEnabled(). - 5. Some fixes to the osg serialization wrappers." +Thu, 10 Dec 2009 11:30:51 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-01-27 16:31 robert +Thu, 10 Dec 2009 11:30:09 +0000 +Checked in by : Robert Osfield +From Stephan Huber, " I am getting a warning that the class DataOutputStream has virtual methods but no virtual d'tor, so I added the keyword virtual to the destructor." - * From Trajce Nikolov, improvements to osgWidget::Input including - selection support +Thu, 10 Dec 2009 11:16:41 +0000 +Checked in by : Robert Osfield +Fixed bug in positioning of 3d text characters -2010-01-27 15:53 shuber +Wed, 9 Dec 2009 23:42:29 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, add missing file - * From Stephan Huber: updated XCode project +Wed, 9 Dec 2009 18:45:46 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, Add check in RigTransformSoftware if bones are null Indent TimelineAnimationManager Add check for NaN in UpdateCallback.cpp Fix TimelineAnimationManager clear target (a refactore of Timeline is require for futur) Fix Computation of bounding box for RigGeometry -2010-01-27 15:37 cedricpinson +Wed, 9 Dec 2009 14:34:24 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Cedric Pinson, remove unused file, fix crash for old files +Wed, 9 Dec 2009 13:55:10 +0000 +Checked in by : Robert Osfield +Fixed support for compiling VBO's -2010-01-27 15:00 robert +Wed, 9 Dec 2009 13:51:02 +0000 +Checked in by : Robert Osfield +Added a Geometry::compileGLObjects() to handle compilation of VBO + EBO's. - * Updated wrappers +Wed, 9 Dec 2009 13:13:02 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, removed email address -2010-01-27 13:12 robert +Wed, 9 Dec 2009 10:18:13 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, .osg support for osgFX::Outline - * Updated wrappers +Wed, 9 Dec 2009 09:37:19 +0000 +Checked in by : Robert Osfield +Compile fixes for GLES -2010-01-27 13:12 robert +Wed, 9 Dec 2009 09:36:08 +0000 +Checked in by : Robert Osfield +From Robert Milharcic, added missing OSGFX_EXPORT - * Updated wrappers +Tue, 8 Dec 2009 17:41:44 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "attached is a stencil buffer-based constant-width outline f/x with example. I've also modified osgfxbrowser to setup the stencil buffer accordingly." -2010-01-27 12:24 robert +Tue, 8 Dec 2009 17:41:18 +0000 +Checked in by : Robert Osfield +From Thomas Halgarth, mods for Iphone GL headers - * From Cedric Pinson, "Here a list of changes: - Bone now inherit from MatrixTransform. It simplify a lot the - update of - Bone matrix. It helps to have the bone system more generic. eg - it's now - possible to have animation data with precomputed bind matrix. The - other - benefit, is now the collada plugin will be able to use - osgAnimation to - display skinned mesh. Michael Plating did a great work to improve - this - aspect, he is working on the collada plugin and should be able to - submit - a new version soon. - The RigGeometry has been refactored so now it works when you save - and - reload RigGeometry because the source is not touched anymore. The - benefit with this update is that it should be now possible to use - a - MorphGeometry as source for a RigGeometry. - - The bad news is that the format has changed, so i have rebuild - osg-data - related to osgAnimation data, updated the blender exporter to - export to - the new format. - The fbx plugin could be touched about this commit, i dont compile - it so - i can't give more information about it. - The bvh plugin has been updated by Wang rui so this one is fixed - with - the new code of osgAnimation. - The examples has been updated to work with the new code too... - - The example osg-data/example.osg should be remove, it's an old - example - that does not work. - - For people using blender the blender exporter up to date is here: - http://hg.plopbyte.net/osgexport2/ - it will be merge to http://hg.plopbyte.net/osgexport/ as soon as - the - modification will be push in the trunk. - " +Tue, 8 Dec 2009 17:33:01 +0000 +Checked in by : Robert Osfield +Added check for image compatibility with existing texture object, releasing the existing texture object in cases when the new image size/pixel format is not compatible. -2010-01-26 17:07 robert +Tue, 8 Dec 2009 17:25:45 +0000 +Checked in by : Robert Osfield +From Sukender, "I experienced as some users before: I tried to rescale an image without a valid rendering context... And had problems to unserstand what the "GL_OUT_OF_MEMORY" meant! So I added a few comments for future users." - * Updated wrappers +Tue, 8 Dec 2009 16:58:21 +0000 +Checked in by : Robert Osfield +Fixed typo -2010-01-26 17:04 robert +Tue, 8 Dec 2009 16:02:43 +0000 +Checked in by : Robert Osfield +From Fabien Lavignotte, "i have a problem with my application, i am currently playing with Texture2D::SubloadCallback to optimize my image data transfer, and also avoid double buffering when using a drawing thread. There is a small bug with your change and SubloadCallback, the texture object is destroy at each call of Texture2D::apply because the modified count is never updated when using SubloadCallback. I have made a small fix to avoid that, see attachement."From Robert Osfield, added an if (_image.valid()) before the getModified() that Fabien added to avoid problems when no _image is assigned but an subload callback is. - * From Laurens Voerman, "Wile working with pbuffers I noticed that - the Win32 implementation uses the attribute - WGL_PBUFFER_LARGEST_ARB. - - > quote from - http://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt - > The following attributes are supported by wglCreatePbufferARB: - > - > WGL_PBUFFER_LARGEST_ARB If this attribute is set to a - > non-zero value, the largest - > available pbuffer is allocated - > when the allocation of the pbuffer - > would otherwise fail due to - > insufficient resources. The width - > or height of the allocated pbuffer - > never exceeds and , - > respectively. Use wglQueryPbufferARB - > to retrieve the dimensions of the - > allocated pbuffer. - - It notifies the user when the size is not as requested, but I - could find no way for the program to detect this. I've added two - lines to write the new size back into the _traits, I think this - is appropriate, but I am not absolutely sure. - - In PixelBufferX11 was no support, so I've added - GLX_LARGEST_PBUFFER(_SGIX) support, with the same writeback to - the _trais. - - - I have tested the GLX_LARGEST_PBUFFER version on linux and the - WGL_PBUFFER_LARGEST_ARB with windows, all tested with the - modified autocapture I just submitted. - - - "autocapture --pbuffer --window 100 100 18192 18192 - cow.osg.\[0,0,-22.7\].trans" - gives me a 4096x4096 image on my windows machine, - and a 8192x8192 image on linux." -2010-01-26 16:59 robert - * From Trajce Nikolov, various improvements of the workings of - osgWidget::Input. -2010-01-26 16:50 robert +Tue, 8 Dec 2009 15:39:04 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Juan Hernando, fixed typo in handling of RGBA and BGRA data +Tue, 8 Dec 2009 15:38:50 +0000 +Checked in by : Robert Osfield +Added virtual declaration for a range of osg::Image method to allow easier customization. -2010-01-26 16:48 robert +Tue, 8 Dec 2009 14:40:36 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project - * Added .get() to fix build +Tue, 8 Dec 2009 14:25:16 +0000 +Checked in by : Robert Osfield +Added catch for changes in image pixel format and dimensions so that the texture object is released when the image changes enough to warrant a new texture object. -2010-01-26 16:41 robert +Mon, 7 Dec 2009 16:45:33 +0000 +Checked in by : Robert Osfield +Re-order the setting of the VBO's - * Updated wrappers +Mon, 7 Dec 2009 12:35:33 +0000 +Checked in by : Robert Osfield +Converted tabs to four spaces -2010-01-26 16:30 robert +Sat, 5 Dec 2009 10:13:43 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Tony Horrobin, "This fix just makes a couple of calls to - ref_ptr<>::get() to satisfy the compiler. - - The changes make the build successful under Windows 7/VC2005 and - Ubuntu 9.10 with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION set - to OFF. - " +Sat, 5 Dec 2009 10:02:04 +0000 +Checked in by : Robert Osfield +Removed unimplemented updateGraph method -2010-01-26 15:37 robert +Fri, 4 Dec 2009 17:25:23 +0000 +Checked in by : Robert Osfield +From Tatsuhiro Nishioka, "> The workaround/solution was to add a block of code at the end of the > loader to un-premultiply the alpha (now in the codebase).Applying the code brightens the semi-transparent portion, but the black edges are still there (same on both osgviewer and FlightGear). +Therefore I believe that the alpha channel is completely ignored (on png, gif, tiff, etc...). I tweaked and tweaked and finally got a workaround. - * From Laurence Muller, "attached the CMakeList.txt to fix the - issue described in: - http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2010-January/037792.html - - Issue: - osgQtBrowser fails to compile because it can not find the QTCore - header files - - Fix: - Add the QT_QTCORE_INCLUDE_DIR to the CMakeList.txt file - - Patch: - ...\OpenSceneGraphSVN\examples\osgQtBrowser\CMakeLists.txt - change (line 17): INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} ) - to (line 17): INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} - ${QT_QTCORE_INCLUDE_DIR}) - " +Please commit the enclosed file to fix these issues. -2010-01-26 15:08 robert +My workaround is a bit tricky (and some lines are even weird for me), but it resolves the black edges. +These workarounds also work on GIF, TIFF, TGA, and PSD as long as I've tested so far. - * From Jan Peciva, "I am sending one more improvement (separately - from Inventor plugin). - I found very useful to have a control whether - osgView::setCameraManipulator does or does not reset camera to - home position. - - I extended method signature as follows: - void setCameraManipulator(osgGA::MatrixManipulator* manipulator, - bool resetPosition = true); - - keeping the current usage intact (default parameter), while - enabling user to disable the position reset. That can be useful - in the situation when manipulator position was already loaded, - for example from a file (user specification), or defined any - other way, while we do not want to be reset to home position. - Other usability is usage of two manipulators in a modeling - program (orbiting around the model, walking on the model) and - changing between them while we want to preserve the position of a - camera in the change. Games may benefit from it as well when we - change from user-defined helicopter manipulator to soldier - manipulator because the user escaped the helicopter. The camera - will change manipulator but the position is expected to be kept - in the transition (provided that user makes the state transition - between the two manipulators himself). - " +Please read this for more info on this issue: +http://macflightgear.sourceforge.net/home/development-notes/devnote-dec-02-2009 +http://macflightgear.sourceforge.net/home/development-notes/devnote-dec-03-2009 -2010-01-26 14:57 robert +I'm very happy if some of you guys find a better means of solving the black edges. - * Removal of redundant spaces at ends of lines +" -2010-01-26 14:54 robert - * updated wrappers -2010-01-26 13:05 robert +Fri, 4 Dec 2009 17:24:27 +0000 +Checked in by : Robert Osfield +Converted tabs to four space - * From Lars Nilsson, "Attached is a small program doing - intersection calculations, both with and without KdTree. The - geometry is a TRIANGLE_STRIP consisting of five vertices, all - with the same rather high Z-value. If the intersection - calculation uses KdTree, it fails. When I changed osg::Vec3 to - osg::Vec3d in a few places in osg::KdTree it finds the correct - intersection point." - - From Robert Osfield, I didn't merge the change of parameter type - of IntersectKdTree::intersect() as the internal maths is all done - in Vec3s. Keeping Vec3 here hasn't effected the test results. +Fri, 4 Dec 2009 11:31:04 +0000 +Checked in by : Robert Osfield +From Sukender, "Here is our freshly baked 3DS reader/writer (named 'v0.5' to differentiate from previous one). Changes are against trunk rev. 10819. Short changelog (from rev 10819): - Added 3DS writer - Sync'd with latest lib3DS - Added options, especially "flattenMatrixTransforms" to get the "old" behaviour (else the reader correctly maps to OSG the transforms from the 3DS file).What should be done: +- Check with pivot points, with and without "flattenMatrixTransforms" option. +- We ran tests on it, but we can never be 100% sure there is no bug. Testing from the community would of course be helpful." -2010-01-26 11:37 robert - * From Laurens Voerman,"ttached is a updated version for - examples\osgautocapture\osgautocapture.cpp - - -fixed a bug with --active command line option not rendering - -added --pbuffer command line option - -changed very confusing #ifdef 0 - -added OSG_GLES GL_RGB readPixels support if available - (UNTESTED)" -2010-01-26 11:16 robert - * From Laurens Voerman, "I've removed an underscore in - OpenSceneGraph/src/osgUtil/SceneView.cpp - introduced in svn - 10915 (5 Jan 2010): "Added support for call root Camera - CullCallbacks" - - - - It causes a segfault in osgViewer based apps on our linux system - (OSG_STEREO=ON OSG_STEREO_MODE=QUAD_BUFFER) - - Problem does not show when OSG_STEREO=OFF. - - - < 976 else _cullVisitor->traverse(*_camera); - > 976 else cullVisitor->traverse(*_camera); - - Looks like a typo, and removing the _ does fix the problem." +Fri, 4 Dec 2009 09:57:08 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, "I replaced the Vec4 by a float and used only the x component of the shadow2DProj . This works on my apple box." -2010-01-26 10:37 robert +Wed, 2 Dec 2009 18:58:45 +0000 +Checked in by : Robert Osfield +From Julen Garcia,"I've been lately working also with the ffmpeg plugin and I implemented pause(), seek() and getReferenceTime(). I think that I have solved the internal clock issues (maybe not in the most elegant way :?" - * Changed doxygen comments to signal deprecation of this old IO - classes +Wed, 2 Dec 2009 14:58:47 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I had to make a few small changes to some cmake files to enable the OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS option for Visual Studio 2008." -2010-01-25 18:08 robert +Wed, 2 Dec 2009 14:21:13 +0000 +Checked in by : Robert Osfield +From Nico Kruithof, "Attached is a patch that makes the spherical manipulator frame rate independent. This is similar to what Lee did for the trackball manipulator a couple of months ago." - * Removed inapprorpiate OSGDB_EXPORT +Wed, 2 Dec 2009 12:37:45 +0000 +Checked in by : Robert Osfield +Quitened down debug info -2010-01-25 17:07 robert +Wed, 2 Dec 2009 12:37:22 +0000 +Checked in by : Robert Osfield +Added osggpx example to demonstate how to use the XmlParser and create line models.To use : - * Refactored the DotOsgWrapper support in osgDB::Registry so it's - now provided by the osgDB::DeprecatedDotOsgWrapperManager. + osggpx myterrainmodel.ive -t mytrack.gpx -2010-01-25 15:25 robert - * Updated wrappers -2010-01-25 15:24 robert - * Moved the declaration of osgDB::Field, FieldReader and - FieldReaderIterator into include/osg/Input to centralise all the - deprecated .osg parsing code into one place. -2010-01-25 12:48 robert +Tue, 1 Dec 2009 19:40:29 +0000 +Checked in by : Robert Osfield +Quiten down debugging message - * Removed deprecated classes +Mon, 30 Nov 2009 13:44:41 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-01-25 11:40 robert +Fri, 27 Nov 2009 18:14:27 +0000 +Checked in by : Robert Osfield +Attempted compile fix. - * Added back in StreamOperation with executation bit disabled +Fri, 27 Nov 2009 16:47:38 +0000 +Checked in by : Robert Osfield +From Christian Ehrlicher, "during profiling my program I found out that there's a lot of memory (de)allocation going on in OverlayNode::cut().So instead creating inner-loop variables 'distances' and 'newVertices' +every time, I moved the creation out of the loop and just do a clear() + +reserve() inside the loop. This allows std::vector<> to reuse the old +memory instead allocating new when the new size <= oldsize." -2010-01-25 11:39 robert - * Temporily removed StreamOperation as it had execution bit enable - for it. -2010-01-25 11:03 robert +Fri, 27 Nov 2009 15:48:57 +0000 +Checked in by : Robert Osfield +From Jason Daly, "The DDS reader test for DXT1 images with 1-bit alpha wasn't thorough enough. It performed the first check (color_0 <= color_1), but it didn't actually scan the texel block to see if the transparent color (0x03) was there. As a result, DXT1 files without any alpha were getting switched to RGBA format (instead of being left just RGB).The attached code fixes this problem." - * From Wang Rui, refactored the InputStream/OutputStream operations - so that the binar/ascii foramts are implemented via subclasses. -2010-01-22 20:47 robert - * Added RequestQueue destructor and DatabaseRequest::invalidate() - and valid() methods to allow the - destruction of RequestQueue to remove any pointers held in - DatabaseRequest attached to the scene graph, and to - prevent their subsequent use in cases where the scene graph is - attached to a new DatabasePager. +Fri, 27 Nov 2009 15:39:07 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, Explanation:Currently osg2cpp removes "\n" line endings to replace them with a textual equivalent ("\\n") in order for the string representing the shader to contain line endings in the string. But if the file that was read contained Windows line endings ("\r\n"), the resulting file looked really weird (the \r were left there and editors interpreted that as an additional newline). Also, I can imagine that if the shader file that was read had Mac line endings ("\r") then the output shader would all end up in one long line since there are no "\n"... -2010-01-22 20:35 robert +What I've done: - * Seting the notifcation level of debug message to INFO. +I've added a search and replace of "\r\n" to "\n", and then "\r" to "\n" (note that the order is important). -2010-01-22 16:13 robert +I've also changed the filename handling so that the output file will be put in the same directory as the input file in case it was specified with a path. Previous functionality is retained for files specified with the filename only."" - * Reverted fixes for Mingw as they break OSX build -2010-01-22 15:16 robert - * Renamed ObjectRegistry to ObjectWrapperManager, and replaced it's - instance() method usage with assigning a ObjectWrapperManager - to the osgDB::Registry. Added a - osgDB::Registry::getObjectWrapperManager() for access of this - object wrapper manager. This - change centralises the singleton management in osgDB. - - Merged the osgDB::GlobalLookUpTable functionality into - ObjectWrapperManger to keep down the number of singletons in use. +Fri, 27 Nov 2009 15:35:57 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I just successfully built the pdf plugin on Windows XP and MSVC and fixed a small bug then:ReaderWriterPDF.cpp, line 133, change: -2010-01-21 16:26 robert +std::string uri = std::string("file:") + foundFile; - * Added extra export for windows build +to: -2010-01-21 16:07 robert +#if defined(WIN32) && !defined(__CYGWIN__) + std::string uri = std::string("file:///") + foundFile; +#else + std::string uri = std::string("file:") + foundFile; +#endif - * Added extra includes to bring in their local definitions of - OpenGL enums that don't exist across all GL versions -2010-01-21 13:17 shuber +That's because glib accepts "file:///C:\\data\\file.pdf" as URIs on +Windows, as well as "file:/home/data/file.pdf" on Unix, but +"file:C:\\data\\file.pdf" is not recognized. - * From Stephan Huber: updated XCode project +Now I could read my Chinese translation of OSGQSG with osgpdf. :P" -2010-01-21 10:24 robert - * Added support for passing on slave Camera's StateSet's to the - rendering backend. -2010-01-21 09:25 robert +Fri, 27 Nov 2009 15:32:43 +0000 +Checked in by : Robert Osfield +From Paul Martz, "This change address the following issue: an app opens a Viewer on a multidisplay system, configured to setUpViewAcrossAllDisplays, with a non-default clear mask. In this case, OSG failed to propagate the clear mask to the slave Cameras, resulting in the clear mask being ignored. To fix this issue, this revision adds a new CullSettings::VariablesMask bit, CLEAR_MASK, to explicitly control inheritance of the clear mask. This bit is set by default, which means that the clear mask now inherits by default, whereas previously it did not." - * From Wang Rui, added exports for windows build +Fri, 27 Nov 2009 12:21:44 +0000 +Checked in by : Robert Osfield +From Chris Denham, "I discovered what seems to be a missing call to FreeLibrary for osgDB.dll The result of this is that it prevents me from dynamically unloading my DLL (which uses OSG). This is because initialisation of the osg::Registry instance results in a call to GetModuleHandleEx (to get the filename of the DLL). This call to GetModuleHandleEx increments the module refcount, but there was no matching call to FreeLibrary for the returned handle. Unlike the old GetModuleHandle function, GetModuleHandle does (by default) increment the refcount.I have added the missing call to FreeLibrary in osgDB::FileUtils., and now my the runtime unload of MY dll is working properly. It has also cured some related problems I was having with memory leak checks being reported. -2010-01-20 20:13 robert +I have attached a fix to osgDB/FileUtils.cpp based on version 2.9.5 svn revision 10374 +" - * From Wang Rui, new native binary/ascii format infrastructure and - wrappers. - - From Robert Osfield, refactor of Wang Rui's original osg2 into 3 - parts - parts placed into osgDB, the ReaderWriter placed into - src/osg/Plugin/osg and wrappers into - src/osgWrappers/serializers/osg -2010-01-20 10:35 robert - * Introduced file globbing to deprecated-dotosg directories and - added new serializers direcotory in prep for new serializers +Fri, 27 Nov 2009 12:17:20 +0000 +Checked in by : Robert Osfield +From Cory Riddell, "Small edit to ReaderWriterDOT.cpp. It wasn't checking the file extension and so, if the .dot plugin was loaded, it would happily handle any file name extension.To reproduce the bug, first save a scene to a dot file (to load the dot +plugin), then try to write the scene to an osg file. If you look at the +osg file, you will see that it is a dot file." -2010-01-19 13:31 robert - * Replaced osgDB::RegisterDotOsgWrapperProxy usage with - REGISTER_DOTOSGWRAPPER proxy to aid static linking -2010-01-19 12:36 robert +Fri, 27 Nov 2009 11:48:21 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added CmakeList.txt for new wrapper plugins +Fri, 27 Nov 2009 11:43:18 +0000 +Checked in by : Robert Osfield +Implement deleteAllTextureObject/BufferObjects functionality.Cleaned up warnings. -2010-01-19 12:26 robert - * Refactored the old style .osg plugin support so that the - DotOsgWrappers are placed in their own dedicated plugins found in - src/osgWrappers/deprecated_osg -2010-01-19 12:24 robert +Thu, 26 Nov 2009 12:33:07 +0000 +Checked in by : Robert Osfield +Introduced preliminary osg::deleteAllGLObjects() and osg::discardAllGLObjects() functions and associated support into Texture and BufferObjects - * Inserted /introspection/ into path of osgIntrospection wrappers +Thu, 26 Nov 2009 10:12:38 +0000 +Checked in by : Robert Osfield +Added check for Geometry pointer being valid -2010-01-19 10:31 robert +Wed, 25 Nov 2009 16:31:14 +0000 +Checked in by : Robert Osfield +For testing purposes added code path and options for testing viewer creation in series, including with enabling of VBO's. Options are: osgcamera -r 5 --vbo cow.osg - * Added deprecated-dot/osg directory from the contents of the - src/osgPlugins/osg and CMakeLists.txt in prep for creating the - plugin mechanism for .osg support +Which repeats construction of the viewer 5 times in a row, and enables VBO, and on each repeat a new model is loaded. -2010-01-19 09:54 shuber + osgcamera -r 2 --vbo --shared cow.osg - * From Stephan Huber: updated XCode projects +Which repeats construction of the viewer 2 times in a row, and enables VBO, and on each loads the model once and shares it between each instance of the viewer. -2010-01-18 20:49 robert - * Added introspection directory -2010-01-18 19:56 robert - * Regenerated introspection wrappers in their new location +Wed, 25 Nov 2009 16:20:25 +0000 +Checked in by : Robert Osfield +Added support for repeating viewer construction -2010-01-18 19:43 robert +Wed, 25 Nov 2009 11:31:52 +0000 +Checked in by : Robert Osfield +From Sergey Leontyev, example for testing of DatabasePaging and CompositeView usage - * Cleaned out all wrappers as will be moving them all into - src/osgWrappers/introspection directory, and use genwrapper to - generate the new ones +Tue, 24 Nov 2009 15:26:54 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-01-18 16:39 robert +Tue, 24 Nov 2009 15:00:11 +0000 +Checked in by : Robert Osfield +From Martin Scheffler, "osgParticle: method to set start and end tile for particle texture (for animated particles). I also updated examples/osgParticle to show the feature. The texture in data/Images should be copied to osg-data. I created the texture myself with the help of an explosion generator, so no license issues there. " - * Added #include for Mingw build +Tue, 24 Nov 2009 14:32:51 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've attached a small fix to osgUtil::SceneView so that is uses a scissor test when clearing the stencil buffer for stencil based stereo."and -2010-01-18 16:38 robert +"I've added another small change for stencil based stereo, so please use this newer version. This newer version simplifies the calls to glOrtho and glRecti when drawing the stipple pattern. This change also happens to fix an issue where the stencil stereo would not work with certain viewport settings. I'm not exactly sure why this was happening, it might be a graphics driver issue, but either way I think the changes should be fine." - * Restructure the includes of freetype -2010-01-18 14:27 robert - * From Jean-Sebastien Guay, build fixes for Mingw -2010-01-18 13:00 robert +Tue, 24 Nov 2009 14:22:12 +0000 +Checked in by : Robert Osfield +From Lilin Xiong, "when using stlport5.3 (vc 2003) , this line cann't be compiled: _instances[0] = new WGLExtensions; change to: _instances[HGLRC(0)] = new WGLExtensions;" - * Updated wrappers +Tue, 24 Nov 2009 14:20:59 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-01-18 12:43 robert +Tue, 24 Nov 2009 14:12:54 +0000 +Checked in by : Robert Osfield +From Terry Welsh, "As I mentioned here http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg33967.html , interpolating through HSV space gives a rainbow color effect which does not mimic the simple RGB color interpolation that OpenGL does. It's overkill and causes unexpected visual artifacts. In the attached files I've removed the conversion to HSV so that interpolation happens in RGB space." - * From Serge Lages, "Here is a patch to allow setting an audio - volume with the AudioSink interface, I've also modified the - ffmpeg plugin code to implement the ImageStream's setVolume - method with its AudioSink." +Tue, 24 Nov 2009 13:28:07 +0000 +Checked in by : Robert Osfield +Rewrote the Vec *= Vec and Vec /= Vec implementations using inline Vec componentMultiply(Vec,Vec) and Vec componentDivide(Vec,Vec) to avoid confusion about the what the operation does. -2010-01-15 15:34 robert +Tue, 24 Nov 2009 13:24:30 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "I have extended a list of texture targets that can be used with shadow comparison. These targets are avaialble in in OpenGL 3.x shadow sampler variants. Changes are based on current SVN." - * Removed the old style Serializer, moving it back into - VirtuaLPlanetBuilder to make way for the new Serializer that - exists in support for the new binary/ascii format. +Mon, 23 Nov 2009 11:00:07 +0000 +Checked in by : Robert Osfield +From Chris Hanson, " Add support for "OutputTextureFiles" option to IVE plugin to permit creation of external .dds texture files from internally-embedded textures during IVE writes."From Robert Osfield, fixed a bug in the above submission, and changed the way that the filename of the file is passed into DataOutputStream to avoid issues with the .ive's plugins ability to read from istreams. -2010-01-14 15:15 robert - * Added setting of the charcode during construction of - osgText::Font::Glyph() -2010-01-14 15:15 robert +Mon, 23 Nov 2009 10:19:37 +0000 +Checked in by : Robert Osfield +From Chris Hanson, " Add support for requesting and setting the current directory (a la getcwd/chdir) via a C++-friendly string-class API. Prevent osgDB::concatPaths from faulting if the supplied "left" path string is empty." - * Updated so version -2010-01-13 18:50 robert - * Updated rev number for 2.9.7 dev release as ABI compatibility has - been broken +Mon, 23 Nov 2009 10:01:44 +0000 +Checked in by : Robert Osfield +From Chris Hanson, " Adds support for Vec /= Vec and Vec *= Vec operators to Vec2/Vec3/Vec4 double and float classes." -2010-01-13 18:50 robert +Mon, 23 Nov 2009 09:54:28 +0000 +Checked in by : Robert Osfield +Updated version - * Updated wrappers and supported shadow texture formats +Mon, 23 Nov 2009 09:53:08 +0000 +Checked in by : Robert Osfield +From Paul Martz, typo fixes -2010-01-13 18:46 robert +Sun, 22 Nov 2009 17:27:13 +0000 +Checked in by : Robert Osfield +Added missing createContextImplementation(). - * For backwards compatiblity add a staic void - BufferObject::deleteBufferObject(unsigned int contextID,GLuint - globj) method. +Sat, 21 Nov 2009 16:41:02 +0000 +Checked in by : Robert Osfield +From Colin MacDonald, "In my application I have a custom graphics context class, derived from osg::GraphicsContext, in order to give good integration with the application's GUI toolkit. This works really well.However, I need to share OpenGL texture resources with the standard +osgViewer GraphicsContext implementations, in particular the +PixelBuffers. This is essential for my application to conserve graphics +memory on low-end hardware. Currently the standard osg implementations +will not share resources with another derived osg::GraphicsContext, +other than the pre-defined osgViewer classes e.g. PixelBufferX11 is +hardcoded to only share resources with GraphicsWindowX11 and +PixelBufferX11 objects, and no other osg::GraphicsContext object. -2010-01-13 14:57 robert +To address this in the cleanest way I could think of, I have moved the +OpenGL handle variables for each platform into a small utility class, +e.g. GraphicsHandleX11 for unix. Then GraphicsWindowX11, PixelBufferX11 +and any other derived osg::GraphicsContext class can inherit from +GraphicsHandleX11 to share OpenGL resources. - * Updated wrappers +I have updated the X11, Win32 and Carbon implementations to use this. +The changes are minor. I haven't touched the Cocoa implmentation as +I'm not familiar with it at all and couldn't test it - it will work +unchanged. -2010-01-13 14:16 robert +Without this I had some horrible hacks in my application, this greatly +simplifies things for me. It also simplifies the osgViewer +implementations slightly. Perhaps it may help with other users' +desires to share resources with external graphics contexts, as was +discussed on the user list recently." - * Moved dispatch/recieve methods into public scope to allow easier - custom usage. +Notes from Robert Osfield, adapted Colin's submission to work with the new EGL related changes. -2010-01-13 13:31 robert - * Updated wrappers -2010-01-13 13:30 robert - * Changed get methods to new style ones. +Fri, 20 Nov 2009 14:51:43 +0000 +Checked in by : Robert Osfield +From Chris Hanson, " Remove vestigial (and because it was undocumented, potentially harmful) code to ignore filenames starting with a dash "-" character from the (std::vector&) version of osgDB::readNodeFiles. Handling of argument strings is properly implemented in the osgDB::readNodeFiles(osg::ArgumentParser& arguments,const Options* options) variant, which most code uses. The (std::vector&) version is only called by the osgconv utility, which does its own argument handling and stripping prior to calling readNodeFiles(). Also, documented this behaviour in the header comments. -2010-01-13 13:30 robert + I believe this code removal is a meritful change because leavign the code in causes an +unexpected and undocumented behaviour (ignoring any filename starting with a dash) that +could bite users in the future. This behaviour is not needed for existing functionality +because existing code uses other APIs to handle dash-prefixed arguments anyway. - * From Wang Rui, "Attached are two simple modifications of - osg::Sequence and - osg::Texture1D classes, for the reason of implementing the I/O - serialization feature. In the Sequence header, I've added some - more - convenient functions: setTimeList/getTimeList, - setLoopMode/getLoopMode, setBegin/getBegin, setEnd/getEnd, - setSpeed/getSpeed and setNumRepeats/getNumRepeats. - - In the Texture1D header, fixed: - - inline void setTextureWidth(int width) const ... - - to: - - inline void setTextureWidth(int width) ..." - - Notes from Robert Osfield, have gone a little further with these - changes and have removed some of the original get methods that - were out of step with the way the rest of the OSG manages the - set/get property pairs. +" -2010-01-13 13:09 robert - * Added missing .get()'s -2010-01-13 11:45 robert +Fri, 20 Nov 2009 14:40:58 +0000 +Checked in by : Robert Osfield +Moved the ImagePager update to before the main scene graph update traversal - * Added missing .get() to fix build when compiling with no - automatic type convention in ref_ptr<> +Fri, 20 Nov 2009 14:39:15 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I've made a small fix to osgViewer/Scene.cpp, which is already attached. I would like to explain what I've done and why.In Scene::updateSceneGraph(), change: -2010-01-13 10:46 robert +if (getSceneData()) +{ + updateVisitor.setImageRequestHandler(getImagePager()); + getSceneData()->accept(updateVisitor); +} +if (getDatabasePager()) +{ + // synchronize changes required by the DatabasePager thread to the scene graph + getDatabasePager()->updateSceneGraph((*updateVisitor.getFrameStamp())); +} - * From Sukender, warning fix. +to -2010-01-12 11:12 robert +if (getDatabasePager()) +{ + // synchronize changes required by the DatabasePager thread to the scene graph + getDatabasePager()->updateSceneGraph((*updateVisitor.getFrameStamp())); +} +if (getSceneData()) +{ + updateVisitor.setImageRequestHandler(getImagePager()); + getSceneData()->accept(updateVisitor); +} - * Convert dos line endings +That is, just swap the positions of two 'if () {...}' segments. -2010-01-12 10:00 robert +While working on a paged terrain, I need to collect every newly allocated PagedLODs and make them temporarily unrenderable in the next frame, which are all done in a update callback. But I found that these PagedLODs will always be shown before collecting them, because of the unsuitable sequence in Scene::updateSceneGraph(). DatabasePager is synchronized AFTER the user updating traversal, that is, user cannot IMMEDIATELY find out changes made by DatabasePager. + " - * Updated wrappers -2010-01-11 17:36 robert - * From Jean-Sebastien Guay, "OK, so here are new changes. - - 1. The node type will be set to ATOM on read of type tags. - 2. GROUP and NODE are now written using the same code (and not - just duplicated code). Also NODE will not be written as an ATOM - if it has no children or contents, so you need to set the type to - ATOM if you want the style. - 3. You had put the write of "/>" for ATOM after the "return - true", so it had no effect... Moved to before the return. - 4. ATOM did not write its properties correctly, fixed. - 5. As an added bonus, I made the write() method indent the output - so it's more readable. It brings a small public interface change - but the indent argument has a default value so client code - doesn't need to change (if there even is any). - 6. Another added bonus, I've simplified the write() method a bit - by factoring out the write for children and properties into - protected methods." +Fri, 20 Nov 2009 14:31:11 +0000 +Checked in by : Robert Osfield +From Rafa Gaitan, "Current ffmpeg plugin didn't support pause and seek, I have added this functionality and I also modified osgmovie example to support "seek"."Note from Robert Osfield, changes osgmovie to use '>' for the seek as '+' was already used in a separate submission that had been merged. -2010-01-11 17:27 robert - * Added missing .get() -2010-01-11 16:09 robert - * From Sukender, introduced usage of ref_ptr<> and local - scoped_array to address more robust memory management. +Fri, 20 Nov 2009 14:15:42 +0000 +Checked in by : Robert Osfield +Updated wrappers -2010-01-11 16:03 robert +Fri, 20 Nov 2009 12:32:51 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I noticed that the code for rendering vertical interlace, horizontal interlace, and checkerboard stereo are practically identical, except for the stipple pattern. I combined the code blocks for rendering the 3 stereo modes into a single block. I also fixed a small issue with retrieving stats in checkerboard stereo mode." - * Added desctructor with jas_cleanup(). +Fri, 20 Nov 2009 11:46:20 +0000 +Checked in by : Robert Osfield +From David Callu, "I have a Segfault with xine plugin, when I load a video, then delete the XineStreamImage, then reload a video and finally delete the second XineStreamImage.In src/osgPlugins/xine/video_out_rgb.c, many code is ASM code, and 'clear()' function is one of them. +If OSG is compiled without the flag COMPILE_ASSEMBLY (default behaviours) the clear() function is an empty +function and allocated memory is never initialized to 0. So a structure which contain pointer haven't its pointer set to NULL. +And when we need to delete this pointer, all go bad. -2010-01-11 14:28 robert +I join the fixed file." - * From Laurens Voerman,"the current ReaderWriterJP2 has all the - code for writing jp2 files (jpeg 2000), but the writing fails on - my windows machine (jasper-1.900.1) because the ID for the "jp2" - extention is requested before the jas_init() call. (bug - introduced in svn 7645 - 10 dec 2007)" -2010-01-11 14:04 robert - * From Sukender, "a small fix about using non 3-charcacters long - file extensions (such as "jpeg", to be converted to "jpg")." +Fri, 20 Nov 2009 11:43:53 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "Reading from a stream the 3ds plugin crashes if the options are null." -2010-01-08 11:47 robert +Fri, 20 Nov 2009 11:39:10 +0000 +Checked in by : Robert Osfield +From Himar Carmona, " this submission resolves an issue regarding the setup of a slave camera with an (incorrect) coding style. Sharing the same instance of osg::Viewport with a camera and a slave camera causes incorrect rescaling in GraphicsContext::resizedImplementation, due to the viewport being rescaled twice (once per camera). Though viewports sharing is not intentional, it can be done with the current version of OSG and be a potential pitfall for anyone. As Robert pointed out, i opted for modifying the resize code where the break is to minimize code changes, avoiding the duplicate resize of the viewport with the use of a vector and a search for duplicates. Not very elegant (avoiding an effect of a cause), another approach could be ripping out the method osg::Camera::setViewport(osg::Viewport*) which is more inline with Roberts rationale behind not to share viewports between cameras and left only its overloaded method setViewport(x,y,width,height). But this approach need some refactoring due to the intense use of the method. Notice also that the resize works well without this change if no sharing occurs, and the user of the method can opt for always call setViewport with a new instance. + " - * Updated wrappers +Note from Robert Osfield, changed this submission to use an std::set rather than an std::vector<> as it keeps the code a bit cleaner and more compact. -2010-01-08 11:40 robert - * From Jean-Sebastien Guay, "was testing an osgWidget-based test - app I have and noticed that I couldn't move the windows/frames - around on the screen anymore. Turns out that the virtual methods' - interface changed in the EventInterface base class, the third - argument to mouseDrag() is now const, but it was not changed in - the derived classes, so it still compiled but the derived-class - version was not being called because its arguments differed. - - Here are the changes that fix it. - " -2010-01-08 11:37 robert +Fri, 20 Nov 2009 11:25:49 +0000 +Checked in by : Robert Osfield +From Stewart Andreason, "When I open the Window Attributes (in WindowManager in X on linux) I am unable to save any changes to the attributes in the resource database, because the osg window does not have a class defined. The Window Specification and Save buttons are greyed out.For example, when running FlightGear, I want the window to always have no title, so it opens full-screen without using the --full-screen option, which would prevent other windows from moving above the osg window. - * From Marius Heise, "osgShadow was using single precision - variables for light positioning and orientation. This was causing - precision problems (shadow jumping) with big databases (eg. - geocentric created vpb). This patch fixes this by using double - precision variables for light positioning and orientation. It - works for all algorithms dreived form - osgShadow::StandardShadowMap. - " +I am attaching a patch I made to fix this problem." -2010-01-08 11:32 robert - * From Rob Radtke, "I recently ran into some issues trying to - save/load a scene graph as a .ive file. The problems came about - because the scene graph contained depth textures in it. I have - attached a patch (against the current revision: 10919) that fixes - the issues that I encountered. Both attachments contain the same - patch--one is a .zip file that contains the modified files and - the other is a text patch file. Here is a summary of the changes - I made: - - 1) Add getShadowComparison() accessor function to osg::Texture - class - 2) Modify ReaderWriterTiff::writeTifStream() and _readColor() (in - Image.cpp) to handle pixelFormat==GL_DEPTH_COMPONENT as if it - were GL_LUMINANCE - 3) Modify the Texture classes of the ive and osg plug-ins so that - they save/load the following Texture members: - _use_shadow_comparison, _shadow_compare_func and - _shadow_texture_mode - " -2010-01-08 11:16 robert +Fri, 20 Nov 2009 11:18:28 +0000 +Checked in by : Robert Osfield +From Nico Kruithof, "This patch makes sure that FindOSG.cmake finds OSG when it is compiled as a 64 bit library, as the libraries are installed in the lib64 directory and not lib" - * From Paul Martz, "OcclusionQueryNode was incorrectly marking - itself as DYNAMIC, so I removed that code. And I also found some - uses of dynamic_cast that could be changed to static_cast. - " +Fri, 20 Nov 2009 11:08:40 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "I posted a question on osg users about resources not being properly released when using osgTerrain databases and multiple viewers are used a few weeks ago and I've found that at least part of the problem comes down to the fact that the nodes that are traversed by the GeometryTechnique are never actually added to the scene graph, and thus don't have releaseGLObjects called on them. I'm submitting a few changes that takes care of this by allowing the TerrainTechnique to provide a releaseGLObjects implementation. I've applied these changes in osgEarth and this example program no longer crashes on the second run, although I get corrupt geometry (see attached shot) which could be down to a driver issue. If I increment the context ID for the second viewer, I no longer get the corrupt geometry.The attached changes are against OpenSceneGraph 2.8.2. -2010-01-08 10:52 robert +//Sample program. Run against an osgEarth or VPB database based on osgTerrain. +#include +#include - * From Sukender, "ReaderWriter3DS.cpp fixes: - - Fixed creation of useless intermediate nodes - - WriterNodeVisitor.cpp fixes: - - Fixed naming of textures (path and extension) - " - - Note from Robert Osfield, this submission also came with changes - to use of ref_ptr<> and removal of delete[]'s, but these were not - merged as they didn't actually fix any memory leaks, and in once - instance introduced one. +int main(int argc, char** argv) +{ + osg::ArgumentParser arguments(&argc,argv); -2010-01-08 10:12 robert + osgViewer::Viewer* viewer = new osgViewer::Viewer(); + viewer->setUpViewInWindow(100, +100,500,500); + osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); + viewer->setSceneData( loadedModel.get() ); + viewer->run(); + delete viewer; - * Added newline at end of file to fix warning + viewer = new osgViewer::Viewer(); + viewer->setUpViewInWindow(100,100,500,500); + loadedModel = osgDB::readNodeFiles(arguments); + viewer->setSceneData( loadedModel.get() ); + viewer->run(); + delete viewer; +}" -2010-01-07 19:13 robert - * Fixed writing out of ATOM. -2010-01-07 19:08 robert +Fri, 20 Nov 2009 10:56:54 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, "Somehow, the SVG reader plugin has gone all this time without actually being able to accurately provide the cool stuff that SVG is good for. :) There is a one-line bug on line 68 in the src/osgPlugins/svg/ReaderWriterSVG.cpp file where you can set the width in the Options string, but not the height." - * From Jean-Sebastien Guay, fix to handling of xml node with - contents by not children +Fri, 20 Nov 2009 10:54:39 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "here an update of osgmovie example with the following features: - play and pause now stop and play all streams given in the command line (not only the first) - add key + - to increase decrease the speed of all streams - add key o to display all stream frame rate " -2010-01-07 17:36 robert +Fri, 20 Nov 2009 10:48:51 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "Here an update of the directshow plugin. It fixes issues with synchronization, improve capture device support.here how to use it to display a capture device: - * From Jean-Sebastien Guay, fixed handling of < tag /> xml syntax +osg::Options* options = new osg::Options; +options->setPluginStringData("captureWantedWidth", "800"); +options->setPluginStringData("captureWantedHeight", "600"); +options->setPluginStringData("captureWantedFps", "30"); +options->setPluginStringData("captureVideoDevice", "USB Video Device" ); +options->setPluginStringData("captureSoundDevice", ""); +then +osgDB::readImageFile("capture.directshow", options) +you can use a graphedit application to list devices available in +directshow. -2010-01-07 17:20 robert - * From Chuck Seberino, (submitted by Stephan Huber) Chuck's - original message : "I have a patch to submit that fixes the - following error when building against OSX 10.6.2." +for classic avi file you just need to do a +osgDB::readImageFile("file.avi.directshow"); +You will need of course to install the codec needed by directshow to +read the avi files. -2010-01-07 16:49 robert +I recommand this tool http://avicodec.duby.info/, that check which +video/sound codec is needed to play an avi file. - * From Lilith Bryant, "As discussed previously on the users list. - Fixes the redundant calls to - glActiveTexture on every State::apply after more than one - texunits have been - used. - - This is against 2.9.6 (I think SVN head is the same) - - Quick Synopsis: - - New functions: - - State::applyModeOnTexUnit - State::applyAttributeOnTexUnit - State::applyModeMapOnTexUnit - State::applyAttributeMapOnTexUnit - State::applyModeListOnTexUnit - State::applyAttributeListOnTexUnit - - All copies of the normal versions, but they also set the active - tex unit if - absolutely necessary (i.e. only if they call something OpenGL). - - State::apply (*2) - State::applyTextureAttribute - - Changed to call the above functions and no longer call - setActiveTextureUnit - themselves. - - State::setActiveTextureUnit - - Made inline, so the benefit of having applyModeOnTexUnit (etc) - inline - is retained. - " -2010-01-07 14:35 robert +You can test it with the osgmovie example. +" - * Added virtual pause() method into osg::AudioSink to support - pausing of a movie thread and it's associated audio. - - Updated osgmovie plugin to use the pause support. -2010-01-07 12:14 robert - * Refactored the way that osg::Image/ImageSequence manages the - update callback that needs to be attached to Textures to make it - possible to use the Image::update() mechansim in other subclasses - from osg::Image. - To enable the automatic attachment of the required update - callback to call osg::Image::update(..) subclasses from - osg::Image will - need to implement the osg::Image::requestUpdateCall() and return - true, and implement the osg::Image::update(NodeVisitor*) method - to recieve the update call during the update traversal. +Fri, 20 Nov 2009 10:27:43 +0000 +Checked in by : Robert Osfield +From David Fries, "I was trying to create a lot of threads under 32 bit Linux, but could only create 376, then the program would hang. 376 * 8MB stack per thread = 3008 MB The stack size allocated per thread blew the process address stack. To get more threads you have to specify a smaller per thread stack, but while the Thread::start says it will limit the stack size to the smallest allowable stack size, it won't let it be smaller than the default. I included the limits.h header to use PTHREAD_STACK_MIN as the minimum stack size.As for the deadlock, if the pthread_create failed, the new thread +doesn't exist and doesn't call threadStartedBlock.release(), so the +existing thread deadlocks on threadStartedBlock.block(). Only block +if the thread was started." -2010-01-07 10:01 robert - * Fixed warnings -2010-01-07 09:45 robert +Fri, 20 Nov 2009 09:05:06 +0000 +Checked in by : Robert Osfield +Added #include - * From Serge Lages, "Here is a modified fix. It doesn't break the - other patch for this plugin as they are for different files. I've - only added the file formats handled by default with DirectShow - (based on its Wikipedia page)." +Fri, 20 Nov 2009 09:03:02 +0000 +Checked in by : Robert Osfield +From Jan Ciger, removal of declaration of now undefined method. -2010-01-07 09:43 robert +Thu, 19 Nov 2009 17:42:25 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a bugfix for removeTransformUpdating and another similar remove-method.The old code removed an element from a vector, which invalidates the +iterator of the loop This resulted in a crash on certain platforms. Now +the erasing is done the right way without invalidating the iterator." - * Imporoved spacing -2010-01-07 09:11 robert - * Reordered the readAllDataIntoBuffer() to avoid bug in failing on - all calls to readXmlParser(..) +Thu, 19 Nov 2009 17:27:21 +0000 +Checked in by : Robert Osfield +From Lilin Xiong, added missing OSG_EXPORT -2010-01-06 15:43 robert +Thu, 19 Nov 2009 17:22:20 +0000 +Checked in by : Robert Osfield +From Vincent Gadoury, "In osgViewer::Viewer and osgViewer::CompositveViewer, the DOUBLECLICK event type was not considered as a "pointer event" and thus was receiving the event state coordinates and button mask. As a result, a double-click event always had a button mask not including the double-clicked button, even if double-click event is a "button push" event.The modification consists only in including osgGA::GUIEventAdapter::DOUBLECLICK in the list of "pointerEvent" events. - * Updated wrappers +Test done to reproduce the problem and check the fix: in any osg application or example with an HandleInput function, break on events with a double-click event type. Without the changes, the event's buttonMask does not contain the double-clicked button. With the changes, it does. -2010-01-06 10:41 robert +Only simple tests (running some examples and playing with the mouse) were done to check that the changes do not break anything, since double-click is not used thoroughly in OSG. - * Fixed type of index to int. +Modification done against current SVN Trunk version (r10753). -2010-01-05 20:03 robert +As this is a fix, I do not wish to keep my copyright on this submission and assign it over to the project lead. +" - * Replaced nullptr with isNullPointer -2010-01-05 11:15 robert - * Updated wrappers +Thu, 19 Nov 2009 17:18:22 +0000 +Checked in by : Robert Osfield +From Donn Mielcarek, "I'm surprised this hasn't come up before, but the function Thread::setProcessorAffinity always returns -1, even if the call is successful. I added return statements to each of the function calls." -2010-01-05 11:15 robert +Thu, 19 Nov 2009 17:17:24 +0000 +Checked in by : Robert Osfield +Fixed tabs - * Added support for call root Camera CullCallbacks +Thu, 19 Nov 2009 16:53:29 +0000 +Checked in by : Robert Osfield +Fixed spacing -2010-01-05 11:10 robert +Thu, 19 Nov 2009 16:45:35 +0000 +Checked in by : Robert Osfield +From Nico Krulthof, remove double qualifier of ReaderWriterQT constructor/destructor. - * Fixed indentation +Thu, 19 Nov 2009 16:43:54 +0000 +Checked in by : Robert Osfield +Changed the placement of the autogenerated Version file so it drops into the in source directory. -2010-01-05 11:09 robert +Thu, 19 Nov 2009 16:39:03 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, refactor to FBO setup to use the osg::Camera implicit buffer attachements. - * Added set/getDistance() method +Thu, 19 Nov 2009 16:06:30 +0000 +Checked in by : Robert Osfield +From Jan Ciger, build fixes to work with OpenVRML 0.18.3.Tweaks to this submission from Robert Osfield to fix missing elements in submission. -2010-01-04 15:54 shuber - * From Stephan Huber: updated XCode-project -2009-12-22 14:09 cedricpinson +Thu, 19 Nov 2009 12:54:52 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "ttached are some tweaks to the Obj loader that allows a program supplied osgDB::Options object to be passed through the code. This allows for caching to be used with images.The patched loader also complains more loudly if a material library file wasn't found or if a referenced material wasn't found in the material library." - * From Cedric Pinson, remove unused file Skinning, cleanup file - Timeline.cpp -2009-12-16 15:48 robert - * Moved the supports*() method into public scope to allow external - injection of supported formats. Added docs to clearly state this - type of inject is not generally supported by ReaderWriters. +Thu, 19 Nov 2009 12:39:04 +0000 +Checked in by : Robert Osfield +From Tugkan Calapoglu, "we started to have problems with textures after a recent svn update. I was able to follow the problem until following addition to Texture.cpp:// GLES doesn't cope with internal formats of 1,2,3 and 4 so map them to +the appropriate equivilants. -2009-12-16 15:12 robert +if (_internalFormat==1) _internalFormat = GL_ALPHA; +if (_internalFormat==2) _internalFormat = GL_LUMINANCE_ALPHA; +if (_internalFormat==3) _internalFormat = GL_RGB; +if (_internalFormat==4) _internalFormat = GL_RGBA; - * Updated ChangeLog and AUTHORS.txt to mark the point in time that - the OpenSceneGraph gained it's 400th contributor! -2009-12-16 15:05 robert +The problem is that internal format "1" corresponds to GL_LUMINANCE, not +GL_ALPHA. I double checked this from the Red Book. Fixed version is +attached to the email." - * From Lilith Bryant, "This patch fixes a regression (introduced in - @ rev 9228), where simple .dae files, that have no material - assignments, will cause a crash on load. - - In particular, the case when the "instance_geometry" element has - no "bind_material" sub-element. This is valid, according to the - official collada 1.4.1 specification." -2009-12-16 12:17 robert - * Removed old texture object manage code. +Thu, 19 Nov 2009 12:01:49 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "I've made a change to the ScreenCaptureHandler's addCallbackToViewer method, so that it iterates over GraphicsContexts instead of GraphicsWindows. When the viewer has a pbuffer (for offscreen rendering without a window) then it wouldn't add the WindowCaptureCallback to that context since it wasn't in the list returned by ViewerBase::getWindows(). And anyways, I originally wrote the code, and I didn't see any reason why I did it with windows instead of contexts...I've needed to run a recorded simulation offscreen and save it to a sequence of images, and the ScreenCaptureHandler seemed to be the simplest way to do that, and with this change it's possible. -2009-12-15 17:25 robert - * From Sukender, warning fix +Another change: I've also added the ability to specify continuous capture of all frames, or a certain number of frames. ScreenCaptureHandler now has a setFramesToCapture(int) method. The argument will be interpreted as: -2009-12-15 15:55 shuber +0 : don't capture +<0 : capture continuously +>0 : capture that number of frames then stop - * From Stephan Huber: updated XCode-project +I also added startCapture() and stopCapture() methods so that user code can start capturing (either continuously or the given number of frames) at a given point in their program. setFramesToCapture() won't start capturing, you have to call startCapture() afterwards. The handler also now has another key to toggle continuous capture (defaults to 'C'). -2009-12-15 14:45 robert +Note that continuous capture will of course only work if the CaptureOperation writes to different files (for example, a WriteToFile with SEQUENTIAL_NUMBER mode) or does something different each time... Otherwise it will just overwrite of course. :-) - * Fixed compile warnings +I've also taken the chance to refactor the addCallbackToViewer() method a bit too, since finding the right camera is needed in two places now. -2009-12-15 14:44 robert +I've tested all cases (I think). If you want to try, in osgviewer.cpp and replace the line - * Fixed compile warnings + // add the screen capture handler + viewer.addEventHandler(new osgViewer::ScreenCaptureHandler); -2009-12-15 14:40 robert +with - * Fixed warning + // add the screen capture handler + osgViewer::ScreenCaptureHandler* captureHandler = new + osgViewer::ScreenCaptureHandler( + new osgViewer::ScreenCaptureHandler::WriteToFile( + "screenshot", "jpg", + osgViewer::ScreenCaptureHandler::WriteToFile::SEQUENTIAL_NUMBER), + -1); + viewer.addEventHandler(captureHandler); + captureHandler->startCapture(); -2009-12-15 12:37 robert +And vary the "-1" (put 0, 10, 50) and then use the 'c' and 'C' keys and see how it reacts. +" - * From Tanguy Fautre and Robert Osfield, updated tristripper code - to use the latest tristripper_r94 code. -2009-12-15 11:47 robert - * Updated version to 2.9.7 in prep for next dev release +Thu, 19 Nov 2009 11:54:15 +0000 +Checked in by : Robert Osfield +Fixed spaces at ends of lines -2009-12-15 11:27 robert +Thu, 19 Nov 2009 11:44:44 +0000 +Checked in by : Robert Osfield +From Michael Platings, "This plugin adds support for the Autodesk FBX file format. It imports animations, including skeletal and morph animations, hence all my previous submissions to osgAnimation. The plugin won't build without the changes made in the "osgAnimation small additions" submission (14th August). The plugin requires the FBX SDK to be installed, available from http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=6837478" - * From Julen Garcia, "So here is the code with a proper audio sync - (at least in my computer)" +Thu, 19 Nov 2009 11:30:22 +0000 +Checked in by : Robert Osfield +Form Roland Smeenk, "Attached is a small change to the osgWidget::EventInterface so it matches the NotifyWidget and NullWidget interface (added const). Due to this mismatch these widgets never received events.I also changed the osgwidgetbox example so the ColorWidget is receiving events again." -2009-12-15 09:16 robert - * Changed GL_BGRA_EXT to GL_BGRA and added include of - include/osg/Image to make sure define is declared -2009-12-14 13:42 robert +Thu, 19 Nov 2009 11:21:05 +0000 +Checked in by : Robert Osfield +From J.P. Delport, "simple addition to make the scroll wheel work in the example." - * Renamed osg::GraphicsContext::OperationQueue typedef to - GraphicsOperationQueue to avoid naming conflict with - osg::OperationQueue +Thu, 19 Nov 2009 11:16:58 +0000 +Checked in by : Robert Osfield +From Fabien Lavignotte, "I have used the osgUtil::DelaunayTriangulator to insert roads into a terrain. The triangulator is quite tricky to use properly but works quite well, constraint triangulation is not an easy task... I have encounter some crash during the development that the following patch fix. The two fixes are : - Fix in removeVerticesInside() : needs to take into account UByte and UShort version of DrawElements to avoid a crash later - Fix a crash in triangulate() : detect degenerate adjacency case to exit early form the adjacent triangle traversal loop to avoid a crash later" -2009-12-14 12:50 robert +Thu, 19 Nov 2009 10:47:42 +0000 +Checked in by : Robert Osfield +Fixed build - * Added checked against QT webkit being available +Thu, 19 Nov 2009 10:12:00 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-12-14 12:49 robert +Thu, 19 Nov 2009 10:10:50 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "Building on earlier Paul's submission "[osg-users] Main branch MSFBO support change", I have added implicit buffer mask variables to DisplaySettings for setting global defaults for Camera FBOs. These mask variables are named after variables in Camera class. In Paul's submission they were named _renderBufferMask & _resolveBufferMask but I renamed them to _implicitBufferAttachmentRenderMask & _implicitBufferAttachmentResolveMask. DisplaySettings implementation includes reading of environment vars and command line options. Setters and getters follow typical OSG naming convention. I also updated names of ImplictBufferAttachment enum bits to match changed naming scheme.DisplaySettings now define COLOR and DEPTH as defaults for implicit buffers. Consequently Camera by default uses the same defaults through USE_DISPLAY_SETTINGS_MASK. However, particular Camera mask can be easily overriden through Camera::setImplicitBufferAttachmentMask method. I hope, that in this way we can have global control over implicit buffer defaults, and we can still retain fine grained control at Camera level. - * Fixed warnings +I have also replaced original unsigned ints used to store masks to signed ints because complier resolves enums as signed integer (I got a number of warnings with unsigned int)." -2009-12-10 17:52 robert - * From Stephan Huber, "attached you'll find the missing - GraphicsHandleCocoa-implementation." -2009-12-10 12:58 robert - * Updated ChangeLog and README.txt for 2.9.6 dev release +Wed, 18 Nov 2009 18:19:29 +0000 +Checked in by : Robert Osfield +Removed include/osg/Config as it was causing problem with Windows build -2009-12-10 12:14 robert +Wed, 18 Nov 2009 16:24:01 +0000 +Checked in by : Robert Osfield +Moved the set of include/osg/Version into Cmake - * Updated AUTHORS file for 2.9.6 dev release +Wed, 18 Nov 2009 14:08:46 +0000 +Checked in by : Robert Osfield +From Lee Butler, "The attached ZIP file contains a modified OBJ file format reader which makes smoothing optional for verticies which do not have a normal associated with them in the OBJ input file. The previous behavior was to always smooth at all verticies which did not have surface normals. In this new implementation smoothing is on by default to be compatible with previous behavior. The user can now specify the "generateFacetNormals" option to the reader to use facet normals for verticies where the OBJ file does not specify a normal."Note from Robert Osfield, changed "noSmoothing" naming used by Lee to "generateFacetNormals". -2009-12-10 12:13 robert - * Updated Contributors list to workaround typos in ChangeLog -2009-12-10 11:46 robert +Wed, 18 Nov 2009 13:00:35 +0000 +Checked in by : Robert Osfield +From Pau Garcia i Quiles, "On Linux/Unix, when you change the system time (for instance, using settimeofday), OSG animations will freeze your application because osg::Timer uses gettimeofday internally on non-Win32 platforms. This is wrong and should be replace with times(2) or clock_gettime(2).The attached patch fixes the issue in a binary-compatible way by using +clock_gettime when it's available, and falling back to gettimeofday +when it's not." - * Updated ChangeLog -2009-12-10 11:30 robert - * Updated wrappers +Wed, 18 Nov 2009 12:50:03 +0000 +Checked in by : Robert Osfield +Fixed primCount default value -2009-12-10 11:30 robert +Wed, 18 Nov 2009 12:15:29 +0000 +Checked in by : Robert Osfield +From Mathias Froechlich, "Attached the collected fixes I needed to compile with all of them. Most notable the __hpux define stuff. The __hpux__ variant seems to be not defined which resulted in a compile error at this time. Consequently I have replaced all occurances of __hpux__ with __hpux. And huge surprise: now osg plugins are found and loaded correctly ... The next notable one is the MSVC_IDE fix which makes the nmake Makefiles cmake generator target behave like the ide one. Showed up because I started to do scripted builds with nmake instead of devenv... The rest is the usual bunch of stuff that just happens during normal coding ..." - * From Stephan Huber, " I am getting a warning that the class - DataOutputStream has virtual - methods but no virtual d'tor, so I added the keyword virtual to - the destructor." +Wed, 18 Nov 2009 11:26:00 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-12-10 11:16 robert +Wed, 18 Nov 2009 11:25:28 +0000 +Checked in by : Robert Osfield +Added osg::ShaderBinary::readShaderBinaryFile(..) static method - * Fixed bug in positioning of 3d text characters +Tue, 17 Nov 2009 15:54:20 +0000 +Checked in by : Robert Osfield +Moved across to use OSG_FIXED_FUNCTION_AVAILABLE -2009-12-09 23:42 cedricpinson +Tue, 17 Nov 2009 14:06:07 +0000 +Checked in by : Robert Osfield +, and includes required for QNX compiler - * From Cedric Pinson, add missing file +Tue, 17 Nov 2009 12:55:52 +0000 +Checked in by : Robert Osfield +Added OSG_CPP_EXCEPTIONS_AVAILABLE cmake option to enable optional build of plugins and examples that required C++ exceptions -2009-12-09 18:45 cedricpinson +Tue, 17 Nov 2009 12:54:55 +0000 +Checked in by : Robert Osfield +Converted .ive plugin from using C++ exceptions to using a local equivelant, enabling the build on embedded systems. - * From Cedric Pinson, - Add check in RigTransformSoftware if bones are null - Indent TimelineAnimationManager - Add check for NaN in UpdateCallback.cpp - Fix TimelineAnimationManager clear target (a refactore of - Timeline is require for futur) - Fix Computation of bounding box for RigGeometry +Tue, 17 Nov 2009 11:36:32 +0000 +Checked in by : Robert Osfield +Removed usage of throw -2009-12-09 14:34 robert +Mon, 16 Nov 2009 17:50:33 +0000 +Checked in by : Robert Osfield +Fixed Shader constructor - * Updated wrappers +Mon, 16 Nov 2009 16:09:50 +0000 +Checked in by : Robert Osfield +Replaced catch usage -2009-12-09 13:55 robert +Mon, 16 Nov 2009 15:47:32 +0000 +Checked in by : Robert Osfield +Removed catch - * Fixed support for compiling VBO's +Mon, 16 Nov 2009 15:17:57 +0000 +Checked in by : Robert Osfield +Removed throw. -2009-12-09 13:51 robert +Mon, 16 Nov 2009 14:58:31 +0000 +Checked in by : Robert Osfield +Removed throw. - * Added a Geometry::compileGLObjects() to handle compilation of VBO - + EBO's. +Mon, 16 Nov 2009 14:47:52 +0000 +Checked in by : Robert Osfield +Removed usaged of throw and catch to enable better compatibility with embedded systems that don't support C++ exceptions efficiently. -2009-12-09 13:13 robert +Mon, 16 Nov 2009 12:32:41 +0000 +Checked in by : Robert Osfield +Added new osg::ShaderBinary class, and support for it in osg::Shader. - * From Ulrich Hertlein, removed email address +Fri, 13 Nov 2009 13:52:12 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "After fixing Skeleton, i introduce a compile issue in osganimationhardware example I added a #include to fix it " -2009-12-09 10:18 robert +Fri, 13 Nov 2009 13:42:04 +0000 +Checked in by : Robert Osfield +Moved the GLBeginEndAdapter support out of the blocks of the "#if defined(OSG_GL_VERTEX_FUNCS_AVAILABLE) && !defined(OSG_GLES1_AVAILABLE)" guarded blocks.Fixed the number of components being passed as GLBeginEndAdatper::TexCoord*fv. - * From Ulrich Hertlein, .osg support for osgFX::Outline -2009-12-09 09:37 robert - * Compile fixes for GLES +Fri, 13 Nov 2009 13:39:21 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, Fix Skeleton to compute correctly bind matrix, fix compile issue on osganimationhardware after fixing Skeleton -2009-12-09 09:36 robert +Fri, 13 Nov 2009 13:25:59 +0000 +Checked in by : Robert Osfield +Added optional finer grained checks for GL errors within Geometry::drawImplementation() to help track down GL errors.Turned off the vertex attribute aliasing in ArrayDispatchers when the GLBeginEndAdapter is used. - * From Robert Milharcic, added missing OSGFX_EXPORT -2009-12-08 17:41 robert - * From Ulrich Hertlein, "attached is a stencil buffer-based - constant-width outline f/x with example. I've also modified - osgfxbrowser to setup the stencil buffer accordingly." +Fri, 13 Nov 2009 12:51:42 +0000 +Checked in by : Robert Osfield +Added dummy StateSet at top of scene graph when using ShaderGen to copy with subgrahs that contain no StateSet -2009-12-08 17:41 robert +Fri, 13 Nov 2009 10:03:02 +0000 +Checked in by : Robert Osfield +From Paul Martz, osgViewer Win32 GL3 context creation support - * From Thomas Halgarth, mods for Iphone GL headers +Fri, 13 Nov 2009 09:56:47 +0000 +Checked in by : Robert Osfield +Added missing export -2009-12-08 17:33 robert +Thu, 12 Nov 2009 19:39:50 +0000 +Checked in by : Robert Osfield +Introduced the usage of GL_MAX_TEXTURE_IMAGE_UNITS where support in place of the check of GL_MAX_TEXTURE_UNITS. - * Added check for image compatibility with existing texture object, - releasing the existing texture object in cases when the new image - size/pixel format is not compatible. +Thu, 12 Nov 2009 14:35:44 +0000 +Checked in by : Robert Osfield +Adapted GLBeginEndAdapter to use state.drawQuad(..) rather than use it's local GL_QUADS emulation.Fixed to osg::Texture for GLES support. -2009-12-08 17:25 robert +Added automatic GLenum mode mappings in osg::PrimitiveSet to provide a fallback for non support glDrawArray/glDrawElement modes. - * From Sukender, "I experienced as some users before: I tried to - rescale an image without a valid rendering context... And had - problems to unserstand what the "GL_OUT_OF_MEMORY" meant! So I - added a few comments for future users." +Added finer gained error checking during StateSet::compile(). -2009-12-08 16:58 robert - * Fixed typo -2009-12-08 16:02 robert +Thu, 12 Nov 2009 12:19:09 +0000 +Checked in by : Robert Osfield +Introdced usage of State::drawQuads - * From Fabien Lavignotte, "i have a problem with my application, i - am currently playing with Texture2D::SubloadCallback to optimize - my image data transfer, and also avoid double buffering when - using a drawing thread. - There is a small bug with your change and SubloadCallback, the - texture object is destroy at each call of Texture2D::apply - because the modified count is never updated when using - SubloadCallback. - I have made a small fix to avoid that, see attachement." - - From Robert Osfield, added an if (_image.valid()) before the - getModified() that Fabien added to avoid problems when no _image - is assigned but an subload callback is. +Thu, 12 Nov 2009 12:18:33 +0000 +Checked in by : Robert Osfield +Introduced new State::drawQuads(..) convinience method to help out with mapping GL 1.x style calls to GLES2.0 compatible calls. -2009-12-08 15:39 robert +Thu, 12 Nov 2009 12:14:01 +0000 +Checked in by : Robert Osfield +Fixed winding of GL_QUADS mapping - * Updated wrappers +Thu, 12 Nov 2009 12:07:13 +0000 +Checked in by : Robert Osfield +Improved compatibility with GLES2 -2009-12-08 15:38 robert +Wed, 11 Nov 2009 15:25:42 +0000 +Checked in by : Robert Osfield +Added glContexVersion, glContextFlags and glContextProfileMask members to osg::GraphicsContext::Traits to support GL3 graphics context creation.Moved the handling of DisplaySettings into Traits constructor. - * Added virtual declaration for a range of osg::Image method to - allow easier customization. +Added support for s/getGLContextVersion(), s/getGLContextFlags() and s/getGLContextProfileMask() to osg::DisplaySettings. -2009-12-08 14:40 shuber +Added command line and env var support for setting the GLContextVersion, GLContextFlags and GLContextProfileMask to osg::DisplaySettings. - * From Stephan Huber: updated XCode project -2009-12-08 14:25 robert - * Added catch for changes in image pixel format and dimensions so - that the texture object is released when the image changes enough - to warrant a new texture object. -2009-12-07 16:45 robert +Wed, 11 Nov 2009 12:04:06 +0000 +Checked in by : Robert Osfield +From Paul Martz, enabled packed_depth_stencil support for GL3 - * Re-order the setting of the VBO's +Wed, 11 Nov 2009 09:15:03 +0000 +Checked in by : Robert Osfield +Merged runtime fix for Win32 OpenGLES build that avoids usage of wglGetProcAddress. -2009-12-07 12:35 robert +Tue, 10 Nov 2009 19:16:36 +0000 +Checked in by : Robert Osfield +Added OSG_GLES2_FEATURES and OSG_GL3_FEATURES usage where appropriate - * Converted tabs to four spaces +Tue, 10 Nov 2009 17:01:08 +0000 +Checked in by : Robert Osfield +Introduced OSG_GL*_FEATURES macros defined in include/GL that are set to 0 or 1 according to what the assocoated version of GL is compiled against.Removed EXT postfix of FrameBufferObject functions, and added support for checking non EXT versions frame buffer object GL functions. -2009-12-05 10:13 robert +Introduced usage of OSG_GL*_FEATURES to avoid some #if #else #endif code blocks. - * Updated wrappers +Using a submissions from Paul Martz as a guide added perliminary GL3 support to a range of OSG classes -2009-12-05 10:02 robert - * Removed unimplemented updateGraph method -2009-12-04 17:25 robert - * From Tatsuhiro Nishioka, "> The workaround/solution was to add a - block of code at the end of the - > loader to un-premultiply the alpha (now in the codebase). - - Applying the code brightens the semi-transparent portion, but the - black edges are still there (same on both osgviewer and - FlightGear). - Therefore I believe that the alpha channel is completely ignored - (on png, gif, tiff, etc...). I tweaked and tweaked and finally - got a workaround. - - Please commit the enclosed file to fix these issues. - - My workaround is a bit tricky (and some lines are even weird for - me), but it resolves the black edges. - These workarounds also work on GIF, TIFF, TGA, and PSD as long as - I've tested so far. - - Please read this for more info on this issue: - http://macflightgear.sourceforge.net/home/development-notes/devnote-dec-02-2009 - http://macflightgear.sourceforge.net/home/development-notes/devnote-dec-03-2009 - - I'm very happy if some of you guys find a better means of solving - the black edges. - - " +Tue, 10 Nov 2009 14:59:42 +0000 +Checked in by : Robert Osfield +Removed debug message -2009-12-04 17:24 robert +Tue, 10 Nov 2009 14:31:16 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project - * Converted tabs to four space +Tue, 10 Nov 2009 12:03:03 +0000 +Checked in by : Robert Osfield +Changed default enabling of vertex attribute mapping -2009-12-04 11:31 robert +Tue, 10 Nov 2009 12:02:40 +0000 +Checked in by : Robert Osfield +Removed redundant include of GLU - * From Sukender, - "Here is our freshly baked 3DS reader/writer (named 'v0.5' to - differentiate from previous one). Changes are against trunk rev. - 10819. - Short changelog (from rev 10819): - - Added 3DS writer - - Sync'd with latest lib3DS - - Added options, especially "flattenMatrixTransforms" to get the - "old" behaviour (else the reader correctly maps to OSG the - transforms from the 3DS file). - - What should be done: - - Check with pivot points, with and without - "flattenMatrixTransforms" option. - - We ran tests on it, but we can never be 100% sure there is no - bug. Testing from the community would of course be helpful." +Tue, 10 Nov 2009 12:01:28 +0000 +Checked in by : Robert Osfield +Added enabling of lighting, and disabling of mipmapping to help out testing of GLES2 target -2009-12-04 09:57 robert +Tue, 10 Nov 2009 11:36:07 +0000 +Checked in by : Robert Osfield +Added support for mapping GL_QUADS, GL_QUAD_STRIP and GL_POLYGONS to GL_TRIANGLE equivalents. - * From Mathieu Marache, "I replaced the Vec4 by a float and used - only the x component of the shadow2DProj . This works on my apple - box." +Tue, 10 Nov 2009 11:34:57 +0000 +Checked in by : Robert Osfield +Added the default usage of ShaderGenVisitor to help with GLES2 testing. -2009-12-02 18:58 robert +Tue, 10 Nov 2009 11:34:31 +0000 +Checked in by : Robert Osfield +Added state.checkGLErrors() calls to help in debugging of GLES 2 port - * From Julen Garcia,"I've been lately working also with the ffmpeg - plugin and I implemented pause(), seek() and getReferenceTime(). - I think that I have solved the internal clock issues (maybe not - in the most elegant way :?" +Tue, 10 Nov 2009 11:28:21 +0000 +Checked in by : Robert Osfield +Added disabling of modes that aren't supported with GLES2 -2009-12-02 14:58 robert +Mon, 9 Nov 2009 11:36:54 +0000 +Checked in by : Robert Osfield +Added GL token mappings for standard GL errors numbers for when no GLU is available - * From Farshid Lashkari, "I had to make a few small changes to some - cmake files to enable the - OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS option for - Visual Studio 2008." +Fri, 6 Nov 2009 18:06:16 +0000 +Checked in by : Robert Osfield +Added remapping of internal texture formats to GL_RGBA etc when just the number of components is used i.e. 1 -> GL_ALPHA, + 2 -> GL_LUMINANCE_ALPHA + 3 -> GL_RGB + 4 -> GL_RGBA -2009-12-02 14:21 robert - * From Nico Kruithof, "Attached is a patch that makes the spherical - manipulator frame rate independent. This is similar to what Lee - did for the trackball manipulator a couple of months ago." -2009-12-02 12:37 robert - * Quitened down debug info +Fri, 6 Nov 2009 16:51:38 +0000 +Checked in by : Robert Osfield +Added simple textured scene graph test accessible using --texture or -t command line options. -2009-12-02 12:37 robert +Fri, 6 Nov 2009 16:09:55 +0000 +Checked in by : Robert Osfield +Fixed build with no automatic conversion of ref_ptr<> to C pointer - * Added osggpx example to demonstate how to use the XmlParser and - create line models. - - To use : - - osggpx myterrainmodel.ive -t mytrack.gpx +Fri, 6 Nov 2009 16:09:16 +0000 +Checked in by : Robert Osfield +Fixed build -2009-12-01 19:40 robert +Fri, 6 Nov 2009 13:53:16 +0000 +Checked in by : Robert Osfield +Added dlsymb settting for QNX - * Quiten down debugging message +Fri, 6 Nov 2009 10:38:22 +0000 +Checked in by : Robert Osfield +Cleaned up the EGL context config set up. -2009-11-30 13:44 robert +Fri, 6 Nov 2009 10:31:03 +0000 +Checked in by : Robert Osfield +Added EGL error checking and changed the egl context configuration settings - * Updated wrappers +Thu, 5 Nov 2009 09:28:10 +0000 +Checked in by : Robert Osfield +Added APIENTRY into glColor*/glNormal* calls and specialized the calls to just GLES1 -2009-11-27 18:14 robert +Wed, 4 Nov 2009 17:26:59 +0000 +Checked in by : Robert Osfield +Moved glColor/glNormal definitions for GLES1.x from include/osg/GL to src/osg/ArrayDispatchers.cpp to avoid import/export issues on functions.Fixed typo of GLES1 in disabling the build of OpenGL1.x/2.x specific examples - * Attempted compile fix. -2009-11-27 16:47 robert - * From Christian Ehrlicher, "during profiling my program I found - out that there's a lot of memory - (de)allocation going on in OverlayNode::cut(). - - So instead creating inner-loop variables 'distances' and - 'newVertices' - every time, I moved the creation out of the loop and just do a - clear() + - reserve() inside the loop. This allows std::vector<> to reuse the - old - memory instead allocating new when the new size <= oldsize." +Wed, 4 Nov 2009 12:17:58 +0000 +Checked in by : Robert Osfield +Reduced the number of aliased attributes to fit within the basic 8 attribute location available on basic GLES2 implementations -2009-11-27 15:48 robert +Wed, 4 Nov 2009 12:14:57 +0000 +Checked in by : Robert Osfield +Changed notify to output warnings and normally messages to std::out - * From Jason Daly, "The DDS reader test for DXT1 images with 1-bit - alpha wasn't thorough enough. It performed the first check - (color_0 <= color_1), but it didn't actually scan the texel block - to see if the transparent color (0x03) was there. As a result, - DXT1 files without any alpha were getting switched to RGBA format - (instead of being left just RGB). - - The attached code fixes this problem." +Wed, 4 Nov 2009 11:03:13 +0000 +Checked in by : Robert Osfield +Added --simple option and associated set up of a very simple geometry and shader scene graph -2009-11-27 15:39 robert +Wed, 4 Nov 2009 11:02:00 +0000 +Checked in by : Robert Osfield +Enabled the vertex aliasing and projection/modelview uniform setting by default for GLES2 and GL3 targets - * From Jean-Sebastien Guay, Explanation: - - Currently osg2cpp removes "\n" line endings to replace them with - a textual equivalent ("\\n") in order for the string representing - the shader to contain line endings in the string. But if the file - that was read contained Windows line endings ("\r\n"), the - resulting file looked really weird (the \r were left there and - editors interpreted that as an additional newline). Also, I can - imagine that if the shader file that was read had Mac line - endings ("\r") then the output shader would all end up in one - long line since there are no "\n"... - - What I've done: - - I've added a search and replace of "\r\n" to "\n", and then "\r" - to "\n" (note that the order is important). - - I've also changed the filename handling so that the output file - will be put in the same directory as the input file in case it - was specified with a path. Previous functionality is retained for - files specified with the filename only."" +Tue, 3 Nov 2009 16:49:13 +0000 +Checked in by : Robert Osfield +Disabled osgteaport for GLES1, GLES2 and GL3 builds -2009-11-27 15:35 robert +Tue, 3 Nov 2009 16:48:48 +0000 +Checked in by : Robert Osfield +Replaced glColor4fv call with osg::State::Color(..) - * From Wang Rui, "I just successfully built the pdf plugin on - Windows XP and MSVC and - fixed a small bug then: - - ReaderWriterPDF.cpp, line 133, change: - - std::string uri = std::string("file:") + foundFile; - - to: - - #if defined(WIN32) && !defined(__CYGWIN__) - std::string uri = std::string("file:///") + foundFile; - #else - std::string uri = std::string("file:") + foundFile; - #endif - - - That's because glib accepts "file:///C:\\data\\file.pdf" as URIs - on - Windows, as well as "file:/home/data/file.pdf" on Unix, but - "file:C:\\data\\file.pdf" is not recognized. - - Now I could read my Chinese translation of OSGQSG with osgpdf. - :P" +Tue, 3 Nov 2009 16:34:54 +0000 +Checked in by : Robert Osfield +From Paul Martz, changes for compiling against OpenGL 3.x -2009-11-27 15:32 robert +Tue, 3 Nov 2009 15:22:14 +0000 +Checked in by : Robert Osfield +Disabled the build of plugins that aren't supported under GLES. - * From Paul Martz, "This change address the following issue: an app - opens a Viewer on a multidisplay system, configured to - setUpViewAcrossAllDisplays, with a non-default clear mask. In - this case, OSG failed to propagate the clear mask to the slave - Cameras, resulting in the clear mask being ignored. To fix this - issue, this revision adds a new CullSettings::VariablesMask bit, - CLEAR_MASK, to explicitly control inheritance of the clear mask. - This bit is set by default, which means that the clear mask now - inherits by default, whereas previously it did not." +Tue, 3 Nov 2009 11:10:41 +0000 +Checked in by : Robert Osfield +Fixed handling of GL function pointer setup for GLES1/GLES2 targetsDropped the fixed function pipeline defaults from StateSet and SceneView. -2009-11-27 12:21 robert - * From Chris Denham, "I discovered what seems to be a missing call - to FreeLibrary for osgDB.dll The result of this is that it - prevents me from dynamically unloading my DLL (which uses OSG). - This is because initialisation of the osg::Registry instance - results in a call to GetModuleHandleEx (to get the filename of - the DLL). This call to GetModuleHandleEx increments the module - refcount, but there was no matching call to FreeLibrary for the - returned handle. Unlike the old GetModuleHandle function, - GetModuleHandle does (by default) increment the refcount. - - I have added the missing call to FreeLibrary in - osgDB::FileUtils., and now my the runtime unload of MY dll is - working properly. It has also cured some related problems I was - having with memory leak checks being reported. - - I have attached a fix to osgDB/FileUtils.cpp based on version - 2.9.5 svn revision 10374 - " -2009-11-27 12:17 robert - * From Cory Riddell, "Small edit to ReaderWriterDOT.cpp. It wasn't - checking the file extension - and so, if the .dot plugin was loaded, it would happily handle - any file - name extension. - - To reproduce the bug, first save a scene to a dot file (to load - the dot - plugin), then try to write the scene to an osg file. If you look - at the - osg file, you will see that it is a dot file." -2009-11-27 11:48 robert +Sun, 1 Nov 2009 09:51:26 +0000 +Checked in by : Robert Osfield +Disable the default LightModel for GLES1 and GLES2 targets - * Updated wrappers +Sun, 1 Nov 2009 09:04:41 +0000 +Checked in by : Robert Osfield +Fixed compile issue with Image.cpp and osgautocapture.cpp under GLES.Fixed handling of EGLDisplay in EGL paths of GraphicsWindowX11 -2009-11-27 11:43 robert - * Implement deleteAllTextureObject/BufferObjects functionality. - - Cleaned up warnings. -2009-11-26 12:33 robert +Sat, 31 Oct 2009 14:44:43 +0000 +Checked in by : Robert Osfield +Fixed compile problem due to name change of getGLXContext to getContext - * Introduced preliminary osg::deleteAllGLObjects() and - osg::discardAllGLObjects() functions and associated support into - Texture and BufferObjects +Fri, 30 Oct 2009 17:16:50 +0000 +Checked in by : Robert Osfield +Fixed build under GLES2 -2009-11-26 10:12 robert +Fri, 30 Oct 2009 15:17:38 +0000 +Checked in by : Robert Osfield +Added EGL support into build system for GLES1 + GLES2.Added EGL support into GraphicsWindowX11. - * Added check for Geometry pointer being valid -2009-11-25 16:31 robert - * For testing purposes added code path and options for testing - viewer creation in series, including with enabling of VBO's. - Options are: - - osgcamera -r 5 --vbo cow.osg - - Which repeats construction of the viewer 5 times in a row, and - enables VBO, and on each repeat a new model is loaded. - - osgcamera -r 2 --vbo --shared cow.osg - - Which repeats construction of the viewer 2 times in a row, and - enables VBO, and on each loads the model once and shares it - between each instance of the viewer. +Fri, 30 Oct 2009 15:16:44 +0000 +Checked in by : Robert Osfield +Fixed for GLES1 build -2009-11-25 16:20 robert +Thu, 29 Oct 2009 16:09:07 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, Fix warning in osgAnimation, UpdateCallback. Fix bug removing callback in Action. Fix warning Stats - * Added support for repeating viewer construction +Thu, 29 Oct 2009 09:54:52 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode projects -2009-11-25 11:31 robert +Wed, 28 Oct 2009 20:31:57 +0000 +Checked in by : Robert Osfield +Ported osgUtil, osgDB, osgGA, NodeKits and plugins to compile against OpenGL ES 1.1 and OpenGL ES 2.0. - * From Sergey Leontyev, example for testing of DatabasePaging and - CompositeView usage +Wed, 28 Oct 2009 13:31:24 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, updates to osganimation example to keep in sync with changes with osgAnimation, and introduction of a hardware skinning example -2009-11-24 15:26 robert +Tue, 27 Oct 2009 19:17:38 +0000 +Checked in by : Robert Osfield +Fixed build aginst GLES1 and GLES2 - * Updated wrappers +Tue, 27 Oct 2009 18:07:12 +0000 +Checked in by : Robert Osfield +Fixed build on OpenGLES-1.1 and OpenGLES-2.0 targets -2009-11-24 15:00 robert +Tue, 27 Oct 2009 15:37:13 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, The following commit include: * Refactore of RigGeometry to support hardware skinning * Refactore of Timeline to split Action in differents files * Add example how to use hardware skinning - * From Martin Scheffler, "osgParticle: method to set start and end - tile for particle texture (for animated particles). I also - updated examples/osgParticle to show the feature. - The texture in data/Images should be copied to osg-data. I - created the texture myself with the help of an explosion - generator, so no license issues there. - " +Tue, 27 Oct 2009 10:51:20 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: added missing #define -2009-11-24 14:32 robert +Sun, 25 Oct 2009 11:52:01 +0000 +Checked in by : Robert Osfield +Introduced usage of OSG_GLES*_AVAILABLE macros to headers and .cpp's to enable building against OpenGL ES 1.x and 2.x headers - * From Farshid Lashkari, - "I've attached a small fix to osgUtil::SceneView so that is uses - a scissor test when clearing the stencil buffer for stencil based - stereo." - - and - - "I've added another small change for stencil based stereo, so - please use this newer version. This newer version simplifies the - calls to glOrtho and glRecti when drawing the stipple pattern. - This change also happens to fix an issue where the stencil stereo - would not work with certain viewport settings. I'm not exactly - sure why this was happening, it might be a graphics driver issue, - but either way I think the changes should be fine." +Sun, 25 Oct 2009 11:46:11 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-11-24 14:22 robert +Fri, 23 Oct 2009 20:35:31 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, Simplify update callback api in osgAnimation, the decision to link is on the manager or user - * From Lilin Xiong, "when using stlport5.3 (vc 2003) , this line - cann't be compiled: - _instances[0] = new WGLExtensions; - change to: - _instances[HGLRC(0)] = new WGLExtensions;" +Fri, 23 Oct 2009 17:27:54 +0000 +Checked in by : Robert Osfield +Added missing unbinds of VBO and EBO's to Geometry::drawImplementation(..), fixing crash in osganimationtimeline when stats were enabled -2009-11-24 14:20 robert +Fri, 23 Oct 2009 16:51:45 +0000 +Checked in by : Robert Osfield +Added includes for OpenGL ES1 and ES2. - * Updated wrappers +Fri, 23 Oct 2009 13:19:57 +0000 +Checked in by : Robert Osfield +Added CMake support for specifying what OpenGL target and features that the OpenSceneGraph build should use.Added use of the new Cmake generated #define's for optionally compiling parts of the OpenSceneGraph's OpenGL support for the various OpenGL targets -2009-11-24 14:12 robert - * From Terry Welsh, "As I mentioned here - http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg33967.html - , interpolating through HSV space gives a rainbow color effect - which - does not mimic the simple RGB color interpolation that OpenGL - does. - It's overkill and causes unexpected visual artifacts. In the - attached - files I've removed the conversion to HSV so that interpolation - happens - in RGB space." -2009-11-24 13:28 robert +Fri, 23 Oct 2009 12:28:10 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Rewrote the Vec *= Vec and Vec /= Vec implementations using - inline Vec componentMultiply(Vec,Vec) and Vec - componentDivide(Vec,Vec) to avoid confusion about the what the - operation does. +Fri, 23 Oct 2009 12:24:22 +0000 +Checked in by : Robert Osfield +Fixed bug in dispatching per primitive attributes -2009-11-24 13:24 robert +Fri, 23 Oct 2009 12:22:18 +0000 +Checked in by : Robert Osfield +Added support for Vec4ubArray colour arrays - * From Wojciech Lewandowski, "I have extended a list of texture - targets that can be used with shadow comparison. These targets - are avaialble in in OpenGL 3.x shadow sampler variants. Changes - are based on current SVN." +Fri, 23 Oct 2009 09:24:44 +0000 +Checked in by : Robert Osfield +Fixed handling of Geometry::_internalOptimizedGeometry in the Geometry::drawImplementation(..) -2009-11-23 11:00 robert +Fri, 23 Oct 2009 08:21:57 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project, sensible default config-file - * From Chris Hanson, " Add support for "OutputTextureFiles" option - to IVE plugin to permit creation of external - .dds texture files from internally-embedded textures during IVE - writes." - - From Robert Osfield, fixed a bug in the above submission, and - changed the way that the filename of the file is passed into - DataOutputStream to avoid issues with the .ive's plugins ability - to read from istreams. +Thu, 22 Oct 2009 14:40:35 +0000 +Checked in by : Robert Osfield +Added #define for GL_TEXTURE0 as MS gl.h header is still stuck in the nineties.... -2009-11-23 10:19 robert +Thu, 22 Oct 2009 12:56:41 +0000 +Checked in by : Robert Osfield +Fixed typo and updated wrappers - * From Chris Hanson, " Add support for requesting and setting the - current directory (a la getcwd/chdir) via a - C++-friendly string-class API. - - Prevent osgDB::concatPaths from faulting if the supplied "left" - path string is empty." +Thu, 22 Oct 2009 12:41:48 +0000 +Checked in by : Robert Osfield +From Stephan Huber, compile fix to OSX. -2009-11-23 10:01 robert +Thu, 22 Oct 2009 12:06:00 +0000 +Checked in by : Robert Osfield +Introduced Cmake generated #defines relevant to optionally compile parts of the OSG for different OpenGL targets - * From Chris Hanson, " Adds support for Vec /= Vec and Vec *= Vec - operators to Vec2/Vec3/Vec4 double and float - classes." +Thu, 22 Oct 2009 12:04:26 +0000 +Checked in by : Robert Osfield +Removed, now inappropriate, references to glBegin/glEnd. -2009-11-23 09:54 robert +Thu, 22 Oct 2009 12:03:36 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated version +Thu, 22 Oct 2009 12:01:06 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, new StateAttributeCallback replacing StateAttribute::Callback -2009-11-23 09:53 robert +Thu, 22 Oct 2009 10:33:16 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "Here a patch to be able to clone stateattribute, in order to do that i moved the StateAttribute::Callback structure to a file StateAttributeCallback with the same behavior as NodeCallback. " - * From Paul Martz, typo fixes +Thu, 22 Oct 2009 10:29:43 +0000 +Checked in by : Robert Osfield +Removed old and now redundent code paths -2009-11-22 17:27 robert +Thu, 22 Oct 2009 09:08:42 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added missing createContextImplementation(). +Thu, 22 Oct 2009 08:51:51 +0000 +Checked in by : Robert Osfield +Fixed type of GLBeginEndAdapter::MultiTexCoord*() and VertexAttrib*(), and fixed the internal offsets used in MultiTexCoord so it properly used the mapping texture_unit = target - GL_TEXTURE0 -2009-11-21 16:41 robert +Thu, 22 Oct 2009 08:28:43 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project - * From Colin MacDonald, "In my application I have a custom graphics - context class, derived from - osg::GraphicsContext, in order to give good integration with the - application's GUI toolkit. This works really well. - - However, I need to share OpenGL texture resources with the - standard - osgViewer GraphicsContext implementations, in particular the - PixelBuffers. This is essential for my application to conserve - graphics - memory on low-end hardware. Currently the standard osg - implementations - will not share resources with another derived - osg::GraphicsContext, - other than the pre-defined osgViewer classes e.g. PixelBufferX11 - is - hardcoded to only share resources with GraphicsWindowX11 and - PixelBufferX11 objects, and no other osg::GraphicsContext object. - - To address this in the cleanest way I could think of, I have - moved the - OpenGL handle variables for each platform into a small utility - class, - e.g. GraphicsHandleX11 for unix. Then GraphicsWindowX11, - PixelBufferX11 - and any other derived osg::GraphicsContext class can inherit from - GraphicsHandleX11 to share OpenGL resources. - - I have updated the X11, Win32 and Carbon implementations to use - this. - The changes are minor. I haven't touched the Cocoa implmentation - as - I'm not familiar with it at all and couldn't test it - it will - work - unchanged. - - Without this I had some horrible hacks in my application, this - greatly - simplifies things for me. It also simplifies the osgViewer - implementations slightly. Perhaps it may help with other users' - desires to share resources with external graphics contexts, as - was - discussed on the user list recently." - - Notes from Robert Osfield, adapted Colin's submission to work - with the new EGL related changes. +Wed, 21 Oct 2009 16:42:12 +0000 +Checked in by : Robert Osfield +Added Translatef, Scalef, Rotatef methods, and fixed Color4f method. -2009-11-20 14:51 robert +Wed, 21 Oct 2009 16:41:41 +0000 +Checked in by : Robert Osfield +Removed redundent spaces - * From Chris Hanson, " Remove vestigial (and because it was - undocumented, potentially harmful) code to ignore - filenames starting with a dash "-" character from the - (std::vector&) version - of osgDB::readNodeFiles. Handling of argument strings is properly - implemented in the - osgDB::readNodeFiles(osg::ArgumentParser& arguments,const - Options* options) - variant, which most code uses. The (std::vector&) - version is only called by - the osgconv utility, which does its own argument handling and - stripping prior to calling - readNodeFiles(). - - Also, documented this behaviour in the header comments. - - I believe this code removal is a meritful change because leavign - the code in causes an - unexpected and undocumented behaviour (ignoring any filename - starting with a dash) that - could bite users in the future. This behaviour is not needed for - existing functionality - because existing code uses other APIs to handle dash-prefixed - arguments anyway. - - " +Wed, 21 Oct 2009 16:40:45 +0000 +Checked in by : Robert Osfield +Removed remaining glBegin/glEnd usage -2009-11-20 14:40 robert +Wed, 21 Oct 2009 16:31:37 +0000 +Checked in by : Robert Osfield +Conveted osgText across to using GLBeginEndAdapter instead og glBegin/glEnd - * Moved the ImagePager update to before the main scene graph update - traversal +Wed, 21 Oct 2009 16:16:31 +0000 +Checked in by : Robert Osfield +Converted all glBegin/glEnd code across to using osg::GLBeginEndAdapter -2009-11-20 14:39 robert +Wed, 21 Oct 2009 15:48:11 +0000 +Checked in by : Robert Osfield +Added stats handler to track performance effects of new GLBeginEndAdapter usage - * From Wang Rui, "I've made a small fix to osgViewer/Scene.cpp, - which is already attached. I would like to explain what I've done - and why. - - In Scene::updateSceneGraph(), change: - - if (getSceneData()) - { - updateVisitor.setImageRequestHandler(getImagePager()); - getSceneData()->accept(updateVisitor); - } - if (getDatabasePager()) - { - // synchronize changes required by the DatabasePager thread to - the scene graph - getDatabasePager()->updateSceneGraph((*updateVisitor.getFrameStamp())); - } - - to - - if (getDatabasePager()) - { - // synchronize changes required by the DatabasePager thread to - the scene graph - getDatabasePager()->updateSceneGraph((*updateVisitor.getFrameStamp())); - } - if (getSceneData()) - { - updateVisitor.setImageRequestHandler(getImagePager()); - getSceneData()->accept(updateVisitor); - } - - That is, just swap the positions of two 'if () {...}' segments. - - While working on a paged terrain, I need to collect every newly - allocated PagedLODs and make them temporarily unrenderable in the - next frame, which are all done in a update callback. But I found - that these PagedLODs will always be shown before collecting them, - because of the unsuitable sequence in Scene::updateSceneGraph(). - DatabasePager is synchronized AFTER the user updating traversal, - that is, user cannot IMMEDIATELY find out changes made by - DatabasePager. - " +Wed, 21 Oct 2009 15:45:13 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, this commit contains the following change: * Change ref_ptr to observer_ptr to avoid cross reference and leak in Skinning * Set invalidate to true to re run the check visitor in Skeleton * Shallow copy Sampler in channel copy constructor * Add accessor in VertexInfluence * Remove dead code in Timeline.cpp * Dont force linking in Bone::UpdateBone, the decision is done by the user or the manager * Add offset in timeline stats to display each manager on the screen * Add a flag in animation manager base to enable or not automatic link when modifying the manager -2009-11-20 14:31 robert +Wed, 21 Oct 2009 14:14:22 +0000 +Checked in by : Robert Osfield +Added stats handler - * From Rafa Gaitan, "Current ffmpeg plugin didn't support pause and - seek, I have added this - functionality and I also modified osgmovie example to support - "seek"." - - Note from Robert Osfield, changes osgmovie to use '>' for the - seek as '+' was already used in a separate submission that had - been merged. +Wed, 21 Oct 2009 14:11:00 +0000 +Checked in by : Robert Osfield +Removed the disabling of display lists in osg::Geometry to bring it back to it's original behaviour -2009-11-20 14:15 robert +Wed, 21 Oct 2009 14:09:12 +0000 +Checked in by : Robert Osfield +Added support for automatic vertex aliasing to new ArrayDispatchers, and updated wrappers - * Updated wrappers +Wed, 21 Oct 2009 11:18:13 +0000 +Checked in by : Robert Osfield +Moved the ArrayDispatchers management so that osg::State now has a ArrayDispatchers object that any osg::Geometry can reuse, and optimized the implementation to reduce the CPU overhead. -2009-11-20 12:32 robert +Tue, 20 Oct 2009 22:14:59 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Farshid Lashkari, "I noticed that the code for rendering - vertical interlace, horizontal interlace, and checkerboard stereo - are practically identical, except for the stipple pattern. I - combined the code blocks for rendering the 3 stereo modes into a - single block. I also fixed a small issue with retrieving stats in - checkerboard stereo mode." +Tue, 20 Oct 2009 19:34:24 +0000 +Checked in by : Robert Osfield +Refactored osg::Geometry::drawImplementation(..) to use new osg::ArrayDispatchers that encapsulate the task of dispatch osg::Array data as OpenGL attributes. -2009-11-20 11:46 robert +Tue, 20 Oct 2009 13:15:01 +0000 +Checked in by : Robert Osfield +Fixed typo of osg_ModelViewMatrix - * From David Callu, "I have a Segfault with xine plugin, when I - load a video, then delete the XineStreamImage, - then reload a video and finally delete the second - XineStreamImage. - - In src/osgPlugins/xine/video_out_rgb.c, many code is ASM code, - and 'clear()' function is one of them. - If OSG is compiled without the flag COMPILE_ASSEMBLY (default - behaviours) the clear() function is an empty - function and allocated memory is never initialized to 0. So a - structure which contain pointer haven't its pointer set to NULL. - And when we need to delete this pointer, all go bad. - - I join the fixed file." +Mon, 19 Oct 2009 11:06:53 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project -2009-11-20 11:43 robert +Mon, 19 Oct 2009 08:58:52 +0000 +Checked in by : Robert Osfield +Fixed computation of osg_NormalMatrix - * From Colin McDonald, "Reading from a stream the 3ds plugin - crashes if the options are null." +Sat, 17 Oct 2009 19:22:14 +0000 +Checked in by : Robert Osfield +Added support for multitexturing and vertex attributes to GLBeginEndAdapter -2009-11-20 11:39 robert +Sat, 17 Oct 2009 11:14:03 +0000 +Checked in by : Robert Osfield +Fixed VS warning - * From Himar Carmona, " this submission resolves an issue regarding - the setup of a slave camera with an (incorrect) coding style. - Sharing the same instance of osg::Viewport with a camera and a - slave camera causes incorrect rescaling in - GraphicsContext::resizedImplementation, due to the viewport being - rescaled twice (once per camera). Though viewports sharing is not - intentional, it can be done with the current version of OSG and - be a potential pitfall for anyone. - - As Robert pointed out, i opted for modifying the resize code - where the break is to minimize code changes, avoiding the - duplicate resize of the viewport with the use of a vector and a - search for duplicates. Not very elegant (avoiding an effect of a - cause), another approach could be ripping out the method - osg::Camera::setViewport(osg::Viewport*) which is more inline - with Roberts rationale behind not to share viewports between - cameras and left only its overloaded method - setViewport(x,y,width,height). But this approach need some - refactoring due to the intense use of the method. Notice also - that the resize works well without this change if no sharing - occurs, and the user of the method can opt for always call - setViewport with a new instance. - " - - Note from Robert Osfield, changed this submission to use an - std::set rather than an std::vector<> as it keeps the - code a bit cleaner and more compact. +Fri, 16 Oct 2009 18:50:42 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-11-20 11:25 robert +Fri, 16 Oct 2009 17:22:20 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Stewart Andreason, "When I open the Window Attributes (in - WindowManager in X on linux) I am unable to save any changes to - the attributes in the resource database, because the osg window - does not have a class defined. The Window Specification and Save - buttons are greyed out. - - For example, when running FlightGear, I want the window to always - have no title, so it opens full-screen without using the - --full-screen option, which would prevent other windows from - moving above the osg window. - - I am attaching a patch I made to fix this problem." +Fri, 16 Oct 2009 16:26:27 +0000 +Checked in by : Robert Osfield +Ported osg::Geometry across to supporting the aliasing of vertex, color and normal etc. calls to Vertex Attributes.Added support for automatic aliasing of vertex, normal, color etc. arrays to Vertex Attribute equivelants. -2009-11-20 11:18 robert +Added new osg::GLBeginEndAdapter class for runtime conversion from glBegin/glEnd codes to vertex arrray equivelants. - * From Nico Kruithof, "This patch makes sure that FindOSG.cmake - finds OSG when it is compiled - as a 64 bit library, as the libraries are installed in the lib64 - directory and not lib" +Added automatic shader source conversion from gl_ to osg_ builtins. -2009-11-20 11:08 robert - * From Jason Beverage, "I posted a question on osg users about - resources not being properly released when using osgTerrain - databases and multiple viewers are used a few weeks ago and I've - found that at least part of the problem comes down to the fact - that the nodes that are traversed by the GeometryTechnique are - never actually added to the scene graph, and thus don't have - releaseGLObjects called on them. I'm submitting a few changes - that takes care of this by allowing the TerrainTechnique to - provide a releaseGLObjects implementation. I've applied these - changes in osgEarth and this example program no longer crashes on - the second run, although I get corrupt geometry (see attached - shot) which could be down to a driver issue. If I increment the - context ID for the second viewer, I no longer get the corrupt - geometry. - - The attached changes are against OpenSceneGraph 2.8.2. - - //Sample program. Run against an osgEarth or VPB database based - on osgTerrain. - #include - #include - - int main(int argc, char** argv) - { - osg::ArgumentParser arguments(&argc,argv); - - osgViewer::Viewer* viewer = new osgViewer::Viewer(); - viewer->setUpViewInWindow(100, - 100,500,500); - osg::ref_ptr loadedModel = - osgDB::readNodeFiles(arguments); - viewer->setSceneData( loadedModel.get() ); - viewer->run(); - delete viewer; - - viewer = new osgViewer::Viewer(); - viewer->setUpViewInWindow(100,100,500,500); - loadedModel = osgDB::readNodeFiles(arguments); - viewer->setSceneData( loadedModel.get() ); - viewer->run(); - delete viewer; - }" -2009-11-20 10:56 robert +Sun, 11 Oct 2009 06:05:19 +0000 +Checked in by : Robert Osfield +Made the use of the new projection and modelview matrix uniforms optional - * From Jeremy Moles, "Somehow, the SVG reader plugin has gone all - this time without actually - being able to accurately provide the cool stuff that SVG is good - for. :) - There is a one-line bug on line 68 in the - src/osgPlugins/svg/ReaderWriterSVG.cpp file where you can set the - width - in the Options string, but not the height." +Sun, 11 Oct 2009 05:52:11 +0000 +Checked in by : Robert Osfield +From Paul Martz, "A recent change to add the new geometry shader primitive types has broken the build on Windows. On Windows, those types are declared in the header GL2Extensions, but the PrimitiveSet header (which uses those types) fails to include that header, causing compile errors.Attached is a version of PrimitiveSet that includes GL2Extensions." -2009-11-20 10:54 robert - * From Cedric Pinson, "here an update of osgmovie example with the - following features: - - play and pause now stop and play all streams given in the - command line - (not only the first) - - add key + - to increase decrease the speed of all streams - - add key o to display all stream frame rate - " -2009-11-20 10:48 robert +Sat, 10 Oct 2009 14:50:16 +0000 +Checked in by : Robert Osfield +Updated Contributors list to fix for typo's in the ChangeLog, and updated the AUTHORS file for 2.9.6. - * From Cedric Pinson, "Here an update of the directshow plugin. It - fixes issues with - synchronization, improve capture device support. - - here how to use it to display a capture device: - - osg::Options* options = new osg::Options; - options->setPluginStringData("captureWantedWidth", "800"); - options->setPluginStringData("captureWantedHeight", "600"); - options->setPluginStringData("captureWantedFps", "30"); - options->setPluginStringData("captureVideoDevice", "USB Video - Device" ); - options->setPluginStringData("captureSoundDevice", ""); - then - osgDB::readImageFile("capture.directshow", options) - you can use a graphedit application to list devices available in - directshow. - - - for classic avi file you just need to do a - osgDB::readImageFile("file.avi.directshow"); - You will need of course to install the codec needed by directshow - to - read the avi files. - - I recommand this tool http://avicodec.duby.info/, that check - which - video/sound codec is needed to play an avi file. - - - You can test it with the osgmovie example. - " +Sat, 10 Oct 2009 11:28:42 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, wrappers and Contributors lists -2009-11-20 10:27 robert +Sat, 10 Oct 2009 11:26:10 +0000 +Checked in by : Robert Osfield +From Simon Julier, "Please find attached FindCOLLADA.cmake with a patch for a framework naming issue for Mac platforms.The collada dom Makefiles actually build a framework called Collada14Dom.framework (debug: Collada14Dom-d.framework). The current CMake rules, however, only look for collada14dom. Normally, the difference in case wouldn't matter but the rule fails on case sensitive HPFS partitions. +" - * From David Fries, "I was trying to create a lot of threads under - 32 bit Linux, but could - only create 376, then the program would hang. - 376 * 8MB stack per thread = 3008 MB - The stack size allocated per thread blew the process address - stack. - To get more threads you have to specify a smaller per thread - stack, - but while the Thread::start says it will limit the stack size to - the - smallest allowable stack size, it won't let it be smaller than - the - default. I included the limits.h header to use PTHREAD_STACK_MIN - as - the minimum stack size. - - As for the deadlock, if the pthread_create failed, the new thread - doesn't exist and doesn't call threadStartedBlock.release(), so - the - existing thread deadlocks on threadStartedBlock.block(). Only - block - if the thread was started." -2009-11-20 09:05 robert - * Added #include +Sat, 10 Oct 2009 11:06:30 +0000 +Checked in by : Robert Osfield +From Cesar L.B. Silveira, "I have written these few lines of code which allow setting the label of an osgWidget::Label with an osgText::String. I had to do this on a project I'm working on, because I needed UTF-8 strings on my labels, and using setLabel with std::string was not working. " -2009-11-20 09:03 robert +Sat, 10 Oct 2009 11:00:35 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Tha attached change adapt previous attemps to get our application using osg through microsofts application verifier. The current change should work a little better ... The change is based on rev 10605." - * From Jan Ciger, removal of declaration of now undefined method. +Sat, 10 Oct 2009 10:58:39 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "This change eliminate an orphan stats block that sticks somewhere in the screen stats display." -2009-11-19 17:42 robert +Sat, 10 Oct 2009 10:54:33 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Stephan Huber, "attached you'll find a bugfix for - removeTransformUpdating and another - similar remove-method. - - The old code removed an element from a vector, which invalidates - the - iterator of the loop This resulted in a crash on certain - platforms. Now - the erasing is done the right way without invalidating the - iterator." +Sat, 10 Oct 2009 10:07:40 +0000 +Checked in by : Robert Osfield +From David Fries, "The Extensions object was calling _gl_get_query_objectui64v but checking _gl_get_query_objectuiv_arb which is a different function pointer. Changed to check the function being called.This is against the subversion trunk." -2009-11-19 17:27 robert - * From Lilin Xiong, added missing OSG_EXPORT -2009-11-19 17:22 robert +Sat, 10 Oct 2009 10:00:13 +0000 +Checked in by : Robert Osfield +From Chris Denham, "I discovered a memory leak in the ZIP plugin, which was caused by a missing call to CloseZip. I attach a modified ReaderWriterZIP.cpp (based on version 2.9.5 revision 10374). This includes a little bit of code tidying, but the only functional change is a test of the return value of OpenZip and the addition of a call to CloseZip." - * From Vincent Gadoury, "In osgViewer::Viewer and - osgViewer::CompositveViewer, the DOUBLECLICK event type was not - considered as a "pointer event" and thus was receiving the event - state coordinates and button mask. As a result, a double-click - event always had a button mask not including the double-clicked - button, even if double-click event is a "button push" event. - - The modification consists only in including - osgGA::GUIEventAdapter::DOUBLECLICK in the list of "pointerEvent" - events. - - Test done to reproduce the problem and check the fix: in any osg - application or example with an HandleInput function, break on - events with a double-click event type. Without the changes, the - event's buttonMask does not contain the double-clicked button. - With the changes, it does. - - Only simple tests (running some examples and playing with the - mouse) were done to check that the changes do not break anything, - since double-click is not used thoroughly in OSG. - - Modification done against current SVN Trunk version (r10753). - - As this is a fix, I do not wish to keep my copyright on this - submission and assign it over to the project lead. - " +Sat, 10 Oct 2009 09:53:10 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "ref_ptr usage changes made on 9th of June broke VirtualProgram used in osgShaderCompositor example. Taking the opportunity I modified the code a little to use earth sphere as default model. Cow.osg used previously was not looking good in advanced example. I also changed default to advanced example, because its more informative with labels describing virtual programs used to render the objects." -2009-11-19 17:18 robert +Sat, 10 Oct 2009 09:45:47 +0000 +Checked in by : Robert Osfield +From Stephane Lamoliatte, "Here is a patch wich add two missing GL modes in the osg plug'in." - * From Donn Mielcarek, "I'm surprised this hasn't come up before, - but the function Thread::setProcessorAffinity - always returns -1, even if the call is successful. I added return - statements to each of the function calls." +Sat, 10 Oct 2009 09:44:40 +0000 +Checked in by : Robert Osfield +To fix warning removed unncessary , from end to enum list. -2009-11-19 17:17 robert +Sat, 10 Oct 2009 09:41:28 +0000 +Checked in by : Robert Osfield +From Stephane Lamoliatte, "Here is a patch wich improves the support for geometry shaders in OpenSceneGraph. It adds new PrimitiveSet constants for the specific geometry shader primitive types : - LINES_ADJACENCY - LINE_STRIP_ADJACENCY - TRIANGLES_ADJACENCY - TRIANGLE_STRIP_ADJACENCY It also adds some missing features to the glsl reader plug'in. " - * Fixed tabs +Sat, 10 Oct 2009 09:38:10 +0000 +Checked in by : Robert Osfield +From Roger James, "When you merged my last set of changes into FindCOLLADA.cmake you omitted the changes to find the DOM22 libraries. Collada 1.4 DOM 2.2 seems to work OK for me on windows platforms. I have attached the changes again if you want to apply them." -2009-11-19 16:53 robert +Sat, 10 Oct 2009 09:35:16 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "Here an update of osganimationtimeline example, the callback did not follow the callback api, i updated to fix this, then the callback are called correctly." - * Fixed spacing +Sat, 10 Oct 2009 09:26:06 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "osgWidget::Window::setWindow() calls parented() (which does an addChild()) on the new window, but it does not call unparented() (which does a removeChild()) on the old window before. So it works fine if there was no window previously, but if an app creates new windows and calls setWindow() to replace the previous one, they will all add up instead and be on top of each other...This is fixed in the file attached." -2009-11-19 16:45 robert - * From Nico Krulthof, remove double qualifier of ReaderWriterQT - constructor/destructor. -2009-11-19 16:43 robert +Sat, 10 Oct 2009 09:23:03 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, "imageio plugin fix, mac os x : remove double-qualified ctor - illegal syntax under gcc 4.2.1" - * Changed the placement of the autogenerated Version file so it - drops into the in source directory. +Sat, 10 Oct 2009 09:20:39 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, "fix for 10.6/darwin: this fix changes what i believe to be a typo in the os x darwinutils file from ID to id, the proper objective-c name for a type." -2009-11-19 16:39 robert +Fri, 9 Oct 2009 13:39:11 +0000 +Checked in by : Robert Osfield +Introduced new uniforms for tracking the modelview and project matrices in shaders using non built-ins. - * From Wojciech Lewandowski, refactor to FBO setup to use the - osg::Camera implicit buffer attachements. +Fri, 9 Oct 2009 10:39:55 +0000 +Checked in by : Robert Osfield +Added use of binding of vertex attributes to names -2009-11-19 16:06 robert +Thu, 8 Oct 2009 16:23:40 +0000 +Checked in by : Robert Osfield +Added remapping of gl_ and ftransform() variables to osg_ equivalents. - * From Jan Ciger, build fixes to work with OpenVRML 0.18.3. - - Tweaks to this submission from Robert Osfield to fix missing - elements in submission. +Thu, 8 Oct 2009 15:58:23 +0000 +Checked in by : Robert Osfield +Implemented remapping of gl_ builtins vertex attributes to osg_ equivlants. -2009-11-19 12:54 robert +Thu, 8 Oct 2009 14:29:54 +0000 +Checked in by : Robert Osfield +New osgvertexattributes example designed to test conversion of fixed function scene graphs to use vertex shaders and vertex attributes. - * From Ulrich Hertlein, "ttached are some tweaks to the Obj loader - that allows a program supplied osgDB::Options object to be passed - through the code. This allows for caching to be used with images. - - The patched loader also complains more loudly if a material - library file wasn't found or if a referenced material wasn't - found in the material library." +Thu, 8 Oct 2009 14:13:49 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project -2009-11-19 12:39 robert +Thu, 8 Oct 2009 13:33:41 +0000 +Checked in by : Robert Osfield +Fixed vertex attribute access bug - * From Tugkan Calapoglu, "we started to have problems with textures - after a recent svn update. I - was able to follow the problem until following addition to - Texture.cpp: - - // GLES doesn't cope with internal formats of 1,2,3 and 4 so map - them to - the appropriate equivilants. - - if (_internalFormat==1) _internalFormat = GL_ALPHA; - if (_internalFormat==2) _internalFormat = GL_LUMINANCE_ALPHA; - if (_internalFormat==3) _internalFormat = GL_RGB; - if (_internalFormat==4) _internalFormat = GL_RGBA; - - - The problem is that internal format "1" corresponds to - GL_LUMINANCE, not - GL_ALPHA. I double checked this from the Red Book. Fixed version - is - attached to the email." +Thu, 8 Oct 2009 10:44:01 +0000 +Checked in by : Robert Osfield +Quitened down debug messages -2009-11-19 12:01 robert +Thu, 8 Oct 2009 09:27:54 +0000 +Checked in by : Robert Osfield +Cleaned up the #define's for when GLU is not available - * From Jean-Sebastien Guay, "I've made a change to the - ScreenCaptureHandler's addCallbackToViewer method, so that it - iterates over GraphicsContexts instead of GraphicsWindows. When - the viewer has a pbuffer (for offscreen rendering without a - window) then it wouldn't add the WindowCaptureCallback to that - context since it wasn't in the list returned by - ViewerBase::getWindows(). And anyways, I originally wrote the - code, and I didn't see any reason why I did it with windows - instead of contexts... - - I've needed to run a recorded simulation offscreen and save it to - a sequence of images, and the ScreenCaptureHandler seemed to be - the simplest way to do that, and with this change it's possible. - - - Another change: I've also added the ability to specify continuous - capture of all frames, or a certain number of frames. - ScreenCaptureHandler now has a setFramesToCapture(int) method. - The argument will be interpreted as: - - 0 : don't capture - <0 : capture continuously - >0 : capture that number of frames then stop - - I also added startCapture() and stopCapture() methods so that - user code can start capturing (either continuously or the given - number of frames) at a given point in their program. - setFramesToCapture() won't start capturing, you have to call - startCapture() afterwards. The handler also now has another key - to toggle continuous capture (defaults to 'C'). - - Note that continuous capture will of course only work if the - CaptureOperation writes to different files (for example, a - WriteToFile with SEQUENTIAL_NUMBER mode) or does something - different each time... Otherwise it will just overwrite of - course. :-) - - I've also taken the chance to refactor the addCallbackToViewer() - method a bit too, since finding the right camera is needed in two - places now. - - I've tested all cases (I think). If you want to try, in - osgviewer.cpp and replace the line - - // add the screen capture handler - viewer.addEventHandler(new osgViewer::ScreenCaptureHandler); - - with - - // add the screen capture handler - osgViewer::ScreenCaptureHandler* captureHandler = new - osgViewer::ScreenCaptureHandler( - new osgViewer::ScreenCaptureHandler::WriteToFile( - "screenshot", "jpg", - osgViewer::ScreenCaptureHandler::WriteToFile::SEQUENTIAL_NUMBER), - -1); - viewer.addEventHandler(captureHandler); - captureHandler->startCapture(); - - And vary the "-1" (put 0, 10, 50) and then use the 'c' and 'C' - keys and see how it reacts. - " +Thu, 8 Oct 2009 07:54:37 +0000 +Checked in by : Robert Osfield +Fixed warning -2009-11-19 11:54 robert +Wed, 7 Oct 2009 19:42:32 +0000 +Checked in by : Robert Osfield +Introduced optional build against the GLU library, using optional compile paths to enable/disable GLU related function.To toggle the use of the GLU library adjust the OSG_GLU_AVAILABLE variable via ccmake . or CMakeSetup. - * Fixed spaces at ends of lines -2009-11-19 11:44 robert - * From Michael Platings, "This plugin adds support for the Autodesk - FBX file format. It imports animations, including skeletal and - morph animations, hence all my previous submissions to - osgAnimation. The plugin won't build without the changes made in - the "osgAnimation small additions" submission (14th August). - The plugin requires the FBX SDK to be installed, available from - http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=6837478" -2009-11-19 11:30 robert - * Form Roland Smeenk, "Attached is a small change to the - osgWidget::EventInterface so it matches the NotifyWidget and - NullWidget interface (added const). Due to this mismatch these - widgets never received events. - - I also changed the osgwidgetbox example so the ColorWidget is - receiving events again." +Wed, 7 Oct 2009 18:50:01 +0000 +Checked in by : Robert Osfield +Fixed handling of rescale of image -2009-11-19 11:21 robert +Wed, 7 Oct 2009 13:02:51 +0000 +Checked in by : Robert Osfield +Fixed setUsage typo in PixelDataBufferObject, and fixed data pointer management in Texture::applyTexImage2D_subload(). - * From J.P. Delport, "simple addition to make the scroll wheel work - in the example." +Wed, 7 Oct 2009 12:54:14 +0000 +Checked in by : Robert Osfield +From J.P. Delport, fixed bug caused by a typo in PixelBufferObject constructor -2009-11-19 11:16 robert +Wed, 7 Oct 2009 09:39:45 +0000 +Checked in by : Robert Osfield +Fixed warnigns - * From Fabien Lavignotte, "I have used the - osgUtil::DelaunayTriangulator to insert roads into a - terrain. The triangulator is quite tricky to use properly but - works - quite well, constraint triangulation is not an easy task... I - have - encounter some crash during the development that the following - patch - fix. - The two fixes are : - - Fix in removeVerticesInside() : needs to take into account - UByte and - UShort version of DrawElements to avoid a crash later - - Fix a crash in triangulate() : detect degenerate adjacency case - to - exit early form the adjacent triangle traversal loop to avoid a - crash - later" +Tue, 6 Oct 2009 13:42:12 +0000 +Checked in by : Robert Osfield +Fixed the TextureObject's + GLBufferObject reassignment to a new set.Disabled the unref after apply for a Texture classes when the texture pool is enabled -2009-11-19 10:47 robert - * Fixed build -2009-11-19 10:12 robert - * Updated wrappers +Tue, 6 Oct 2009 09:28:41 +0000 +Checked in by : Robert Osfield +Refactored the ::getOrCreate*Object() methods to clean them up and fix a bug in the getOrCreateElementsBuffers method. -2009-11-19 10:10 robert +Mon, 5 Oct 2009 13:41:16 +0000 +Checked in by : Robert Osfield +From Andreas Goebel, fix to bug in ShapeDrawable::accept(PrimitiveFunctor) implementation for cylinder - * From Wojciech Lewandowski, "Building on earlier Paul's submission - "[osg-users] Main branch MSFBO support change", I have added - implicit buffer mask variables to DisplaySettings for setting - global defaults for Camera FBOs. These mask variables are named - after variables in Camera class. In Paul's submission they were - named _renderBufferMask & _resolveBufferMask but I renamed them - to _implicitBufferAttachmentRenderMask & - _implicitBufferAttachmentResolveMask. DisplaySettings - implementation includes reading of environment vars and command - line options. Setters and getters follow typical OSG naming - convention. I also updated names of ImplictBufferAttachment enum - bits to match changed naming scheme. - - DisplaySettings now define COLOR and DEPTH as defaults for - implicit buffers. Consequently Camera by default uses the same - defaults through USE_DISPLAY_SETTINGS_MASK. However, particular - Camera mask can be easily overriden through - Camera::setImplicitBufferAttachmentMask method. I hope, that in - this way we can have global control over implicit buffer - defaults, and we can still retain fine grained control at Camera - level. - - I have also replaced original unsigned ints used to store masks - to signed ints because complier resolves enums as signed integer - (I got a number of warnings with unsigned int)." +Sun, 4 Oct 2009 08:52:01 +0000 +Checked in by : Robert Osfield +Added missing export -2009-11-18 18:19 robert +Sat, 3 Oct 2009 15:10:13 +0000 +Checked in by : Robert Osfield +Removed erroneous inclusion of extra GLBufferObjectManager qualifier that broke Windows build - * Removed include/osg/Config as it was causing problem with Windows - build +Sat, 3 Oct 2009 09:25:23 +0000 +Checked in by : Robert Osfield +Introduced new GLBufferObject pool for managing the memory footprint taken up by VertexBufferObejct, ElementBufferObject and PixelBufferObject. -2009-11-18 16:24 robert +Thu, 1 Oct 2009 20:19:42 +0000 +Checked in by : Robert Osfield +Introduced new BufferObject design + implementation in preperation of implementing a pool system for buffer objects - * Moved the set of include/osg/Version into Cmake +Thu, 1 Oct 2009 17:08:16 +0000 +Checked in by : Cedric Pinson +From Michael Platings, In Target, the default constructor is explicitly called on _target. This is necessary for FloatTarget and DoubleTarget so that _target is initialised to 0, otherwise you get a junk value. In MorphGeometry.cpp, UpdateMorph::link now links channels of the same index to the same target. Previously a new FloatTarget was created for each channel, so multiple animations didn't work. -2009-11-18 14:08 robert +Sun, 27 Sep 2009 15:21:05 +0000 +Checked in by : Robert Osfield +Fixed warning about max texture size being smaller than the currently used texture pool size - * From Lee Butler, "The attached ZIP file contains a modified OBJ - file format reader which - makes smoothing optional for verticies which do not have a normal - associated with them in the OBJ input file. The previous behavior - was - to always smooth at all verticies which did not have surface - normals. - In this new implementation smoothing is on by default to be - compatible - with previous behavior. The user can now specify the - "generateFacetNormals" - option to the reader to use facet normals for verticies where the - OBJ - file does not specify a normal." - - Note from Robert Osfield, changed "noSmoothing" naming used by - Lee to "generateFacetNormals". +Sun, 27 Sep 2009 15:14:57 +0000 +Checked in by : Robert Osfield +Added handling of resetting of the texture object format -2009-11-18 13:00 robert +Sun, 27 Sep 2009 14:38:38 +0000 +Checked in by : Robert Osfield +Added status collection to full range of texture classes - * From Pau Garcia i Quiles, "On Linux/Unix, when you change the - system time (for instance, using - settimeofday), OSG animations will freeze your application - because - osg::Timer uses gettimeofday internally on non-Win32 platforms. - This - is wrong and should be replace with times(2) or clock_gettime(2). - - The attached patch fixes the issue in a binary-compatible way by - using - clock_gettime when it's available, and falling back to - gettimeofday - when it's not." +Sat, 26 Sep 2009 16:28:42 +0000 +Checked in by : Robert Osfield +Improved the computation of the TextureProfile _size value, fixed the computation up of the miplevels -2009-11-18 12:50 robert +Fri, 25 Sep 2009 18:05:54 +0000 +Checked in by : Robert Osfield +Added stats collection to new Texture Pool code, and improved TexturePool implementation.The Texture Pool can be enabled by setting the env var OSG_TEXTURE_POOL_SIZE=size_in_bytes. +Note, setting a size of 1 will result in the TexturePool allocating the minimum number of +textures it can without having to reuse TextureObjects from within the same frame. - * Fixed primCount default value -2009-11-18 12:15 robert - * From Mathias Froechlich, "Attached the collected fixes I needed - to compile with all of them. - Most notable the __hpux define stuff. The __hpux__ variant seems - to be not - defined which resulted in a compile error at this time. - Consequently I have - replaced all occurances of __hpux__ with __hpux. And huge - surprise: now osg - plugins are found and loaded correctly ... - The next notable one is the MSVC_IDE fix which makes the nmake - Makefiles cmake - generator target behave like the ide one. Showed up because I - started to do - scripted builds with nmake instead of devenv... - The rest is the usual bunch of stuff that just happens during - normal - coding ..." +Fri, 25 Sep 2009 18:03:49 +0000 +Checked in by : Robert Osfield +Fixed warning -2009-11-18 11:26 robert +Thu, 24 Sep 2009 10:11:32 +0000 +Checked in by : Robert Osfield +Added return at end of to fix warning - * Updated wrappers +Wed, 23 Sep 2009 15:16:34 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, fixed Widows build and updated the SO version -2009-11-18 11:25 robert +Wed, 23 Sep 2009 14:54:13 +0000 +Checked in by : Robert Osfield +Moved setting of TexturePoolSize into State. - * Added osg::ShaderBinary::readShaderBinaryFile(..) static method +Wed, 23 Sep 2009 13:51:20 +0000 +Checked in by : Robert Osfield +Introduced memory pool size management -2009-11-17 15:54 robert +Tue, 22 Sep 2009 18:45:24 +0000 +Checked in by : Robert Osfield +Preliminary work on support for a texture object pool that is designed to help manage resources down the GPU more tightly. - * Moved across to use OSG_FIXED_FUNCTION_AVAILABLE +Sun, 20 Sep 2009 09:26:26 +0000 +Checked in by : Robert Osfield +Change win32 external library to wsock32.lib -2009-11-17 14:06 robert +Sat, 19 Sep 2009 09:18:42 +0000 +Checked in by : Robert Osfield +Added Ws2_32.lib to link of dicom plugin under Win32 - * , and includes required for QNX - compiler +Thu, 17 Sep 2009 13:40:53 +0000 +Checked in by : Robert Osfield +Introduced new osgQtBrowser example. -2009-11-17 12:55 robert +Mon, 14 Sep 2009 16:07:27 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added OSG_CPP_EXCEPTIONS_AVAILABLE cmake option to enable - optional build of plugins and examples that required C++ - exceptions +Fri, 11 Sep 2009 13:08:49 +0000 +Checked in by : Robert Osfield +Fixed bug in interpolation of colour values -2009-11-17 12:54 robert +Thu, 10 Sep 2009 16:39:05 +0000 +Checked in by : Robert Osfield +Added tf-255 option to volume tag - * Converted .ive plugin from using C++ exceptions to using a local - equivelant, enabling the build on embedded systems. +Wed, 9 Sep 2009 18:13:24 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, Fix createKeyframeContainerFromTargetValue to recreate its sampler from scratch to not change keyframe container of another sampler -2009-11-17 11:36 robert +Wed, 9 Sep 2009 15:22:04 +0000 +Checked in by : Robert Osfield +Added reset of the ImageDetails values of TexelOffset and TexelScale. - * Removed usage of throw +Wed, 9 Sep 2009 13:31:32 +0000 +Checked in by : Robert Osfield +Added support for using the ImageDetails to fill in the Locator and TexelScale/Offset values in the ImageLayer -2009-11-16 17:50 robert +Wed, 9 Sep 2009 13:23:49 +0000 +Checked in by : Robert Osfield +Added support for "--output filename.osg" command line option to avoid debugging of generated presentations - * Fixed Shader constructor +Wed, 9 Sep 2009 09:54:29 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, remove unsused files include/osgAnimation/AnimationManager and src/osgAnimation/AnimationManager.cpp -2009-11-16 16:09 robert +Wed, 9 Sep 2009 09:52:54 +0000 +Checked in by : Cedric Pinson +From Michael Platings, I have removed Target::normalize() as calling it was incorrect - the interpolation is already done in such a way that the Target's value is always normalized. Finally, I have fixed TemplateTarget::lerp() as it was giving incorrect results when interpolating between some small rotations. From Cedric Pinson, i renamed the method in channel to be more general. Adjusted the CubicBezier key constructor to use a single value as input. - * Replaced catch usage +Tue, 8 Sep 2009 15:36:44 +0000 +Checked in by : Robert Osfield +Tweaked debugging info -2009-11-16 15:47 robert +Tue, 8 Sep 2009 15:36:28 +0000 +Checked in by : Robert Osfield +Fixed the set up of osgVolume::ImageLayer scale and offset. - * Removed catch +Mon, 7 Sep 2009 12:51:00 +0000 +Checked in by : Robert Osfield +Added filter for .filename files -2009-11-16 15:17 robert +Mon, 7 Sep 2009 12:21:03 +0000 +Checked in by : Stephan Maximilian HUBER +updated XCode project - * Removed throw. +Mon, 7 Sep 2009 10:54:08 +0000 +Checked in by : Robert Osfield +Updated volume setup code to use the new ImageDetails structure. -2009-11-16 14:58 robert +Mon, 7 Sep 2009 10:50:48 +0000 +Checked in by : Robert Osfield +Added check for null masterLocator - * Removed throw. +Mon, 7 Sep 2009 08:30:54 +0000 +Checked in by : Robert Osfield +Fixed assingment of layerLocator -2009-11-16 14:47 robert +Fri, 4 Sep 2009 09:11:49 +0000 +Checked in by : Robert Osfield +Fixed empty lines - * Removed usaged of throw and catch to enable better compatibility - with embedded systems that don't support C++ exceptions - efficiently. +Thu, 3 Sep 2009 14:39:29 +0000 +Checked in by : Robert Osfield +Added scaling of shader transfer function input values to honour original dicom input values -2009-11-16 12:32 robert +Thu, 3 Sep 2009 13:40:50 +0000 +Checked in by : Robert Osfield +Renamed the osgVolume::Layer/ImageDetails parameters RescaleIntercept and RescaleSlope to more general TexelOffset and TexelScale, and changed type to Vec4.Refactored the transfer function set up in RayTracedTechnique to prepare for new scale and offset uniforms. - * Added new osg::ShaderBinary class, and support for it in - osg::Shader. +Updated wrappers -2009-11-13 13:52 robert - * From Cedric Pinson, "After fixing Skeleton, i introduce a compile - issue in - osganimationhardware example - I added a #include to fix it - " -2009-11-13 13:42 robert +Tue, 1 Sep 2009 10:48:32 +0000 +Checked in by : Robert Osfield +Added support for recording the RescaleIntecept and RescaleSlope from the dicome files and passing these values onto osgVolume::ImageLayer - * Moved the GLBeginEndAdapter support out of the blocks of the "#if - defined(OSG_GL_VERTEX_FUNCS_AVAILABLE) && - !defined(OSG_GLES1_AVAILABLE)" guarded blocks. - - Fixed the number of components being passed as - GLBeginEndAdatper::TexCoord*fv. +Mon, 31 Aug 2009 15:10:38 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-11-13 13:39 cedricpinson +Mon, 31 Aug 2009 10:37:44 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, add missing files - * From Cedric Pinson, Fix Skeleton to compute correctly bind - matrix, fix compile issue on osganimationhardware after fixing - Skeleton +Mon, 31 Aug 2009 09:40:56 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, The following modification are Update Timeline.cpp to add current layer to the ActionVisitor, use correctly the priority Add accessors in Action.cpp to retrieve protected data Split files and rename them to classname Change de default color of UpdateMaterial to FFOOFF to detect unset value Add accessors in LinkVisitor instead of accessing data directly Update osganimationtimeline example to fit the api callback -2009-11-13 13:25 robert +Thu, 27 Aug 2009 19:25:23 +0000 +Checked in by : Robert Osfield +Fixed the compute of the extents/bounding sphere - * Added optional finer grained checks for GL errors within - Geometry::drawImplementation() to help track down GL errors. - - Turned off the vertex attribute aliasing in ArrayDispatchers when - the GLBeginEndAdapter is used. +Thu, 27 Aug 2009 16:42:47 +0000 +Checked in by : Robert Osfield +Added support to .p3d format's volume tag for the properties: region="xmin ymin zmin xmax ymax zmax" + alpha="float_value" + cutoff="float_value" + sampleDenstiy="float_value" -2009-11-13 12:51 robert - * Added dummy StateSet at top of scene graph when using ShaderGen - to copy with subgrahs that contain no StateSet -2009-11-13 10:03 robert - * From Paul Martz, osgViewer Win32 GL3 context creation support +Thu, 27 Aug 2009 16:21:01 +0000 +Checked in by : Cedric Pinson +From Michael Platings, I've moved the matrix updating from UpdateSkeleton to UpdateBone. UpdateSkeleton now merely checks that Bones appear before other children and issues a warning if this isn't the case -2009-11-13 09:56 robert +Wed, 26 Aug 2009 16:39:53 +0000 +Checked in by : Cedric Pinson +From Michael Platings, I've just added a few simple accessors I found necessary - * Added missing export +Wed, 26 Aug 2009 09:24:02 +0000 +Checked in by : Cedric Pinson +From Michael Platings, - Animations with equal priority are now weighted correctly relative to each other - (minor) Channels no longer store their weight as the only time it's used is in update() when Animation can pass in the weight directly From Cedric Pinson, - I adjusted the quaternion blending to keep the commutativy property -2009-11-12 19:39 robert +Sat, 22 Aug 2009 17:13:19 +0000 +Checked in by : Robert Osfield +From Michael Platings, "the DAE importer was crashing when calling osg::Object::setName with a null pointer argument. Rather than trying to fix all the places this might happen and probably missing a few, I thought it would be better to trivially validate the input in setName. With this fix if setName is called with a null pointer then the name is cleared." - * Introduced the usage of GL_MAX_TEXTURE_IMAGE_UNITS where support - in place of the check of GL_MAX_TEXTURE_UNITS. +Fri, 21 Aug 2009 13:55:03 +0000 +Checked in by : Robert Osfield +Fixed osgAnimation wrappers -2009-11-12 14:35 robert +Fri, 21 Aug 2009 12:53:23 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Adapted GLBeginEndAdapter to use state.drawQuad(..) rather than - use it's local GL_QUADS emulation. - - Fixed to osg::Texture for GLES support. - - Added automatic GLenum mode mappings in osg::PrimitiveSet to - provide a fallback for non support glDrawArray/glDrawElement - modes. - - Added finer gained error checking during StateSet::compile(). +Fri, 21 Aug 2009 11:31:10 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "At the end of the void function osg::Animation::TemplateStepInterpolator::getValue the code tries to return the result rather than assigning it to the result parameter reference.The following patch fixes this." -2009-11-12 12:19 robert - * Introdced usage of State::drawQuads -2009-11-12 12:18 robert +Fri, 21 Aug 2009 10:18:46 +0000 +Checked in by : Robert Osfield +Fixed handling of double precision bounding sphere type. - * Introduced new State::drawQuads(..) convinience method to help - out with mapping GL 1.x style calls to GLES2.0 compatible calls. +Fri, 21 Aug 2009 09:54:45 +0000 +Checked in by : Robert Osfield +From Stephane Lamoliatte, "I just add the a missing getView() function to the WindowManager." -2009-11-12 12:14 robert +Fri, 21 Aug 2009 09:43:41 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, part of the FBO attachment submission - * Fixed winding of GL_QUADS mapping +Fri, 21 Aug 2009 09:42:54 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-11-12 12:07 robert +Fri, 21 Aug 2009 09:34:48 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, support for FBO's without colour or depth attachments.Note from Robert Osfield, I've temporarily re-enabled the old focing of of color and depth attachment to avoid regressions on some OpenGL driver. We'll revist this once +we have a mechanism for controlling this override at runtime. - * Improved compatibility with GLES2 +#define FORCE_COLOR_ATTACHMENT 1 +#define FORCE_DEPTH_ATTACHMENT 1 -2009-11-11 15:25 robert - * Added glContexVersion, glContextFlags and glContextProfileMask - members to osg::GraphicsContext::Traits to support GL3 graphics - context creation. - - Moved the handling of DisplaySettings into Traits constructor. - - Added support for s/getGLContextVersion(), s/getGLContextFlags() - and s/getGLContextProfileMask() to osg::DisplaySettings. - - Added command line and env var support for setting the - GLContextVersion, GLContextFlags and GLContextProfileMask to - osg::DisplaySettings. -2009-11-11 12:04 robert - * From Paul Martz, enabled packed_depth_stencil support for GL3 -2009-11-11 09:15 robert +Thu, 20 Aug 2009 16:39:14 +0000 +Checked in by : Robert Osfield +From Magnus Kessler, "osgAnimation/Interpolator includes itself. The following patch removes the superfluous include" - * Merged runtime fix for Win32 OpenGLES build that avoids usage of - wglGetProcAddress. +Thu, 20 Aug 2009 16:05:06 +0000 +Checked in by : Robert Osfield +From Tom Moore, "Parens were being returned when the bracket keys were typed. The fix is easy and the original code looks like a typo" -2009-11-10 19:16 robert +Thu, 20 Aug 2009 15:32:02 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "This file didn't build when OSG_USE_UTF8_FILENAME was on" - * Added OSG_GLES2_FEATURES and OSG_GL3_FEATURES usage where - appropriate +Thu, 20 Aug 2009 15:20:55 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "There is a duplicate class definition in the obj & dxf plugins trunk, causing static builds to fail." -2009-11-10 17:01 robert +Thu, 20 Aug 2009 14:59:29 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "The bsp & mdl plugins have calls to atof() without including the associated header. This breaks the build on my Solaris setup.Rather than adding the missing include, I have changed the +atof() calls to osg::asciiToDouble(). This is the same as was done +throughout the other plugins recently, for locale independance. - * Introduced OSG_GL*_FEATURES macros defined in include/GL that are - set to 0 or 1 according to what the assocoated version of GL is - compiled against. - - Removed EXT postfix of FrameBufferObject functions, and added - support for checking non EXT versions frame buffer object GL - functions. - - Introduced usage of OSG_GL*_FEATURES to avoid some #if #else - #endif code blocks. - - Using a submissions from Paul Martz as a guide added perliminary - GL3 support to a range of OSG classes +I've attached updates to the svn trunk, the fix is also appropriate for +the 2.8.* branch." -2009-11-10 14:59 robert - * Removed debug message -2009-11-10 14:31 shuber +Thu, 20 Aug 2009 14:59:00 +0000 +Checked in by : Robert Osfield +Added check against a minimual video size of 10x10 to prevent problems with swscale reporting errors and crashing on small video dimensionsline, and those below, will be ignored--M ffmpeg/FFmpegImageStream.cpp - * From Stephan Huber: updated XCode project -2009-11-10 12:03 robert - * Changed default enabling of vertex attribute mapping +Thu, 20 Aug 2009 14:20:55 +0000 +Checked in by : Robert Osfield +Improved the custom cursor code and release and compute settings -2009-11-10 12:02 robert +Thu, 20 Aug 2009 14:19:10 +0000 +Checked in by : Robert Osfield +From Ronald van Maarseveen and Robert Osfield, changed compute of up vector and localToWorld transform so that it takes in to account the geographic latitude. - * Removed redundant include of GLU +Wed, 19 Aug 2009 15:36:46 +0000 +Checked in by : Robert Osfield +Fixed typo -2009-11-10 12:01 robert +Wed, 19 Aug 2009 15:36:23 +0000 +Checked in by : Robert Osfield +Added support for trimming the contents of parsed Xml graph - * Added enabling of lighting, and disabling of mipmapping to help - out testing of GLES2 target +Tue, 18 Aug 2009 13:38:17 +0000 +Checked in by : Robert Osfield +Added tabs to treatment as white space to skyWhiteSpace() -2009-11-10 11:36 robert +Mon, 17 Aug 2009 16:07:04 +0000 +Checked in by : Robert Osfield +Added check for space in option name parsing - * Added support for mapping GL_QUADS, GL_QUAD_STRIP and GL_POLYGONS - to GL_TRIANGLE equivalents. +Mon, 17 Aug 2009 15:46:22 +0000 +Checked in by : Robert Osfield +Added support for the TabBoxTrackballDragger -2009-11-10 11:34 robert +Mon, 17 Aug 2009 15:45:43 +0000 +Checked in by : Robert Osfield +Changed the autorun keys to 'g' for go, and 'h' for halt. - * Added the default usage of ShaderGenVisitor to help with GLES2 - testing. +Mon, 17 Aug 2009 15:24:15 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-11-10 11:34 robert +Mon, 17 Aug 2009 15:22:01 +0000 +Checked in by : Robert Osfield +Moved static string initialization into singleton method - * Added state.checkGLErrors() calls to help in debugging of GLES 2 - port +Thu, 6 Aug 2009 12:40:06 +0000 +Checked in by : Cedric Pinson +From Michael Platings, Changes to allow osgAnimation::*CubicBezierChannel to be used Added TemplateStepInterpolator class -2009-11-10 11:28 robert +Thu, 6 Aug 2009 10:57:42 +0000 +Checked in by : Robert Osfield +Added a viewer.frame() call prior to the useCursor(false) calls to avoid a threading crash under X11 - * Added disabling of modes that aren't supported with GLES2 +Thu, 6 Aug 2009 10:06:20 +0000 +Checked in by : Robert Osfield +Fixed custom cursor support -2009-11-09 11:36 robert +Wed, 5 Aug 2009 17:01:50 +0000 +Checked in by : Robert Osfield +Added support for selecting the TabBoxTrackballDragger using dragger="trackball-box" - * Added GL token mappings for standard GL errors numbers for when - no GLU is available +Wed, 5 Aug 2009 16:02:44 +0000 +Checked in by : Robert Osfield +Introduced TabBoxTrackballDragger -2009-11-06 18:06 robert +Wed, 5 Aug 2009 14:37:56 +0000 +Checked in by : Robert Osfield +Added support for volume tags with properties: dragger="box" or dragger="trackball" - * Added remapping of internal texture formats to GL_RGBA etc when - just the number of components is used i.e. - - 1 -> GL_ALPHA, - 2 -> GL_LUMINANCE_ALPHA - 3 -> GL_RGB - 4 -> GL_RGBA +and -2009-11-06 16:51 robert + technique="light" or technique="isosurface" or technique="iso" or technique="mip" - * Added simple textured scene graph test accessible using --texture - or -t command line options. +and -2009-11-06 16:09 robert + tf="transferfunctionfile.tf" - * Fixed build with no automatic conversion of ref_ptr<> to C - pointer +i.e. -2009-11-06 16:09 robert + CardiacCT + CardiacCT + CardiacCT - * Fixed build -2009-11-06 13:53 robert - * Added dlsymb settting for QNX -2009-11-06 10:38 robert +Wed, 5 Aug 2009 12:51:10 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Cleaned up the EGL context config set up. +Wed, 5 Aug 2009 11:06:53 +0000 +Checked in by : Robert Osfield +Moved the updating and expiry of the Registry object cache from DatabasePager into osgViewer::Viewer/CompositeViewer. -2009-11-06 10:31 robert +Tue, 4 Aug 2009 16:19:28 +0000 +Checked in by : Robert Osfield +Updated the Present3D version number - * Added EGL error checking and changed the egl context - configuration settings +Mon, 3 Aug 2009 09:48:12 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, Add UpdateMaterial callback to animate material\nUpdate LinkVisitor to traverse stateset\nUpdate ReaderWriter to read osgAnimation::UpdateMaterial Callback\nUpdate nathan.osg data file to demonstrate the MaterialAnimation -2009-11-05 09:28 robert +Tue, 28 Jul 2009 06:00:23 +0000 +Checked in by : Robert Osfield +Tweak of NodeMask docs - * Added APIENTRY into glColor*/glNormal* calls and specialized the - calls to just GLES1 +Tue, 28 Jul 2009 06:00:03 +0000 +Checked in by : Robert Osfield +From Terry Welsh, .osg and .ive support for new Text boxes -2009-11-04 17:26 robert +Mon, 27 Jul 2009 15:39:27 +0000 +Checked in by : Robert Osfield +Fixed bug in handling of stereo image pairs - * Moved glColor/glNormal definitions for GLES1.x from - include/osg/GL to src/osg/ArrayDispatchers.cpp to avoid - import/export issues on functions. - - Fixed typo of GLES1 in disabling the build of OpenGL1.x/2.x - specific examples +Fri, 24 Jul 2009 15:55:50 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-11-04 12:17 robert +Fri, 24 Jul 2009 15:30:13 +0000 +Checked in by : Robert Osfield +From Lee Butler and Robert Osfield, doxygen comment explaining role of NodeMask - * Reduced the number of aliased attributes to fit within the basic - 8 attribute location available on basic GLES2 implementations +Fri, 24 Jul 2009 15:09:37 +0000 +Checked in by : Robert Osfield +From Jason Daly, "This set of changes reworks the BSP plugin to use TexEnvCombine instead of a GLSL program for doing the texture blending on displaced terrain geometry. After working with it a while, I found this method to be more scene graph friendly (at least until Wojtek gets his VirtualProgram scheme working ;-) )Note that this technique will require ARB_texture_env_crossbar (or NV_texture_env_combine4), as it mixes two textures in the first texture unit, and just does the lighting in the second. I doubt this will be a problem for any card that can already handle GLSL programs, though." -2009-11-04 12:14 robert - * Changed notify to output warnings and normally messages to - std::out -2009-11-04 11:03 robert +Fri, 24 Jul 2009 15:04:46 +0000 +Checked in by : Robert Osfield +From Cory Riddell, "The spherical manipulator uses a middle drag event for panning. It was panning for left-right drags, but was zooming for up-down drags. I changed it to pan both directions as I believe that is the correct behaviour. If the original combination pan-zoom behaviour was intentional, please let me know." - * Added --simple option and associated set up of a very simple - geometry and shader scene graph +Fri, 24 Jul 2009 14:59:51 +0000 +Checked in by : Robert Osfield +From Terry Welsh, "Okay, here are the mods I wrote for drawing a filled bounding box behind osgText::Text. I made it so the box would get drawn using whichever BackdropImplementation was selected. However, I did not implement STENCIL_BUFFER. In that case it defaults to drawing the bounding box using POLYGON_OFFSET instead.Also made it so the BOUNDINGBOX and FILLEDBOUNDINGBOX are drawn with a +settable color and margin size. -2009-11-04 11:02 robert +While I was at it I tightened up the values applied with DEPTH_RANGE +and POLYGON_OFFSET, not just for drawing the bounding box but also for +drawing backdrop text (these values must be coupled since the bounding +box has to be drawn deeper in Z than the backdrop text). The values +in use before seemed like overkill and I was seeing some z-clipping +with my background scenery in the case of DEPTH_RANGE. If there was a +good reason for the large values please let me know...." - * Enabled the vertex aliasing and projection/modelview uniform - setting by default for GLES2 and GL3 targets -2009-11-03 16:49 robert - * Disabled osgteaport for GLES1, GLES2 and GL3 builds +Fri, 24 Jul 2009 14:45:44 +0000 +Checked in by : Robert Osfield +From Chris Hanson, typo and comment clean ups -2009-11-03 16:48 robert +Fri, 24 Jul 2009 14:45:09 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Replaced glColor4fv call with osg::State::Color(..) +Fri, 24 Jul 2009 14:25:34 +0000 +Checked in by : Robert Osfield +From Chris Hanson, added EllipsoidModel::isWGS84() method and clean up on comments. -2009-11-03 16:34 robert +Fri, 24 Jul 2009 12:12:07 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, updated CTestConfig to point to new cdash.openscenegraph.org site - * From Paul Martz, changes for compiling against OpenGL 3.x +Thu, 23 Jul 2009 15:25:11 +0000 +Checked in by : Stephan Maximilian HUBER +updated XCode project -2009-11-03 15:22 robert +Thu, 23 Jul 2009 12:42:01 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, Store the linkvisitor to be able to configure it by user, like changing the nodemaskoverride, or use a custom LinkVisitor - * Disabled the build of plugins that aren't supported under GLES. +Fri, 17 Jul 2009 07:47:48 +0000 +Checked in by : Robert Osfield +From J.P. Delport, "attached a modified jpeg plugin that allows writing of grayscale images." -2009-11-03 11:10 robert +Thu, 16 Jul 2009 12:09:47 +0000 +Checked in by : Robert Osfield +From Fabien Lavignotte,"When exporting some models to OpenFlight, i found a crash if the texture unit does not contain a TexEnv object. Here's the small fix, just a test on the pointer." - * Fixed handling of GL function pointer setup for GLES1/GLES2 - targets - - Dropped the fixed function pipeline defaults from StateSet and - SceneView. +Thu, 16 Jul 2009 12:04:35 +0000 +Checked in by : Robert Osfield +From Stephan Lamoliatte, "The vertical anchor is inverted in the osgWidget::Window::update function. Here is a small patch to fix that." -2009-11-01 09:51 robert +Thu, 16 Jul 2009 11:49:37 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, fix crash without error messages if the example does find the nathan.osg file. - * Disable the default LightModel for GLES1 and GLES2 targets +Thu, 16 Jul 2009 11:48:08 +0000 +Checked in by : Robert Osfield +Fixed build -2009-11-01 09:04 robert +Thu, 16 Jul 2009 11:35:59 +0000 +Checked in by : Robert Osfield +Fixed build. - * Fixed compile issue with Image.cpp and osgautocapture.cpp under - GLES. - - Fixed handling of EGLDisplay in EGL paths of GraphicsWindowX11 +Thu, 16 Jul 2009 11:26:14 +0000 +Checked in by : Robert Osfield +Added .get() to fix build -2009-10-31 14:44 robert +Thu, 16 Jul 2009 11:21:02 +0000 +Checked in by : Robert Osfield +From Jason Daly, "These are some fixes to the mdl and bsp plugins to handle transparency and lighting better, plus a few other tweaks." - * Fixed compile problem due to name change of getGLXContext to - getContext +Thu, 16 Jul 2009 11:06:31 +0000 +Checked in by : Robert Osfield +From Colin MacDonald,"The Optimizer Merge Geometry visitor is always merging geometries, even if they have had DataVariance DYNAMIC explicitly specified. Then when an application attempts to dynamically update the geometry in the frame loop the primitive sets and data arrays are no longer as expected, leading to display and/or memory corruption.Attached is a simple fix. " -2009-10-30 17:16 robert +Note from Robert Osfield, tweaked Colin's changes to that it use != DYNAMIC as the the test rather than == STATIC. - * Fixed build under GLES2 -2009-10-30 15:17 robert - * Added EGL support into build system for GLES1 + GLES2. - - Added EGL support into GraphicsWindowX11. -2009-10-30 15:16 robert +Thu, 16 Jul 2009 10:56:16 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Fixed for GLES1 build +Thu, 16 Jul 2009 10:13:41 +0000 +Checked in by : Robert Osfield +Added the ability to turn off the external paging in of PagedLOD children. -2009-10-29 16:09 cedricpinson +Thu, 16 Jul 2009 10:13:13 +0000 +Checked in by : Robert Osfield +Updated Contributors mapping - * From Cedric Pinson, Fix warning in osgAnimation, UpdateCallback. - Fix bug removing callback in Action. Fix warning Stats +Thu, 16 Jul 2009 10:12:33 +0000 +Checked in by : Robert Osfield +Added support for using PagedLOD to managing loading of presentation preview and then the main presentation in the background paging thread -2009-10-29 09:54 shuber +Wed, 15 Jul 2009 20:52:51 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, add accessors to osgAnimation ActionCallback - * From Stephan Huber: updated XCode projects +Wed, 15 Jul 2009 17:01:47 +0000 +Checked in by : Robert Osfield +Added alias from xml to p3d to ensure backwards compatibility with old present3D files with the.xml extenstion -2009-10-28 20:31 robert +Wed, 15 Jul 2009 15:28:19 +0000 +Checked in by : Robert Osfield +Quitened down debug info. - * Ported osgUtil, osgDB, osgGA, NodeKits and plugins to compile - against OpenGL ES 1.1 and OpenGL ES 2.0. +Tue, 14 Jul 2009 13:32:06 +0000 +Checked in by : Robert Osfield +Cleaned up indenting -2009-10-28 13:31 robert +Tue, 14 Jul 2009 13:30:28 +0000 +Checked in by : Robert Osfield +Converted code to use osg::asciiToFloat() instead of relying upong the C libraries sscanf to read floats as the C library is locale sensitive. - * From Cedric Pinson, updates to osganimation example to keep in - sync with changes with osgAnimation, and introduction of a - hardware skinning example +Tue, 14 Jul 2009 12:22:47 +0000 +Checked in by : Robert Osfield +From Alexandre Amalric, "I'm using osg svn version 2.9.5 and I've apparently found a bug in osgPlugin logo.When using more than one view logosCullCallback function is called without checking context ID from the cull visitor is equal to logo _contextID variable. It involves updating logo's viewport with different sizes. +So I made a fix well working, at least the way I use the plugin." -2009-10-27 19:17 robert +Note, from Robert Osfield, changed code to return true to signal culling of logo when being applied to a window that it wasn't assigned to. - * Fixed build aginst GLES1 and GLES2 -2009-10-27 18:07 robert - * Fixed build on OpenGLES-1.1 and OpenGLES-2.0 targets +Tue, 14 Jul 2009 11:19:22 +0000 +Checked in by : Robert Osfield +Moved the getting of the ReaderWriter to do the actual model loading to later so that it only gets invoked when required. -2009-10-27 15:37 cedricpinson +Tue, 14 Jul 2009 11:18:11 +0000 +Checked in by : Robert Osfield +Quietened down debug messages, and added early return when filename contains server address. - * From Cedric Pinson, The following commit include: - * Refactore of RigGeometry to support hardware skinning - * Refactore of Timeline to split Action in differents files - * Add example how to use hardware skinning +Tue, 14 Jul 2009 10:37:31 +0000 +Checked in by : Robert Osfield +Refactored the setup of the reading of the wrl file by allow reading from istreams, as well as nesting of filepaths using a local osgDB::Options to prevent threading issues.Also fixed crash in parsing of the vrml data structures that occurred when no vrml material was assigned. -2009-10-27 10:51 shuber - * From Stephan Huber: added missing #define -2009-10-25 11:52 robert - * Introduced usage of OSG_GLES*_AVAILABLE macros to headers and - .cpp's to enable building against OpenGL ES 1.x and 2.x headers -2009-10-25 11:46 robert +Tue, 14 Jul 2009 10:35:53 +0000 +Checked in by : Robert Osfield +Quitened down debug messages - * Updated wrappers +Tue, 14 Jul 2009 10:04:18 +0000 +Checked in by : Robert Osfield +Fixed the handling of compressed files -2009-10-23 20:35 cedricpinson +Mon, 13 Jul 2009 16:39:51 +0000 +Checked in by : Robert Osfield +From Cory Riddel based on suggestion from Robert Osfield, "I've been running with your suggested changes for a few days now and it has been working perfectly. I'm still not entirely clear why adding a slave/subgraph causes the problem." - * From Cedric Pinson, Simplify update callback api in osgAnimation, - the decision to link is on the manager or user +Mon, 13 Jul 2009 16:14:43 +0000 +Checked in by : Robert Osfield +From David Fries, "Comparing the win32 barrier to the pthread barrier, win32 puts the while in an else clause. When if is true the phase changes and the while condition will always by false, so might as well put the while in the else to skip the check. There's also a benefit to having the code logic similar between platforms. " -2009-10-23 17:27 robert +Mon, 13 Jul 2009 16:05:57 +0000 +Checked in by : Robert Osfield +From David Fries, "Here is a fix for a deadlock seen under Windows using OpenThreads Barrier operations. The error is with atomic operations in the win32 condition implementation. The attached sample program will reliably trigger with as few as three threads and a dual core system, though sometimes it will take 65,000 iterations.2.8.1 was the base for these changes - * Added missing unbinds of VBO and EBO's to - Geometry::drawImplementation(..), fixing crash in - osganimationtimeline when stats were enabled +Win32ConditionPrivateData.h +Win32ConditionPrivateData::wait does two operations to decrement +waiters_ then read, when InterlockedDecrement decrements and returns +the value in one operation. The two operations allows another thread +to also decrement with both getting 0 for an answer. -2009-10-23 16:51 robert +Win32ConditionPrivateData::broadcast is using waiters_ directly +instead of using the w value read earlier, if it was safe to use +waiters_ directly there would be no need for InterlockedGet or w. - * Added includes for OpenGL ES1 and ES2. +overview of deadlock in barrier with three threads +one thread in broadcast, 2 threads in wait, +release semaphore 2, waits on waiters_done_ +both threads wake, decrement waiters_, get 0 for w, + +one calls set waiters_done_, +broadcast thread comes out of waiters_done_, +other thread calls waiters_done_, (which leaves waiters_done_ in the +signaled state) + +broadcast thread returns releases mutex, other threads get +mutex and also return, +next barrier, first two threads enter wait, one goes to broadcast, release +semaphore 2, skips waiters_done_ as it had been released last time +returns, processes, enters the barrier for the next barrier operation +and waits, +three threads are now in wait, two have the previous barrier phase, +one the current phase, there's one count left in the semaphore which a +thread gets, returns, enters the barrier as a waiter, sleeps, and the +deadlock is completed" -2009-10-23 13:19 robert - * Added CMake support for specifying what OpenGL target and - features that the OpenSceneGraph build should use. - - Added use of the new Cmake generated #define's for optionally - compiling parts of the OpenSceneGraph's OpenGL support for the - various OpenGL targets -2009-10-23 12:28 robert +Mon, 13 Jul 2009 08:30:20 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "ttached you'll find a small fix for the GraphicsWindowCocoa-implementation, which enhances multithreaded stability, it ensures that modifications to the size of an openglcontext is done only from one thread. " - * Updated wrappers +Sun, 12 Jul 2009 15:44:57 +0000 +Checked in by : Robert Osfield +Reverted erronous check-in (which was r10454) -2009-10-23 12:24 robert +Fri, 3 Jul 2009 19:16:53 +0000 +Checked in by : Robert Osfield +Added Dragger::s/getActivationModKeyMask(..) and Dragger::s/getActivationKeyEvent(...) methods to make it possible to have draggers that only respond when you press a specified modified key or standard key.Changed the optional dragger in osgvolume to require the shift key to be pressed for the dragger to become active. - * Fixed bug in dispatching per primitive attributes -2009-10-23 12:22 robert - * Added support for Vec4ubArray colour arrays +Fri, 3 Jul 2009 19:07:02 +0000 +Checked in by : Robert Osfield +From and incorported the addition from Paul Fotheringham, addition of define VCL_CAN_STATIC_CONST_INIT_FLOAT to be zero to solve build error under LinuxFrom Robert Osfield, general cleaned up ITK side to CMakeList.txt. -2009-10-23 09:24 robert + - * Fixed handling of Geometry::_internalOptimizedGeometry in the - Geometry::drawImplementation(..) -2009-10-23 08:21 shuber - * From Stephan Huber: updated XCode project, sensible default - config-file +Fri, 3 Jul 2009 18:58:01 +0000 +Checked in by : Robert Osfield +To the ITK code path added support for handling a whole directory of dicom files. -2009-10-22 14:40 robert +Fri, 3 Jul 2009 10:33:51 +0000 +Checked in by : Robert Osfield +Updated version numbers for 2.9.6 release - * Added #define for GL_TEXTURE0 as MS gl.h header is still stuck in - the nineties.... +Fri, 3 Jul 2009 10:27:58 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-10-22 12:56 robert +Fri, 3 Jul 2009 05:54:27 +0000 +Checked in by : Robert Osfield +Added TrackballDragger code path - * Fixed typo and updated wrappers +Fri, 3 Jul 2009 05:54:02 +0000 +Checked in by : Robert Osfield +Added callback to locator in support of interactive updating of the volume extents -2009-10-22 12:41 robert +Fri, 3 Jul 2009 05:52:52 +0000 +Checked in by : Robert Osfield +Added setUpGeometry to Dragger base class to make it easier to use draggers interchangably. - * From Stephan Huber, compile fix to OSX. +Fri, 3 Jul 2009 05:25:08 +0000 +Checked in by : Robert Osfield +Introduced a Locator callback and associated usage of this callback to provide interactive updating of the volume bounds -2009-10-22 12:06 robert +Thu, 2 Jul 2009 18:50:45 +0000 +Checked in by : Robert Osfield +Added support for a "-m" option that adds a tab box manipulator to allow positioning and resizing of the rendered volume - * Introduced Cmake generated #defines relevant to optionally - compile parts of the OSG for different OpenGL targets +Thu, 2 Jul 2009 18:49:59 +0000 +Checked in by : Robert Osfield +Refactored RayTracedTechnique to allow the position of the rendered part of the volume to be decoupled from the image data. -2009-10-22 12:04 robert +Wed, 1 Jul 2009 15:39:06 +0000 +Checked in by : Robert Osfield +From Byran Thrall, "The OpenFlight plugin doesn't handle unrecognized options or extra whitespace in all cases, causing it to crash." - * Removed, now inappropriate, references to glBegin/glEnd. +Wed, 1 Jul 2009 14:50:08 +0000 +Checked in by : Robert Osfield +Removed old references to CommandManager -2009-10-22 12:03 robert +Wed, 1 Jul 2009 14:49:30 +0000 +Checked in by : Robert Osfield +Added constructor and destructor body - * Updated wrappers +Wed, 1 Jul 2009 14:04:46 +0000 +Checked in by : Robert Osfield +Added osgGA to the dependency list -2009-10-22 12:01 robert +Wed, 1 Jul 2009 14:01:09 +0000 +Checked in by : Robert Osfield +Completed refactor of osgManipulator, key changes are: Selection is now just a typedef of osg::MatrixTransform, and is deprecated - * From Cedric Pinson, new StateAttributeCallback replacing - StateAttribute::Callback + CommandManager is shell class that just sets values directly on Dragger, and is deprecated -2009-10-22 10:33 robert + Dragger now has list of DraggerCallback that takes over the roll of tracking changes to the Dragger, and + allows users to track the dragger in any way they wish. - * From Cedric Pinson, "Here a patch to be able to clone - stateattribute, in order to do that i - moved the StateAttribute::Callback structure to a file - StateAttributeCallback with the same behavior as NodeCallback. - " + Dragger now has a convinience method making MatrixTransforms track a dragger. -2009-10-22 10:29 robert + Selection and CommandManager are no longer required for use of osgManipulator and are kept around for backwards compatibility. - * Removed old and now redundent code paths -2009-10-22 09:08 robert - * Updated wrappers -2009-10-22 08:51 robert +Wed, 1 Jul 2009 09:30:44 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, i miss to commit the file that contains the osgAnimation::StripAnimation::traverse - * Fixed type of GLBeginEndAdapter::MultiTexCoord*() and - VertexAttrib*(), and fixed the internal offsets used in - MultiTexCoord so it properly used the mapping texture_unit = - target - GL_TEXTURE0 +Tue, 30 Jun 2009 13:00:58 +0000 +Checked in by : Robert Osfield +Simplified Command and CommandManager -2009-10-22 08:28 shuber +Tue, 30 Jun 2009 12:41:59 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project, included osgPresentation - * From Stephan Huber: updated XCode project +Tue, 30 Jun 2009 11:55:49 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, Traverse StripAction instead of applying, this fix the execution of FrameCallback in BlendIn, BlendOut and AnimationAction\nFix warning of osgAnimation::StatsHandler\nFix crash when running example osganimationtimeline without nathan.osg in OSG_FILE_PATH or with bad file -2009-10-21 16:42 robert +Tue, 30 Jun 2009 11:39:39 +0000 +Checked in by : Robert Osfield +Refactored osgManipulator so that CommandManager is no longer required, instead Dragger directly manages Constaints and associate Selections. - * Added Translatef, Scalef, Rotatef methods, and fixed Color4f - method. +Tue, 30 Jun 2009 07:33:16 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-10-21 16:41 robert +Mon, 29 Jun 2009 21:32:10 +0000 +Checked in by : Robert Osfield +Introduced event handling directly into osgManipulator::Dragger to allow it be used with a global event handler passing in events. - * Removed redundent spaces +Fri, 26 Jun 2009 16:52:27 +0000 +Checked in by : Robert Osfield +Changed the definition of HAVE_CONFIG_H so that it's only defined when on a now windows system, so to allow the dcmtk/osconfig.h to include the correct header on unix vs widows. -2009-10-21 16:40 robert +Fri, 26 Jun 2009 16:39:44 +0000 +Checked in by : Robert Osfield +Added search in /usr/local/dicom for dcmtk. - * Removed remaining glBegin/glEnd usage +Fri, 26 Jun 2009 08:16:03 +0000 +Checked in by : Robert Osfield +Fixed warning -2009-10-21 16:31 robert +Fri, 26 Jun 2009 08:14:09 +0000 +Checked in by : Robert Osfield +Fixed warning - * Conveted osgText across to using GLBeginEndAdapter instead og - glBegin/glEnd +Thu, 25 Jun 2009 18:31:43 +0000 +Checked in by : Robert Osfield +Simplified throw rate code, and add throw rate compensation into zoom in/out code. -2009-10-21 16:16 robert +Thu, 25 Jun 2009 18:11:29 +0000 +Checked in by : Robert Osfield +From Lee Bulter, "I noticed that when "throwing" things the rate of motion once thrown was dependent on the complexity of the geometry. For complex scenes this meant that it looked like you were "throwing" the display into molasses. For simple geometry things get over-excited once thrown.The fix is to factor in the frame rendering time to the caluclated +motion. I've implemented this for rotation and panning. - * Converted all glBegin/glEnd code across to using - osg::GLBeginEndAdapter +Now when things are thrown they maintain a rate very close to what was +happening when the mouse button was released." -2009-10-21 15:48 robert - * Added stats handler to track performance effects of new - GLBeginEndAdapter usage -2009-10-21 15:45 cedricpinson +Thu, 25 Jun 2009 18:03:30 +0000 +Checked in by : Robert Osfield +Fixed library definition - * From Cedric Pinson, this commit contains the following change: - * Change ref_ptr to observer_ptr to avoid cross reference and - leak in Skinning - * Set invalidate to true to re run the check visitor in Skeleton - * Shallow copy Sampler in channel copy constructor - * Add accessor in VertexInfluence - * Remove dead code in Timeline.cpp - * Dont force linking in Bone::UpdateBone, the decision is done by - the user or the manager - * Add offset in timeline stats to display each manager on the - screen - * Add a flag in animation manager base to enable or not automatic - link when modifying the manager +Thu, 25 Jun 2009 16:12:58 +0000 +Checked in by : Robert Osfield +From Stephan Huber, fixes to Cocoa support -2009-10-21 14:14 robert +Thu, 25 Jun 2009 16:07:49 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "We are currently getting issues with locale settings and some osg plugins. Therefore I have changed all the occurances of atof by asciiToFloat or asciiToDouble.I believe that it is safe to do so at least for all the plugins. +Included here are also asciiToFloat conversion of environment variables. One +might argue that these should be locale dependent. But IMO these should be +set and interpreted by osg independent of the current locale. +" - * Added stats handler -2009-10-21 14:11 robert - * Removed the disabling of display lists in osg::Geometry to bring - it back to it's original behaviour +Thu, 25 Jun 2009 16:02:23 +0000 +Checked in by : Robert Osfield +Fixed warnings and refactored FindFFmpeg.cmake and ffmpeg plugin CMakeLists.txt scripts to better handle different instation combinations -2009-10-21 14:09 robert +Thu, 25 Jun 2009 13:31:48 +0000 +Checked in by : Robert Osfield +Converted tabs to spaces - * Added support for automatic vertex aliasing to new - ArrayDispatchers, and updated wrappers +Thu, 25 Jun 2009 13:26:26 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Fix possible problem with aliasing rules.. and fix a gcc warning :)Use a union to determine if we are on a little endian or big endian machine." -2009-10-21 11:18 robert +Thu, 25 Jun 2009 13:13:54 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "put texturemanager into osg namespace." - * Moved the ArrayDispatchers management so that osg::State now has - a ArrayDispatchers object that any osg::Geometry can reuse, - and optimized the implementation to reduce the CPU overhead. +Thu, 25 Jun 2009 13:10:31 +0000 +Checked in by : Robert Osfield +From Serge Lages, "Here is a little fix for the FFmpeg plugin. Previously the path computed by osgDB::findDataFile was not used, preventing loading files from directories inside the data path list." -2009-10-20 22:14 robert +Thu, 25 Jun 2009 13:00:01 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "please find attached some typo fixes in DatabasePager and a tweak to only print the addLoadedDataToSceneGraph stats when some work was actually done." - * Updated wrappers +Thu, 25 Jun 2009 09:14:47 +0000 +Checked in by : Robert Osfield +From Cory Riddell, "I added an _allowThrow boolean along with a getter and setter to the spherical manipulator. The default value is true.This is very similar to the flag in trackball." -2009-10-20 19:34 robert - * Refactored osg::Geometry::drawImplementation(..) to use new - osg::ArrayDispatchers that encapsulate the task - of dispatch osg::Array data as OpenGL attributes. - -2009-10-20 13:15 robert +Thu, 25 Jun 2009 08:53:28 +0000 +Checked in by : Robert Osfield +Added osgFX depedency - * Fixed typo of osg_ModelViewMatrix +Thu, 25 Jun 2009 08:52:23 +0000 +Checked in by : Robert Osfield +Added osgVolume dependency -2009-10-19 11:06 shuber +Thu, 25 Jun 2009 08:23:21 +0000 +Checked in by : Robert Osfield +Added export - * From Stephan Huber: updated XCode project +Thu, 25 Jun 2009 07:42:10 +0000 +Checked in by : Robert Osfield +Added CMakeLists.txt for osgPresentation -2009-10-19 08:58 robert +Wed, 24 Jun 2009 17:37:59 +0000 +Checked in by : Robert Osfield +Added use of REGISTER_OGRPLUGIN to enable static linking of plugins - * Fixed computation of osg_NormalMatrix +Wed, 24 Jun 2009 17:34:30 +0000 +Checked in by : Robert Osfield +Added ffmpeg and pdf to static build -2009-10-17 19:22 robert +Wed, 24 Jun 2009 17:33:01 +0000 +Checked in by : Robert Osfield +Added support for static compilation of pdf plugin - * Added support for multitexturing and vertex attributes to - GLBeginEndAdapter +Wed, 24 Jun 2009 16:45:55 +0000 +Checked in by : Robert Osfield +Fixed non windows path -2009-10-17 11:14 robert +Wed, 24 Jun 2009 16:14:53 +0000 +Checked in by : Robert Osfield +Renamed the temporary application name of present3D-osg to present3D. - * Fixed VS warning +Wed, 24 Jun 2009 16:03:49 +0000 +Checked in by : Robert Osfield +Refactored preset3D/p3d plugin so that common scene graph extensions and classes now live in a separate osgPresenttation NodeKit. -2009-10-16 18:50 robert +Wed, 24 Jun 2009 10:26:48 +0000 +Checked in by : Robert Osfield +Refactored the FFmpeg find script and the pdd CMakeLists.txt to improve the automatic detection of the required facilities - * Updated wrappers +Wed, 24 Jun 2009 10:10:09 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, Fix the drop of the first frame of action when adding action with addActionNow\nReport stats only for active animations\nAdd priority to RunAction callback -2009-10-16 17:22 robert +Tue, 23 Jun 2009 12:59:01 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, Fix clone operation for osgAnimation::Animation - * Updated wrappers +Tue, 23 Jun 2009 11:33:59 +0000 +Checked in by : Robert Osfield +Fixed warning -2009-10-16 16:26 robert +Tue, 23 Jun 2009 10:53:55 +0000 +Checked in by : Robert Osfield +Added explict search for stdint.h - * Ported osg::Geometry across to supporting the aliasing of vertex, - color and normal etc. calls to Vertex Attributes. - - Added support for automatic aliasing of vertex, normal, color - etc. arrays to Vertex Attribute equivelants. - - Added new osg::GLBeginEndAdapter class for runtime conversion - from glBegin/glEnd codes to vertex arrray equivelants. - - Added automatic shader source conversion from gl_ to osg_ - builtins. +Mon, 22 Jun 2009 18:04:36 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, fix clone for UpdateTransform -2009-10-11 06:05 robert +Mon, 22 Jun 2009 16:08:12 +0000 +Checked in by : Robert Osfield +Added support for reading from http and obj files in the static build of Present3D - * Made the use of the new projection and modelview matrix uniforms - optional +Mon, 22 Jun 2009 16:02:38 +0000 +Checked in by : Robert Osfield +Fixed swap size -2009-10-11 05:52 robert +Mon, 22 Jun 2009 14:24:59 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, fix constructors for cloning osgAnimation objects - * From Paul Martz, "A recent change to add the new geometry shader - primitive types has broken the build on Windows. On Windows, - those types are declared in the header GL2Extensions, but the - PrimitiveSet header (which uses those types) fails to include - that header, causing compile errors. - - Attached is a version of PrimitiveSet that includes - GL2Extensions." +Mon, 22 Jun 2009 13:08:06 +0000 +Checked in by : Robert Osfield +Updated authors for 2.9.5 release -2009-10-10 14:50 robert +Mon, 22 Jun 2009 12:46:51 +0000 +Checked in by : Robert Osfield +Update ChangeLog and contributors - * Updated Contributors list to fix for typo's in the ChangeLog, and - updated the AUTHORS file for 2.9.6. +Sun, 21 Jun 2009 17:28:59 +0000 +Checked in by : Robert Osfield +Added mutex lock to iniGLNames to prevent threading problems during initialization -2009-10-10 11:28 robert +Sat, 20 Jun 2009 17:03:38 +0000 +Checked in by : Robert Osfield +Added support for initial cut of static build of Present3D. - * Updated ChangeLog, wrappers and Contributors lists +Sat, 20 Jun 2009 11:35:22 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I found a bug in the osgText library in version 1.2 that I believe still exists in the latest version.I found that changing the alignment of a text object does not work properly if the text contains newline characters. I've attached a simple test case that shows the problem. If I set the text AFTER setting the alignment, everything works fine. But if I set the text BEFORE setting the alignment then the text is displayed incorrectly. -2009-10-10 11:26 robert +The fix is very simple. Instead of calling computePositions() in TextBase::setAlignment(), it calls computeGlyphRepresentation(). I've attached the modified TextBase.cpp." - * From Simon Julier, "Please find attached FindCOLLADA.cmake with a - patch for a framework naming issue for Mac platforms. - - The collada dom Makefiles actually build a framework called - Collada14Dom.framework (debug: Collada14Dom-d.framework). The - current CMake rules, however, only look for collada14dom. - Normally, the difference in case wouldn't matter but the rule - fails on case sensitive HPFS partitions. - " -2009-10-10 11:06 robert - * From Cesar L.B. Silveira, "I have written these few lines of code - which allow setting the label - of an osgWidget::Label with an osgText::String. I had to do this - on a - project I'm working on, because I needed UTF-8 strings on my - labels, - and using setLabel with std::string was not working. - " +Sat, 20 Jun 2009 08:18:58 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-10-10 11:00 robert +Fri, 19 Jun 2009 14:14:26 +0000 +Checked in by : Robert Osfield +From Gino van den Bergen, "AFAICS, OSG's OBJ loader correctly handles backslash-newlines that are used for continuation of lines. However, I recently ran into a problem with OBJs that where converted from another source using Right Hemisphere Deep Exploration. In these OBJs newlines are escaped in the following way:f 15939/9999/16177 15941/10000/16178 15940/10001/16179\ +15938/10002/16180 - * From Mathias Froehlich, "Tha attached change adapt previous - attemps to get our application using osg - through microsofts application verifier. The current change - should work a - little better ... - The change is based on rev 10605." +In the OBJ loader the newline would be interpreted as follows -2009-10-10 10:58 robert +f 15939/9999/16177 15941/10000/16178 15940/10001/1617915938/10002/16180 - * From Mathias Froehlich, "This change eliminate an orphan stats - block that sticks somewhere in the - screen stats display." +However, for correctly loading the model it should be interpreted as -2009-10-10 10:54 robert +f 15939/9999/16177 15941/10000/16178 15940/10001/16179 15938/10002/16180 - * Updated wrappers +Thus, the escaped newline should be interpreted as a space. -2009-10-10 10:07 robert +I tried to lookup what the correct interpretation for a backslash-newline was in the OBJ spec but did not find anything useful. Nevertheless, my suggestion would be to adopt replacing the escaped newline by a space in order to avoid problems as stated above. I cannot imagine a meaningful usage of a newline within a numerical literal so I do not foresee cases where replacing a backslash-newline by a space would be harmful. The fixed obj.cpp is zipped and attached to this mail." - * From David Fries, "The Extensions object was calling - _gl_get_query_objectui64v but - checking _gl_get_query_objectuiv_arb which is a different - function - pointer. Changed to check the function being called. - - This is against the subversion trunk." -2009-10-10 10:00 robert - * From Chris Denham, "I discovered a memory leak in the ZIP plugin, - which was caused by a missing call to CloseZip. - I attach a modified ReaderWriterZIP.cpp (based on version 2.9.5 - revision 10374). - This includes a little bit of code tidying, but the only - functional change is a test of the return value of OpenZip and - the addition of a call to CloseZip." +Fri, 19 Jun 2009 13:53:35 +0000 +Checked in by : Robert Osfield +Changed the debug output so that the code path is not run unless it's needed -2009-10-10 09:53 robert +Fri, 19 Jun 2009 13:50:14 +0000 +Checked in by : Robert Osfield +From Jean-Sebastian Guay and Robert Osfield, added line numbers to debug shader output - * From Wojciech Lewandowski, "ref_ptr usage changes made on 9th of - June broke VirtualProgram used in osgShaderCompositor example. - Taking the opportunity I modified the code a little to use earth - sphere as default model. Cow.osg used previously was not looking - good in advanced example. I also changed default to advanced - example, because its more informative with labels describing - virtual programs used to render the objects." +Fri, 19 Jun 2009 13:09:31 +0000 +Checked in by : Robert Osfield +From Tom Jolly, "A new compiler and a new warning.Enclosed is include/osgParticle/Particle. I removed the const from the +return type of getSTexCoord. I also changed the name on the next +function to getTTexCoord so it is consistent with getSTexCoord. If you +prefer to change getSTexCoord to getSCoord you will need to change it in +ConnectedParticleSystem.cpp." -2009-10-10 09:45 robert - * From Stephane Lamoliatte, "Here is a patch wich add two missing - GL modes in the osg plug'in." -2009-10-10 09:44 robert +Fri, 19 Jun 2009 11:55:52 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "Here are my changes:- osg::Texture sets GL_MAX_TEXTURE_LEVEL if image uses fewer mipmaps than +number from computeNumberOfMipmaps (and it works!) +- DDS fix to read only available mipmaps +- DDS fixes to read / save 3D textures with mipmaps ( packing == 1 is +required) +- Few cosmetic DDS modifications and comments to make code cleaner (I hope) - * To fix warning removed unncessary , from end to enum list. +Added _isTextureMaxLevelSupported variable to texture extensions. It +could be removed if OSG requires OpenGL version 1.2 by default. -2009-10-10 09:41 robert +Added simple ComputeImageSizeInBytes function in DDSReaderWrites. In +my opinion it would be better if similar static method was defined for +Image. Then it could be used not only in DDS but other modules as well (I +noticed that Texture/Texture2D do similar computations). - * From Stephane Lamoliatte, "Here is a patch wich improves the - support for geometry shaders in OpenSceneGraph. - It adds new PrimitiveSet constants for the specific geometry - shader primitive types : - - LINES_ADJACENCY - - LINE_STRIP_ADJACENCY - - TRIANGLES_ADJACENCY - - TRIANGLE_STRIP_ADJACENCY - It also adds some missing features to the glsl reader plug'in. - " +Also attached is an example test.osg model with DDS without last mipmaps to +demonstrate the problem. When loaded into Viewer with current code and moved +far away, so that cube occupies 4 pixels, cube becomes red due to the issue +I described in earlier post. When you patch DDS reader writer with attched +code but no osg::Texture yet, cube becomes blank (at least on my +Windows/NVidia) When you also merge osg::Texture patch cube will look right +and mipmaps will be correct." -2009-10-10 09:38 robert - * From Roger James, "When you merged my last set of changes into - FindCOLLADA.cmake you omitted the changes to find the DOM22 - libraries. Collada 1.4 DOM 2.2 seems to work OK for me on windows - platforms. I have attached the changes again if you want to apply - them." -2009-10-10 09:35 robert +Fri, 19 Jun 2009 11:31:15 +0000 +Checked in by : Robert Osfield +From Don Liech, Qt/OSG integration example - * From Cedric Pinson, "Here an update of osganimationtimeline - example, the callback did not - follow the callback api, i updated to fix this, then the callback - are - called correctly." +Fri, 19 Jun 2009 11:16:24 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-10-10 09:26 robert +Fri, 19 Jun 2009 11:04:48 +0000 +Checked in by : Robert Osfield +Added append() method - * From Jean-Sebastien Guay, "osgWidget::Window::setWindow() calls - parented() (which does an addChild()) on the new window, but it - does not call unparented() (which does a removeChild()) on the - old window before. So it works fine if there was no window - previously, but if an app creates new windows and calls - setWindow() to replace the previous one, they will all add up - instead and be on top of each other... - - This is fixed in the file attached." +Fri, 19 Jun 2009 11:00:33 +0000 +Checked in by : Robert Osfield +Added clears to various vectors being passed in to get*() methods. -2009-10-10 09:23 robert +Fri, 19 Jun 2009 10:55:12 +0000 +Checked in by : Robert Osfield +From Cory Riddell, "I added a line to clear the threads vector prior to populating it in Viewer::getAllThreads(). This is consistent with what happens in Viewer::getOperationThreads()." - * From Bob Kuehne, "imageio plugin fix, mac os x : remove - double-qualified ctor - illegal syntax under gcc 4.2.1" +Thu, 18 Jun 2009 10:01:39 +0000 +Checked in by : Robert Osfield +From Cedric Pinson and Robert Osfield, addition of NodeCallbacks to osg::CopyOp and osg::Node copy constructor. -2009-10-10 09:20 robert +Thu, 18 Jun 2009 08:29:20 +0000 +Checked in by : Robert Osfield +Added exports - * From Bob Kuehne, "fix for 10.6/darwin: this fix changes what i - believe to be a typo in the os x darwinutils file from ID to id, - the proper objective-c name for a type." +Thu, 18 Jun 2009 08:22:24 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-10-09 13:39 robert +Thu, 18 Jun 2009 08:18:10 +0000 +Checked in by : Robert Osfield +From Rene Molenaar, "The bug is as described above:"The dragger's corner tabs are no longer in the corners." - * Introduced new uniforms for tracking the modelview and project - matrices in shaders using non built-ins. +this fix places the cornertabs back in the corners. +(the manipulator does not make sense otherwise)." -2009-10-09 10:39 robert - * Added use of binding of vertex attributes to names -2009-10-08 16:23 robert +Wed, 17 Jun 2009 16:54:39 +0000 +Checked in by : Robert Osfield +Replaced forward declarations - * Added remapping of gl_ and ftransform() variables to osg_ - equivalents. +Wed, 17 Jun 2009 16:54:12 +0000 +Checked in by : Robert Osfield +Added ".added", ".modified" and ".removed" alias to .revisions plugin -2009-10-08 15:58 robert +Wed, 17 Jun 2009 15:12:58 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Implemented remapping of gl_ builtins vertex attributes to osg_ - equivlants. +Wed, 17 Jun 2009 15:12:50 +0000 +Checked in by : Robert Osfield +Made method names consistent with each other -2009-10-08 14:29 robert +Wed, 17 Jun 2009 11:00:14 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, "the new changes in osgAnimation showed some errors on the Cygwin platform:1 - osgAnimation/StatsHandler includes , but on Cygwin only std::isnan +is defined that way. I changed it to as it is done in the rest of +the OSG. - * New osgvertexattributes example designed to test conversion of - fixed function scene graphs to use vertex shaders - and vertex attributes. +2 - Pulling some osgViewer headers from the same file in osgAnimation makes +the former a new dependency. Thus, I got errors at osgAnimation linking time. +I wonder why nobody noticed this on other platforms. I have updated the +CMakeLists.txt file in order to link to the needed libraries, and -2009-10-08 14:13 shuber +3 - I have updated the openscenegraph-osgAnimation.pc.in file accordingly." - * From Stephan Huber: updated XCode project -2009-10-08 13:33 robert - * Fixed vertex attribute access bug +Wed, 17 Jun 2009 10:39:39 +0000 +Checked in by : Robert Osfield +Changed build OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION to ON and then fixed all the resulting build errors. -2009-10-08 10:44 robert +Wed, 17 Jun 2009 08:56:11 +0000 +Checked in by : Robert Osfield +Fixed error in DisplaySettings::setNumOfHttpDatabaseThreadsHint - * Quitened down debug messages +Tue, 16 Jun 2009 13:02:33 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-10-08 09:27 robert +Tue, 16 Jun 2009 12:32:02 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, Fix osgAnimation warning and errors - * Cleaned up the #define's for when GLU is not available +Tue, 16 Jun 2009 12:22:36 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, Fix osgAnimation warning and errors for Bone.cpp -2009-10-08 07:54 robert +Tue, 16 Jun 2009 10:20:41 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project - * Fixed warning +Mon, 15 Jun 2009 14:48:37 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, split timeline classes in differents files, cleanup and add a statshandler to visualize current action in timeline -2009-10-07 19:42 robert +Sun, 14 Jun 2009 23:30:47 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, fix copy constructor for clone operation for Bone, add a missing contructor with quaternion for Target - * Introduced optional build against the GLU library, using optional - compile paths to enable/disable GLU related function. - - To toggle the use of the GLU library adjust the OSG_GLU_AVAILABLE - variable via ccmake . or CMakeSetup. +Fri, 12 Jun 2009 10:37:42 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-10-07 18:50 robert +Fri, 12 Jun 2009 10:08:15 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "attached is a change to the ProxyNode that also includes ProxyNode local database options like recently added to PagedLOD.Also there is a change to the traverse method: +The previous ProxyNode checks the VisitorType to be a CULL_VISITOR and the +presence of a request handler to submit a database request. +In contrast to that PagedLOD uses the request handler if it is there - even if +the visitor type is not a cull visitor. +The change removes the cull visitor test from the ProxyNode so that it behaves +like the PagedLOD. +I believe that the presence of a request handler in a visitor might be +sufficient to trigger the requests as this is done in the PagedLOD anyway. - * Fixed handling of rescale of image +Based on rev 10332." -2009-10-07 13:02 robert - * Fixed setUsage typo in PixelDataBufferObject, and fixed data - pointer management in Texture::applyTexImage2D_subload(). -2009-10-07 12:54 robert +Fri, 12 Jun 2009 10:00:08 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "here are some small fixes/enahncements for the cocoa backend to allow proper functioning when running the osgViewer run-loop in a secondary thread (e.g. when embedding GraphicsWindowCocoa-windows in a full blown cocoa application).OS X is picky when you want to change the user-interface from another +thread than the main thread, not all UI stuff is thread-safe. So now +window closes and showing / hiding the menu bar is done in the main +thread via Cocoa's performSelectorOnMainThread-mechanism. - * From J.P. Delport, fixed bug caused by a typo in - PixelBufferObject constructor +These changes don't affect the normal osgViewer usage pattern." -2009-10-07 09:39 robert - * Fixed warnigns -2009-10-06 13:42 robert +Fri, 12 Jun 2009 09:57:45 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "there seems to be a bug in the proxynode writer introduced in svn rev 10330. It craches on a null pointer for options (on my windows system). Fixed version of the file "src\osgPlugins\osg\ProxyNode.cpp" attached, based on svn rev 10332." - * Fixed the TextureObject's + GLBufferObject reassignment to a new - set. - - Disabled the unref after apply for a Texture classes when the - texture pool is enabled +Fri, 12 Jun 2009 09:48:59 +0000 +Checked in by : Robert Osfield +From Konstantin Sinitsyn, "I've fixed bug with loading of compressed texture to texture array!" -2009-10-06 09:28 robert +Fri, 12 Jun 2009 09:41:10 +0000 +Checked in by : Robert Osfield +From Roger James and Robert Osfield, clean up of COLLADA CMake support - * Refactored the ::getOrCreate*Object() methods to clean them up - and fix a bug in the getOrCreateElementsBuffers method. +Fri, 12 Jun 2009 09:11:37 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2009-10-05 13:41 robert +Thu, 11 Jun 2009 15:13:04 +0000 +Checked in by : Robert Osfield +Fixed copy constructor - * From Andreas Goebel, fix to bug in - ShapeDrawable::accept(PrimitiveFunctor) implementation for - cylinder +Thu, 11 Jun 2009 14:56:54 +0000 +Checked in by : Robert Osfield +Replaced frame delta computation that was originally based on a local static variable, replacing it with member variable to tracking the previous frame time. This fixes a bug in the wind computation when multiple PrecipitaionEffects are in the scene. -2009-10-04 08:52 robert +Wed, 10 Jun 2009 09:24:12 +0000 +Checked in by : Robert Osfield +From Emmanuel Roche, "I've updated the CURL plugin to support the CURL_CONNECTTIMEOUT and CURL_TIMEOUT options.Those two additional options can now be set using the Options::setOptionsString() function (just like the already existing OSG_CURL_PROXY & OSG_CURL_PROXYPORT options). - * Added missing export +This is a convient solution to limit the freezing effect one may face in case the targeted server is down or too slow. -2009-10-03 15:10 robert +I successfully compiled and used this updated version on Windows in my application. - * Removed erroneous inclusion of extra GLBufferObjectManager - qualifier that broke Windows build +And by default those settings are not set (so no change in the behavior if you don't need them). +" -2009-10-03 09:25 robert - * Introduced new GLBufferObject pool for managing the memory - footprint taken up by VertexBufferObejct, ElementBufferObject and - PixelBufferObject. -2009-10-01 20:19 robert +Tue, 9 Jun 2009 08:43:13 +0000 +Checked in by : Robert Osfield +From Gustav Happalahti, fixed filename usage - * Introduced new BufferObject design + implementation in - preperation of implementing a pool system for buffer objects +Mon, 8 Jun 2009 16:50:50 +0000 +Checked in by : Robert Osfield +From Gustav Haapalahti and Robert Osfield,First Submission email from Gustav: +"This submission adds a --cache option to osgconv and osgviewer that enables setObjectCacheHint(osgDB::Options::CACHE_ALL); It greatly reduces memory usage when a .osg file has lots of external references with ProxyNode:s that points to the same file. -2009-10-01 17:08 cedricpinson +Options are also added to the osg plugin. The code was already mostly implemented but there was no way to change the options. +includeExternalReferences +writeExternalReferenceFiles +A counter is added to keep track if an external file has already been written down to avoid writing the same file over and over again. If it has already been written once then it is not written again. +The counter is added to the Output class in osgDB. +" - * From Michael Platings, In Target, the default constructor is - explicitly called on _target. This is necessary for FloatTarget - and DoubleTarget so that _target is initialised to 0, otherwise - you get a junk value. In MorphGeometry.cpp, UpdateMorph::link now - links channels of the same index to the same target. Previously a - new FloatTarget was created for each channel, so multiple - animations didn't work. +Second Submission email from Gustav: +"This is a continuation to my previous submission. +I noticed that the same problem that I fixed in ProxyNode.cpp for the osg plugin (external files being written over and over again) also existed in the ive plugin. I attached a submission where the ive plugin remembers which external files that have already been written and do not write them again." -2009-09-27 15:21 robert - * Fixed warning about max texture size being smaller than the - currently used texture pool size +Changes to the above done by Robert Osfield, -2009-09-27 15:14 robert + changed command line parameter to --enable-object-cache + changed set/get methods in osgDB::Output and ive/DataOutputStream.cpp to be s/getExternalFileWritten(const std::string&) + cleaned up set up of osgDB::Options. - * Added handling of resetting of the texture object format -2009-09-27 14:38 robert - * Added status collection to full range of texture classes -2009-09-26 16:28 robert - * Improved the computation of the TextureProfile _size value, fixed - the computation up of the miplevels +Mon, 8 Jun 2009 14:06:58 +0000 +Checked in by : Robert Osfield +Martin Beckett, "Here's a first attempt at a DXF writer pluginAt the moment it outputs DXF for whatever geometry is contained in the node it would be nice to draw the model as it is rendered (points/lines/surface) -2009-09-25 18:05 robert +If people could also test against other apps that need to read DXF, the format is a bit of a black art and not all importers support all features so it might need some options to tweak the output. - * Added stats collection to new Texture Pool code, and improved - TexturePool implementation. - - The Texture Pool can be enabled by setting the env var - OSG_TEXTURE_POOL_SIZE=size_in_bytes. - Note, setting a size of 1 will result in the TexturePool - allocating the minimum number of - textures it can without having to reuse TextureObjects from - within the same frame. +It has some rather clever colour lookup stuff to match real colours against the limited DXF palette. I cracked the code of the Autocad indexed colours!" -2009-09-25 18:03 robert - * Fixed warning -2009-09-24 10:11 robert - * Added return at end of to fix warning +Mon, 8 Jun 2009 13:51:24 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Without this change packed depth stencil attachments are only supported if the GL_EXT_framebuffer_blit extension is available. This is due to the early return from the constructor if this is missing. As far as I read the standard extension documents, this blit call is not required to have packed depth stencil fbos. The change fixes this and allows packed stencil attachments on machines without the multisample blit command." -2009-09-23 15:16 robert +Mon, 8 Jun 2009 13:47:25 +0000 +Checked in by : Robert Osfield +Addded .ive and .osg support for new GL_EXT_blend_equation_separate properties in osg::BlendEquation - * From Jean-Sebastien Guay, fixed Widows build and updated the SO - version +Mon, 8 Jun 2009 13:46:39 +0000 +Checked in by : Robert Osfield +From Konstantin Sinitsyn, support for GL_EXT_blend_equation_separate extension like in osg::BlendEquation. -2009-09-23 14:54 robert +Mon, 8 Jun 2009 12:50:26 +0000 +Checked in by : Robert Osfield +Added basic Matrix::decompose() test, based on a test progrem wrttien by Paul Obermeier - * Moved setting of TexturePoolSize into State. +Mon, 8 Jun 2009 12:44:23 +0000 +Checked in by : Robert Osfield +Fixed doc message -2009-09-23 13:51 robert +Mon, 8 Jun 2009 11:12:34 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, "this correction makes the intensity interpolated in the correct direction when the angle is between _cosFadeAngle and _cosAngle." - * Introduced memory pool size management +Mon, 8 Jun 2009 10:54:16 +0000 +Checked in by : Robert Osfield +Fixed warning -2009-09-22 18:45 robert +Mon, 8 Jun 2009 10:27:21 +0000 +Checked in by : Robert Osfield +Changed the file search path so it returns an empty string when the filename contains a server address. - * Preliminary work on support for a texture object pool that is - designed to help manage resources down the GPU more tightly. +Mon, 8 Jun 2009 09:47:27 +0000 +Checked in by : Robert Osfield +From Johan Nouvel, fix to handling of transparent textured objects.Tweak from Robert Osfield, commented out disabling of depth write as this is not appropriate by default. -2009-09-20 09:26 robert - * Change win32 external library to wsock32.lib -2009-09-19 09:18 robert +Fri, 5 Jun 2009 19:05:37 +0000 +Checked in by : Robert Osfield +Added collateReferencesToDependentCameras() and clearReferencesToDependentCameras() methods into RenderStage and SceneView, and use of these methods in src/osgViewer/Renderer.cpp to make sure that the draw thread keeps references to all in scene graph Cameras that are being used by the drawing threads, to keep the Camera's alive even when the main thread removes these Cameras from the scene graph. - * Added Ws2_32.lib to link of dicom plugin under Win32 +Fri, 5 Jun 2009 11:48:35 +0000 +Checked in by : Robert Osfield +Added depends_on template and usage in RenderBin to help with static variable destruction ordering -2009-09-17 13:40 robert +Fri, 5 Jun 2009 10:42:53 +0000 +Checked in by : Robert Osfield +Fixed warning - * Introduced new osgQtBrowser example. +Thu, 4 Jun 2009 14:37:02 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-09-14 16:07 robert +Thu, 4 Jun 2009 14:07:12 +0000 +Checked in by : Robert Osfield +Implemented updating of revision files as new data is writing to the FileCache - * Updated wrappers +Tue, 2 Jun 2009 16:58:32 +0000 +Checked in by : Robert Osfield +Added osgdatabaserevisions example to server as a testbed for new osgDB::DatabaseRevisions functionality -2009-09-11 13:08 robert +Tue, 2 Jun 2009 16:54:34 +0000 +Checked in by : Robert Osfield +Implemented DatabasePath in DatabaseBase revision classes - * Fixed bug in interpolation of colour values +Tue, 2 Jun 2009 08:56:32 +0000 +Checked in by : Robert Osfield +Refactored the adaption of X11 key symbols into OSG key events to fix problems with handling wide range of locales. -2009-09-10 16:39 robert +Tue, 2 Jun 2009 08:53:21 +0000 +Checked in by : Robert Osfield +Moved assigned of texture object to _textureObjectBuffer to earlier in Texture2D::apply() to prevent problems with non power of two texture mipmap generation. - * Added tf-255 option to volume tag +Mon, 1 Jun 2009 11:22:42 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, Fixed handling of empty Program. -2009-09-09 18:13 cedricpinson +Mon, 1 Jun 2009 11:08:34 +0000 +Checked in by : Robert Osfield +From Emmanuel Roche, "I've also updated the computeBound() method from the osg::Transform class : this method was using float based temporary variables and thus the double precision is lost here. I've changed that to use the generic types osg::BoundingSphere::vec_type and osg::BoundingSphere::value_type instead." - * From Cedric Pinson, Fix createKeyframeContainerFromTargetValue to - recreate its sampler from scratch to not change keyframe - container of another sampler +Mon, 1 Jun 2009 11:07:07 +0000 +Checked in by : Robert Osfield +From Emmanuel Roche, "I'm joining an updated version of the file daeWritter.cpp and daeWriter.h for the collada plugin compatible with the usage of double precision BoundingSphere & BoundingBox. The only change is the addition of the template specialization for osg::Vec3d object (until now only the specialization for osg::Vec3 was defined, I replaced that with osg::Vec3f to be more "precise")." -2009-09-09 15:22 robert +Sat, 30 May 2009 07:39:59 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added reset of the ImageDetails values of TexelOffset and - TexelScale. +Fri, 29 May 2009 18:24:47 +0000 +Checked in by : Robert Osfield +Added revisions plugin in support of paged database revisions. -2009-09-09 13:31 robert +Fri, 29 May 2009 09:39:17 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project - * Added support for using the ImageDetails to fill in the Locator - and TexelScale/Offset values in the ImageLayer +Fri, 29 May 2009 08:46:58 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-09-09 13:23 robert +Fri, 29 May 2009 08:24:52 +0000 +Checked in by : Robert Osfield +Ran dos2unx of files - * Added support for "--output filename.osg" command line option to - avoid debugging of generated presentations +Fri, 29 May 2009 08:24:11 +0000 +Checked in by : Robert Osfield +Introduced first iterations of DatabaseRevision classes for managing the revisioning of http hosted databases -2009-09-09 09:54 cedricpinson +Thu, 28 May 2009 16:46:11 +0000 +Checked in by : Robert Osfield +Fixed warning - * From Cedric Pinson, remove unsused files - include/osgAnimation/AnimationManager and - src/osgAnimation/AnimationManager.cpp +Thu, 28 May 2009 14:15:36 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "This frees some memory that is allocated by the X11 functions." -2009-09-09 09:52 cedricpinson +Thu, 28 May 2009 14:12:03 +0000 +Checked in by : Robert Osfield +Fixed unitialized variable - * From Michael Platings, I have removed Target::normalize() as - calling it was incorrect - the interpolation is already done in - such a way that the Target's value is always normalized. - Finally, I have fixed TemplateTarget::lerp() as it was - giving incorrect results when interpolating between some small - rotations. - From Cedric Pinson, i renamed the method in channel to be more - general. Adjusted the CubicBezier key constructor to use a single - value as input. +Thu, 28 May 2009 14:09:16 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a small fix for GrphicsWindowCocoa. There was a bug with certain key-strokes, which led to a crash." -2009-09-08 15:36 robert +Thu, 28 May 2009 13:40:54 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "I suppose this error is caused by using 4 component tex coord in texture2D call. I always forget about adding .xy swizzle at the end of tex coord. I have attached code (hopefully fixed). My NVidia seems to ignore such errors. Cannot test it myself. Simple example works because I actually use textture2Dproj there." - * Tweaked debugging info +Thu, 28 May 2009 13:29:20 +0000 +Checked in by : Robert Osfield +From Gregory Jaegy and Robert Osfield, added support for static linking of OpenFlight plugin -2009-09-08 15:36 robert +Thu, 28 May 2009 13:26:06 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Fixed the set up of osgVolume::ImageLayer scale and offset. +Thu, 28 May 2009 12:25:35 +0000 +Checked in by : Robert Osfield +From Neil Hughes, "Two changes here...1. I've implemented an option controlled route by which users can still access the old method of extracting the zip content to the local filesystem. This is in response to Ulrich's comments about zip files encorporating files other than those that OSG knows about, but which an application may require. -2009-09-07 12:51 robert +To access this the user makes the following call on their options object that they pass to the reader. Without it, the plugin will extract by default to memory. - * Added filter for .filename files +local_opt->setPluginStrData("zipextract","filesystem"); -2009-09-07 12:21 shuber - * updated XCode project +2. The second change is that I've moved the declaration of one of the variables to within the numitems loop so that if loading of a specific file within the zip fails, subsequent files still load correctly. This was the issue that Ulrich raised." -2009-09-07 10:54 robert - * Updated volume setup code to use the new ImageDetails structure. -2009-09-07 10:50 robert +Thu, 28 May 2009 08:25:18 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added check for null masterLocator +Wed, 27 May 2009 13:02:01 +0000 +Checked in by : Robert Osfield +Renamed application osgvirtualprogram to osgshadercompostior to better reflect it function -2009-09-07 08:30 robert +Wed, 27 May 2009 13:00:58 +0000 +Checked in by : Robert Osfield +Renamed osgvirtualprogram to osgshadercompositor to better reflect it's function - * Fixed assingment of layerLocator +Wed, 27 May 2009 12:11:41 +0000 +Checked in by : Robert Osfield +Fixed glStencilMask setting. -2009-09-04 09:11 robert +Wed, 27 May 2009 09:54:17 +0000 +Checked in by : Robert Osfield +Added support for RenderBin::SortMode::TRAVERSAL_ORDER to enable rendering of scene graph drawables in the order that they were traversed in. - * Fixed empty lines +Wed, 27 May 2009 09:45:46 +0000 +Checked in by : Robert Osfield +Fixed warning -2009-09-03 14:39 robert +Tue, 26 May 2009 14:22:56 +0000 +Checked in by : Robert Osfield +From Jan Ciger, "I am attaching the updated VRML plugin, as promised. This version works with OpenVRML 0.17.12 and Boost 1.38. Other versions may work too, but I didn't test that." - * Added scaling of shader transfer function input values to honour - original dicom input values +Tue, 26 May 2009 11:00:26 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "please find a patch for the DirectX loader to use std::istreams. This will make it usable with the zip plugin." -2009-09-03 13:40 robert +Tue, 26 May 2009 10:10:11 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Renamed the osgVolume::Layer/ImageDetails parameters - RescaleIntercept and RescaleSlope to more general TexelOffset and - TexelScale, and changed type to Vec4. - - Refactored the transfer function set up in RayTracedTechnique to - prepare for new scale and offset uniforms. - - Updated wrappers +Mon, 25 May 2009 16:34:26 +0000 +Checked in by : Robert Osfield +Refactored the GraphicsWindowX11::adaptKey() implementation so that it always uses the reampX11Key(ks) method, and for the mapping to handle case correctly. -2009-09-01 10:48 robert +Mon, 25 May 2009 13:02:14 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, VirtualProgram example that illustrates how one can create a custom system for composing shaders within the scene graph. - * Added support for recording the RescaleIntecept and RescaleSlope - from the dicome files and passing these values onto - osgVolume::ImageLayer +Mon, 25 May 2009 12:07:34 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-08-31 15:10 robert +Mon, 25 May 2009 12:04:29 +0000 +Checked in by : Robert Osfield +Changed Status enums to ActionStatus and TimelineStatus to avoid X11 problems - * Updated wrappers +Mon, 25 May 2009 11:16:54 +0000 +Checked in by : Robert Osfield +Added initializer of ParticleSystemUpdater::_frameNumber -2009-08-31 10:37 cedricpinson +Mon, 25 May 2009 11:12:38 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "Two fixes for LUMINANCE and ALPHA_LUMINACE pixel formats written into DDS file. Component masks were incorrect. I tested results with ultimate DDS compatibitlity tester ie Microsoft DirectX Texture tool ;-). I have also added comment with warning about possible problems when writing other than 8 bit component pixel formats. " - * From Cedric Pinson, add missing files +Mon, 25 May 2009 10:46:37 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "The latest osg::notify is crashing at initialisation on Solaris, due to constructor issues:Within the NullStream & NotifyStream classes the base class objects +(ostream) were being initialised before the class member _buffer objects +which they referenced, causing a crash. -2009-08-31 09:40 cedricpinson +I had to move the file scope g_NullStream & g_NotifyStream initialisation +into a function to get them to work. - * From Cedric Pinson, The following modification are - Update Timeline.cpp to add current layer to the ActionVisitor, - use correctly the priority - Add accessors in Action.cpp to retrieve protected data - Split files and rename them to classname - Change de default color of UpdateMaterial to FFOOFF to detect - unset value - Add accessors in LinkVisitor instead of accessing data directly - Update osganimationtimeline example to fit the api callback +Also there was a missing osg:: qualifier on getNotifyHandler." -2009-08-27 19:25 robert - * Fixed the compute of the extents/bounding sphere -2009-08-27 16:42 robert +Fri, 22 May 2009 08:31:58 +0000 +Checked in by : Robert Osfield +From Alberto Luacas, added new pkg-cofig files - * Added support to .p3d format's volume tag for the properties: - - region="xmin ymin zmin xmax ymax zmax" - alpha="float_value" - cutoff="float_value" - sampleDenstiy="float_value" +Fri, 22 May 2009 07:52:25 +0000 +Checked in by : Robert Osfield +From Alberto Luacas, separate pkg-config .pc files -2009-08-27 16:21 cedricpinson +Thu, 21 May 2009 16:33:38 +0000 +Checked in by : Robert Osfield +Fixed handling of case where the master and the slave camera are placed on the same GraphisContext, or when the master camera and slave camera are assigned to different Camers. Note normally one doesn't mix master with GraphicsContexts and slave cameras so neither case is common. - * From Michael Platings, I've moved the matrix updating from - UpdateSkeleton to UpdateBone. UpdateSkeleton now merely checks - that Bones appear before other children and issues a warning if - this isn't the case +Thu, 21 May 2009 08:37:04 +0000 +Checked in by : Robert Osfield +Added a default value to avoid warning -2009-08-26 16:39 cedricpinson +Wed, 20 May 2009 12:14:45 +0000 +Checked in by : Robert Osfield +Fixed warnings - * From Michael Platings, I've just added a few simple accessors I - found necessary +Wed, 20 May 2009 12:06:57 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-08-26 09:24 cedricpinson +Wed, 20 May 2009 11:14:27 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Michael Platings, - - Animations with equal priority are now weighted correctly - relative to each other - - (minor) Channels no longer store their weight as the only time - it's used is in update() when Animation can pass in the weight - directly - From Cedric Pinson, - - I adjusted the quaternion blending to keep the commutativy - property +Wed, 20 May 2009 11:08:57 +0000 +Checked in by : Robert Osfield +Changed TerrainManipulator to use HEADING rather than AZIM to keep it consistent with SphericalManipulator -2009-08-22 17:13 robert +Wed, 20 May 2009 10:58:29 +0000 +Checked in by : Robert Osfield +Converted SphericalManipulator to use Elevation and Heading rather than Zenith and Azimuth. - * From Michael Platings, "the DAE importer was crashing when - calling osg::Object::setName with a null pointer argument. Rather - than trying to fix all the places this might happen and probably - missing a few, I thought it would be better to trivially validate - the input in setName. With this fix if setName is called with a - null pointer then the name is cleared." +Tue, 19 May 2009 16:12:27 +0000 +Checked in by : Stephan Maximilian HUBER +updated XCode-project -2009-08-21 13:55 robert +Tue, 19 May 2009 15:11:49 +0000 +Checked in by : Robert Osfield +Fixed typo - * Fixed osgAnimation wrappers +Tue, 19 May 2009 15:10:41 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-08-21 12:53 robert +Tue, 19 May 2009 14:03:09 +0000 +Checked in by : Robert Osfield +From Martin Beckett, "In MatrixManipulator can we have computeHomePosition() use _homeUp rather than the hardcoded (0,0,1). This makes it possible to redefine the viewing direction of 'home' in the other manipulator - so home in a GIS app could be a plan view. Since _homeUp is set to (0,0,1) and no current code changes it there shouldn't be any difference for current users." - * Updated wrappers +Tue, 19 May 2009 12:25:54 +0000 +Checked in by : Robert Osfield +Attempt to fix Cygwin build failure -2009-08-21 11:31 robert +Tue, 19 May 2009 12:21:42 +0000 +Checked in by : Robert Osfield +Changed the default home position so that it's consistent with other OSG manipulators. Added setter of properties of the SphericalManipualtor, moved across to using doubles internally - * From Magnus Kessler, "At the end of the void function - osg::Animation::TemplateStepInterpolator::getValue the code tries - to return - the result rather than assigning it to the result parameter - reference. - - The following patch fixes this." +Tue, 19 May 2009 11:18:03 +0000 +Checked in by : Robert Osfield +From Mojtaba Fathi, "I've developed a new manipulator which uses azimuth and zenith angles to rotate scene and so avoids Roll angle rotation, such that scene is always seen as Z upward." -2009-08-21 10:18 robert +Tue, 19 May 2009 10:45:57 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "when using windownames and switching between fullscreen and windowed mode GraphicsWindowCocoa crashes. Attached you'll find a fix for that bug. " - * Fixed handling of double precision bounding sphere type. +Tue, 19 May 2009 10:42:49 +0000 +Checked in by : Robert Osfield +From Stephan Huber, replaced #include with #include to fix build under OSX -2009-08-21 09:54 robert +Tue, 19 May 2009 10:35:50 +0000 +Checked in by : Stephan Maximilian HUBER +updated XCode-project - * From Stephane Lamoliatte, "I just add the a missing getView() - function to the WindowManager." +Tue, 19 May 2009 09:26:22 +0000 +Checked in by : Robert Osfield +From Neil Hughes, intergrated support for uncompressing zip files in memory and from istreams (enabling reading from http). -2009-08-21 09:43 robert +Mon, 18 May 2009 15:46:02 +0000 +Checked in by : Robert Osfield +Added enable of clear stencil and depth mask to ensure that stencil and depth buffers are always cleared when required - * From Wojciech Lewandowski, part of the FBO attachment submission +Mon, 18 May 2009 15:21:57 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "Attached you will find some changes to the dae plugin to improve light support.-Changed the addition of lights to add the lightsource directly into the scenegraph (instead of below a switch node) +-All added lights are enabled in the root stateset and replace the head- or skylight. + (if no lights are available the head- or skylight will remain active) +-Ambient in osg::LightModel is zeroed out. All ambient now comes from separate ambient only light sources. +-Lights can now be written properly +-Replaced strings by constants defined in the Collada DOM" -2009-08-21 09:42 robert - * Updated wrappers -2009-08-21 09:34 robert +Mon, 18 May 2009 13:01:25 +0000 +Checked in by : Robert Osfield +Quietened down debug messages - * From Wojciech Lewandowski, support for FBO's without colour or - depth attachments. - - Note from Robert Osfield, I've temporarily re-enabled the old - focing of of color and depth attachment to avoid regressions on - some OpenGL driver. We'll revist this once - we have a mechanism for controlling this override at runtime. - - #define FORCE_COLOR_ATTACHMENT 1 - #define FORCE_DEPTH_ATTACHMENT 1 +Mon, 18 May 2009 12:54:23 +0000 +Checked in by : Robert Osfield +From Ross Anderson, "Symptom: The computation of TerrainTiles containing only image layers (no elevation layer) is incorrect. The resulting bounding sphere will always have a radius of zero.The fix is to remove the call to bs.expandBy(v) and compute the radius directly. I believe this call was intended to be bs.expandRadiusBy(v), but it is superfluous when the radius is computed directly." -2009-08-20 16:39 robert - * From Magnus Kessler, "osgAnimation/Interpolator includes itself. - The following patch removes the - superfluous include" -2009-08-20 16:05 robert +Mon, 18 May 2009 12:04:07 +0000 +Checked in by : Robert Osfield +From Maciej Krol,"With advent of GUI applications in OSG there is a growing need to redirect notification messages to third party systems. For example windows applications do not have console output, it would be appropriate to redirect notifications to GUI widget or debug output. I have revamped notification system to fit this need. New notification stream is using NotifyHandler as a message sink. Handler is called whenever stream is synchronized (i.e. after < WARN +- WinDebugNotifyHandler, windows users can redirect notifications to windows debug output, notifications can be viewed in output window of the debugger i.e. MSVC or DebugView (http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx) (see screenshot). - * From Tom Moore, "Parens were being returned when the bracket keys - were typed. The fix - is easy and the original code looks like a typo" +I have seen on osg-users that some people do std::cerr.rdbuf(otherStream.rdbuf()) to redirect notifications. This trick will no longer work since osg::notify() returns internal osg::NotifyStream not std::cout or std::cerr. You can use osg::notify().rdbuf(otherStream.rdbuf()) to do this instead. -2009-08-20 15:32 robert +Additionally I've made some minor fixes: +- Minor imrovements to osg::notify documentation +- NullStream could crash by deleting stream buffer other than default NullStreamBuffer in the destructor i.e. after osg::notify(osg::DEBUG_FP).rdbuf(otherStream.rdbuf())" - * From Colin McDonald, "This file didn't build when - OSG_USE_UTF8_FILENAME was on" -2009-08-20 15:20 robert - * From Colin McDonald, "There is a duplicate class definition in - the obj & dxf plugins trunk, - causing static builds to fail." -2009-08-20 14:59 robert +Mon, 18 May 2009 10:37:03 +0000 +Checked in by : Robert Osfield +From Paul Obermeier, "Please find enclosed some changed OSG header files. The changes are more or less just beautifications (when looked at them from the C++ view), but make wrapping OSG with SWIG easier. I have tested the changes with both 2.8.1-rc4 and the current head and would appreciate to incorporate the changes in both branches.Here is a description of the changes: - * From Colin McDonald, "The bsp & mdl plugins have calls to atof() - without including the - associated header. This breaks the build on my Solaris - setup. - - Rather than adding the missing include, I have changed - the - atof() calls to osg::asciiToDouble(). This is the same as was - done - throughout the other plugins recently, for locale independance. - - I've attached updates to the svn trunk, the fix is also - appropriate for - the 2.8.* branch." +osg/BoundingSphere: + Use the following typedef (like used in BoundingBox) + typedef typename VT::value_type value_type; + instead of + typedef typename vec_type::value_type value_type; -2009-08-20 14:59 robert + SWIG reports errors on the latter construct. + Also makes it consistent with BoundingBox. - * Added check against a minimual video size of 10x10 to prevent - problems with swscale reporting errors and crashing on small - video dimensionsline, and those below, will be ignored-- - - M ffmpeg/FFmpegImageStream.cpp -2009-08-20 14:20 robert +osg/Vec4ub: + Consistent use of "value_type" throughout the file. - * Improved the custom cursor code and release and compute settings -2009-08-20 14:19 robert +osg/Vec?b: + Consistent use of "value_type" throughout the files. - * From Ronald van Maarseveen and Robert Osfield, changed compute of - up vector and localToWorld transform so that it takes in to - account the geographic latitude. + Also changed + typedef char value_type; + to + typedef signed char value_type; -2009-08-19 15:36 robert + In the case of a simple "char", SWIG assumes a string. + Using "signed char" instead of "char" does not change + the behaviour of the class. +" - * Fixed typo -2009-08-19 15:36 robert - * Added support for trimming the contents of parsed Xml graph +Mon, 18 May 2009 10:28:14 +0000 +Checked in by : Robert Osfield +Minor tweaks to avoid warnings when generating wrappers/doxygen documentation -2009-08-18 13:38 robert +Mon, 18 May 2009 10:17:57 +0000 +Checked in by : Robert Osfield +From Philip Lowman, removed inappropriate references to OSG_ in 3rd party libs searches - * Added tabs to treatment as white space to skyWhiteSpace() +Mon, 18 May 2009 09:34:17 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-08-17 16:07 robert +Fri, 15 May 2009 15:49:10 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, build fixes form Windows - * Added check for space in option name parsing +Fri, 15 May 2009 15:10:59 +0000 +Checked in by : Robert Osfield +Added checks against libcurl version to decide what features are used or not -2009-08-17 15:46 robert +Fri, 15 May 2009 12:31:23 +0000 +Checked in by : Robert Osfield +Removed debugging code block - * Added support for the TabBoxTrackballDragger +Fri, 15 May 2009 12:22:53 +0000 +Checked in by : Robert Osfield +Removed redundant errno declaration that was cause build problems under RedHat 3.2.Removed redundant version declarations. -2009-08-17 15:45 robert - * Changed the autorun keys to 'g' for go, and 'h' for halt. -2009-08-17 15:24 robert +Fri, 15 May 2009 07:50:20 +0000 +Checked in by : Robert Osfield +From Martin Beckett, "n bool ReaderWriter::fileExists(const std::string& filename, const Options* /*options*/) constWindows doesn't define F_OK and access() is in io.h, rather than stdio.h +These are fixed in FileUtils.cpp, so I copied the fix from there - might be better to move this to FileUtils header and include it here and in FileUtils.cpp?" - * Updated wrappers -2009-08-17 15:22 robert - * Moved static string initialization into singleton method +Thu, 14 May 2009 16:24:39 +0000 +Checked in by : Robert Osfield +Moved the compilation of Contributors list to separate source file, and made it an optional compile based on whether you are a maintainer or not. -2009-08-06 12:40 cedricpinson +Thu, 14 May 2009 16:08:12 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "please find attached a patch for TrackballManipulator to fix zooming using the MBP touchpad. The old code would always zoom-in even when using the gesture to zoom-out.Also attached are some code and documentation cleanups for GUIEventAdapter that collect related values (e.g. scrolling, tablet pen) in a struct. +" - * From Michael Platings, - Changes to allow osgAnimation::*CubicBezierChannel to be used - Added TemplateStepInterpolator class -2009-08-06 10:57 robert - * Added a viewer.frame() call prior to the useCursor(false) calls - to avoid a threading crash under X11 +Thu, 14 May 2009 16:06:34 +0000 +Checked in by : Robert Osfield +Added setting of full filename to options as "filename" entry. -2009-08-06 10:06 robert +Thu, 14 May 2009 15:45:54 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "please find attached a patch for TrackballManipulator to fix zooming using the MBP touchpad. The old code would always zoom-in even when using the gesture to zoom-out.Also attached are some code and documentation cleanups for GUIEventAdapter that collect related values (e.g. scrolling, tablet pen) in a struct. +" - * Fixed custom cursor support -2009-08-05 17:01 robert - * Added support for selecting the TabBoxTrackballDragger using - dragger="trackball-box" +Thu, 14 May 2009 15:34:15 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find some bugfixes and enhancements for the Cocoa implementation of GraoicsWindowCocoa:Enhancements/Bugfixes: -2009-08-05 16:02 robert ++ now it's possible to integrate osgViewer better into existing +cocoa-applications: +* create one or more NSOpenGLView(s) and add these to your window(s) +* create one or more NSWindows +* disable the integrated event-polling of osgViewer, and let the work be +done by Cocoa / NSApplicationRun. You'll have to run the osgViewer's +runloop in a separate thread - * Introduced TabBoxTrackballDragger ++ missing menu-event-handling implemented -2009-08-05 14:37 robert ++ added NSAutoReleasePools where necessary, this fixes some memory-leaks ++ fixed some crashes and thread-issues" - * Added support for volume tags with properties: - - dragger="box" or dragger="trackball" - - and - - technique="light" or technique="isosurface" or technique="iso" or - technique="mip" - - and - - tf="transferfunctionfile.tf" - - i.e. - - CardiacCT - CardiacCT - CardiacCT -2009-08-05 12:51 robert - * Updated wrappers +Thu, 14 May 2009 13:40:02 +0000 +Checked in by : Robert Osfield +Integrated support for relative paths, and http hosted presentations -2009-08-05 11:06 robert +Thu, 14 May 2009 13:30:25 +0000 +Checked in by : Robert Osfield +Replaced tabs with spaces - * Moved the updating and expiry of the Registry object cache from - DatabasePager into osgViewer::Viewer/CompositeViewer. +Thu, 14 May 2009 13:16:05 +0000 +Checked in by : Robert Osfield +Changed tabs to spaces -2009-08-04 16:19 robert +Thu, 14 May 2009 13:10:18 +0000 +Checked in by : Robert Osfield +Changed debug message to INFO notication level - * Updated the Present3D version number +Thu, 14 May 2009 13:05:32 +0000 +Checked in by : Robert Osfield +Added support for read the various animaton materials/paths from http -2009-08-03 09:48 cedricpinson +Thu, 14 May 2009 09:44:55 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Cedric Pinson, Add UpdateMaterial callback to animate - material\nUpdate LinkVisitor to traverse stateset\nUpdate - ReaderWriter to read osgAnimation::UpdateMaterial - Callback\nUpdate nathan.osg data file to demonstrate the - MaterialAnimation +Wed, 13 May 2009 19:48:02 +0000 +Checked in by : Robert Osfield +Added support for reading presentations and content via http, with support of the FileCache when available. -2009-07-28 06:00 robert +Wed, 13 May 2009 19:47:26 +0000 +Checked in by : Robert Osfield +Added intial cut at fileExists() implement using libcurl. Note, current implement loads the whole file and then discards it so is very in-efficient. This implementation will soon be replaced. - * Tweak of NodeMask docs +Wed, 13 May 2009 19:46:16 +0000 +Checked in by : Robert Osfield +Added ReaderWriter::fileExists() method to help enable querrying of existing of files on servers using the curl plugin -2009-07-28 06:00 robert +Wed, 13 May 2009 19:44:27 +0000 +Checked in by : Robert Osfield +Added support for Object, Image, HeightField and Shaders in FileCache - * From Terry Welsh, .osg and .ive support for new Text boxes +Wed, 13 May 2009 15:05:23 +0000 +Checked in by : Robert Osfield +Fixed handling of space after = in options set up. -2009-07-27 15:39 robert +Wed, 13 May 2009 08:40:10 +0000 +Checked in by : Robert Osfield +Rearranged static SDL callback so that it's after the SDL.h header. - * Fixed bug in handling of stereo image pairs +Wed, 13 May 2009 08:33:55 +0000 +Checked in by : Robert Osfield +From Thibault Genessay, "On Windows, when a process tries to spawn one too many thread, _beginthreadex() fails but OpenThreads still waits on the startup Block before returning to the caller of OpenThreads::Thread::start(). This causes a deadlock. The return value of _beginthreadex() is actually checked, but after the call to OpenThreads::Block::block() so it is basically useless.Attached is a fix to move the check for the return value of +_beginthreadex() before the call to block(), so that start() can +return to the caller with a non-zero error code. This solves the +problem for me." -2009-07-24 15:55 robert - * Updated wrappers -2009-07-24 15:30 robert +Tue, 12 May 2009 16:26:07 +0000 +Checked in by : Robert Osfield +Removed SDL header - * From Lee Butler and Robert Osfield, doxygen comment explaining - role of NodeMask +Tue, 12 May 2009 13:24:08 +0000 +Checked in by : Robert Osfield +Re-ordered SDL class to try and avoid OSX issues with _main. -2009-07-24 15:09 robert +Tue, 12 May 2009 12:27:54 +0000 +Checked in by : Robert Osfield +Attempt to fix OSX missing _main symbol error - * From Jason Daly, "This set of changes reworks the BSP plugin to - use TexEnvCombine instead of a GLSL program for doing the texture - blending on displaced terrain geometry. After working with it a - while, I found this method to be more scene graph friendly (at - least until Wojtek gets his VirtualProgram scheme working ;-) ) - - Note that this technique will require ARB_texture_env_crossbar - (or NV_texture_env_combine4), as it mixes two textures in the - first texture unit, and just does the lighting in the second. I - doubt this will be a problem for any card that can already handle - GLSL programs, though." +Tue, 12 May 2009 11:54:50 +0000 +Checked in by : Cedric Pinson +from Maciej Krol:\nFixes for OSG_USE_PTR_IMPLICIT_OUTPUT_CONVERSION = OFF -2009-07-24 15:04 robert +Tue, 12 May 2009 10:45:44 +0000 +Checked in by : Robert Osfield +From Fajran Iman Rusadi, fixed error in window index management when children add insert or removed. - * From Cory Riddell, "The spherical manipulator uses a middle drag - event for panning. It was - panning for left-right drags, but was zooming for up-down drags. - I - changed it to pan both directions as I believe that is the - correct - behaviour. If the original combination pan-zoom behaviour was - intentional, please let me know." +Tue, 12 May 2009 08:56:45 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project to reflect current trunk -2009-07-24 14:59 robert +Tue, 12 May 2009 05:58:31 +0000 +Checked in by : Robert Osfield +Added return to end of file to prevent warning - * From Terry Welsh, "Okay, here are the mods I wrote for drawing a - filled bounding box - behind osgText::Text. I made it so the box would get drawn using - whichever BackdropImplementation was selected. However, I did not - implement STENCIL_BUFFER. In that case it defaults to drawing the - bounding box using POLYGON_OFFSET instead. - - Also made it so the BOUNDINGBOX and FILLEDBOUNDINGBOX are drawn - with a - settable color and margin size. - - While I was at it I tightened up the values applied with - DEPTH_RANGE - and POLYGON_OFFSET, not just for drawing the bounding box but - also for - drawing backdrop text (these values must be coupled since the - bounding - box has to be drawn deeper in Z than the backdrop text). The - values - in use before seemed like overkill and I was seeing some - z-clipping - with my background scenery in the case of DEPTH_RANGE. If there - was a - good reason for the large values please let me know...." +Tue, 12 May 2009 05:49:36 +0000 +Checked in by : Robert Osfield +Moved getAttributeVec into public: to allow 3rd party code to access without having to subclass -2009-07-24 14:45 robert +Mon, 11 May 2009 16:38:59 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Chris Hanson, typo and comment clean ups +Mon, 11 May 2009 16:38:40 +0000 +Checked in by : Robert Osfield +Moved ReadFile/WriteFile/FindFile/FileLocationCallbacks from include/osg/Options into their own Callbacks header/source file. -2009-07-24 14:45 robert +Mon, 11 May 2009 14:11:35 +0000 +Checked in by : Robert Osfield +Commented out debug messages - * Updated wrappers +Mon, 11 May 2009 13:03:20 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project to reflect current trunk -2009-07-24 14:25 robert +Mon, 11 May 2009 11:39:12 +0000 +Checked in by : Robert Osfield +Moved Registry::ReadFileCallback + WriteFileCallback, and osgDB::ReaderWriter::Options into their own separate Options file and into the osgDB namespace.Introduced a new callback osgDB::FindFileCallback that overrides the default behavior of findDataFile/findLibraryFile. - * From Chris Hanson, added EllipsoidModel::isWGS84() method and - clean up on comments. +Introduced support for assigning ReaderWriter::Options directory to PagedLOD. -2009-07-24 12:12 robert +Introduced new osgDB::FileLocationCallback for assistancing the DatabasePager to know when a file is hosted on a local or remote file system. - * From Jean-Sebastien Guay, updated CTestConfig to point to new - cdash.openscenegraph.org site -2009-07-23 15:25 shuber - * updated XCode project -2009-07-23 12:42 cedricpinson +Mon, 11 May 2009 11:08:16 +0000 +Checked in by : Robert Osfield +Added OSG_MIN_VERSION_REQUIRED, OSG_VERSION_LESS_THAN, OSG_VERSION_LESS_OR_EQUAL, OSG_VERSION_GREATER_THAN, OSG_VERSION_GREATER_OR_EQUAL macros to help out with management of feature usage in 3rd party libs and applications - * From Cedric Pinson, Store the linkvisitor to be able to configure - it by user, like changing the nodemaskoverride, or use a custom - LinkVisitor +Sat, 9 May 2009 08:54:38 +0000 +Checked in by : Robert Osfield +Moved Options copy constructor to .cpp -2009-07-17 07:47 robert +Sat, 9 May 2009 08:49:27 +0000 +Checked in by : Robert Osfield +Refactored the Registry::ReadFileCallback, WriteFileCallback and ReaderWriter::Options to they are now defined in their own header and in the osgDB namespace.Introduced a new FindFileCallback to Registry to compliement the existing ReadFileCallback and WriteFileCallback. - * From J.P. Delport, "attached a modified jpeg plugin that allows - writing of grayscale images." +Added support for assign Find, Read and WriteFileCallbacks to osdDB::Options to enable plugins/applications to override the callbacks just for that +read/write call and any nested file operations -2009-07-16 12:09 robert - * From Fabien Lavignotte,"When exporting some models to OpenFlight, - i found a crash if the texture - unit does not contain a TexEnv object. - Here's the small fix, just a test on the pointer." -2009-07-16 12:04 robert - * From Stephan Lamoliatte, "The vertical anchor is inverted in the - osgWidget::Window::update function. - Here is a small patch to fix that." +Fri, 8 May 2009 12:53:11 +0000 +Checked in by : Robert Osfield +Removed redudent check against frustum.getCurrentMask() -2009-07-16 11:49 robert +Fri, 8 May 2009 12:38:05 +0000 +Checked in by : Robert Osfield +Changed 0 initializer to InheritCursor - * From Cedric Pinson, fix crash without error messages if the - example does find the nathan.osg file. +Fri, 8 May 2009 12:34:06 +0000 +Checked in by : Robert Osfield +Added osgGA and osgText to dependency list -2009-07-16 11:48 robert +Fri, 8 May 2009 12:32:00 +0000 +Checked in by : Robert Osfield +Added osgText dependency - * Fixed build +Fri, 8 May 2009 09:29:40 +0000 +Checked in by : Robert Osfield +Cleaned up set up of SDL. -2009-07-16 11:35 robert +Fri, 8 May 2009 08:34:32 +0000 +Checked in by : Robert Osfield +Added support for pushing handling relative paths set internally in the presentation file.Added setting of env vars defined in presentation file. - * Fixed build. -2009-07-16 11:26 robert - * Added .get() to fix build -2009-07-16 11:21 robert +Fri, 8 May 2009 07:50:09 +0000 +Checked in by : Robert Osfield +Fixed unitialized variable - * From Jason Daly, "These are some fixes to the mdl and bsp plugins - to handle transparency and lighting better, plus a few other - tweaks." +Fri, 8 May 2009 07:46:46 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, changed the timing control for when no audio layer is supplied. -2009-07-16 11:06 robert +Thu, 7 May 2009 18:32:36 +0000 +Checked in by : Robert Osfield +Moved property code from ImageLayer into Layer where it belongs - * From Colin MacDonald,"The Optimizer Merge Geometry visitor is - always merging geometries, - even if they have had DataVariance DYNAMIC explicitly specified. - Then - when an application attempts to dynamically update the geometry - in the - frame loop the primitive sets and data arrays are no longer as - expected, leading to display and/or memory corruption. - - Attached is a simple fix. " - - Note from Robert Osfield, tweaked Colin's changes to that it use - != DYNAMIC as the the test rather than == STATIC. +Thu, 7 May 2009 18:30:33 +0000 +Checked in by : Robert Osfield +Changed setting of stack back assigned to push_back to fix bug with cull mask management. -2009-07-16 10:56 robert +Thu, 7 May 2009 14:53:21 +0000 +Checked in by : Robert Osfield +Fixed handling of resize of ABSOLUTE_RF slave cameras - * Updated wrappers +Thu, 7 May 2009 13:30:54 +0000 +Checked in by : Robert Osfield +From Frederic Bouvier, SetCursor fixes from GraphicsWindowWin32,Original email from Frederic at start of thread: +"he patch attached, made from r10068, fix two things, in other of importance : -2009-07-16 10:13 robert +- the selected cursor is never shown ( second change in file ). Only the left arrow is always displayed. +- remove the arbitrary ( in my sense ) limitation that the user cannot choose a cursor with the same shape that one used when resizing the window. This limitation doesn't exist for X11, and we have a diverging behaviour there ( first change in file ). Flightgear use the LeftRightCursor in look around mode." - * Added the ability to turn off the external paging in of PagedLOD - children. +Follow up email from Frederic (with changes that finally made it into this check in: +"I've just tested Mark's suggestion and it works perfectly, even when the +cursor goes to the border then come back inside the window. +But his patch doesn't seem to be based on the last revision of the +files, or at least not on the trunk, and there are more changes than +expected in them, including some loss from the previous patches. +The patch attached is based on r10068 of +src/osgViewer/GraphicsWindowWin32.cpp and r10067 of +include/osgViewer/api/Win32/GraphicsWindowWin32" -2009-07-16 10:13 robert - * Updated Contributors mapping -2009-07-16 10:12 robert - * Added support for using PagedLOD to managing loading of - presentation preview and then the main presentation in the - background paging thread +Thu, 7 May 2009 13:23:35 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "while debugging a problem in finding plugins on OS X I discovered, that the conditional directives for setting the prepend-string in createLibraryNameForExtension were not in effect, because of the mixture of different #ifdef styles.I removed the conditional part for __APPLE__ completely to be more +standard-conform with other platforms (plugins should be located in +osgPlugins-X.X.X/). Because of the wrong syntax of the conditional +compile the old code was not used anyway -- so no functional change. +" -2009-07-15 20:52 cedricpinson - * From Cedric Pinson, add accessors to osgAnimation ActionCallback -2009-07-15 17:01 robert +Thu, 7 May 2009 13:21:05 +0000 +Checked in by : Robert Osfield +From MAthias Froehlich, "Attached is a compile fix I need on Suse 11.1 for a successful compile. Just avoid uint8_t typed values in src/osgPlugins/ply/vertexData.cpp if they are not needed for a particular reason ..." - * Added alias from xml to p3d to ensure backwards compatibility - with old present3D files with the.xml extenstion +Thu, 7 May 2009 13:15:19 +0000 +Checked in by : Robert Osfield +From Chris Denham, "For me, on Windows, I also get a slew of these warnings when I move the window off screen. So, might be a bit fiddly to try and prevent frame update in all situations that SwapBuffers retuns false. I wondered if we could address this issue by only reporting the error if GetLastError is also non zero. Works for me! The value returned by GetLastError is zero when SwapBuffers is called for a minimized or off screen window, so we could just add a check for this. Just say the word, and I'll post my modified GraphicsWindowWin32.cpp to the submissions list. ;-) Cheers. Chris.e.g. -2009-07-15 15:28 robert +//------------- OSG- 2..8 ---------- +void GraphicsWindowWin32::swapBuffersImplementation() +{ + if (!_realized) return; + if (!::SwapBuffers(_hdc)) + { + reportErrorForScreen("GraphicsWindowWin32::swapBuffersImplementation() - Unable to swap display buffers", _traits->screenNum, ::GetLastError()); + } +} +//------------- Modification to remove redundant warnings ---------- +void GraphicsWindowWin32::swapBuffersImplementation() +{ + if (!_realized) return; + if (!::SwapBuffers(_hdc) && ::GetLastError() != 0) + { + reportErrorForScreen("GraphicsWindowWin32::swapBuffersImplementation() - Unable to swap display buffers", _traits->screenNum, ::GetLastError()); + } +} +" - * Quitened down debug info. -2009-07-14 13:32 robert - * Cleaned up indenting +Thu, 7 May 2009 12:55:07 +0000 +Checked in by : Robert Osfield +From Michael Platings, added VisualStidio specific option for disabling iterator checking. -2009-07-14 13:30 robert +Thu, 7 May 2009 09:40:43 +0000 +Checked in by : Robert Osfield +Fixed typo of POPPLER_LIBRARY_DIRS - * Converted code to use osg::asciiToFloat() instead of relying - upong the C libraries sscanf to read floats as the C library is - locale sensitive. +Thu, 7 May 2009 09:16:50 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project to reflect current trunk -2009-07-14 12:22 robert +Thu, 7 May 2009 09:07:34 +0000 +Checked in by : Robert Osfield +Added support for osgVolume::TransferFunctionProperty - * From Alexandre Amalric, "I'm using osg svn version 2.9.5 and I've - apparently found a bug in osgPlugin logo. - - When using more than one view logosCullCallback function is - called without checking context ID from the cull visitor is equal - to logo _contextID variable. It involves updating logo's viewport - with different sizes. - So I made a fix well working, at least the way I use the plugin." - - Note, from Robert Osfield, changed code to return true to signal - culling of logo when being applied to a window that it wasn't - assigned to. +Wed, 6 May 2009 13:47:08 +0000 +Checked in by : Robert Osfield +Added .ive reading/writing support for osgVolume::Property classes -2009-07-14 11:19 robert +Tue, 5 May 2009 18:34:44 +0000 +Checked in by : Robert Osfield +Added initial cut at support for osgVolume in .ive format. - * Moved the getting of the ReaderWriter to do the actual model - loading to later so that it only gets invoked when required. +Tue, 5 May 2009 12:46:06 +0000 +Checked in by : Robert Osfield +Changed debug message from NOTICE to INFO -2009-07-14 11:18 robert +Tue, 5 May 2009 12:18:24 +0000 +Checked in by : Robert Osfield +Fixed support for reading imagery relative to the .osg being loaded - * Quietened down debug messages, and added early return when - filename contains server address. +Tue, 5 May 2009 11:05:17 +0000 +Checked in by : Robert Osfield +Added checks to prevent crash when no imagery is applied -2009-07-14 10:37 robert +Tue, 5 May 2009 11:03:57 +0000 +Checked in by : Robert Osfield +Added checks to prevent crashes when no imagery is assigend to volume - * Refactored the setup of the reading of the wrl file by allow - reading from istreams, as well as nesting of filepaths using a - local osgDB::Options to prevent threading issues. - - Also fixed crash in parsing of the vrml data structures that - occurred when no vrml material was assigned. +Tue, 5 May 2009 10:27:59 +0000 +Checked in by : Robert Osfield +Added selection of first slide -2009-07-14 10:35 robert +Sun, 3 May 2009 18:51:13 +0000 +Checked in by : Robert Osfield +Warning fixes - * Quitened down debug messages +Sat, 2 May 2009 07:50:37 +0000 +Checked in by : Robert Osfield +Warning fixes -2009-07-14 10:04 robert +Fri, 1 May 2009 10:24:51 +0000 +Checked in by : Robert Osfield +Added export for windows build - * Fixed the handling of compressed files +Fri, 1 May 2009 08:49:19 +0000 +Checked in by : Robert Osfield +From Michael Platings, compile fix for the following problem report on osg-users:"the latest SVN revision cannot be build under Windows if ?OSG_USE_UTF8_FILENAME? config option is enabled. The error occurs in ?FileUtils.cpp? file, line 663, since there is no UNICODE-capable version of the ?GetProcAddress? function. The ?OSGDB_WINDOWS_FUNCT_STRING? makro is defined as follows in that case -2009-07-13 16:39 robert - * From Cory Riddel based on suggestion from Robert Osfield, "I've - been running with your suggested changes for a few days now and - it - has been working perfectly. I'm still not entirely clear why - adding a - slave/subgraph causes the problem." -2009-07-13 16:14 robert +#define OSGDB_WINDOWS_FUNCT_STRING(x) L ## #x L"W" - * From David Fries, "Comparing the win32 barrier to the pthread - barrier, win32 puts the - while in an else clause. When if is true the phase changes and - the - while condition will always by false, so might as well put the - while - in the else to skip the check. There's also a benefit to having - the - code logic similar between platforms. - " -2009-07-13 16:05 robert - * From David Fries, "Here is a fix for a deadlock seen under - Windows using OpenThreads - Barrier operations. The error is with atomic operations in the - win32 condition implementation. The attached sample program will - reliably trigger with as few as three threads and a dual core - system, - though sometimes it will take 65,000 iterations. - - 2.8.1 was the base for these changes - - Win32ConditionPrivateData.h - Win32ConditionPrivateData::wait does two operations to decrement - waiters_ then read, when InterlockedDecrement decrements and - returns - the value in one operation. The two operations allows another - thread - to also decrement with both getting 0 for an answer. - - Win32ConditionPrivateData::broadcast is using waiters_ directly - instead of using the w value read earlier, if it was safe to use - waiters_ directly there would be no need for InterlockedGet or w. - - overview of deadlock in barrier with three threads - one thread in broadcast, 2 threads in wait, - release semaphore 2, waits on waiters_done_ - both threads wake, decrement waiters_, get 0 for w, - - one calls set waiters_done_, - broadcast thread comes out of waiters_done_, - other thread calls waiters_done_, (which leaves waiters_done_ in - the - signaled state) - - broadcast thread returns releases mutex, other threads get - mutex and also return, - next barrier, first two threads enter wait, one goes to - broadcast, release - semaphore 2, skips waiters_done_ as it had been released last - time - returns, processes, enters the barrier for the next barrier - operation - and waits, - three threads are now in wait, two have the previous barrier - phase, - one the current phase, there's one count left in the semaphore - which a - thread gets, returns, enters the barrier as a waiter, sleeps, and - the - deadlock is completed" +Thus the second parameter cannot be converted from wchar_t to LPCSTR. Should we convert the second parameter from wchar_t* to LPCSTR or use the same definition for the ?OSGDB_WINDOWS_FUNCT_STRING? makro in both cases? -2009-07-13 08:30 robert - * From Stephan Huber, "ttached you'll find a small fix for the - GraphicsWindowCocoa-implementation, which enhances multithreaded - stability, it ensures that modifications to the size of an - openglcontext - is done only from one thread. - " -2009-07-12 15:44 robert +The second error occurs in the same file, line 669. The second parameter for the ?pGetModuleHandleEx? function should be defined as wchar_t, but it?s defined as ?static char static_variable? in the line 667." - * Reverted erronous check-in (which was r10454) -2009-07-03 19:16 robert - * Added Dragger::s/getActivationModKeyMask(..) and - Dragger::s/getActivationKeyEvent(...) methods to make it possible - to have draggers that only respond when you press a specified - modified key or standard key. - - Changed the optional dragger in osgvolume to require the shift - key to be pressed for the dragger to become active. -2009-07-03 19:07 robert - * From and incorported the addition from Paul Fotheringham, - addition of define VCL_CAN_STATIC_CONST_INIT_FLOAT to be zero to - solve build error under Linux - - From Robert Osfield, general cleaned up ITK side to - CMakeList.txt. - - -2009-07-03 18:58 robert +Fri, 1 May 2009 08:20:26 +0000 +Checked in by : Robert Osfield +Fixed warning + bug - * To the ITK code path added support for handling a whole directory - of dicom files. +Fri, 1 May 2009 08:10:56 +0000 +Checked in by : Robert Osfield +Added ws2_32 dependency -2009-07-03 10:33 robert +Thu, 30 Apr 2009 13:13:19 +0000 +Checked in by : Robert Osfield +Added check against the validity of ViewerBase to make sure that a null pointer isn't dereferenced. - * Updated version numbers for 2.9.6 release +Thu, 30 Apr 2009 08:50:43 +0000 +Checked in by : Robert Osfield +Added support for reading from streams -2009-07-03 10:27 robert +Thu, 30 Apr 2009 08:27:07 +0000 +Checked in by : Robert Osfield +Build fixes - * Updated wrappers +Wed, 29 Apr 2009 20:55:48 +0000 +Checked in by : Robert Osfield +Re-instated the code to allow event handler to run in standard viewers like osgviewer -2009-07-03 05:54 robert +Wed, 29 Apr 2009 20:30:21 +0000 +Checked in by : Robert Osfield +Created a simple XmlNode parser class for reading of basic xml files, such as used by present3D.Converted Present3D across from using libxml2 to using the new osgDB::XmlNode/XmlNode::Input classes from Xml Parsing. +This changes removes the dependency on libxml2, and allows the present3D application and p3d to work on all platforms. - * Added TrackballDragger code path -2009-07-03 05:54 robert - * Added callback to locator in support of interactive updating of - the volume extents -2009-07-03 05:52 robert +Tue, 28 Apr 2009 15:50:05 +0000 +Checked in by : Robert Osfield +Added osgFX to dependencies - * Added setUpGeometry to Dragger base class to make it easier to - use draggers interchangably. +Tue, 28 Apr 2009 15:48:56 +0000 +Checked in by : Robert Osfield +Added osgViewer as a dependency -2009-07-03 05:25 robert +Tue, 28 Apr 2009 14:26:13 +0000 +Checked in by : Robert Osfield +Enabled blending to all but iso surface shader.Changed the alpha value of the iso surface colour to 1.0 - * Introduced a Locator callback and associated usage of this - callback to provide interactive updating of the volume bounds -2009-07-02 18:50 robert - * Added support for a "-m" option that adds a tab box manipulator - to allow positioning and resizing of the rendered volume +Tue, 28 Apr 2009 14:03:02 +0000 +Checked in by : Robert Osfield +Reorganised placement of classes associated with scene graph.Warning clean up. -2009-07-02 18:49 robert - * Refactored RayTracedTechnique to allow the position of the - rendered part of the volume to be decoupled from the image data. -2009-07-01 15:39 robert +Tue, 28 Apr 2009 11:57:51 +0000 +Checked in by : Robert Osfield +Moved present3D from own repository into core OSG. - * From Byran Thrall, "The OpenFlight plugin doesn't handle - unrecognized options or extra - whitespace in all cases, causing it to crash." +Mon, 27 Apr 2009 16:32:24 +0000 +Checked in by : Robert Osfield +Fixed typo -2009-07-01 14:50 robert +Mon, 27 Apr 2009 15:45:52 +0000 +Checked in by : Robert Osfield +Added detection of active alpha channel. - * Removed old references to CommandManager +Mon, 27 Apr 2009 13:54:22 +0000 +Checked in by : Robert Osfield +Further improvements in p3d plugin -2009-07-01 14:49 robert +Mon, 27 Apr 2009 11:02:18 +0000 +Checked in by : Robert Osfield +Introduced first cut of Present3D integration with the core OSG with the introduction of a .p3d plugin. - * Added constructor and destructor body +Mon, 27 Apr 2009 06:26:41 +0000 +Checked in by : Robert Osfield +Attempt to fix mingw warnings -2009-07-01 14:04 robert +Sat, 25 Apr 2009 21:44:38 +0000 +Checked in by : Robert Osfield +Fixed warning - * Added osgGA to the dependency list +Fri, 24 Apr 2009 20:37:33 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS for 2.9.4 dev release -2009-07-01 14:01 robert +Fri, 24 Apr 2009 20:14:42 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Completed refactor of osgManipulator, key changes are: - - Selection is now just a typedef of osg::MatrixTransform, and is - deprecated - - CommandManager is shell class that just sets values directly on - Dragger, and is deprecated - - Dragger now has list of DraggerCallback that takes over the roll - of tracking changes to the Dragger, and - allows users to track the dragger in any way they wish. - - Dragger now has a convinience method making MatrixTransforms - track a dragger. - - Selection and CommandManager are no longer required for use of - osgManipulator and are kept around for backwards compatibility. +Fri, 24 Apr 2009 18:37:36 +0000 +Checked in by : Robert Osfield +Added checking of need to update. -2009-07-01 09:30 cedricpinson +Fri, 24 Apr 2009 17:51:23 +0000 +Checked in by : Robert Osfield +Added suggestion of IntersectionVisitor instead. - * From Cedric Pinson, i miss to commit the file that contains the - osgAnimation::StripAnimation::traverse +Fri, 24 Apr 2009 17:49:34 +0000 +Checked in by : Robert Osfield +Changed doxygen docs to say deprecated -2009-06-30 13:00 robert +Fri, 24 Apr 2009 16:20:50 +0000 +Checked in by : Robert Osfield +Introduce new run frame rate management support to allow control of maximum frame rate and to support on demand rendering of frames - * Simplified Command and CommandManager +Fri, 24 Apr 2009 11:53:01 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2009-06-30 12:41 shuber +Fri, 24 Apr 2009 11:23:33 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Stephan Huber: updated XCode project, included - osgPresentation +Fri, 24 Apr 2009 11:01:00 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "change adds some code to also print the NodePath when a NaN is detected in the CullVisitor. May be this gives a bit more of a hint when this happens." -2009-06-30 11:55 cedricpinson +Fri, 24 Apr 2009 10:54:50 +0000 +Checked in by : Robert Osfield +From Jason Daly, "Currently, the .mdl plugin loads vertices in the native DirectX order, which is the reverse of OpenGL order. This means that the back faces are currently rendered as front faces, and vice versa.This fix reverses the vertex order and sets up proper OpenGL facing. I didn't notice this problem until I started using the plug-in in my own code (osgviewer seems to not enable backface culling)." - * From Cedric Pinson, Traverse StripAction instead of applying, - this fix the execution of FrameCallback in BlendIn, BlendOut and - AnimationAction\nFix warning of osgAnimation::StatsHandler\nFix - crash when running example osganimationtimeline without - nathan.osg in OSG_FILE_PATH or with bad file -2009-06-30 11:39 robert - * Refactored osgManipulator so that CommandManager is no longer - required, instead Dragger directly manages Constaints and - associate Selections. +Fri, 24 Apr 2009 09:07:22 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, Changed osg::TextureRectangle to use osg::Texutre::applyTexParameters() to take advantage of texture shadow extension settings for texture rectangle -2009-06-30 07:33 robert +Thu, 23 Apr 2009 13:42:24 +0000 +Checked in by : Robert Osfield +Warning fixes - * Updated wrappers +Thu, 23 Apr 2009 10:24:27 +0000 +Checked in by : Robert Osfield +Refactored the subsurface PolygonOffset code so that it uses sensible values and also moves management of the PolygonOffset and Depth attribute objects into the Document object rather than using static vars. -2009-06-29 21:32 robert +Thu, 23 Apr 2009 10:23:20 +0000 +Checked in by : Robert Osfield +Removed specific ATI path in PolygonOffset as it doesn't look to be neccessary with present ATI hardware/drivers - * Introduced event handling directly into osgManipulator::Dragger - to allow it be used with a global event handler passing in - events. +Wed, 22 Apr 2009 18:22:22 +0000 +Checked in by : Robert Osfield +Quitened down warnings generated by ffmpeg headers by remove -pedantic from CMAKE_CXX_FLAGS -2009-06-26 16:52 robert +Wed, 22 Apr 2009 16:50:50 +0000 +Checked in by : Robert Osfield +Fixed warning - * Changed the definition of HAVE_CONFIG_H so that it's only defined - when on a now windows system, so to allow the dcmtk/osconfig.h to - include the correct header on unix vs widows. +Wed, 22 Apr 2009 16:47:07 +0000 +Checked in by : Robert Osfield +Warning fixes -2009-06-26 16:39 robert +Wed, 22 Apr 2009 16:42:16 +0000 +Checked in by : Robert Osfield +Warning fixes - * Added search in /usr/local/dicom for dcmtk. +Wed, 22 Apr 2009 16:41:58 +0000 +Checked in by : Robert Osfield +Warning fix -2009-06-26 08:16 robert +Wed, 22 Apr 2009 16:33:24 +0000 +Checked in by : Robert Osfield +Updated version numbers in prep for 2.9.4 dev release - * Fixed warning +Wed, 22 Apr 2009 15:46:24 +0000 +Checked in by : Robert Osfield +From Neil Hughes, converted across to use istream for reading data from file to enable reading .3ds files over http (use OSG's libcurl plugin).From Robert Osfield, ammendments of the above to better support reading of files from local directories. -2009-06-26 08:14 robert - * Fixed warning -2009-06-25 18:31 robert +Wed, 22 Apr 2009 13:50:31 +0000 +Checked in by : Robert Osfield +From Erik den Dekker, "I revamped osgversion, which resulted (I think) in cleaner code. The only functional change was giving my brother the original credits he deserved. Name changed from 'Jeoen den Dekker' to 'Jeroen den Dekker'." - * Simplified throw rate code, and add throw rate compensation into - zoom in/out code. +Wed, 22 Apr 2009 13:09:33 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, "fix for failing collada builds on osx due to not being able to stringstreamify osg::Vec3 without io_utils included." -2009-06-25 18:11 robert +Wed, 22 Apr 2009 13:07:02 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "attached is a change to TexGenNode rev 10060 that removes a private member variable that is only initialized and copied by never used seriously. " - * From Lee Bulter, "I noticed that when "throwing" things the rate - of motion once thrown was - dependent on the complexity of the geometry. For complex scenes - this - meant that it looked like you were "throwing" the display into - molasses. - For simple geometry things get over-excited once thrown. - - The fix is to factor in the frame rendering time to the - caluclated - motion. I've implemented this for rotation and panning. - - Now when things are thrown they maintain a rate very close to - what was - happening when the mouse button was released." +Wed, 22 Apr 2009 12:52:22 +0000 +Checked in by : Robert Osfield +From Chris Hanson, spelling and grammer fixes -2009-06-25 18:03 robert +Wed, 22 Apr 2009 11:22:08 +0000 +Checked in by : Robert Osfield +Added hand cursor implementation - * Fixed library definition +Wed, 22 Apr 2009 11:20:19 +0000 +Checked in by : Robert Osfield +From Neil Hughes, "Please find attached two files that I've amended to add the IDC_HAND cursor for the windows platform." -2009-06-25 16:12 robert +Wed, 22 Apr 2009 11:12:03 +0000 +Checked in by : Robert Osfield +From Peter Amstutz, "Here is a simple change to osgViewer::GraphicsWindowWin32 to add a flag to WindowData to specify that the graphics window should not install an event handler of its own, per this discussion thread:http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg23734.html - * From Stephan Huber, fixes to Cocoa support +The change is source compatible with current osg code and will not affect current users, it simply adds an additional parameter to the GraphicsWindowWin32::WindowData struct constructor and defaults to the current behavior. -2009-06-25 16:07 robert +Attached are the files "include/osgViewer/api/Win32/GraphicsWindowWin32" and "src/osgViewer/GraphicsWindowWin32.cpp" with my changes, based on svn revision 10045. In addition, I have provided an svn patch file with the same changes for your convenience. - * From Mathias Froehlich, "We are currently getting issues with - locale settings and some osg plugins. - Therefore I have changed all the occurances of atof by - asciiToFloat or - asciiToDouble. - - I believe that it is safe to do so at least for all the plugins. - Included here are also asciiToFloat conversion of environment - variables. One - might argue that these should be locale dependent. But IMO these - should be - set and interpreted by osg independent of the current locale. - " +I have discussed the matter with my supervisor, and agreed that my company makes no copyright claim over this extremely trivial change (or to put it another way, we assign copyright to the open scene graph community.)" -2009-06-25 16:02 robert - * Fixed warnings and refactored FindFFmpeg.cmake and ffmpeg plugin - CMakeLists.txt scripts to better handle different instation - combinations -2009-06-25 13:31 robert +Wed, 22 Apr 2009 11:00:20 +0000 +Checked in by : Robert Osfield +From Eduardo Alberto Hernández Muñoz, change to using TexGenNode for setting up tex coordinates - * Converted tabs to spaces +Wed, 22 Apr 2009 10:54:11 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Looks like the people who created these two examples were a bit careless with cut and paste." -2009-06-25 13:26 robert +Wed, 22 Apr 2009 10:47:44 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, "src/osg/Image.cpp is missing the GL_RGBA8 image type when calculating the number of components in an image. It is added here." - * From Mathias Froehlich, "Fix possible problem with aliasing - rules.. and fix a gcc warning :)Use a union to determine if we - are on a little endian or big endian machine." +Wed, 22 Apr 2009 10:46:12 +0000 +Checked in by : Robert Osfield +Changed parameter for T* to const T*. -2009-06-25 13:13 robert +Tue, 21 Apr 2009 14:27:34 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, "I found that the current CMakeLists.txt doesn't set the debugging flags correctly on OSX when using cmake to generate Xcode projects. This change has the potential to affect all platforms, so it should be tested." - * From Mathias Froehlich, "put texturemanager into osg namespace." +Tue, 21 Apr 2009 14:15:03 +0000 +Checked in by : Robert Osfield +From Neil Hughes, "here is an update to ReaderWriterCurl that makes use of the amended ReaderWriter definition to pass some plugin string data via the options object." -2009-06-25 13:10 robert +Tue, 21 Apr 2009 12:02:15 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Serge Lages, "Here is a little fix for the FFmpeg plugin. - Previously the path computed by osgDB::findDataFile was not used, - preventing loading files from directories inside the data path - list." +Tue, 21 Apr 2009 11:48:08 +0000 +Checked in by : Robert Osfield +From Neil Hughes, "please find attached a new version of the ReaderWriter header file. This has additional functions to mimic the setPluginData functions for string data." -2009-06-25 13:00 robert +Tue, 21 Apr 2009 10:46:45 +0000 +Checked in by : Robert Osfield +From Chris Hanson, "Fixed case of morphTarget argument in Doxygen comments." - * From Ulrich Hertlein, "please find attached some typo fixes in - DatabasePager and a tweak to only print the - addLoadedDataToSceneGraph stats when some work was actually - done." +Tue, 21 Apr 2009 10:13:19 +0000 +Checked in by : Robert Osfield +Fixed handling of case of no graphics contexts being assigned -2009-06-25 09:14 robert +Mon, 20 Apr 2009 19:05:59 +0000 +Checked in by : Robert Osfield +Removed #ifdef WIN32 around #include to fix build under Mandrake build. - * From Cory Riddell, "I added an _allowThrow boolean along with a - getter and setter to the - spherical manipulator. The default value is true. - - This is very similar to the flag in trackball." +Fri, 17 Apr 2009 14:15:50 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: small fix for Xcode-project / 32bit Carbon target -2009-06-25 08:53 robert +Mon, 13 Apr 2009 12:26:23 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode-project so it builds the curl-plugin - * Added osgFX depedency +Mon, 13 Apr 2009 09:41:22 +0000 +Checked in by : Robert Osfield +Replaced #idef WIN32 with _MSC_VER to try and fix build errors under mingw -2009-06-25 08:52 robert +Mon, 13 Apr 2009 09:35:52 +0000 +Checked in by : Robert Osfield +From Santosh Gaikwad, "I have added the exception handling in ply loader. All exceptions I am catching in VertexData::readPlyFile() and made sure that application will not crash or exit if any exception occurred. I am returning NULL from VertexData::readPlyFile() if any exception occurred. " - * Added osgVolume dependency +Sun, 12 Apr 2009 18:54:07 +0000 +Checked in by : Robert Osfield +Fixed ChangeLog generation so that it only includes svn/trunk or relevant branch rather than whole svn repository.Updated ChangeLog -2009-06-25 08:23 robert - * Added export -2009-06-25 07:42 robert +Sat, 11 Apr 2009 07:12:54 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS for 2.9.3 dev release - * Added CMakeLists.txt for osgPresentation +Sat, 11 Apr 2009 06:25:28 +0000 +Checked in by : Robert Osfield +updated wrappers -2009-06-24 17:37 robert +Sat, 11 Apr 2009 06:16:37 +0000 +Checked in by : Robert Osfield +From Jean Sebastien Guay, added error reporting handling of wider range of video formats. - * Added use of REGISTER_OGRPLUGIN to enable static linking of - plugins +Fri, 10 Apr 2009 15:30:02 +0000 +Checked in by : Cedric Pinson +From Cedric Pinson, remove unsused method in Bone class\nadd namespace osgAnimation for Timeline constructors\nadd OSGANIMATION_EXPORT on VertexInfluence and Timeline class -2009-06-24 17:34 robert +Fri, 10 Apr 2009 14:11:38 +0000 +Checked in by : Robert Osfield +Added VS checks around code block from Mark Sciabica that broke the mingw build - * Added ffmpeg and pdf to static build +Fri, 10 Apr 2009 11:19:34 +0000 +Checked in by : Robert Osfield +Fixed build error by replacing M_PI with osg::PI. -2009-06-24 17:33 robert +Fri, 10 Apr 2009 11:00:54 +0000 +Checked in by : Robert Osfield +Updated version info for 2.9.3 dev release, fixed typo and updated wrappers - * Added support for static compilation of pdf plugin +Fri, 10 Apr 2009 10:07:13 +0000 +Checked in by : Robert Osfield +Added typedef and updated wrappers -2009-06-24 16:45 robert +Fri, 10 Apr 2009 09:56:04 +0000 +Checked in by : Robert Osfield +From Romain Charbit, "added a getConnectedSelections(Dragger&) method, so we can get which selections are connected to a dragger without make our own multimap, copying the existing _draggerSelectionMap (which is protected with no accessors) ." - * Fixed non windows path +Fri, 10 Apr 2009 09:37:44 +0000 +Checked in by : Robert Osfield +From J.P. Delport, tweak to fix spelling and grammer -2009-06-24 16:14 robert +Fri, 10 Apr 2009 09:16:37 +0000 +Checked in by : Robert Osfield +From Santosh Gaikwad, warning fixes - * Renamed the temporary application name of present3D-osg to - present3D. +Thu, 9 Apr 2009 18:27:11 +0000 +Checked in by : Robert Osfield +Added ply entry -2009-06-24 16:03 robert +Thu, 9 Apr 2009 18:26:04 +0000 +Checked in by : Robert Osfield +From Santosh Gaikwad, ply plugin, based on Equalizer and other LGPL compatible sources."Attached is the osg-plugin for reading ply ( Stanford Triangle Format ) file. I have written the plugin according to OSG standard and have also added cmake build system. The plugin is working fine on both Linux and Windows and should behave similarly on other OS as well." - * Refactored preset3D/p3d plugin so that common scene graph - extensions and classes now live in a separate osgPresenttation - NodeKit. +"I developed this plugin while working on a project based on Equalizer. So VertexData which I am using is taken from equalizer and modified to make them work as separate OSG plugin. +Before contributing this plugin to OSG community, I asked project manager of Equalizer project Stefen regarding potential licensing issues and this is what he has said -2009-06-24 10:26 robert +"The kd-Tree (VertexBuffer*) is LGPL-licensed, and the base ply loader (ply*) is BSD. As long as you leave the copyright notices intact, there is no issue." - * Refactored the FFmpeg find script and the pdd CMakeLists.txt to - improve the automatic detection of the required facilities +so I think using these files in OSG should not be a problem. -2009-06-24 10:10 cedricpinson +As far as author of ReaderWriterPLY.cpp is concerned I am the author. I am working for Darshan3d which is a subsidiary of VizExperts thats why I have put VizExperts copyright." - * From Cedric Pinson, Fix the drop of the first frame of action - when adding action with addActionNow\nReport stats only for - active animations\nAdd priority to RunAction callback -2009-06-23 12:59 cedricpinson - * From Cedric Pinson, Fix clone operation for - osgAnimation::Animation -2009-06-23 11:33 robert +Thu, 9 Apr 2009 16:40:22 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project to reflect current trunk - * Fixed warning +Thu, 9 Apr 2009 16:31:31 +0000 +Checked in by : Robert Osfield +From Martin Beckett, "I have fixed up the 3DC reader to handle any field separator so it can read x,y,z files and added ability to write a 3DC file."From Robert Osfield, refactor of the above code to retain a bit more of the original funcionality, and to avoid the need to hand maintained XCode projects from being updated. -2009-06-23 10:53 robert - * Added explict search for stdint.h -2009-06-22 18:04 cedricpinson - * From Cedric Pinson, fix clone for UpdateTransform +Thu, 9 Apr 2009 15:56:04 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "" * Use the CPack ZIP generator on windows (WIN32) * Reformatted according to Philip Lowman's recent submissions" -2009-06-22 16:08 robert +Thu, 9 Apr 2009 15:55:18 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added support for reading from http and obj files in the static - build of Present3D +Thu, 9 Apr 2009 15:34:06 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a small fix for PixelBufferCarbon preventing it to be compiled for 64bit. This is the easiest solution for the old deprecated xcode project." -2009-06-22 16:02 robert +Thu, 9 Apr 2009 15:33:28 +0000 +Checked in by : Robert Osfield +Converted tabs to four spaces - * Fixed swap size +Thu, 9 Apr 2009 14:41:11 +0000 +Checked in by : Robert Osfield +From Paul Martz, typo fix -2009-06-22 14:24 cedricpinson +Thu, 9 Apr 2009 14:38:29 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "When creating a cylinder without a bottom or a top (in the traits, createBottom=false and createTop=false), the cylinder could still be picked by picking its (non-existent) bottom or top. This is because the PrimitiveShapeFunctor does not consider the traits when returning the cylinder's geometry for the picking test, and always returns geometry for the whole cylinder, with bottom, top and body.I have attached a fixed file where the traits are checked in the PrimitiveShapeFunctor where appropriate. They are checked for Box, Cone Capsule and Cylinder. These just mirror the checks that were already done in the DrawShapeVisitor. - * From Cedric Pinson, fix constructors for cloning osgAnimation - objects +(another instance where if the ShapeDrawable had just been osg::Geometry, there wouldn't have been a problem... :-) ) -2009-06-22 13:08 robert +I also fixed a small typo in the file in two places ("implementated" --> "implemented")." - * Updated authors for 2.9.5 release -2009-06-22 12:46 robert - * Update ChangeLog and contributors +Thu, 9 Apr 2009 14:31:15 +0000 +Checked in by : Robert Osfield +From Cory Riddell, "I added an _allowThrow bool and get / set accessors to TrackballManipulator. The purpose of this is to disable throwing when you release the mouse button while moving the mouse. The default settings is true (ie, allow throw). The two source files are attached. " -2009-06-21 17:28 robert +Thu, 9 Apr 2009 14:25:14 +0000 +Checked in by : Robert Osfield +From Ravi Mathur, "OK I have been away for a looong time, but still occasionally watching from a distance, and saw the bug people have reported about the DepthPartitionNode not handling scaled models properly.I believe this is now fixed ... I have attached the new DistanceAccumulator.cpp, along with a modified example file that uses a PositionAttitudeTransform to draw the Earth's orbit around the Sun." - * Added mutex lock to iniGLNames to prevent threading problems - during initialization -2009-06-20 17:03 robert - * Added support for initial cut of static build of Present3D. +Thu, 9 Apr 2009 14:00:16 +0000 +Checked in by : Robert Osfield +From Glenn Waldron, "Here is a first cut at the mime-type support we discussed a little while ago (http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg23098.html)Background: when you access a file over HTTP, you cannot rely on a file extension being present; instead the file's mime-type is conveyed in the HTTP Content-Type response header. This facility adds a mime-type-to-extension map to the registry to handle this. -2009-06-20 11:35 robert +There are two new osgDB::Registry functions which are pretty self-explanatory: - * From Farshid Lashkari, "I found a bug in the osgText library in - version 1.2 that I believe still exists in the latest version. - - I found that changing the alignment of a text object does not - work properly if the text contains newline characters. I've - attached a simple test case that shows the problem. If I set the - text AFTER setting the alignment, everything works fine. But if I - set the text BEFORE setting the alignment then the text is - displayed incorrectly. - - The fix is very simple. Instead of calling computePositions() in - TextBase::setAlignment(), it calls computeGlyphRepresentation(). - I've attached the modified TextBase.cpp." +void addMimeTypeExtensionMapping( mime-type, extension ) +ReaderWriter* getReaderWriterForMimeType( mime-type ) -2009-06-20 08:18 robert +I also added the file osgDB/MimeTypes.cpp which houses a hard-coded list of built-in types. I took the list from here (http://www.webmaster-toolkit.com/mime-types.shtml) and then pared it down to include mostly image and video types, editing them to map to existing plugins where possible. - * Updated wrappers +In addition, I updated the CURL plugin to a) install a set of built-in mime-type mappings, and b) use them to look up an extension in the event that the target filename does not have an extension. -2009-06-19 14:14 robert +Here is a test case. This URL pulls down a JPEG (without a file extension): +osgviewer --image "http://us.maps3.yimg.com/aerial.maps.yimg.com/ximg?v=1.8&s=256&t=a&r=1&x=0&y=0&z=2" +" - * From Gino van den Bergen, "AFAICS, OSG's OBJ loader correctly - handles backslash-newlines that are used for continuation of - lines. However, I recently ran into a problem with OBJs that - where converted from another source using Right Hemisphere Deep - Exploration. In these OBJs newlines are escaped in the following - way: - - f 15939/9999/16177 15941/10000/16178 15940/10001/16179\ - 15938/10002/16180 - - In the OBJ loader the newline would be interpreted as follows - - f 15939/9999/16177 15941/10000/16178 - 15940/10001/1617915938/10002/16180 - - However, for correctly loading the model it should be interpreted - as - - f 15939/9999/16177 15941/10000/16178 15940/10001/16179 - 15938/10002/16180 - - Thus, the escaped newline should be interpreted as a space. - - I tried to lookup what the correct interpretation for a - backslash-newline was in the OBJ spec but did not find anything - useful. Nevertheless, my suggestion would be to adopt replacing - the escaped newline by a space in order to avoid problems as - stated above. I cannot imagine a meaningful usage of a newline - within a numerical literal so I do not foresee cases where - replacing a backslash-newline by a space would be harmful. The - fixed obj.cpp is zipped and attached to this mail." -2009-06-19 13:53 robert - * Changed the debug output so that the code path is not run unless - it's needed +Thu, 9 Apr 2009 09:25:34 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "As I discussed in the thread "Windows 7 beta: "The binary is not a valid Windows image."" on osg-users, I needed to add the /DYNAMICBASE linker option for executables to link properly in release mode on Windows 7 beta.http://article.gmane.org/gmane.comp.graphics.openscenegraph.user/42400 -2009-06-19 13:50 robert +Since this is a workaround for a bug in a beta OS (which may or may not be fixed, since it's mentioned in their release notes so they may just leave it as it is) I've marked the option as advanced, default to OFF, and clearly documented it as being useful for Windows 7 only. I'd like to be able to test for Windows 7 directly instead of the blanket IF(WIN32), but I can't figure out if this is possible in CMake. - * From Jean-Sebastian Guay and Robert Osfield, added line numbers - to debug shader output +Here's the modified CMakeLists.txt. It's a small change, with low impact, but will be useful to others who test out this OS and when it comes out. Note that I'm not familiar with this option in general, and didn't get any feedback to my questions in the above-mentioned thread, one of which was: Could we just add this option to all builds? What is the impact? That's still unclear to me, but without it OSG executables don't build, and the article I linked didn't seem to present any ill effects to enabling the option." -2009-06-19 13:09 robert - * From Tom Jolly, "A new compiler and a new warning. - - Enclosed is include/osgParticle/Particle. I removed the const - from the - return type of getSTexCoord. I also changed the name on the next - function to getTTexCoord so it is consistent with getSTexCoord. - If you - prefer to change getSTexCoord to getSCoord you will need to - change it in - ConnectedParticleSystem.cpp." -2009-06-19 11:55 robert +Thu, 9 Apr 2009 09:23:45 +0000 +Checked in by : Robert Osfield +From Philip Lowman, clean up of CMake files - * From Wojciech Lewandowski, "Here are my changes: - - - osg::Texture sets GL_MAX_TEXTURE_LEVEL if image uses fewer - mipmaps than - number from computeNumberOfMipmaps (and it works!) - - DDS fix to read only available mipmaps - - DDS fixes to read / save 3D textures with mipmaps ( packing == - 1 is - required) - - Few cosmetic DDS modifications and comments to make code - cleaner (I hope) - - Added _isTextureMaxLevelSupported variable to texture extensions. - It - could be removed if OSG requires OpenGL version 1.2 by default. - - Added simple ComputeImageSizeInBytes function in DDSReaderWrites. - In - my opinion it would be better if similar static method was - defined for - Image. Then it could be used not only in DDS but other modules as - well (I - noticed that Texture/Texture2D do similar computations). - - Also attached is an example test.osg model with DDS without last - mipmaps to - demonstrate the problem. When loaded into Viewer with current - code and moved - far away, so that cube occupies 4 pixels, cube becomes red due to - the issue - I described in earlier post. When you patch DDS reader writer - with attched - code but no osg::Texture yet, cube becomes blank (at least on my - Windows/NVidia) When you also merge osg::Texture patch cube will - look right - and mipmaps will be correct." +Wed, 8 Apr 2009 14:16:09 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, " The osgViewer::CompositeViewer had partial support for Producer Camera config files, but it was not working completely. Here is the completed implementation. File: src/osgViewer/CompositeViewer.cpp. " -2009-06-19 11:31 robert +Wed, 8 Apr 2009 14:08:16 +0000 +Checked in by : Robert Osfield +From Cory Riddell, fix for aspect ratio - * From Don Liech, Qt/OSG integration example +Wed, 8 Apr 2009 14:06:29 +0000 +Checked in by : Robert Osfield +From James Killian, "refactored the management of the object cache enabling/disabling" -2009-06-19 11:16 robert +Wed, 8 Apr 2009 13:40:40 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky,"libosgViewerd.so was not being built properly because it was being linked with system libraries using LINK_INTERNAL instead of LINK_EXTERNAL. This caused it to try to link with libXrandrd instead of libXrandr, which failed. Attached is the fixed CMakeLists.txt." - * Updated wrappers +Wed, 8 Apr 2009 13:21:59 +0000 +Checked in by : Robert Osfield +From Mike Connell, "Here are some small fixes that allow you to specify the allowable deviation when creating polylines from arcs and circles in DXF files. Changes are against 2.8.0It adds two options: -2009-06-19 11:04 robert +Accuracy(x) - ensures the polyline will be within x units from the ideal arc/curve +ImproveAccuracyOnly - do not use the given accuracy 'x', if it would result in a worse curve than with the previous (2.8.0) implementation for a particular arc/curve. - * Added append() method +As an added bonus there was a small bug in the existing implementation whereby the primitives were line strips but the vertices generated were actually suitable for GL_LINES, so the improved accuracy doesn't even have to come at a performance cost :-)" -2009-06-19 11:00 robert - * Added clears to various vectors being passed in to get*() - methods. -2009-06-19 10:55 robert +Wed, 8 Apr 2009 13:16:44 +0000 +Checked in by : Robert Osfield +From Eric Sokolowky, ""Running" was spelled "Ruinning", which is hardly the same." - * From Cory Riddell, "I added a line to clear the threads vector - prior to populating it in - Viewer::getAllThreads(). This is consistent with what happens in - Viewer::getOperationThreads()." +Wed, 8 Apr 2009 13:11:27 +0000 +Checked in by : Robert Osfield +From Marc Sciabica, made searching of the install path for plugins option, and added the dll path to the search path under Windows -2009-06-18 10:01 robert +Wed, 8 Apr 2009 13:03:34 +0000 +Checked in by : Robert Osfield +Reduced the default live video feed size to accomodate reading from the Minoru stereo wecam. - * From Cedric Pinson and Robert Osfield, addition of NodeCallbacks - to osg::CopyOp and osg::Node copy constructor. +Wed, 8 Apr 2009 12:32:52 +0000 +Checked in by : Robert Osfield +From Simon Carmody, "Patches for compare and copy of Programs and related state -Added copying of shaders and attributes in osg::Program copy constructor. -Changed StateSet::compare function to compare Uniforms and their override values. Previously it compared a RefUniformPair." -2009-06-18 08:29 robert +Wed, 8 Apr 2009 10:48:22 +0000 +Checked in by : Robert Osfield +From Glenn Waldron, "Attached is a patch for osgUtil::Optimizer. If you run the SpatializeGroupsVisitor on a scene graph containing Geodes, StateSets attached to Geodes can be lost.The problem is in SpatializeGroupsVisitor::divide(osg::Geode*, unsigned int) where the code creates a new Group and divides up the input Geode into one Geode per Drawable. - * Added exports +I fixed the problem by assigning the Geode's stateset to the new parent group. -2009-06-18 08:22 robert +To replicate the bug, see attached osg/dds files: - * Updated wrappers +osgviewer b.osg -- model renders correctly +set OSG_OPTIMIZER="SPATIALIZE_GROUPS" +osgviewer b.osg -- textures are missing." -2009-06-18 08:18 robert - * From Rene Molenaar, "The bug is as described above: - - "The dragger's corner tabs are no longer in the corners." - - this fix places the cornertabs back in the corners. - (the manipulator does not make sense otherwise)." -2009-06-17 16:54 robert +Wed, 8 Apr 2009 10:44:37 +0000 +Checked in by : Robert Osfield +From Aric Aumann, added options for controlling the swap of the left/right handed coordinate system - * Replaced forward declarations +Wed, 8 Apr 2009 10:32:19 +0000 +Checked in by : Robert Osfield +From Martin Beckett, added mouse wheel support -2009-06-17 16:54 robert +Tue, 7 Apr 2009 10:13:54 +0000 +Checked in by : Robert Osfield +Added better handling of use of VBO's in compileGLObjects() - * Added ".added", ".modified" and ".removed" alias to .revisions - plugin +Tue, 7 Apr 2009 10:12:59 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-06-17 15:12 robert +Tue, 7 Apr 2009 08:43:57 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: removed OpenThreads-folder (as OpenThreads is part of OpenSceneGraph now), updated the Readmes regarding 64bit compilation and updated the XCode-project to match the current svn-trunk. - * Updated wrappers +Tue, 7 Apr 2009 08:40:49 +0000 +Checked in by : Cedric Pinson +From Serge Lages, Elastic added to EaseMotion -2009-06-17 15:12 robert +Mon, 6 Apr 2009 12:28:02 +0000 +Checked in by : Robert Osfield +Added disabling of mipmapping for non power of two textures - * Made method names consistent with each other +Mon, 6 Apr 2009 11:22:31 +0000 +Checked in by : Robert Osfield +Added check against null colour layer to prevent a crash when a null colour layer is assigned -2009-06-17 11:00 robert +Fri, 3 Apr 2009 10:47:59 +0000 +Checked in by : Robert Osfield +Displayed display lists to prevent frame drops when compiling large geometry tiles - * From Alberto Luaces, "the new changes in osgAnimation showed some - errors on the Cygwin - platform: - - 1 - osgAnimation/StatsHandler includes , but on Cygwin - only std::isnan - is defined that way. I changed it to as it is done in - the rest of - the OSG. - - 2 - Pulling some osgViewer headers from the same file in - osgAnimation makes - the former a new dependency. Thus, I got errors at osgAnimation - linking time. - I wonder why nobody noticed this on other platforms. I have - updated the - CMakeLists.txt file in order to link to the needed libraries, and - - 3 - I have updated the openscenegraph-osgAnimation.pc.in file - accordingly." +Fri, 3 Apr 2009 09:54:15 +0000 +Checked in by : Robert Osfield +Tweaks to shader to fix warnings on with ATI drivers -2009-06-17 10:39 robert +Thu, 2 Apr 2009 08:44:08 +0000 +Checked in by : Robert Osfield +Added OSG_MULTI_SAMPLES env var for setting the default DisplaySettings NumMultiSamples value - * Changed build OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION to ON - and then fixed all the resulting build errors. +Mon, 30 Mar 2009 09:55:40 +0000 +Checked in by : Robert Osfield +Added shader to convert images into greyscale when rendering in anaglyphic -2009-06-17 08:56 robert +Thu, 26 Mar 2009 17:24:28 +0000 +Checked in by : Robert Osfield +Added osgtexturecompression example to demonstate the quality difference between different compression techniques. - * Fixed error in DisplaySettings::setNumOfHttpDatabaseThreadsHint +Wed, 25 Mar 2009 11:17:21 +0000 +Checked in by : Robert Osfield +Added new virtual reseveElements, setElement, getElment and addElement methods to DrawElements to make is easier to write code that can work on DrawElementUByte, UShort or UInt.Changed the osgTerrain::GeometryTechnique so that it automatically chooses +the use of DrawElementUShort or DrawElementsUInt accordining to the size of the tile. -2009-06-16 13:02 robert - * Updated wrappers -2009-06-16 12:32 cedricpinson +Tue, 24 Mar 2009 23:25:30 +0000 +Checked in by : Robert Osfield +Added support for adding .ffmpeg to filenames to force selection of ffmpeg plugin - * From Cedric Pinson, Fix osgAnimation warning and errors +Tue, 24 Mar 2009 23:17:05 +0000 +Checked in by : Robert Osfield +Added support for image streams -2009-06-16 12:22 cedricpinson +Tue, 24 Mar 2009 11:08:40 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "I got the following type error from gcc 4.0.1 on OS X 10.5.6: /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp: In member function \u2018int osgFFmpeg::FFmpegDecoderVideo::convert(AVPicture*, int, AVPicture*, int, int, int)\u2019: /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp:245: error: invalid conversion from \u2018int\u2019 to \u2018PixelFormat\u2019 /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp:245: error: initializing argument 3 of \u2018SwsContext* sws_getContext(int, int, PixelFormat, int, int, PixelFormat, int, SwsFilter*, SwsFilter*, double*)\u2019It expects 'src_pix_fmt' and 'dst_pix_fmt' to be of type 'PixelFormat' rather than int. The attached cast fixes this (for me). - * From Cedric Pinson, Fix osgAnimation warning and errors for - Bone.cpp +I've also added Matroska video to the list of supported extensions" -2009-06-16 10:20 shuber - * From Stephan Huber: updated XCode project -2009-06-15 14:48 cedricpinson +Mon, 23 Mar 2009 20:47:18 +0000 +Checked in by : Robert Osfield +Updated AUTHORS.txt for 2.9.2 dev release - * From Cedric Pinson, split timeline classes in differents files, - cleanup and add a statshandler to visualize current action in - timeline +Mon, 23 Mar 2009 20:44:57 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 2.9.2 dev release -2009-06-14 23:30 cedricpinson +Mon, 23 Mar 2009 20:25:51 +0000 +Checked in by : Robert Osfield +From Aric Aumann, fixed handling of null texture coordinates - * From Cedric Pinson, fix copy constructor for clone operation for - Bone, add a missing contructor with quaternion for Target +Mon, 23 Mar 2009 17:08:58 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, You'll find attached a modification in ive plugin for POLYGONSTIPPLE read/write. -2009-06-12 10:37 robert +Mon, 23 Mar 2009 16:45:10 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Attached is a very small fix for the ffmpeg plugin, to build it without compiling errors on MSVC. The ffmpeg win32 pre-built tarball is downloaded at http://ffmpeg.arrozcru.org/builds/. Tested on Windows XP SP3 and Visual Studio 9, but don't know if it still workable for Unix and Mac users. :)Please look at the .diff files for details. I have already enjoyed the latest Chinese *big* movie "Red Cliff" with the fixed ffmpeg plugin and osgmovie. :D" - * Updated wrappers -2009-06-12 10:08 robert - * From Mathias Froehlich, "attached is a change to the ProxyNode - that also includes ProxyNode local - database options like recently added to PagedLOD. - - Also there is a change to the traverse method: - The previous ProxyNode checks the VisitorType to be a - CULL_VISITOR and the - presence of a request handler to submit a database request. - In contrast to that PagedLOD uses the request handler if it is - there - even if - the visitor type is not a cull visitor. - The change removes the cull visitor test from the ProxyNode so - that it behaves - like the PagedLOD. - I believe that the presence of a request handler in a visitor - might be - sufficient to trigger the requests as this is done in the - PagedLOD anyway. - - Based on rev 10332." +Mon, 23 Mar 2009 16:31:50 +0000 +Checked in by : Robert Osfield +From Csaba Halasz, "I have modified FltExportVisitor to use _MSC_VER instead of _WIN32 in the condition around a #pragma warning that is specific to visual studio as _WIN32 is also defined for mingw compile but the #pragma is not applicable there." -2009-06-12 10:00 robert +Mon, 23 Mar 2009 16:28:48 +0000 +Checked in by : Robert Osfield +From Csaba Halasz, "IIRC the C++ standard says members will be initialized in declaration order, and not in the order they are listed in the constructor. To avoid possible trouble, gcc warns about this. Attached modification fixes the initializer order to silence this warning." - * From Stephan Huber, "here are some small fixes/enahncements for - the cocoa backend to allow - proper functioning when running the osgViewer run-loop in a - secondary - thread (e.g. when embedding GraphicsWindowCocoa-windows in a full - blown - cocoa application). - - OS X is picky when you want to change the user-interface from - another - thread than the main thread, not all UI stuff is thread-safe. So - now - window closes and showing / hiding the menu bar is done in the - main - thread via Cocoa's performSelectorOnMainThread-mechanism. - - These changes don't affect the normal osgViewer usage pattern." +Mon, 23 Mar 2009 16:25:37 +0000 +Checked in by : Robert Osfield +From Michael Platings, "Changed some pointers to ref_ptr which fixed the leak " -2009-06-12 09:57 robert +Mon, 23 Mar 2009 16:21:51 +0000 +Checked in by : Robert Osfield +From Csaba Halasz, "I have removed some unnecessary semicolons that mingw build warns about." - * From Laurens Voerman, "there seems to be a bug in the proxynode - writer introduced in svn rev 10330. It craches on a null pointer - for options (on my windows system). - Fixed version of the file "src\osgPlugins\osg\ProxyNode.cpp" - attached, based on svn rev 10332." +Mon, 23 Mar 2009 16:15:55 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, "The attached Registry.cpp fixes OSG under OSX when a library suffix string is used, as is selected by default with cmake. " -2009-06-12 09:48 robert +Mon, 23 Mar 2009 16:13:42 +0000 +Checked in by : Robert Osfield +From Michale Platings, "Minor change to include ReaderWriterDAE.h" - * From Konstantin Sinitsyn, "I've fixed bug with loading of - compressed texture to texture array!" +Mon, 23 Mar 2009 16:11:41 +0000 +Checked in by : Robert Osfield +From Michael Platings, "I've changed this file so CMake automatically chooses the correct directories & libs out of vc8,vc9,mac,mingw Tested with Visual Studio 9 2008" -2009-06-12 09:41 robert +Mon, 23 Mar 2009 16:07:43 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "Here's a small simplification of the osganimationmorph example. Only one morphtarget needs to be added to the MorphGeometry since it already has a base geometry. The animation will morph between the base geometry and the first target." - * From Roger James and Robert Osfield, clean up of COLLADA CMake - support -2009-06-12 09:11 robert - * Updated ChangeLog +Mon, 23 Mar 2009 16:05:42 +0000 +Checked in by : Robert Osfield +From Philip Lowman, "Mainly removing comments like "This file is automatically generated" (glad that never happened!)" -2009-06-11 15:13 robert +Mon, 23 Mar 2009 16:01:02 +0000 +Checked in by : Robert Osfield +From Philip Lowman, "Here's the promised cleanup of the OSG's CMakeLists.txt files for the src/ folder. I'll submit the others separately.Also, there was also a small bug in osgDB's CMakeLists.txt that was causing an error when I tested with CMake 2.4.4. - * Fixed copy constructor +IF(${OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX} STREQUAL "quicktime") +was changed to +IF(OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX STREQUAL "quicktime") +" -2009-06-11 14:56 robert - * Replaced frame delta computation that was originally based on a - local static variable, replacing it with member variable to - tracking the previous frame time. This fixes a bug in the wind - computation when multiple PrecipitaionEffects are in the scene. -2009-06-10 09:24 robert +Mon, 23 Mar 2009 15:48:19 +0000 +Checked in by : Robert Osfield +From David Callu, clean up of FindFFmpeg include paths - * From Emmanuel Roche, "I've updated the CURL plugin to support the - CURL_CONNECTTIMEOUT and CURL_TIMEOUT options. - - Those two additional options can now be set using the - Options::setOptionsString() function (just like the already - existing OSG_CURL_PROXY & OSG_CURL_PROXYPORT options). - - This is a convient solution to limit the freezing effect one may - face in case the targeted server is down or too slow. - - I successfully compiled and used this updated version on Windows - in my application. - - And by default those settings are not set (so no change in the - behavior if you don't need them). - " +Mon, 23 Mar 2009 15:47:01 +0000 +Checked in by : Robert Osfield +From Csaba Halasz, "here is another division by zero fix, this should be simpler ;) It caused problem if the stats display was popped up before the pager had anything to do." -2009-06-09 08:43 robert +Mon, 23 Mar 2009 15:38:30 +0000 +Checked in by : Robert Osfield +Cleaned up interface - * From Gustav Happalahti, fixed filename usage +Mon, 23 Mar 2009 15:38:03 +0000 +Checked in by : Robert Osfield +Updated wrapper conf to avoid generating wrappers for PrintVisitor -2009-06-08 16:50 robert +Mon, 23 Mar 2009 15:21:31 +0000 +Checked in by : Robert Osfield +Bumped version numbers in prep for 2.7.2 dev release - * From Gustav Haapalahti and Robert Osfield, - - First Submission email from Gustav: - "This submission adds a --cache option to osgconv and osgviewer - that enables setObjectCacheHint(osgDB::Options::CACHE_ALL); It - greatly reduces memory usage when a .osg file has lots of - external references with ProxyNode:s that points to the same - file. - - Options are also added to the osg plugin. The code was already - mostly implemented but there was no way to change the options. - includeExternalReferences - writeExternalReferenceFiles - A counter is added to keep track if an external file has already - been written down to avoid writing the same file over and over - again. If it has already been written once then it is not written - again. - The counter is added to the Output class in osgDB. - " - - Second Submission email from Gustav: - "This is a continuation to my previous submission. - I noticed that the same problem that I fixed in ProxyNode.cpp for - the osg plugin (external files being written over and over again) - also existed in the ive plugin. I attached a submission where the - ive plugin remembers which external files that have already been - written and do not write them again." - - - Changes to the above done by Robert Osfield, - - changed command line parameter to --enable-object-cache - changed set/get methods in osgDB::Output and - ive/DataOutputStream.cpp to be s/getExternalFileWritten(const - std::string&) - cleaned up set up of osgDB::Options. +Mon, 23 Mar 2009 15:10:36 +0000 +Checked in by : Robert Osfield +Added ShaderGen wrapper -2009-06-08 14:06 robert +Mon, 23 Mar 2009 15:04:33 +0000 +Checked in by : Robert Osfield +Removed PrintVisitor as it was causing problems with wrapper building. - * Martin Beckett, "Here's a first attempt at a DXF writer plugin - - At the moment it outputs DXF for whatever geometry is contained - in the node it would be nice to draw the model as it is rendered - (points/lines/surface) - - If people could also test against other apps that need to read - DXF, the format is a bit of a black art and not all importers - support all features so it might need some options to tweak the - output. - - It has some rather clever colour lookup stuff to match real - colours against the limited DXF palette. I cracked the code of - the Autocad indexed colours!" +Mon, 23 Mar 2009 13:51:46 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, "osgviewer (and all other OSG-based utilities) fails to provide help for the OSG_NOTIFY_LEVEL environment variable. This submission fixes that problem." -2009-06-08 13:51 robert +Mon, 23 Mar 2009 11:53:06 +0000 +Checked in by : Robert Osfield +From Maciej Krol, "As promised to Roland I assembled simple shader generator. ShaderGenVisitor converts accumulated fixed function pipeline state sets to ones with shader programs. Generated state sets are attached to geometries and stored in ShaderGenCache for reuse.Very simple cases of state configuration are supported (all the ones I really need): +- single per pixel not attenuated non spot light source ON/OFF +- exp2 fog ON/OFF +- diffuse texture in rgb + optional specular gloss in alpha (Texture unit 0) ON/OFF +- normal map texture (Texture unit 1 and Tangent in VertexAttribArray 6) ON/OFF +- blending and alpha testing (not in shader pipeline) - * From Mathias Froehlich, "Without this change packed depth stencil - attachments are only supported if the - GL_EXT_framebuffer_blit extension is available. This is due to - the early - return from the constructor if this is missing. - As far as I read the standard extension documents, this blit call - is not - required to have packed depth stencil fbos. - The change fixes this and allows packed stencil attachments on - machines - without the multisample blit command." +To view fixed function pipeline files and paged databases simply run >osgshadergen myfile.osg" -2009-06-08 13:47 robert - * Addded .ive and .osg support for new - GL_EXT_blend_equation_separate properties in osg::BlendEquation -2009-06-08 13:46 robert +Thu, 19 Mar 2009 11:36:54 +0000 +Checked in by : Robert Osfield +UPdated wrappers - * From Konstantin Sinitsyn, support for - GL_EXT_blend_equation_separate extension like in - osg::BlendEquation. +Thu, 19 Mar 2009 11:11:51 +0000 +Checked in by : Robert Osfield +Inroduced simple PrintVisitor class for helping debug scene graph structures -2009-06-08 12:50 robert +Thu, 19 Mar 2009 10:56:38 +0000 +Checked in by : Robert Osfield +Fixed spacing - * Added basic Matrix::decompose() test, based on a test progrem - wrttien by Paul Obermeier +Thu, 19 Mar 2009 10:55:51 +0000 +Checked in by : Robert Osfield +Added compressed to list of supported options -2009-06-08 12:44 robert +Thu, 19 Mar 2009 10:55:29 +0000 +Checked in by : Robert Osfield +Added debug message (commented out for now.) - * Fixed doc message +Thu, 19 Mar 2009 10:27:24 +0000 +Checked in by : Robert Osfield +Added osgTerrain::Terrain support to the .osg format -2009-06-08 11:12 robert +Sat, 14 Mar 2009 15:40:41 +0000 +Checked in by : Robert Osfield +From Adrian Egli, build fix for Win32 FFmpeg - * From Lionel Lagarde, "this correction makes the intensity - interpolated in the correct direction when the angle is between - _cosFadeAngle and _cosAngle." +Fri, 13 Mar 2009 15:56:19 +0000 +Checked in by : Robert Osfield +From Stephan Huber, clean up of Quicktime plugin -2009-06-08 10:54 robert +Fri, 13 Mar 2009 13:25:00 +0000 +Checked in by : Robert Osfield +Update AUTHORS file - * Fixed warning +Fri, 13 Mar 2009 11:56:16 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2009-06-08 10:27 robert +Fri, 13 Mar 2009 11:06:12 +0000 +Checked in by : Robert Osfield +Warning fixes - * Changed the file search path so it returns an empty string when - the filename contains a server address. +Fri, 13 Mar 2009 11:01:11 +0000 +Checked in by : Robert Osfield +Fixed for division by zero issue. -2009-06-08 09:47 robert +Fri, 13 Mar 2009 10:40:00 +0000 +Checked in by : Robert Osfield +From Bryan Thrall, "The attached ReaderWriterGLSL.cpp conveniently sets the shader type when the filename extension is "vert" or "frag" but still lets this be overridden by the Options (for those crazy people who store their fragment shaders in .vert files :) )." - * From Johan Nouvel, fix to handling of transparent textured - objects. - - Tweak from Robert Osfield, commented out disabling of depth write - as this is not appropriate by default. +Thu, 12 Mar 2009 17:54:58 +0000 +Checked in by : Robert Osfield +From Frank Midgley, "I tried running osgconv --formats yesterday on OS X and got no results. Turns out the changes discussed in the "osgDB::listAllAvailablePlugins win32 fix" thread back in Sep '08 broke this. The OSG_PLUGIN_EXTENSION macro is being defined in src/osgDB/CMakeLists.txt from CMAKE_SHARED_LIBRARY_SUFFIX which is "dylib" on OS X. The problem is that all of the plug-ins are setup in OsgMacroUtils.cmake with: ADD_LIBRARY(${TARGET_TARGETNAME} MODULE ${TARGET_SRC} ${TARGET_H}) -2009-06-05 19:05 robert +which gives them .so extensions. Since ".so" != ".dylib" osgDB::listAllAvailablePlugins finds no plug-ins. I believe the correct solution is to use CMAKE_SHARED_MODULE_SUFFIX instead. This builds and runs correctly on OS X but I have not tested on other platforms. - * Added collateReferencesToDependentCameras() and - clearReferencesToDependentCameras() methods into RenderStage and - SceneView, and use - of these methods in src/osgViewer/Renderer.cpp to make sure that - the draw thread keeps references to all in scene graph Cameras - that are being used by the drawing threads, to keep the Camera's - alive even when the main thread removes these Cameras from the - scene graph. +Attached is an updated src/osgDB/CMakeLists.txt based on rev 9915. The change is at line 108. To validate: build and then run bin/osgconv --formats. You should get many screenfuls of plug-in features, extensions and options." -2009-06-05 11:48 robert - * Added depends_on template and usage in RenderBin to help with - static variable destruction ordering -2009-06-05 10:42 robert +Thu, 12 Mar 2009 17:47:50 +0000 +Checked in by : Robert Osfield +From Konstantin Sinitsyn, "At this moment, I just introducing to OSG. When I reviewing optimizer code, I find a mistake in Optimizer::RemoveLoadedProxyNodesVisitor, as it seems. This optimizer removes proxy nodes that fully loaded and in some cases attach their childs to parrents directly (without creating of group). I dont understand how this works, because if proxy node doesn't have any attributes such as name, description, node mask and any callbacks, then new group does not created to hold proxy node childs. And code below trying to attach their children to all parents but seems like only first child beeing attached to all parents correctly." - * Fixed warning -2009-06-04 14:37 robert - * Updated wrappers +Thu, 12 Mar 2009 17:26:21 +0000 +Checked in by : Robert Osfield +Introduced a releaseAllOperation after completeion of OperationThread::run() to enable CUDA integration (in osgCuda) to be able to free up its resources. Code drawn from a submission from Mick. -2009-06-04 14:07 robert +Thu, 12 Mar 2009 17:12:48 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Implemented updating of revision files as new data is writing to - the FileCache +Thu, 12 Mar 2009 15:21:04 +0000 +Checked in by : Robert Osfield +Moved IncrementalCompileOperation out of include-src/osgUtil/GLObjectVisitor into their own files.Added support to IncrementCompileOperation for controlling how much time is alloted to compilation and flush -2009-06-02 16:58 robert - * Added osgdatabaserevisions example to server as a testbed for new - osgDB::DatabaseRevisions functionality -2009-06-02 16:54 robert +Thu, 12 Mar 2009 15:18:51 +0000 +Checked in by : Robert Osfield +Added support for tracking the time since the last clear() call to enable other classes to be able to find out how long the current graphics frame has been running. - * Implemented DatabasePath in DatabaseBase revision classes +Thu, 12 Mar 2009 10:12:42 +0000 +Checked in by : Robert Osfield +From Michael Platings, "I've been looking at the discussion from 2006 ("[osg-users] osgDB/Reentrant Mutex not threadsafe ?") about this, and having looked closely at OpenThreads::ReentrantMutex it's still not thread safe in the following situation:In my example case, there are 2 threads - one is a worker thread created by OpenThreads::Thread. The other thread is the main thread i.e. the thread that is intrinsically created when you execute the application. The crucial problem is that for the main thread, OpenThreads::Thread::CurrentThread() will return null. + +I'll demonstrate this by breaking ReentrantMutex::lock() into sub-statements: + +1.) if (_threadHoldingMutex==OpenThreads::Thread::CurrentThread()) + +2.) if (_lockCount>0){ + +3.) +OpenThreads::ScopedLock lock(_lockCountMutex); +++_lockCount; +return 0; + +4.) +int result = Mutex::lock(); +if (result==0) +{ +OpenThreads::ScopedLock lock(_lockCountMutex); + +5.) +_threadHoldingMutex = OpenThreads::Thread::CurrentThread(); +_lockCount = 1; +return result; + + +An error will occur in the following case: +1) The worker thread calls lock(), it gets to the start of statement 5. +2) The main thread calls lock(). Statement 1 is evaluated as true as _threadHoldingMutex is null, and OpenThreads::Thread::CurrentThread() returns null. +3) The worker thread executes statement 5. +4) The main thread executes statement 2 and evaluates it as true, because the worker thread has set _lockCount to 1. The main thread executes statement 3, and now can access the mutexed-data at the same time as the worker thread! + +The simple solution to this is to always protect access to _lockCount and _threadHoldingMutex using _lockCountMutex. I have done this in the file I am submitting." -2009-06-02 08:56 robert - * Refactored the adaption of X11 key symbols into OSG key events to - fix problems with handling wide range of locales. -2009-06-02 08:53 robert +Wed, 11 Mar 2009 18:13:58 +0000 +Checked in by : Robert Osfield +Changed audio playing so that it only happens for a single movie to avoid problems with audio stalling. - * Moved assigned of texture object to _textureObjectBuffer to - earlier in Texture2D::apply() to prevent problems with non power - of two texture mipmap generation. +Wed, 11 Mar 2009 17:57:33 +0000 +Checked in by : Robert Osfield +Added docs on getPixelAspectRatio and corrected usage of getPixelAspection in osgmovie.cpp -2009-06-01 11:22 robert +Wed, 11 Mar 2009 17:39:08 +0000 +Checked in by : Robert Osfield +changed debug info to output to INFO instaed of NOTICE. - * From Wojciech Lewandowski, Fixed handling of empty Program. +Wed, 11 Mar 2009 15:43:13 +0000 +Checked in by : Robert Osfield +Added handling of Image::isImageTranslucent(), when it is enabling blending. Added handling of Image::getPixelAspectRatio() in geometry sizing. Added scaling of the projection matrix to ensure that aspect ratio is honoured with running in fullscreen mode -2009-06-01 11:08 robert +Wed, 11 Mar 2009 15:12:46 +0000 +Checked in by : Robert Osfield +From Tanguy Fautre,Clean up of the FFmpeg plugin's class API/AudioStream API. +Implementation of isImageTransparent(). +Implementation of Image:g/setPixelAspectRatio() - * From Emmanuel Roche, "I've also updated the computeBound() method - from the osg::Transform class : this method was using float based - temporary variables and thus the double precision is lost here. - I've changed that to use the generic types - osg::BoundingSphere::vec_type and osg::BoundingSphere::value_type - instead." -2009-06-01 11:07 robert - * From Emmanuel Roche, "I'm joining an updated version of the file - daeWritter.cpp and daeWriter.h for the collada plugin compatible - with the usage of double precision BoundingSphere & BoundingBox. - The only change is the addition of the template specialization - for osg::Vec3d object (until now only the specialization for - osg::Vec3 was defined, I replaced that with osg::Vec3f to be more - "precise")." -2009-05-30 07:39 robert +Wed, 11 Mar 2009 14:18:30 +0000 +Checked in by : Robert Osfield +Added View::removeEventHandler(..) method and added check into addEventHandler() to prevent handlers being added twice. - * Updated wrappers +Wed, 11 Mar 2009 14:08:43 +0000 +Checked in by : Robert Osfield +From Philip Lowman, "At a cost of bumping the required version to CMake 2.4.4 (released all the way back on November 21, 2006)... this cmake script patch1. Makes IF/ELSE/ENDIF code blocks easier to read by replacing code like this: -2009-05-29 18:24 robert +IF(FOO) + MESSAGE("FOO is true") +ELSE(FOO) + MESSAGE(" ??? ELSE(FOO)??? ") +ENDIF(FOO) - * Added revisions plugin in support of paged database revisions. +with this: -2009-05-29 09:39 shuber +IF(FOO) + MESSAGE("FOO is true") +ELSE() + MESSAGE("FOO is clearly false") +ENDIF() - * From Stephan Huber: updated XCode project +2. Also adds an ELSEIF() where it makes sense to do so (safe to use as of CMake 2.4.4)" -2009-05-29 08:46 robert - * Updated wrappers -2009-05-29 08:24 robert +Wed, 11 Mar 2009 13:27:51 +0000 +Checked in by : Robert Osfield +From Neil Hughes, "I've spent the past four days playing with PNG files on 3DS objects, and I think I may have come across a small issue with the 3DS loader.At the company where I work we model literally thousands of 3DS models for all types of objects. Most don't have transparent textures applied to them, but a few do. The issue is that a texture may have an alpha channel defined, yet its 3DS material definition is not marked as being an alpha source, or transparent. This can happen for any number of modelling reasons (so I'm told) but the net effect is that when a 3DS object is loaded with such a material applied, the stateset creation for the 3DS geometry omits to add the GL_BLEND attribute as neither of the conditions that it currently tests for are satisfied under this scenario. - * Ran dos2unx of files +However, one thing that is apparently an indication of transparency/alpha information that we do make use of when modelling, but that the 3DS reader omits to test, is that we assign to the transparent texture to the opacity_map of the 3DS material structure. -2009-05-29 08:24 robert +Now, having discussed with our modellers the theory behind the opacity map, it seems that it is safe to say that if an opacity map is specified, then the reader should really apply the GL_BLEND attribute as it is an indication of some form of blending being required between materials. - * Introduced first iterations of DatabaseRevision classes for - managing the revisioning of http hosted databases +With this in mind, I have made a minor change to the function createStateSet below, from the ReaderWriter3DS.cpp file, that checks for an opacity map having been specified, and in such a scenario the GL_BLEND attribute is applied to the geometry. This fixed our issue, and thought it might be helpful to others." -2009-05-28 16:46 robert - * Fixed warning -2009-05-28 14:15 robert +Wed, 11 Mar 2009 13:08:12 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "small addition to osg::Texture to include all possible depth test variants for the shadow depth comparison." - * From Mathias Froehlich, "This frees some memory that is allocated - by the X11 functions." +Wed, 11 Mar 2009 12:55:20 +0000 +Checked in by : Robert Osfield +From Stephan Huber, files were are missed by Robert in check in of changes to GraphicsWindowCarbon.cpp -2009-05-28 14:12 robert +Wed, 11 Mar 2009 12:08:24 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, "the attachment contains a correction of the Optimizer::MergeGeometryVisitor. When 2 geometries are merged, the primitive sets of the second geometry are copied to the first geometry.The primitive sets were copied with a std::insert into the first geometry +primitive set vector. It doesn't work when the geometry is using VBOs (because +the element buffer object of the primitive set is not updated). - * Fixed unitialized variable +The correction replaces -2009-05-28 14:09 robert +lhs.getPrimitiveSetList().insert( lhs.getPrimitiveSetList().end(), + rhs.getPrimitiveSetList().begin(), + rhs.getPrimitiveSetList().end() ); - * From Stephan Huber, "attached you'll find a small fix for - GrphicsWindowCocoa. There was a bug - with certain key-strokes, which led to a crash." +by + for( primItr=rhs.getPrimitiveSetList().begin(); + primItr!=rhs.getPrimitiveSetList().end(); + ++primItr ) +{ + lhs.addPrimitiveSet(primItr->get()); +}" -2009-05-28 13:40 robert - * From Wojciech Lewandowski, "I suppose this error is caused by - using 4 component tex coord in texture2D call. I always forget - about adding .xy swizzle at the end of tex coord. I have attached - code (hopefully fixed). My NVidia seems to ignore such errors. - Cannot test it myself. Simple example works because I actually - use textture2Dproj there." -2009-05-28 13:29 robert +Wed, 11 Mar 2009 11:58:31 +0000 +Checked in by : Robert Osfield +Fixed crash due to Geometry::copyToAndOptimize(..) not handling cases where indices are present, but no arrays are assocaited with them. - * From Gregory Jaegy and Robert Osfield, added support for static - linking of OpenFlight plugin +Wed, 11 Mar 2009 11:29:00 +0000 +Checked in by : Robert Osfield +From David Callu, "osgManipulator Object have not META_Object macro call in class definition. > I add META_OSGMANIPULATOR_Object macro which define className, libraryName, > isSameKindAs methods. > Clone method is not appropriate for osgManipulator Object." -2009-05-28 13:26 robert +Wed, 11 Mar 2009 11:00:24 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, "The copy constructor of the nodes and the drawables do :Node::Node(Node &node, copyop) : + _stateSet(copyop(node.getStateSet()), - * Fixed warnings +It doesn't call the setStateSet method of osg::Node (or osg::Drawable). So the parent +list of the state set is not updated with the new node (drawable)." -2009-05-28 12:25 robert - * From Neil Hughes, "Two changes here... - - 1. I've implemented an option controlled route by which users can - still access the old method of extracting the zip content to the - local filesystem. This is in response to Ulrich's comments about - zip files encorporating files other than those that OSG knows - about, but which an application may require. - - To access this the user makes the following call on their options - object that they pass to the reader. Without it, the plugin will - extract by default to memory. - - local_opt->setPluginStrData("zipextract","filesystem"); - - - 2. The second change is that I've moved the declaration of one of - the variables to within the numitems loop so that if loading of a - specific file within the zip fails, subsequent files still load - correctly. This was the issue that Ulrich raised." -2009-05-28 08:25 robert +Wed, 11 Mar 2009 10:50:03 +0000 +Checked in by : Robert Osfield +From Martin Beckett, added get/setScrollWheelZoomDelta() support for controlling the mouse scroll wheel zoom delta. - * Updated wrappers +Wed, 11 Mar 2009 10:34:29 +0000 +Checked in by : Robert Osfield +Converted tabs to four spaces -2009-05-27 13:02 robert +Wed, 11 Mar 2009 10:34:04 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "refactored the code and moved some stuff out into DarwinUtils.h/.mm so both implementations can share some of the code. There's even a bugfix for GraphicsWindowCarbon, which fixes some issues with multiple windows on different screens." - * Renamed application osgvirtualprogram to osgshadercompostior to - better reflect it function +Tue, 10 Mar 2009 17:51:05 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "an other topic pointed out by some Microsoft verification tool: On destruction of some static variables, the global referenced mutex is used to lock access to the parent lists of state attributes, nodes and so on. This even happens past the mutex is already destroyed.This change to Referenced.cpp revision 9851 uses the same technique like the +DeleteHandlerPointer already in Referenced.cpp to return an zero pointer for +the global referenced lock if it is already destroyed." -2009-05-27 13:00 robert - * Renamed osgvirtualprogram to osgshadercompositor to better - reflect it's function -2009-05-27 12:11 robert +Tue, 10 Mar 2009 17:47:54 +0000 +Checked in by : Robert Osfield +From Konstantin Matveyev, submitted by Valery Bickov:"There is error in WoW shader, you can see it by this simple example: +osgviewer cessna.osg --wowvx-42 --clear-color 0,0,0 - * Fixed glStencilMask setting. +Clear color may be choosed any with at least one component equals to 0 +or 1. In my case I see weird blinking between normal image and image +with depth map at right side on the screen." -2009-05-27 09:54 robert - * Added support for RenderBin::SortMode::TRAVERSAL_ORDER to enable - rendering of scene graph drawables in the order that they were - traversed in. -2009-05-27 09:45 robert - * Fixed warning +Tue, 10 Mar 2009 17:39:46 +0000 +Checked in by : Robert Osfield +From Martin Beckett, "Modified osgGA::TrackballManipulator so that osgGA::GUIEventAdapter::SCROLL performs a zoom. Arbitrarily zooms 10% in/out for each click."Note from Robert Osfield, flipped the orienation of the zoom to make the right mouse key zoom and the scroll wheel work in the same direction. -2009-05-26 14:22 robert - * From Jan Ciger, "I am attaching the updated VRML plugin, as - promised. This version works - with OpenVRML 0.17.12 and Boost 1.38. Other versions may work - too, but I - didn't test that." -2009-05-26 11:00 robert +Tue, 10 Mar 2009 17:27:39 +0000 +Checked in by : Robert Osfield +Completed support for automatic detection of plugin features.Cleaned up debug out of various plugins to ensure a clean osgconv --formats. - * From Ulrich Hertlein, "please find a patch for the DirectX loader - to use std::istreams. This will make it usable with the zip - plugin." -2009-05-26 10:10 robert - * Fixed warnings +Tue, 10 Mar 2009 17:13:51 +0000 +Checked in by : Robert Osfield +quitened down debug info -2009-05-25 16:34 robert +Tue, 10 Mar 2009 16:52:18 +0000 +Checked in by : Robert Osfield +Made bool isImageTranslucent() const virtual to allow subclasses to provide their own implementation - * Refactored the GraphicsWindowX11::adaptKey() implementation so - that it always uses the reampX11Key(ks) method, and for the - mapping to handle case correctly. +Tue, 10 Mar 2009 15:00:39 +0000 +Checked in by : Robert Osfield +From Ralf Habacker, "The appended patch fixes this issue by adding a virtual method named supportedFeatures() to the class ReaderWriter, which could be overriden by a specific plugin to adjust the set of features. Single features are implemented as bits asother enums in ReaderWriter class already does, so that combinations are possible and fast comparison operations are possibleBy default all features are enabled. -2009-05-25 13:02 robert +I have added this virtual method to the dot plugin to get an idea how to use these features. - * From Wojciech Lewandowski, VirtualProgram example that - illustrates how one can create a custom system for composing - shaders within the scene graph. +With this patch osgconv --formats shows an additional line 'features' for each plugin" -2009-05-25 12:07 robert - * Updated wrappers -2009-05-25 12:04 robert - * Changed Status enums to ActionStatus and TimelineStatus to avoid - X11 problems +Tue, 10 Mar 2009 14:15:59 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "While working on the Collada plugin I noticed that all geometry created by the dae reader result in slow path geometry. Because there already exists the option to convert slow path geometry to the fast path by computing an internal fast path alternative, I added a new optimizer option that automatically does this. To check the results I also made some changes to the statistics gathering and rendering.Somewhat unrelated, but also part of the optimizer I disabled removal of CameraView nodes during RemoveRedundantNodes optimization. +As discussed on the ML, CameraViews were removed from the scenegraph. This solves that issue. -2009-05-25 11:16 robert +Summary: +-Geometry::areFastPathsUsed now also looks at internalOptimizedGeometry +-Added Optimize option to make all slow path geometry compute their internal fast path alternative +-Added fast geometry counter to the statistics +-Disabled removel of CameraViews in optimizer +" - * Added initializer of ParticleSystemUpdater::_frameNumber -2009-05-25 11:12 robert - * From Wojciech Lewandowski, "Two fixes for LUMINANCE and - ALPHA_LUMINACE pixel formats written into DDS file. Component - masks were incorrect. I tested results with ultimate DDS - compatibitlity tester ie Microsoft DirectX Texture tool ;-). I - have also added comment with warning about possible problems when - writing other than 8 bit component pixel formats. - " +Tue, 10 Mar 2009 13:46:55 +0000 +Checked in by : Robert Osfield +Added copyright + fixed typo -2009-05-25 10:46 robert +Tue, 10 Mar 2009 12:21:13 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "Attached you'll find a proposal for using different protocols. The idea behind the new code is:1.) plugins/apps register protocols which they can handle. This is done +via osgDB::Registry::registerProtocol(aProtocolName). Plugins register +supported protocols as usual via ReaderWriter::supportsProtocol(..), the +Registry is updated accordingly. - * From Colin McDonald, "The latest osg::notify is crashing at - initialisation on Solaris, due to - constructor issues: - - Within the NullStream & NotifyStream classes the base class - objects - (ostream) were being initialised before the class member _buffer - objects - which they referenced, causing a crash. - - I had to move the file scope g_NullStream & g_NotifyStream - initialisation - into a function to get them to work. - - Also there was a missing osg:: qualifier on getNotifyHandler." +2.) osgDB::containsServerAddress checks first for an appearance of "://" +in the filename and then checks the protocol against the set of +registered protocols via Registry::isProtocolRegistered(aProtocollName) -2009-05-22 08:31 robert +3.) the other getServer*-functions changed as well, there's even a +getServerProtocol-function - * From Alberto Luacas, added new pkg-cofig files -2009-05-22 07:52 robert +With these changes filenames/Urls get routed to loaded plugins even with +different protocols than 'http'." - * From Alberto Luacas, separate pkg-config .pc files -2009-05-21 16:33 robert - * Fixed handling of case where the master and the slave camera are - placed on the same GraphisContext, or when the master camera and - slave camera are assigned to different Camers. Note normally one - doesn't mix master with GraphicsContexts and slave cameras so - neither case is common. -2009-05-21 08:37 robert +Tue, 10 Mar 2009 11:14:56 +0000 +Checked in by : Robert Osfield +From Martin Spott, compile fixes for IBM AIX. - * Added a default value to avoid warning +Tue, 10 Mar 2009 10:56:00 +0000 +Checked in by : Robert Osfield +From David Callu, "Problem: osgText::Text and osgText::Text3D use the same font file. The first really load the file and obtain an osgText::Font object, the second use the cache created during the first load of the font file, and so obtain an osgText::Font object instead of osgText::Font3D object. To obtain an osgText::Font3D object, osgText::Text3D call osgDB::readObjectFile(...) with an option to specify the plugin we want an osgText::Font3D instead of osgText::Font.Generalised Problem: + In osgDB::Registry, loaded file cache is referenced by the name + of this file, so if I load a file with some options, and the cache + already contain object for this filename, I obtain an object + potentially not loaded with my options. -2009-05-20 12:14 robert +Behaviours: + Cache management is delegate to osgDB::Registry, but cache + coherence (load a file with option then reuse it, deactivate the + cache when load a specific file or don't cached the loaded file) + is user's responsibility. - * Fixed warnings +Text3D solution: + Postfix the font file name by .text3d or something similar and then have the freetype plugin return + osgText::Font3D when it detects this. + This operation is done by osgText::readFont3DFile() which unsure the filename have .text3d as extension. + This is totaly transparent for user, and backward compatible. -2009-05-20 12:06 robert - * Fixed warnings +BTW, I fix the bug about the Normal of 3D text. Currently, the front and wall face have +the same normal (0,0,1) in the Text3D object coordinate. Now the wall face have its own +normal array computed by the plugin. -2009-05-20 11:14 robert +BTW 2, I implement +- void Text3D::accept(osg::Drawable::ConstAttributeFunctor& af) const +- void Text3D::accept(osg::PrimitiveFunctor& pf) const +so now statistics are well reported. +" - * Updated wrappers -2009-05-20 11:08 robert - * Changed TerrainManipulator to use HEADING rather than AZIM to - keep it consistent with SphericalManipulator +Tue, 10 Mar 2009 10:30:34 +0000 +Checked in by : Robert Osfield +From Eric Wing and Stephan Huber, ImageIO code originally wrote by Eric Wing, and then later conveted into an OSG plugin by Stephan Huber. -2009-05-20 10:58 robert +Tue, 10 Mar 2009 10:13:20 +0000 +Checked in by : Robert Osfield +From Stephan Huber, support for Cocoa windowing under OSX. - * Converted SphericalManipulator to use Elevation and Heading - rather than Zenith and Azimuth. +Mon, 9 Mar 2009 23:11:23 +0000 +Checked in by : Robert Osfield +Fixed osgWrappers for osgAnimation library -2009-05-19 16:12 shuber +Mon, 9 Mar 2009 17:38:39 +0000 +Checked in by : Robert Osfield +From Roland Smeenk & Cedric Pinson,"Summary of changes: +From Roland +-Added MorphGeometry +-Bone Bindmatrix is only calculated if needed +-osgAnimation plugin now supports all available channel types (before only linear vec3 or quat channels) +-osgAnimation plugin now supports MorphGeometry +-osgAnimation plugin now supports animation and channel weights, animation playmode, duration and starttime +-removed osgAnimationManager.cpp from CMakeList - * updated XCode-project +From Cedric +-fixed the last_update field (it was only updated at the first update) in BasicAnimationManager.cpp +- Refactore some part of MorphGeometry minor changes +- Add osganimationmorph as example +" -2009-05-19 15:11 robert - * Fixed typo -2009-05-19 15:10 robert +Mon, 9 Mar 2009 16:53:57 +0000 +Checked in by : Robert Osfield +Tweaked API to get wrappers to build - * Updated wrappers +Mon, 9 Mar 2009 16:17:57 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-05-19 14:03 robert +Mon, 9 Mar 2009 14:56:20 +0000 +Checked in by : Robert Osfield +Further work on IncrementalCompileOperation - * From Martin Beckett, "In MatrixManipulator can we have - computeHomePosition() use _homeUp rather than the hardcoded - (0,0,1). - This makes it possible to redefine the viewing direction of - 'home' in the other manipulator - so home in a GIS app could be a - plan view. - Since _homeUp is set to (0,0,1) and no current code changes it - there shouldn't be any difference for current users." +Sun, 8 Mar 2009 16:48:48 +0000 +Checked in by : Robert Osfield +Fixed thread exit problems -2009-05-19 12:25 robert +Sun, 8 Mar 2009 12:00:36 +0000 +Checked in by : Robert Osfield +Preliminary work on general purpose incremental compile support in osgViewer. - * Attempt to fix Cygwin build failure +Thu, 5 Mar 2009 15:31:03 +0000 +Checked in by : Robert Osfield +Updated wrappers and dev release version numbers -2009-05-19 12:21 robert +Thu, 5 Mar 2009 14:33:21 +0000 +Checked in by : Robert Osfield +Cleaned up FindFFmpeg.cmake - * Changed the default home position so that it's consistent with - other OSG manipulators. Added setter of properties of the - SphericalManipualtor, moved across to using doubles internally +Thu, 5 Mar 2009 10:57:54 +0000 +Checked in by : Robert Osfield +Added quick proof of concept for live video streaming under linux -2009-05-19 11:18 robert +Wed, 4 Mar 2009 16:35:08 +0000 +Checked in by : Robert Osfield +Added search for headers in ffmpeg directory - * From Mojtaba Fathi, "I've developed a new manipulator which uses - azimuth and zenith angles to rotate scene and so avoids Roll - angle rotation, such that scene is always seen as Z upward." +Wed, 4 Mar 2009 16:16:07 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, added non pkg-config based ffmpeg search scheme. -2009-05-19 10:45 robert +Wed, 4 Mar 2009 16:15:05 +0000 +Checked in by : Robert Osfield +Fixed indentation - * From Stephan Huber, "when using windownames and switching between - fullscreen and windowed - mode GraphicsWindowCocoa crashes. Attached you'll find a fix for - that bug. - " +Wed, 4 Mar 2009 16:03:28 +0000 +Checked in by : Robert Osfield +Removed boost reference and cleaned up debug output -2009-05-19 10:42 robert +Wed, 4 Mar 2009 14:49:39 +0000 +Checked in by : Robert Osfield +Introduced double buffering of video stream to avoid tearing of image.Removed swapBufers call and image y inversion. - * From Stephan Huber, replaced #include with #include - to fix build under OSX -2009-05-19 10:35 shuber - * updated XCode-project +Wed, 4 Mar 2009 13:24:36 +0000 +Checked in by : Robert Osfield +Added handling of ImageStream Origin to make sure the movie always appears the correct way up. -2009-05-19 09:26 robert +Wed, 4 Mar 2009 11:59:15 +0000 +Checked in by : Robert Osfield +Fixes to non swscale code path - * From Neil Hughes, intergrated support for uncompressing zip files - in memory and from istreams (enabling reading from http). +Wed, 4 Mar 2009 11:46:34 +0000 +Checked in by : Robert Osfield +Fixed img_convert usage -2009-05-18 15:46 robert +Wed, 4 Mar 2009 11:06:34 +0000 +Checked in by : Robert Osfield +Removed reference to OpenAL plugin - * Added enable of clear stencil and depth mask to ensure that - stencil and depth buffers are always cleared when required +Wed, 4 Mar 2009 11:05:55 +0000 +Checked in by : Robert Osfield +Added support for using libswscale -2009-05-18 15:21 robert +Tue, 3 Mar 2009 20:59:16 +0000 +Checked in by : Robert Osfield +Added SDL audio path - * From Roland Smeenk, "Attached you will find some changes to the - dae plugin to improve light support. - - -Changed the addition of lights to add the lightsource directly - into the scenegraph (instead of below a switch node) - -All added lights are enabled in the root stateset and replace - the head- or skylight. - (if no lights are available the head- or skylight will remain - active) - -Ambient in osg::LightModel is zeroed out. All ambient now comes - from separate ambient only light sources. - -Lights can now be written properly - -Replaced strings by constants defined in the Collada DOM" +Tue, 3 Mar 2009 20:49:46 +0000 +Checked in by : Robert Osfield +Improved the clean up ordering -2009-05-18 13:01 robert +Tue, 3 Mar 2009 17:37:48 +0000 +Checked in by : Robert Osfield +Added SDL audio support for reading from ffmpeg movies - * Quietened down debug messages +Tue, 3 Mar 2009 17:28:50 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated xcode project, added AudioStream to project -2009-05-18 12:54 robert +Tue, 3 Mar 2009 16:51:01 +0000 +Checked in by : Robert Osfield +Introduce FFmpegAudioStream implementation - * From Ross Anderson, "Symptom: The computation of TerrainTiles - containing only image layers (no elevation layer) is incorrect. - The resulting bounding sphere will always have a radius of zero. - - The fix is to remove the call to bs.expandBy(v) and compute the - radius directly. I believe this call was intended to be - bs.expandRadiusBy(v), but it is superfluous when the radius is - computed directly." +Tue, 3 Mar 2009 14:59:04 +0000 +Checked in by : Robert Osfield +Removed redudent export -2009-05-18 12:04 robert +Tue, 3 Mar 2009 11:52:26 +0000 +Checked in by : Robert Osfield +Added LINK_DIRECTORIES - * From Maciej Krol,"With advent of GUI applications in OSG there is - a growing need to redirect notification messages to third party - systems. For example windows applications do not have console - output, it would be appropriate to redirect notifications to GUI - widget or debug output. I have revamped notification system to - fit this need. New notification stream is using NotifyHandler as - a message sink. Handler is called whenever stream is synchronized - (i.e. after < WARN - - WinDebugNotifyHandler, windows users can redirect notifications - to windows debug output, notifications can be viewed in output - window of the debugger i.e. MSVC or DebugView - (http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx) - (see screenshot). - - I have seen on osg-users that some people do - std::cerr.rdbuf(otherStream.rdbuf()) to redirect notifications. - This trick will no longer work since osg::notify() returns - internal osg::NotifyStream not std::cout or std::cerr. You can - use osg::notify().rdbuf(otherStream.rdbuf()) to do this instead. - - Additionally I've made some minor fixes: - - Minor imrovements to osg::notify documentation - - NullStream could crash by deleting stream buffer other than - default NullStreamBuffer in the destructor i.e. after - osg::notify(osg::DEBUG_FP).rdbuf(otherStream.rdbuf())" +Tue, 3 Mar 2009 11:25:31 +0000 +Checked in by : Robert Osfield +Fixed include list -2009-05-18 10:37 robert +Tue, 3 Mar 2009 10:53:26 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, build fixes for OSX. - * From Paul Obermeier, "Please find enclosed some changed OSG - header files. - The changes are more or less just beautifications - (when looked at them from the C++ view), but make - wrapping OSG with SWIG easier. - I have tested the changes with both 2.8.1-rc4 and the - current head and would appreciate to incorporate the - changes in both branches. - - Here is a description of the changes: - - osg/BoundingSphere: - Use the following typedef (like used in BoundingBox) - typedef typename VT::value_type value_type; - instead of - typedef typename vec_type::value_type value_type; - - SWIG reports errors on the latter construct. - Also makes it consistent with BoundingBox. - - - osg/Vec4ub: - Consistent use of "value_type" throughout the file. - - - osg/Vec?b: - Consistent use of "value_type" throughout the files. - - Also changed - typedef char value_type; - to - typedef signed char value_type; - - In the case of a simple "char", SWIG assumes a string. - Using "signed char" instead of "char" does not change - the behaviour of the class. - " +Tue, 3 Mar 2009 09:50:43 +0000 +Checked in by : Robert Osfield +Added ffmpeg to include search paths -2009-05-18 10:28 robert +Tue, 3 Mar 2009 09:49:53 +0000 +Checked in by : Robert Osfield +Added ogg to accepted formats - * Minor tweaks to avoid warnings when generating wrappers/doxygen - documentation +Mon, 2 Mar 2009 16:01:13 +0000 +Checked in by : Robert Osfield +Added extern for img_convert to get round disappeance of the declaration from headers. -2009-05-18 10:17 robert +Mon, 2 Mar 2009 10:49:29 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "An other one: The TLS Varialbe is accessed before it is initialized. Attached is a change to rev 9791." - * From Philip Lowman, removed inappropriate references to OSG_ in - 3rd party libs searches +Mon, 2 Mar 2009 09:56:39 +0000 +Checked in by : Robert Osfield +From Petr Salinger, fix for build under GNU/kFreeBSD. -2009-05-18 09:34 robert +Fri, 27 Feb 2009 20:16:08 +0000 +Checked in by : Robert Osfield +Introduced osg::AudioStream class to help manage audio streams coming in from movie reading plugins - * Updated wrappers +Fri, 27 Feb 2009 17:00:28 +0000 +Checked in by : Robert Osfield +Ported across from using boost pointers, and prepped for integration of audio interface into core OSG -2009-05-15 15:49 robert +Fri, 27 Feb 2009 11:11:06 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "Attached is a small bug fix for the redundant messages that are created in OSG applications on windows. GraphicsWindowWin32::setCursor is called every frame from the WM_NCHITTEST message. This will result in a call to ::SetCursor(_currentCursor) every frame, which again causes a WM_MOUSEMOVE to occur. The fix exits GraphicsWindowWin32::setCursor if the requested cursor already is the current cursor." - * From Jean-Sebastien Guay, build fixes form Windows -2009-05-15 15:10 robert - * Added checks against libcurl version to decide what features are - used or not +Fri, 27 Feb 2009 10:47:33 +0000 +Checked in by : Robert Osfield +From Atr Tevs,first email: +"in the current implementation of osgUtil::RenderStage::drawInner() method, there is some wrong assumptions made. The problem is, that whenever one does use multisampling functionality, the Blit operation (which suppose to copy the content of multisampled FBO into the usual one) doesn't perform well in some cases. -2009-05-15 12:31 robert +I've attached a corrected version of the RenderStage. It do just add one line, which enables the multisampled FBO as a readable just before the usual FBO is set as writable. With these corrections the Blit operation performs now correct and allows using of multisampled rendering results further." - * Removed debugging code block +second email: +"There was a problem when blitting the multisampled FBO with internal formats. The default internal format of color buffered multisample FBO was GL_RGBA. This has converted the color values whenever the FBO content was copied. I've added couple of lines, which do just enable the multisampled FBO internal format in respect to the attached color texture's internal format. This makes it possible to blit even float valued texture, so make HDR with multisampling possible ;)" -2009-05-15 12:22 robert - * Removed redundant errno declaration that was cause build problems - under RedHat 3.2. - - Removed redundant version declarations. -2009-05-15 07:50 robert - * From Martin Beckett, "n bool ReaderWriter::fileExists(const - std::string& filename, const Options* /*options*/) const - - Windows doesn't define F_OK and access() is in io.h, rather than - stdio.h - These are fixed in FileUtils.cpp, so I copied the fix from there - - might be better to move this to FileUtils header and include it - here and in FileUtils.cpp?" -2009-05-14 16:24 robert - * Moved the compilation of Contributors list to separate source - file, and made it an optional compile based on whether you are a - maintainer or not. +Thu, 26 Feb 2009 22:09:47 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "I added FORCE to set cmake vars FREETYPE_INCLUDE_DIR_ft2build and FREETYPE_INCLUDE_DIR_freetype2. The error case was that during first cmake run (unspecified ACTUAL_3RDPARTY_DIR) FindFreeType set these to xxx-NOTFOUND. After specifying ACTUAL_3RDPARTY_DIR, Find3rdPartyDependencies warn't able to change these (without FORCE).I also added freetype237 to the library search list since it is what's +in my binary dependencies for vc90" -2009-05-14 16:08 robert - * From Ulrich Hertlein, "please find attached a patch for - TrackballManipulator to fix zooming using the MBP touchpad. The - old code would always zoom-in even when using the gesture to - zoom-out. - - Also attached are some code and documentation cleanups for - GUIEventAdapter that collect related values (e.g. scrolling, - tablet pen) in a struct. - " -2009-05-14 16:06 robert +Thu, 26 Feb 2009 10:48:04 +0000 +Checked in by : Robert Osfield +Addded setting of FREETYPE_INCLUDE_DIRS to Find3rdPartyDependencies.cmake - * Added setting of full filename to options as "filename" entry. +Wed, 25 Feb 2009 20:52:34 +0000 +Checked in by : Robert Osfield +Tweaks to handle more modern version of ffmpeg compiled form source. -2009-05-14 15:45 robert +Wed, 25 Feb 2009 16:05:12 +0000 +Checked in by : Robert Osfield +Added Cmake support for new ffmpeg plugin - * From Ulrich Hertlein, "please find attached a patch for - TrackballManipulator to fix zooming using the MBP touchpad. The - old code would always zoom-in even when using the gesture to - zoom-out. - - Also attached are some code and documentation cleanups for - GUIEventAdapter that collect related values (e.g. scrolling, - tablet pen) in a struct. - " +Wed, 25 Feb 2009 16:04:48 +0000 +Checked in by : Robert Osfield +From Tanguy Fautre (Aris Technologies), ffmpeg plugin -2009-05-14 15:34 robert +Mon, 23 Feb 2009 10:50:42 +0000 +Checked in by : Robert Osfield +Updated version info for 2.9.0 release - * From Stephan Huber, "attached you'll find some bugfixes and - enhancements for the Cocoa - implementation of GraoicsWindowCocoa: - - Enhancements/Bugfixes: - - + now it's possible to integrate osgViewer better into existing - cocoa-applications: - * create one or more NSOpenGLView(s) and add these to your - window(s) - * create one or more NSWindows - * disable the integrated event-polling of osgViewer, and let the - work be - done by Cocoa / NSApplicationRun. You'll have to run the - osgViewer's - runloop in a separate thread - - + missing menu-event-handling implemented - - + added NSAutoReleasePools where necessary, this fixes some - memory-leaks - + fixed some crashes and thread-issues" +Mon, 23 Feb 2009 10:41:16 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 2.9.0 dev release -2009-05-14 13:40 robert +Mon, 23 Feb 2009 09:54:25 +0000 +Checked in by : Robert Osfield +From Ralf Habacker & Robert Osfield, fixed handling of file name string of the form"PG:host=localhost user=postgres dbname=osm tables=public.planet_osm_line". The patch also routes gdal debug and error message to the related osg::notify debug port - this is usefull for debugging ogr plugin. - * Integrated support for relative paths, and http hosted - presentations +Fri, 20 Feb 2009 16:27:57 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, "I was trying to use the archive output of osgdem without success when I eventually found out that it was now disabled (the mailing list archive tells me it is because of multithreaded write issues with vpn). I then decided to use osgarchive to make it myself from the generated output. However if one of the insert parameters is a directory, it won't be able to find them. The attached versions corrects this." -2009-05-14 13:30 robert +Fri, 20 Feb 2009 15:47:28 +0000 +Checked in by : Robert Osfield +From Maciej Krol, "Small improvement in --compressed option of osgconv. For non IVE output files compressed images are written into directory of output file as DDS. " + "Further improvement for conversion to IVE format. Compressed DDS files are written for IVE output when noTexturesInIVEFile option is defined i.e. osgconv --compressed -O noTexturesInIVEFile dir1/input.osg dir2/output.ive will write images into dir2." - * Replaced tabs with spaces +Fri, 20 Feb 2009 13:58:44 +0000 +Checked in by : Robert Osfield +Added VisualStudio versioning info to plugins -2009-05-14 13:16 robert +Fri, 20 Feb 2009 11:53:49 +0000 +Checked in by : Robert Osfield +From Bryan Thrall, "Attached files fix typos, from svn 9791:DisplaySettings.cpp: OSG_COMPIlE_CONTEXTS -> OSG_COMPILE_CONTEXTS +AnimtkViewer.cpp: is a 3d poker game client -> is an example for viewing +osgAnimation animations" - * Changed tabs to spaces -2009-05-14 13:10 robert - * Changed debug message to INFO notication level +Fri, 20 Feb 2009 11:51:47 +0000 +Checked in by : Robert Osfield +From Martin Beckett, "I have added support for DXF POINTS to the dxf reader plugin It's really just a cut-paste job from the existing LINE support.The current dxf plugin architecture isn't very efficient, especially if you +are loading large point clouds (LIDAR) +eg. it makes multiple lookups of the layer name for each vertex. +I don't know if I can improve this for the general case or if I have to add a +special large point cloud dxf reader." -2009-05-14 13:05 robert - * Added support for read the various animaton materials/paths from - http -2009-05-14 09:44 robert +Fri, 20 Feb 2009 11:30:33 +0000 +Checked in by : Robert Osfield +From Himar Carmona, "When reading a DXF file, the reader breaks at a debug assertion at vector (it breaks on release version). Inspecting the code show that the cause could be in dxfEntity.cpp.It seems that the problem is an offending "short" used in a for loop, where it should be "int" or "long". It causes an index out of range error. " - * Updated wrappers -2009-05-13 19:48 robert - * Added support for reading presentations and content via http, - with support of the FileCache when available. +Thu, 19 Feb 2009 19:05:39 +0000 +Checked in by : Robert Osfield +From Bob Kuehne and Robert Osfield, email from Bob : "this fix quashes fbo warnings when the fbo status is 'complete', aka 'ok'. ", which was then ammended by Robert replacing crytic value 0x8CD5 with GL_FRAMEBUFFER_COMPLETE_EXT and added brackets to make code clearer. -2009-05-13 19:47 robert +Thu, 19 Feb 2009 17:34:35 +0000 +Checked in by : Robert Osfield +Fixed bug in checking if numRead values. - * Added intial cut at fileExists() implement using libcurl. Note, - current implement loads the whole file and then discards it so is - very in-efficient. This implementation will soon be replaced. +Thu, 19 Feb 2009 16:58:05 +0000 +Checked in by : Robert Osfield +From Christian Buchner, "I am hereby amending the osgforest sample with some code (functionally equivalent to the GLSL shaders sample) that displays the forest with shaders on Intel 945 GM hardware. This card supports OpenGL 1.4 and ARB_fragment/vertex_program only.I would be pleased if this change made it into the official set of +examples, as it illustrates the use of ARB shaders quite nicely. I did +not find any other example covering this topic." -2009-05-13 19:46 robert - * Added ReaderWriter::fileExists() method to help enable querrying - of existing of files on servers using the curl plugin -2009-05-13 19:44 robert +Thu, 19 Feb 2009 16:29:57 +0000 +Checked in by : Robert Osfield +From Tanguy Fautre, "This fixes the OSG crashes reported by http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2009-February/023499.htmlIt\u2019s a one line change against OSG 2.8.0 (see line 196). I\u2019ve already tested the change, and confirmed it\u2019s fixing the crashes described above." - * Added support for Object, Image, HeightField and Shaders in - FileCache -2009-05-13 15:05 robert - * Fixed handling of space after = in options set up. +Thu, 19 Feb 2009 15:57:38 +0000 +Checked in by : Robert Osfield +From Ruben Smelik, "I've found a (copy-paste?) error in PrimitiveSet.cpp regarding instanced drawing. For DrawElementsUInt and DrawElementsUShort the type argument of glDrawElementsInstanced was set as GL_BYTE instead of GL_UNSIGNED_INT and GL_UNSIGNED_SHORT. I've attached the fixed source file (based on the current SVN head version)." -2009-05-13 08:40 robert +Thu, 19 Feb 2009 15:15:39 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "Here is a fix for the "Unspecified" package. The openthreads pkgconfig file is made part of libopenthreads-dev component.Attached is the modded cmakelists.txt for src/OpenThreads/ +" - * Rearranged static SDL callback so that it's after the SDL.h - header. -2009-05-13 08:33 robert - * From Thibault Genessay, "On Windows, when a process tries to - spawn one too many thread, - _beginthreadex() fails but OpenThreads still waits on the startup - Block before returning to the caller of - OpenThreads::Thread::start(). - This causes a deadlock. The return value of _beginthreadex() is - actually checked, but after the call to - OpenThreads::Block::block() so - it is basically useless. - - Attached is a fix to move the check for the return value of - _beginthreadex() before the call to block(), so that start() can - return to the caller with a non-zero error code. This solves the - problem for me." +Thu, 19 Feb 2009 14:24:10 +0000 +Checked in by : Robert Osfield +Merged in various changes from the OSG-2.8 to being svn/trunk up to date. -2009-05-12 16:26 robert +Wed, 11 Feb 2009 20:26:06 +0000 +Checked in by : Robert Osfield +Fixed typo - * Removed SDL header +Wed, 11 Feb 2009 20:02:45 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-05-12 13:24 robert +Wed, 11 Feb 2009 19:55:11 +0000 +Checked in by : Robert Osfield +Updated wrappers to works with doxygen 1.5.8 output. - * Re-ordered SDL class to try and avoid OSX issues with _main. +Wed, 11 Feb 2009 17:21:36 +0000 +Checked in by : Robert Osfield +Disabled the use of aggressive warnings under OSX as the default. -2009-05-12 12:27 robert +Wed, 11 Feb 2009 17:14:53 +0000 +Checked in by : Robert Osfield +From Riccardo Corsi, "in attach you'll find a patch to cleanup a little bit the (de)initialization code of QuickTime environment from the quickTime pluging. It basically removes the static init() and exit() functions,and move them inside the observer class (the one that cleans everything up when the last media is unloaded).It also add an extra check to clean up on exit if the QuickTime env is initialized, but no media is succesfully loaded / written (it might happens with streaming resources). - * Attempt to fix OSX missing _main symbol error +I tested it under WinXP with zero, one and multiple videos. -2009-05-12 11:54 cedricpinson +Stephan reads in copy: could you kindly check if everything runs smooth under OSX as well? Also, have you got a chance to test it with streaming media? +" - * from Maciej Krol:\nFixes for - OSG_USE_PTR_IMPLICIT_OUTPUT_CONVERSION = OFF -2009-05-12 10:45 robert - * From Fajran Iman Rusadi, fixed error in window index management - when children add insert or removed. +Wed, 11 Feb 2009 13:33:40 +0000 +Checked in by : Robert Osfield +From Sukender, changed doxygen verbosity to quite -2009-05-12 08:56 shuber +Wed, 11 Feb 2009 12:10:52 +0000 +Checked in by : Robert Osfield +Added brackets around (unsigned int) to avoid IRIX compile error. - * From Stephan Huber: - updated XCode project to reflect current trunk +Wed, 11 Feb 2009 10:41:55 +0000 +Checked in by : Robert Osfield +Fixes for doxgen warnings -2009-05-12 05:58 robert +Wed, 11 Feb 2009 09:14:12 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "Attached are two small fixes: -I changed the SET of COLLADA_BOOST_INCLUDE_DIR to use findpath, so users may override this setting if they choose not to build against to precompiled boost libraries delivered with the Collada DOM.-Changed daeRMaterials.cpp to prevent a compiler warning about a potentially uninitialized variable." - * Added return to end of file to prevent warning -2009-05-12 05:49 robert - * Moved getAttributeVec into public: to allow 3rd party code to - access without having to subclass +Tue, 10 Feb 2009 20:31:50 +0000 +Checked in by : Robert Osfield +Merged warning fix from OSG-2.8 branch: svn merge -r 9755:9756 http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.8 -2009-05-11 16:38 robert - * Updated wrappers -2009-05-11 16:38 robert - * Moved ReadFile/WriteFile/FindFile/FileLocationCallbacks from - include/osg/Options into their own Callbacks header/source file. +Tue, 10 Feb 2009 20:09:18 +0000 +Checked in by : Robert Osfield +Changed notication level to INFO, merged changed from OSG-2.8 branch using:svn merge -r 9751:9752 http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.8 -2009-05-11 14:11 robert - * Commented out debug messages -2009-05-11 13:03 shuber - * From Stephan Huber: - updated XCode project to reflect current trunk +Tue, 10 Feb 2009 19:25:50 +0000 +Checked in by : Robert Osfield +From Roger James and Robert Osfield, fixes and reorganization to better support Windows dyanmic library build -2009-05-11 11:39 robert +Tue, 10 Feb 2009 18:56:53 +0000 +Checked in by : Robert Osfield +From Pierre Haritchabalet, "In IO_FluidProgram.cpp, FluidProgram_readLocalData() function is wrong. When density parameter is read, the function "setFluidViscosity()" is called instead of "setFluidDensity()". This patch fixes osg plug'in FluidProgram_readLocalData. " - * Moved Registry::ReadFileCallback + WriteFileCallback, and - osgDB::ReaderWriter::Options into their own separate Options file - and into the osgDB namespace. - - Introduced a new callback osgDB::FindFileCallback that overrides - the default behavior of findDataFile/findLibraryFile. - - Introduced support for assigning ReaderWriter::Options directory - to PagedLOD. - - Introduced new osgDB::FileLocationCallback for assistancing the - DatabasePager to know when a file is hosted on a local or remote - file system. +Tue, 10 Feb 2009 18:51:43 +0000 +Checked in by : Robert Osfield +Merged fixes to osgVolume's handling of ImageSequence animated volumes, merge command:svn merge -r 9746:9747 http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.8 -2009-05-11 11:08 robert - * Added OSG_MIN_VERSION_REQUIRED, OSG_VERSION_LESS_THAN, - OSG_VERSION_LESS_OR_EQUAL, OSG_VERSION_GREATER_THAN, - OSG_VERSION_GREATER_OR_EQUAL macros to help out with management - of feature usage in 3rd party libs and applications -2009-05-09 08:54 robert - * Moved Options copy constructor to .cpp +Tue, 10 Feb 2009 14:01:22 +0000 +Checked in by : Robert Osfield +From Roger James, fixes for VS build handling of new VS versioning support -2009-05-09 08:49 robert +Tue, 10 Feb 2009 13:37:16 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "I've added a small change to the CURL plugin that allows support for HTTP redirects." - * Refactored the Registry::ReadFileCallback, WriteFileCallback and - ReaderWriter::Options to they are now defined in their own header - and in the osgDB namespace. - - Introduced a new FindFileCallback to Registry to compliement the - existing ReadFileCallback and WriteFileCallback. - - Added support for assign Find, Read and WriteFileCallbacks to - osdDB::Options to enable plugins/applications to override the - callbacks just for that - read/write call and any nested file operations +Tue, 10 Feb 2009 13:25:40 +0000 +Checked in by : Robert Osfield +From Miguel Escriva,"OSG 2.8.0-rc4 don't found zlib in Windows.Here you will find a patch. " -2009-05-08 12:53 robert - * Removed redudent check against frustum.getCurrentMask() -2009-05-08 12:38 robert +Tue, 10 Feb 2009 11:44:50 +0000 +Checked in by : Robert Osfield +From Roland Smeenk and Robert Osfiled, tweaks to the Collada finding/linking to improve support for Collada DOM 2.1 + 2.2 across platforms. - * Changed 0 initializer to InheritCursor +Mon, 9 Feb 2009 22:56:21 +0000 +Checked in by : Robert Osfield +From Fabien Lavignotte, "Here is some various small fixes i have done while playing with osgAnimation. - Animation : removed the _name attribute that is never used. - BasicAnimationManager : fix a crash on Windows with the example osganimationviewer. The _lastUpdate attribute was not initialized when using copy constructor. - CMakeLists.txt : add RigGeometry to the headers list" -2009-05-08 12:34 robert +Mon, 9 Feb 2009 22:33:51 +0000 +Checked in by : Robert Osfield +Fixed to DatabasePager::getRequestsInProgress(), merged from:svn merge -r 9734:9735 http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.8 - * Added osgGA and osgText to dependency list -2009-05-08 12:32 robert - * Added osgText dependency +Mon, 9 Feb 2009 22:12:30 +0000 +Checked in by : Robert Osfield +Merged from OSG-2.8 branch the suppression of the wrapping of the ScopeLock -2009-05-08 09:29 robert +Mon, 9 Feb 2009 21:48:30 +0000 +Checked in by : Robert Osfield +From Bryan Thrall, "The .osg plugin doesn't seem to support an option to write shader files separately, so it always inlines them in the .osg file (as far as I can tell). This change adds that ability. " - * Cleaned up set up of SDL. +Mon, 9 Feb 2009 21:42:45 +0000 +Checked in by : Robert Osfield +From Ralf Habacker, fix to memory leak in GraphicsWindowWin32.cpp. Merged from OSG-2.8 branch using svn command:svn merge -r 9726:9727 http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.8 -2009-05-08 08:34 robert - * Added support for pushing handling relative paths set internally - in the presentation file. - - Added setting of env vars defined in presentation file. -2009-05-08 07:50 robert - * Fixed unitialized variable +Mon, 9 Feb 2009 21:38:06 +0000 +Checked in by : Robert Osfield +Merged from OSG-2.8 branch changes to the use of ReadWriteMutex to Mutex in osgParticle::ParticleSystem.svn command: -2009-05-08 07:46 robert + svn merge -r 9725:9726 http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.8 - * From Jean-Sebastien Guay, changed the timing control for when no - audio layer is supplied. -2009-05-07 18:32 robert - * Moved property code from ImageLayer into Layer where it belongs -2009-05-07 18:30 robert +Mon, 9 Feb 2009 13:49:31 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: fixed local Config file needed for xcode-project - * Changed setting of stack back assigned to push_back to fix bug - with cull mask management. +Mon, 9 Feb 2009 11:15:14 +0000 +Checked in by : Robert Osfield +From Paul Melis, syncing improvements made to wiki version of NEWS for 2.8 -2009-05-07 14:53 robert +Mon, 9 Feb 2009 11:13:37 +0000 +Checked in by : Robert Osfield +Removed redundent #pragma - * Fixed handling of resize of ABSOLUTE_RF slave cameras +Mon, 9 Feb 2009 10:00:06 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-05-07 13:30 robert +Mon, 9 Feb 2009 09:41:56 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, removed virtual inheritance from osgAnimation::Animation - * From Frederic Bouvier, SetCursor fixes from GraphicsWindowWin32, - - Original email from Frederic at start of thread: - "he patch attached, made from r10068, fix two things, in other of - importance : - - - the selected cursor is never shown ( second change in file ). - Only the left arrow is always displayed. - - remove the arbitrary ( in my sense ) limitation that the user - cannot choose a cursor with the same shape that one used when - resizing the window. This limitation doesn't exist for X11, and - we have a diverging behaviour there ( first change in file ). - Flightgear use the LeftRightCursor in look around mode." - - Follow up email from Frederic (with changes that finally made it - into this check in: - "I've just tested Mark's suggestion and it works perfectly, even - when the - cursor goes to the border then come back inside the window. - But his patch doesn't seem to be based on the last revision of - the - files, or at least not on the trunk, and there are more changes - than - expected in them, including some loss from the previous patches. - The patch attached is based on r10068 of - src/osgViewer/GraphicsWindowWin32.cpp and r10067 of - include/osgViewer/api/Win32/GraphicsWindowWin32" +Sun, 8 Feb 2009 19:30:30 +0000 +Checked in by : Robert Osfield +Fixed handling of a series of \n in the text string so that the correct line spacing is maintained. -2009-05-07 13:23 robert +Sun, 8 Feb 2009 15:56:35 +0000 +Checked in by : Robert Osfield +From Paul Melis, "While trying out the osgbrowser example (where I had forgotten to update LD_LIBRARY_PATH so the XUL libs would be found) I noticed that although the gecko plugin was found it could not be loaded. But this did not trigger any visible warning/error message (at least not without INFO notify level). Would you mind if we change the notify level for a dlerror() to WARNING? This will also make it more explicit for the case when a plugin isn't actually found, which seems to come up a lot for novice users (e.g. no freetype on win32, so no freetype plugin, etc). Also, the current error message is misleading ("Warning: Could not FIND plugin to ...") because the it's not always a case of not finding the plugin. I slightly enhanced the situation of not finding a plugin versus finding it but not being able to load it.Here's also a few fixes to some of the examples: +- osgfont: make usage help line more in line with the actual behaviour +- osgcompositeviewer: complain when no model file was provided +- osgmovie: don't include quicktime-dependent feature on Linux +- osgocclussionquery: comment addition (as I was surprised that lines +were being drawn in a function called createRandomTriangles())" - * From Stephan Huber, "while debugging a problem in finding plugins - on OS X I discovered, that - the conditional directives for setting the prepend-string in - createLibraryNameForExtension were not in effect, because of the - mixture - of different #ifdef styles. - - I removed the conditional part for __APPLE__ completely to be - more - standard-conform with other platforms (plugins should be located - in - osgPlugins-X.X.X/). Because of the wrong syntax of the - conditional - compile the old code was not used anyway -- so no functional - change. - " -2009-05-07 13:21 robert - * From MAthias Froehlich, "Attached is a compile fix I need on Suse - 11.1 for a successful compile. - Just avoid uint8_t typed values in - src/osgPlugins/ply/vertexData.cpp - if they are not needed for a particular reason ..." +Sat, 7 Feb 2009 11:30:15 +0000 +Checked in by : Robert Osfield +Merged from OSG-2.8 branch, fix to handle of StateSet attached to transforms being removed by the FlattentStaticTransformVisitor -2009-05-07 13:15 robert +Fri, 6 Feb 2009 15:49:21 +0000 +Checked in by : Robert Osfield +Bumped version number of svn/trunk to 2.9.0 - * From Chris Denham, "For me, on Windows, I also get a slew of - these warnings when I move the window off screen. - So, might be a bit fiddly to try and prevent frame update in all - situations that SwapBuffers retuns false. - I wondered if we could address this issue by only reporting the - error if GetLastError is also non zero. Works for me! - The value returned by GetLastError is zero when SwapBuffers is - called for a minimized or off screen window, so we could just add - a check for this. - Just say the word, and I'll post my modified - GraphicsWindowWin32.cpp to the submissions list. ;-) - Cheers. - Chris. - - e.g. - - //------------- OSG- 2..8 ---------- - void GraphicsWindowWin32::swapBuffersImplementation() - { - if (!_realized) return; - if (!::SwapBuffers(_hdc)) - { - reportErrorForScreen("GraphicsWindowWin32::swapBuffersImplementation() - - Unable to swap display buffers", _traits->screenNum, - ::GetLastError()); - } - } - //------------- Modification to remove redundant warnings - ---------- - void GraphicsWindowWin32::swapBuffersImplementation() - { - if (!_realized) return; - if (!::SwapBuffers(_hdc) && ::GetLastError() != 0) - { - reportErrorForScreen("GraphicsWindowWin32::swapBuffersImplementation() - - Unable to swap display buffers", _traits->screenNum, - ::GetLastError()); - } - } - " +Fri, 6 Feb 2009 15:39:44 +0000 +Checked in by : Robert Osfield +Added a couple more pragma's to resolve final Windows warnings -2009-05-07 12:55 robert +Fri, 6 Feb 2009 15:38:09 +0000 +Checked in by : Robert Osfield +From Paul Melis & Robert Osfeild, improvements to find scripts to better handle diffrent installation combinations - * From Michael Platings, added VisualStidio specific option for - disabling iterator checking. +Fri, 6 Feb 2009 15:17:49 +0000 +Checked in by : Robert Osfield +From Gary Quinn, spelling fixes -2009-05-07 09:40 robert +Fri, 6 Feb 2009 14:19:14 +0000 +Checked in by : Robert Osfield +Fixed path to version resource input file - * Fixed typo of POPPLER_LIBRARY_DIRS +Fri, 6 Feb 2009 14:13:40 +0000 +Checked in by : Robert Osfield +From Gary Quin + Robert Osfield, clean up of old batch file -2009-05-07 09:16 shuber +Fri, 6 Feb 2009 12:15:15 +0000 +Checked in by : Robert Osfield +Fixed data copy bug - * From Stephan Huber: - updated XCode project to reflect current trunk +Fri, 6 Feb 2009 10:35:21 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, "here are some minor fixes to notify warnings were the std::hex modifier was used but never restored to the decimal notation. That made OSG print messages like the following after some notifications:Warning: detected OpenGL error 'invalid value' after RenderBin::draw(,) +RenderStage::drawInner(,) FBO status= 0x8cd5 +[...] +Scaling image 'brick_side.JPG' from (1b4,24f) to (200,200) <--- Values in hex +because of previous error. +[...]" -2009-05-07 09:07 robert - * Added support for osgVolume::TransferFunctionProperty -2009-05-06 13:47 robert - * Added .ive reading/writing support for osgVolume::Property - classes +Fri, 6 Feb 2009 08:46:02 +0000 +Checked in by : Robert Osfield +Added support for VS versioning of OpenThreads -2009-05-05 18:34 robert +Thu, 5 Feb 2009 15:22:42 +0000 +Checked in by : Robert Osfield +From Fabian Lavignotte, "Here is some various small fixes i have done while playing with osgAnimation. - Animation : removed the _name attribute that is never used. - BasicAnimationManager : fix a crash on Windows with the example osganimationviewer. The _lastUpdate attribute was not initialized when using copy constructor. - CMakeLists.txt : add RigGeometry to the headers list" - * Added initial cut at support for osgVolume in .ive format. +Thu, 5 Feb 2009 14:56:39 +0000 +Checked in by : Robert Osfield +Changed version to only be run for Visual Studio -2009-05-05 12:46 robert +Thu, 5 Feb 2009 14:55:17 +0000 +Checked in by : Robert Osfield +From Sherman Wilcox, added VS versioning information into libs - * Changed debug message from NOTICE to INFO +Thu, 5 Feb 2009 14:54:42 +0000 +Checked in by : Robert Osfield +Added exports, and moved constructors into .cpp. -2009-05-05 12:18 robert +Thu, 5 Feb 2009 14:42:29 +0000 +Checked in by : Robert Osfield +Added initializer and fixed indentation - * Fixed support for reading imagery relative to the .osg being - loaded +Thu, 5 Feb 2009 14:35:46 +0000 +Checked in by : Robert Osfield +Suppress gcc warnings emitted by external headers -2009-05-05 11:05 robert +Thu, 5 Feb 2009 12:21:50 +0000 +Checked in by : Robert Osfield +From Morne Pistorius, "Attached is a modified version of the QOSGWidget example that shows the workaround we discussed for adding/removing views in a composite viewer at runtime. A dummy view is added to the viewer to always keep it live.Also, I added a #define to the Qt event relay methods to not override +them on a Windows system. This fixes the bug where duplicate events +are being sent and making it impossible to throw the trackball." - * Added checks to prevent crash when no imagery is applied -2009-05-05 11:03 robert - * Added checks to prevent crashes when no imagery is assigend to - volume +Thu, 5 Feb 2009 12:03:19 +0000 +Checked in by : Robert Osfield +Warning fixes -2009-05-05 10:27 robert +Thu, 5 Feb 2009 11:10:32 +0000 +Checked in by : Robert Osfield +Added VS and gcc warning suppression to clean up a few last stubborn warnings - * Added selection of first slide +Thu, 5 Feb 2009 10:14:49 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, warning fixes -2009-05-03 18:51 robert +Wed, 4 Feb 2009 16:12:30 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: fix for local config-file used by the deprecated XCode-project - * Warning fixes +Wed, 4 Feb 2009 13:51:12 +0000 +Checked in by : Robert Osfield +Form Paul Melis, spelling fixes -2009-05-02 07:50 robert +Wed, 4 Feb 2009 12:59:44 +0000 +Checked in by : Robert Osfield +Set the release candidate to 1. - * Warning fixes +Wed, 4 Feb 2009 12:54:18 +0000 +Checked in by : Robert Osfield +Updated news to keep in sync with online news entry -2009-05-01 10:24 robert +Wed, 4 Feb 2009 12:50:26 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file for 2.8 branch. - * Added export for windows build +Wed, 4 Feb 2009 12:31:33 +0000 +Checked in by : Robert Osfield +Updated NEWS and README for 2.8 branch -2009-05-01 08:49 robert +Wed, 4 Feb 2009 11:35:24 +0000 +Checked in by : Robert Osfield +Fixed the constness of osg::Image* pointer - * From Michael Platings, compile fix for the following problem - report on osg-users: - - "the latest SVN revision cannot be build under Windows if - ?OSG_USE_UTF8_FILENAME? config option is enabled. The error - occurs in ?FileUtils.cpp? file, line 663, since there is no - UNICODE-capable version of the ?GetProcAddress? function. The - ?OSGDB_WINDOWS_FUNCT_STRING? makro is defined as follows in that - case - - - - #define OSGDB_WINDOWS_FUNCT_STRING(x) L ## #x L"W" - - - - Thus the second parameter cannot be converted from wchar_t to - LPCSTR. Should we convert the second parameter from wchar_t* to - LPCSTR or use the same definition for the - ?OSGDB_WINDOWS_FUNCT_STRING? makro in both cases? - - - - The second error occurs in the same file, line 669. The second - parameter for the ?pGetModuleHandleEx? function should be defined - as wchar_t, but it?s defined as ?static char static_variable? in - the line 667." +Wed, 4 Feb 2009 09:03:13 +0000 +Checked in by : Robert Osfield +Removed cast, to quieten VS warnings. Confirm change with original author Mathias Froehlich. -2009-05-01 08:20 robert +Tue, 3 Feb 2009 20:26:26 +0000 +Checked in by : Robert Osfield +Clean up warning disable code - * Fixed warning + bug +Tue, 3 Feb 2009 20:17:24 +0000 +Checked in by : Robert Osfield +Disabled warning -2009-05-01 08:10 robert +Tue, 3 Feb 2009 17:14:34 +0000 +Checked in by : Robert Osfield +Fixed warning - * Added ws2_32 dependency +Tue, 3 Feb 2009 17:11:54 +0000 +Checked in by : Robert Osfield +Fixed warning -2009-04-30 13:13 robert +Tue, 3 Feb 2009 15:28:53 +0000 +Checked in by : Robert Osfield +Warning fixes - * Added check against the validity of ViewerBase to make sure that - a null pointer isn't dereferenced. +Tue, 3 Feb 2009 12:47:41 +0000 +Checked in by : Robert Osfield +Added setDataVariance(DYNAMIC) to text label as it's being updated dynamically -2009-04-30 08:50 robert +Tue, 3 Feb 2009 11:54:46 +0000 +Checked in by : Robert Osfield +Added local disabling the the VS C4121 "alignment of a member was sensitive to packing" warning - * Added support for reading from streams +Tue, 3 Feb 2009 11:07:13 +0000 +Checked in by : Robert Osfield +Fixed warning -2009-04-30 08:27 robert +Tue, 3 Feb 2009 11:05:35 +0000 +Checked in by : Robert Osfield +Added disabling of "warning: format not a string literal, argument types not checked" under FreeBSD as these errors are being generated from std library ostream implementation. - * Build fixes +Tue, 3 Feb 2009 11:04:37 +0000 +Checked in by : Robert Osfield +Added explict initialization of osg::Object contstructor to fix warning -2009-04-29 20:55 robert +Mon, 2 Feb 2009 20:42:33 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Re-instated the code to allow event handler to run in standard - viewers like osgviewer +Mon, 2 Feb 2009 20:35:19 +0000 +Checked in by : Robert Osfield +Warnings fixes for VS. -2009-04-29 20:30 robert +Mon, 2 Feb 2009 20:34:58 +0000 +Checked in by : Robert Osfield +Attempt to appease both FreeBSD CMAke 2.6.2 + Linux CMake 2.4.8 builds - * Created a simple XmlNode parser class for reading of basic xml - files, such as used by present3D. - - Converted Present3D across from using libxml2 to using the new - osgDB::XmlNode/XmlNode::Input classes from Xml Parsing. - This changes removes the dependency on libxml2, and allows the - present3D application and p3d to work on all platforms. +Mon, 2 Feb 2009 18:55:08 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, warning fix. -2009-04-28 15:50 robert +Mon, 2 Feb 2009 17:46:16 +0000 +Checked in by : Robert Osfield +Added initializer for local Quat definition - * Added osgFX to dependencies +Mon, 2 Feb 2009 17:32:34 +0000 +Checked in by : Robert Osfield +Added explict intializiers of base classes -2009-04-28 15:48 robert +Mon, 2 Feb 2009 17:16:02 +0000 +Checked in by : Robert Osfield +Added /lib64 to search paths. - * Added osgViewer as a dependency +Mon, 2 Feb 2009 17:15:40 +0000 +Checked in by : Robert Osfield +Improved handling of stats projection size -2009-04-28 14:26 robert +Mon, 2 Feb 2009 16:56:46 +0000 +Checked in by : Robert Osfield +From Stephan Huber, build fix for OSX XCode build - * Enabled blending to all but iso surface shader. - - Changed the alpha value of the iso surface colour to 1.0 +Mon, 2 Feb 2009 15:04:53 +0000 +Checked in by : Robert Osfield +Fixed version -2009-04-28 14:03 robert +Mon, 2 Feb 2009 14:55:51 +0000 +Checked in by : Robert Osfield +Updated OpenThreads and OpenSceneGraph version ready for OSG-2.8 branch. - * Reorganised placement of classes associated with scene graph. - - Warning clean up. +Mon, 2 Feb 2009 14:51:51 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "Here an update of the osgAnimation ReaderWriter, it add other NodeCallback that could be attached to a node with Bone." -2009-04-28 11:57 robert +Mon, 2 Feb 2009 14:50:19 +0000 +Checked in by : Robert Osfield +From Pierre Haritchablaet, "The wind vector of osgParticle::FluidFrictionOperator has not been written and read in IO_FluidFrictionOperator. This patch fixes osg plug'in FluidFrictionOperator_readLocalData and FluidFrictionOperator_writeLocalData." - * Moved present3D from own repository into core OSG. +Mon, 2 Feb 2009 14:43:27 +0000 +Checked in by : Robert Osfield +Refactored osg::TransferFunction1D to use an std::map internally which is kept in sync with the actual osg::Image that is passed to the GPU.Added .osg support for osg::TransferFunction1D. -2009-04-27 16:32 robert +Updated wrappers - * Fixed typo -2009-04-27 15:45 robert - * Added detection of active alpha channel. +Mon, 2 Feb 2009 09:23:28 +0000 +Checked in by : Robert Osfield +From Sukender, add check against NULL parameter value -2009-04-27 13:54 robert +Sun, 1 Feb 2009 12:38:55 +0000 +Checked in by : Robert Osfield +Ground work for full .osg support for osg::TransferFunction* - * Further improvements in p3d plugin +Sat, 31 Jan 2009 21:46:27 +0000 +Checked in by : Robert Osfield +Updated NEWS -2009-04-27 11:02 robert +Sat, 31 Jan 2009 21:46:16 +0000 +Checked in by : Robert Osfield +Added initial placeholder for .osg support for osgVolume::TransferFunctionProperty - * Introduced first cut of Present3D integration with the core OSG - with the introduction of a .p3d plugin. +Sat, 31 Jan 2009 21:45:47 +0000 +Checked in by : Robert Osfield +Fixed handling of TransferFunctionProperty. -2009-04-27 06:26 robert +Sat, 31 Jan 2009 10:21:36 +0000 +Checked in by : Robert Osfield +Rejigged the Xrandr include - * Attempt to fix mingw warnings +Fri, 30 Jan 2009 18:56:30 +0000 +Checked in by : Robert Osfield +Improved shaders to better handle region of constant values when doing normal generation -2009-04-25 21:44 robert +Fri, 30 Jan 2009 17:10:27 +0000 +Checked in by : Robert Osfield +Updated iso surface shaders - * Fixed warning +Fri, 30 Jan 2009 16:45:54 +0000 +Checked in by : Robert Osfield +Added support for discard fragment that don't generate an iso surface intersect -2009-04-24 20:37 robert +Fri, 30 Jan 2009 15:04:07 +0000 +Checked in by : Robert Osfield +From Paul Melis, "I think TransferFunction needs to call _image->dirty() in two places in response to an assign() of new transfer map values. Here's an updated file, which seems to work here. " - * Updated ChangeLog and AUTHORS for 2.9.4 dev release +Fri, 30 Jan 2009 14:54:22 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, "this correct how the ParticleEffect are serialized : - the texture file name is taken from the TextFileName field - the texture file name is written using writeString " -2009-04-24 20:14 robert +Fri, 30 Jan 2009 13:05:07 +0000 +Checked in by : Robert Osfield +Update AUTHORS for release - * Updated wrappers +Fri, 30 Jan 2009 12:17:59 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 2.7.9 release -2009-04-24 18:37 robert +Fri, 30 Jan 2009 12:09:06 +0000 +Checked in by : Robert Osfield +Fixed size of background of frame stats so that it's the correct width of the window - * Added checking of need to update. +Fri, 30 Jan 2009 11:40:19 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-04-24 17:51 robert +Fri, 30 Jan 2009 10:55:28 +0000 +Checked in by : Robert Osfield +Fixed warnings, updated NEWS - * Added suggestion of IntersectionVisitor instead. +Thu, 29 Jan 2009 20:40:56 +0000 +Checked in by : Robert Osfield +Added support for osgVolume::ProperyAdjustmentCallback -2009-04-24 17:49 robert +Thu, 29 Jan 2009 20:34:22 +0000 +Checked in by : Robert Osfield +Added support for osgVolume::Property classes - * Changed doxygen docs to say deprecated +Thu, 29 Jan 2009 17:19:47 +0000 +Checked in by : Robert Osfield +Fixed handling of files with event callbacks on them. -2009-04-24 16:20 robert +Thu, 29 Jan 2009 16:38:46 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, added missing windows socket library - * Introduce new run frame rate management support to allow control - of maximum frame rate and to support on demand rendering of - frames +Thu, 29 Jan 2009 15:37:52 +0000 +Checked in by : Robert Osfield +Updated FindOSG.cmake from the version used by Present3D as this is more up to date. -2009-04-24 11:53 robert +Thu, 29 Jan 2009 15:32:43 +0000 +Checked in by : Robert Osfield +Update ChangeLog - * Updated ChangeLog +Thu, 29 Jan 2009 15:07:57 +0000 +Checked in by : Robert Osfield +Updated news -2009-04-24 11:23 robert +Thu, 29 Jan 2009 14:41:18 +0000 +Checked in by : Robert Osfield +Fixed the sumation of the the unique number of primtivesets and vertices in the scene Stats collect - * Updated wrappers +Thu, 29 Jan 2009 14:35:15 +0000 +Checked in by : Robert Osfield +Added CMakeLists.txt for osgcluster -2009-04-24 11:01 robert +Thu, 29 Jan 2009 14:00:59 +0000 +Checked in by : Robert Osfield +First cut of NEWS for 2.8 release - * From Mathias Froehlich, "change adds some code to also print the - NodePath when a NaN is - detected in the CullVisitor. - May be this gives a bit more of a hint when this happens." +Thu, 29 Jan 2009 13:29:08 +0000 +Checked in by : Robert Osfield +Restructed the reporting of the libpath message so that it only appears the first time it's required -2009-04-24 10:54 robert +Thu, 29 Jan 2009 13:17:48 +0000 +Checked in by : Robert Osfield +Added osgcluster example into build system - * From Jason Daly, "Currently, the .mdl plugin loads vertices in - the native DirectX order, which is the reverse of OpenGL order. - This means that the back faces are currently rendered as front - faces, and vice versa. - - This fix reverses the vertex order and sets up proper OpenGL - facing. I didn't notice this problem until I started using the - plug-in in my own code (osgviewer seems to not enable backface - culling)." +Thu, 29 Jan 2009 11:18:03 +0000 +Checked in by : Robert Osfield +From Jason Daly, "Somehow, one of the shaders in the bsp plugin started behaving incorrectly between the original submission and now. I suspect it has to do with a typo in the setup of the shader that was fixed at some point, or it happened during the recent warnings purge. In any case, I had to invert the usage of a parameter in the shader to make it behave properly again.The vtf plugin wasn't working in Windows due to OS differences in the byte-packing of the header structure (on Windows, the big block read was causing a buffer overrun). I fixed this by reading the structure from the file field by field. It's now happy on both Linux and Windows." -2009-04-24 09:07 robert - * From Mathias Froehlich, Changed osg::TextureRectangle to use - osg::Texutre::applyTexParameters() to take advantage of texture - shadow extension settings for texture rectangle -2009-04-23 13:42 robert +Thu, 29 Jan 2009 11:03:38 +0000 +Checked in by : Robert Osfield +Fixed warning - * Warning fixes +Thu, 29 Jan 2009 10:43:11 +0000 +Checked in by : Robert Osfield +Revised the message about install path. -2009-04-23 10:24 robert +Thu, 29 Jan 2009 10:22:52 +0000 +Checked in by : Robert Osfield +Added missing entry in build for AnimationManager.cpp - * Refactored the subsurface PolygonOffset code so that it uses - sensible values and also moves management of the PolygonOffset - and Depth attribute objects into the Document object rather than - using static vars. +Thu, 29 Jan 2009 09:28:08 +0000 +Checked in by : Robert Osfield +Improved the handling of toggling of GL_LIGHTi modes when SceneView::setLightingMode() is toggled on/off. -2009-04-23 10:23 robert +Thu, 29 Jan 2009 09:27:23 +0000 +Checked in by : Robert Osfield +Replaced -1 with ~0u to fix warning due to being written to a UInt field. Note, OpenFlight spec says -1, which is clearly an error in the spec, so we've had to guess at ~0u being an appropriate value. - * Removed specific ATI path in PolygonOffset as it doesn't look to - be neccessary with present ATI hardware/drivers +Thu, 29 Jan 2009 09:24:45 +0000 +Checked in by : Robert Osfield +Removed now redundent shader files.Fixed the adding of transfer function property. -2009-04-22 18:22 robert - * Quitened down warnings generated by ffmpeg headers by remove - -pedantic from CMAKE_CXX_FLAGS -2009-04-22 16:50 robert +Wed, 28 Jan 2009 16:48:10 +0000 +Checked in by : Robert Osfield +Removed old shader files - * Fixed warning +Wed, 28 Jan 2009 16:44:46 +0000 +Checked in by : Robert Osfield +Removed comments. -2009-04-22 16:47 robert +Wed, 28 Jan 2009 15:23:18 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Warning fixes +Wed, 28 Jan 2009 15:15:19 +0000 +Checked in by : Robert Osfield +Moved push/popCulling set it public scope. -2009-04-22 16:42 robert +Wed, 28 Jan 2009 13:45:04 +0000 +Checked in by : Robert Osfield +From Paul Melis, "1) Changes the order of the camera stats slightly, to be more in line with the view stats 2) Uses a slightly smaller block for view statistics" - * Warning fixes +Wed, 28 Jan 2009 12:55:38 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, fixed typo. -2009-04-22 16:41 robert +Wed, 28 Jan 2009 12:51:47 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Warning fix +Wed, 28 Jan 2009 12:45:05 +0000 +Checked in by : Robert Osfield +Fixed of warnings -2009-04-22 16:33 robert +Wed, 28 Jan 2009 12:28:04 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Updated version numbers in prep for 2.9.4 dev release +Wed, 28 Jan 2009 12:02:35 +0000 +Checked in by : Robert Osfield +Temporarily disabled VS warning C4100 to enable use to home in on the useful warnings that could do with resolving. -2009-04-22 15:46 robert +Wed, 28 Jan 2009 11:59:06 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "I have today built svn trunk on HP-UX and Solaris8. I had to do two small changes to src/osgWidget/Input.cpp and src/osgAnimation/Animation.cpp mainly because of name lookup problems. " - * From Neil Hughes, converted across to use istream for reading - data from file to enable reading .3ds files over http (use OSG's - libcurl plugin). - - From Robert Osfield, ammendments of the above to better support - reading of files from local directories. +Wed, 28 Jan 2009 11:16:29 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, removed accounting of local to world transform on the force vector as the particle velocity should already been in world coords. Fixing this addresses a bug where particles accelerated out of the scene rather than slowing down. -2009-04-22 13:50 robert +Wed, 28 Jan 2009 10:06:15 +0000 +Checked in by : Robert Osfield +Added check against existing of a valid Stats object in ViewerBase::renderinTraverls() to prevent crash.Added default View Stats into src/osgViewer/View.cpp to enable stats to be collected for views - * From Erik den Dekker, "I revamped osgversion, which resulted (I - think) in cleaner code. The only functional change was giving my - brother the original credits he deserved. Name changed from - 'Jeoen den Dekker' to 'Jeroen den Dekker'." -2009-04-22 13:09 robert - * From Bob Kuehne, "fix for failing collada builds on osx due to - not being able to stringstreamify osg::Vec3 without io_utils - included." +Wed, 28 Jan 2009 09:42:21 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "this is a semi-submission based on what you and others have been talking about in the LIB_POSTFIX thread. It is a bit verbose perhaps and the message I emit during the make install step flashes by and gets burried under all "installing..." and/or "up-to-date..." messages. I have posted on the cmake mail list on ways to do this better.The submission adds: +* message to user during configuration that s/he's eventually going o +install to ${CMAKE_INSTALL_PREFIX}lib${LIB_POSTFIX} +* if system has /etc/ld.so.conf.d and it is a dir generates +packaging/ld.so.conf.d/openscenegraph.conf and creates a custom target +for installing it (target must be run explicitly of course). User is +notified of this during configuration (may not be necessary) +* emit a message during installation that libraries are put in +. This message unfortunately gets emitted to soon for +the user to see it -2009-04-22 13:07 robert +* I added "COMPONENT libopenscenegraph-dev" to the pkgconfig.pc's +install command +* Moved the section with OSG_CONFIG_HAS_BEEN_RUN_BEFORE as close to +the end of CMakeLists.txt as I dared. This is the intent of this +construct I think." - * From Mathias Froehlich, "attached is a change to TexGenNode rev - 10060 that removes a private member - variable that is only initialized and copied by never used - seriously. - " -2009-04-22 12:52 robert - * From Chris Hanson, spelling and grammer fixes +Wed, 28 Jan 2009 09:31:43 +0000 +Checked in by : Robert Osfield +From Paul Melis, "Here is an updated osgViewer::StatsHandler. It has the following changes: - The text and dark background rectangles are now correctly placed, and slightly resized here and there. - All counters (vertices, etc) now use a fixed formatting with 0 digits precision, to prevent the text from being shown in scientific notation when the number get large (e.g. 6.34344e+6). I tested with a scene containing roughly 4 million vertices, to make sure its stats would display correctly.I also made slight changes to osgcompositeviewer (attached) to aid in +testing the stats display, specifically displaying of camera and view +names." -2009-04-22 11:22 robert - * Added hand cursor implementation -2009-04-22 11:20 robert +Wed, 28 Jan 2009 09:26:44 +0000 +Checked in by : Robert Osfield +From Paul Melis, remove redundent spaces - * From Neil Hughes, "Please find attached two files that I've - amended to add the IDC_HAND cursor for the windows platform." +Wed, 28 Jan 2009 09:24:06 +0000 +Checked in by : Robert Osfield +From Paul Melis, removed redundent spacing. -2009-04-22 11:12 robert +Wed, 28 Jan 2009 09:23:26 +0000 +Checked in by : Robert Osfield +Fixed the handling of setLightingMode and inheritCullSettings so that it properly manages the GL_LIGHTING mode - * From Peter Amstutz, "Here is a simple change to - osgViewer::GraphicsWindowWin32 to add a flag to WindowData to - specify that the graphics window should not install an event - handler of its own, per this discussion thread: - - http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg23734.html - - The change is source compatible with current osg code and will - not affect current users, it simply adds an additional parameter - to the GraphicsWindowWin32::WindowData struct constructor and - defaults to the current behavior. - - Attached are the files - "include/osgViewer/api/Win32/GraphicsWindowWin32" and - "src/osgViewer/GraphicsWindowWin32.cpp" with my changes, based on - svn revision 10045. In addition, I have provided an svn patch - file with the same changes for your convenience. - - I have discussed the matter with my supervisor, and agreed that - my company makes no copyright claim over this extremely trivial - change (or to put it another way, we assign copyright to the open - scene graph community.)" +Wed, 28 Jan 2009 09:21:46 +0000 +Checked in by : Robert Osfield +From Patrick Hartling, "I encountered a bug related to RTTI for subclasses of osg::Shape. The circumstances under which this bug occur are rather specific, but the basic problem occurs when one translation unit other than libosg.so constructs an object that is a subclass of osg::Shape and another translation unit other than libosg.so tries to perform a dynamic_cast or other RTTI-based operation on that object. Under these circumstances, the RTTI operation will fail. In my case, the translation units involved were an application and osgdb_ive.so. The application constructed a scene graph that included instantiations of subclasses of osg::Shape. Depending on how the user ran the application, it would write the scene graph to an IVE file using osgDB::writeNodeFile(). The dynamic_cast operations in DataOutputStream::writeShape() would fail on the first subclass of osg::Shape that was encountered. This is because there were two different RTTI data objects for all osg::Shape subclasses being compared: one in the application and one in osgdb_ive.so.The fix for this is simple. We must ensure that at least one member +function of each of the subclasses of the polymorphic type osg::Shape is +compiled into libosg.so so that there is exactly one RTTI object for +that type in libosg.so. Then, all code linking against libosg.so will +use that single RTTI object. The following message from a list archive +sort of explains the issue and the solution: -2009-04-22 11:00 robert + http://aspn.activestate.com/ASPN/Mail/Message/1688156 - * From Eduardo Alberto Hernández Muñoz, change to using TexGenNode - for setting up tex coordinates +While the posting has to do with Boost.Python, the problem applies to +C++ libraries in general." -2009-04-22 10:54 robert - * From Paul Martz, "Looks like the people who created these two - examples were a bit careless with cut and paste." -2009-04-22 10:47 robert +Wed, 28 Jan 2009 09:06:46 +0000 +Checked in by : Robert Osfield +Added back in intializers for RenderSurface. - * From Eric Sokolowsky, "src/osg/Image.cpp is missing the GL_RGBA8 - image type when calculating the number of components in an image. - It is added here." +Tue, 27 Jan 2009 15:35:51 +0000 +Checked in by : Robert Osfield +Removed .pc files as they are now automatically generated with the correct values by Cmake from the openthreads.pc.in and openscenegraph.pc.in files. -2009-04-22 10:46 robert +Tue, 27 Jan 2009 15:34:57 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, "I have modified CMakeLists.txt in order to make CMake fill the existent openscenegraph.pc and openthreads.pc files with OSG's installation values. Then I install those files into the expected path for pkg-config (this can also be modified through PKG_CONFIG_PATH environment variable). Therefore those of us who are using pkg-config for linking can easily select which version of OSG we want to use." - * Changed parameter for T* to const T*. +Tue, 27 Jan 2009 15:34:28 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, "I have modified CMakeLists.txt in order to make CMake fill the existent openscenegraph.pc and openthreads.pc files with OSG's installation values. Then I install those files into the expected path for pkg-config (this can also be modified through PKG_CONFIG_PATH environment variable). Therefore those of us who are using pkg-config for linking can easily select which version of OSG we want to use." -2009-04-21 14:27 robert +Tue, 27 Jan 2009 15:14:47 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "Here is a small fix that enables writing 16 bit short images in the tiff plugin. " - * From Eric Sokolowsky, "I found that the current CMakeLists.txt - doesn't set the debugging flags correctly on OSX when using cmake - to generate Xcode projects. This change has the potential to - affect all platforms, so it should be tested." +Tue, 27 Jan 2009 14:11:37 +0000 +Checked in by : Robert Osfield +Converted viewer camera references to use observer_ptr<> rather than ref_ptr<> or C pointers to avoid issues with circular references/dangling pointers. -2009-04-21 14:15 robert +Tue, 27 Jan 2009 13:23:20 +0000 +Checked in by : Robert Osfield +Refactored the view stats. - * From Neil Hughes, "here is an update to ReaderWriterCurl that - makes use of the amended ReaderWriter definition to pass some - plugin string data via the options object." +Tue, 27 Jan 2009 09:09:48 +0000 +Checked in by : Robert Osfield +Commented out debug message -2009-04-21 12:02 robert +Mon, 26 Jan 2009 21:23:09 +0000 +Checked in by : Robert Osfield +Ported onscreen camera stats across to using thread safe stats collection - * Updated wrappers +Mon, 26 Jan 2009 19:22:27 +0000 +Checked in by : Robert Osfield +Added passing of command line args to cmake -2009-04-21 11:48 robert +Mon, 26 Jan 2009 16:55:53 +0000 +Checked in by : Robert Osfield +Converted across to using ref_ptr<> to avoid memory leak/dangling pointer issues. - * From Neil Hughes, "please find attached a new version of the - ReaderWriter header file. This has additional functions to mimic - the setPluginData functions for string data." +Mon, 26 Jan 2009 15:16:24 +0000 +Checked in by : Robert Osfield +Fixed effective leak in Program::PerContextProgram caused by previously osg::State keeping a set of std::ref_ptr without ever pruning this list. The fix was to convert the osg::State to use C pointers for the set of applied PerContexProgram objects, and use the osg::Oberver mechanism to avoid dangling pointers for being maintained in osg::State. -2009-04-21 10:46 robert +Mon, 26 Jan 2009 13:48:50 +0000 +Checked in by : Robert Osfield +Moved the XRANDR include into LIB_PRIVATE_HEADERS to avoid FreeBSD build problem - * From Chris Hanson, "Fixed case of morphTarget argument in Doxygen - comments." +Mon, 26 Jan 2009 10:52:16 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-04-21 10:13 robert +Mon, 26 Jan 2009 10:35:16 +0000 +Checked in by : Robert Osfield +From Rick Appleton, "In DatabasePager.cpp I believe there's a copy-paste ommission. A little bit further down the file where the Drawables are compiled the code is similar to how I have fixed the code here for the StateSets. If the DatabasePager thread is supposed to pre-compile things, it will call the compileGLObjects such that compileAll will be true. However, when compiling StateSets compileAll isn't currently checked." - * Fixed handling of case of no graphics contexts being assigned +Sat, 24 Jan 2009 10:02:32 +0000 +Checked in by : Robert Osfield +Changed META_NodeVisitor usage to META_Object as it's more appropriate. -2009-04-20 19:05 robert +Sat, 24 Jan 2009 10:00:23 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "OS X failed to compile AnimationManager because of the useage of META_Node-macro, but AnimationManager is inherited from NodeVisitor, so I changed the Macro to META_NodeVisitor" - * Removed #ifdef WIN32 around #include to fix build under - Mandrake build. +Fri, 23 Jan 2009 23:04:18 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project -2009-04-17 14:15 shuber +Fri, 23 Jan 2009 15:52:10 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "attached is a small crash fix for the case that a texture is used for transparency without the availability of a diffuse texture." - * From Stephan Huber: small fix for Xcode-project / 32bit Carbon - target +Fri, 23 Jan 2009 15:50:05 +0000 +Checked in by : Robert Osfield +Added forward declaration of callbacks to headers to avoid scoping issues of classes with same names. -2009-04-13 12:26 shuber +Fri, 23 Jan 2009 15:12:26 +0000 +Checked in by : Robert Osfield +Warning fixes for VS, and removal of associated warning disables - * From Stephan Huber: updated XCode-project so it builds the - curl-plugin +Fri, 23 Jan 2009 15:02:04 +0000 +Checked in by : Robert Osfield +Added workaround for silly posix read deprecation warning under VS. -2009-04-13 09:41 robert +Fri, 23 Jan 2009 14:00:49 +0000 +Checked in by : Robert Osfield +Removed unneccesary warning disables - * Replaced #idef WIN32 with _MSC_VER to try and fix build errors - under mingw +Fri, 23 Jan 2009 11:52:18 +0000 +Checked in by : Robert Osfield +Added range of visual rendering properties to readNode's creation of VolumeTile/ImageLayer. -2009-04-13 09:35 robert +Fri, 23 Jan 2009 10:29:09 +0000 +Checked in by : Robert Osfield +From Mattias Froehlich, "To pass the Microsoft application verifier we have tried to get osgviewer working with that thing. This is what was missing so far:Make win32 threads behave like the posix implementation when setting thread +cpu affinity. That includes avoid setting thread affininty on a non running +thread. Set that once it is running." - * From Santosh Gaikwad, "I have added the exception handling in ply - loader. All exceptions I am catching in VertexData::readPlyFile() - and made sure that application will not crash or exit if any - exception occurred. I am returning NULL from - VertexData::readPlyFile() if any exception occurred. - " -2009-04-12 18:54 robert - * Fixed ChangeLog generation so that it only includes svn/trunk or - relevant branch rather than whole svn repository. - - Updated ChangeLog +Fri, 23 Jan 2009 09:24:34 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, "here is a correction on osgVolume/Property added OSGVOLUME_EXPORT to PropertyAdjustmentCallbackosgVolume/VolumeTile.cpp + in copy constructor, removed ';' on if (volumeTile.getVolumeTechnique())" + -2009-04-11 07:12 robert - * Updated ChangeLog and AUTHORS for 2.9.3 dev release -2009-04-11 06:25 robert +Fri, 23 Jan 2009 09:22:31 +0000 +Checked in by : Robert Osfield +Upped notification level of timing stats - * updated wrappers +Wed, 21 Jan 2009 19:28:46 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-04-11 06:16 robert +Wed, 21 Jan 2009 19:02:54 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "updated osgAnimation with the trunk here the update:examples/osganimationviewer/AnimtkViewer.cpp: +- add option to display bone (--drawbone) +- dont crash if the file does not contains a AnimationManagerBase, display the content only - * From Jean Sebastien Guay, added error reporting handling of wider - range of video formats. +examples/osganimationviewer/AnimtkViewerGUI.cpp: +- adjust the path of image for the gui -2009-04-10 15:30 cedricpinson +include/osgAnimation/Interpolator: +- add warn message instead of old assert - * From Cedric Pinson, remove unsused method in Bone class\nadd - namespace osgAnimation for Timeline constructors\nadd - OSGANIMATION_EXPORT on VertexInfluence and Timeline class +include/osgAnimation/Bone: +src/osgAnimation/Skeleton.cpp: +- change a method name to fit better with what it does. setMatrixInSkeletonSpace instead of setBoneInSkeletonSpace -2009-04-10 14:11 robert +include/osgAnimation/Skinning: +src/osgAnimation/RigGeometry.cpp: +- add patch from Fabien Lavignotte to compute normal correctly - * Added VS checks around code block from Mark Sciabica that broke - the mingw build +include/osgAnimation/Sampler: +- adjust behviour without assert, return 0 instead of crashing +" -2009-04-10 11:19 robert - * Fixed build error by replacing M_PI with osg::PI. -2009-04-10 11:00 robert +Wed, 21 Jan 2009 19:01:26 +0000 +Checked in by : Robert Osfield +Fixed compile errors for when ref_ptr<> auto conversion is disabled - * Updated version info for 2.9.3 dev release, fixed typo and - updated wrappers +Wed, 21 Jan 2009 18:47:55 +0000 +Checked in by : Robert Osfield +From Roger James, The changes are as follows:-1. Support for ambient occlusion maps. +2. A fix for the incorrect handling of normals on all geometries. The optimizer usually fixed this bug so it probably was not noticed very often. +3. A new option flag on the reader. "StrictTransparency" + // Process transparent and transparency settings according to a strict interpretation of the spec + // See https://collada.org/public_forum/viewtopic.php?f=12&t=1210 +otherwise + // Jump through various hoops to accomodate the multiplicity of different ways + // that various people have interpreted the specification +4. Handling of texures in the transparent channel. This is allowed provided that they are the same texture that is specified in the diffuse channel. Accomodating a different texture would require use of programmable pipeline functionality which I have tried to avoid. +5. Handling of elements. +"" -2009-04-10 10:07 robert - * Added typedef and updated wrappers -2009-04-10 09:56 robert +Wed, 21 Jan 2009 18:34:10 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "got some feedback from J-S on the packaging so I have changed the name of the top folder in each package to OpenSceneGraph-x.y.zNoone else has had an opinion on whether compiler and it's version +should be part of the package filename on their platform/setup so I'll +leave it as is. That is - No action is taken for compilers other than +msvc but one can easily add this information to the cmake cache +regardless of platform. +" - * From Romain Charbit, "added a getConnectedSelections(Dragger&) - method, so we can get which selections are connected to a dragger - without make our own multimap, copying the existing - _draggerSelectionMap (which is protected with no accessors) ." -2009-04-10 09:37 robert - * From J.P. Delport, tweak to fix spelling and grammer +Wed, 21 Jan 2009 18:23:55 +0000 +Checked in by : Robert Osfield +Replaced readImageFile() usage with readRefImageFile() to prevent threading issues with caching of imagery in the osgDB::Registry cache. -2009-04-10 09:16 robert +Wed, 21 Jan 2009 17:10:51 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "I realized today that there is an issue with the Registry changes I submitted to allow plugins to have the first go at URLs.The code works fine as is if the format plugin is not already loaded in memory. - * From Santosh Gaikwad, warning fixes +If a plugin is already in memory, say the PNG plugin for example, then a call to readImageFile("http://server.com/image.png") will return FILE_NOT_FOUND because osgDB::findDataFile will not be able to locate the file. So the Registry::read method is returning before the CURL plugin is given a chance to download the file. -2009-04-09 18:27 robert +I've made a few changes to the Registry to not return FILE_NOT_FOUND if the filename contains a URL that fix the issue." - * Added ply entry -2009-04-09 18:26 robert - * From Santosh Gaikwad, ply plugin, based on Equalizer and other - LGPL compatible sources. - - "Attached is the osg-plugin for reading ply ( Stanford Triangle - Format ) file. I have written the plugin according to OSG - standard and have also added cmake build system. The plugin is - working fine on both Linux and Windows and should behave - similarly on other OS as well." - - "I developed this plugin while working on a project based on - Equalizer. So VertexData which I am using is taken from equalizer - and modified to make them work as separate OSG plugin. - Before contributing this plugin to OSG community, I asked project - manager of Equalizer project Stefen regarding potential licensing - issues and this is what he has said - - "The kd-Tree (VertexBuffer*) is LGPL-licensed, and the base ply - loader (ply*) is BSD. As long as you leave the copyright notices - intact, there is no issue." - - so I think using these files in OSG should not be a problem. - - As far as author of ReaderWriterPLY.cpp is concerned I am the - author. I am working for Darshan3d which is a subsidiary of - VizExperts thats why I have put VizExperts copyright." +Wed, 21 Jan 2009 14:37:36 +0000 +Checked in by : Robert Osfield +From Sherman Wilcox, "Minor change to the glPushAttrib(...) call in renderWithStencilBuffer(...) - added GL_STENCIL_BUFFER_BIT" -2009-04-09 16:40 shuber +Wed, 21 Jan 2009 14:27:58 +0000 +Checked in by : Robert Osfield +Renamed ShaderTechnique to RayTracedTechnique - * From Stephan Huber: - updated XCode project to reflect current trunk +Wed, 21 Jan 2009 12:06:13 +0000 +Checked in by : Robert Osfield +Cleaned up osgvolume -2009-04-09 16:31 robert +Wed, 21 Jan 2009 11:46:03 +0000 +Checked in by : Robert Osfield +Introduced the ability to switch between different visual properties in osgVolume - * From Martin Beckett, "I have fixed up the 3DC reader to handle - any field separator so it can read x,y,z files and added ability - to write a 3DC file." - - From Robert Osfield, refactor of the above code to retain a bit - more of the original funcionality, and to avoid the need to hand - maintained XCode projects from being updated. +Tue, 20 Jan 2009 17:53:06 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-04-09 15:56 robert +Tue, 20 Jan 2009 17:41:45 +0000 +Checked in by : Robert Osfield +Moved PropertyAdjustmentCallback from osgvolume.cpp into osgVolume.Updated lighting shaders. - * From Mattias Helsing, "" - * Use the CPack ZIP generator on windows (WIN32) - * Reformatted according to Philip Lowman's recent submissions" -2009-04-09 15:55 robert - * Updated wrappers +Tue, 20 Jan 2009 15:30:30 +0000 +Checked in by : Robert Osfield +Removed redundent shader files -2009-04-09 15:34 robert +Tue, 20 Jan 2009 15:29:32 +0000 +Checked in by : Robert Osfield +Added lighting based shaders - * From Stephan Huber, "attached you'll find a small fix for - PixelBufferCarbon preventing it to - be compiled for 64bit. This is the easiest solution for the old - deprecated xcode project." +Tue, 20 Jan 2009 15:06:44 +0000 +Checked in by : Robert Osfield +Added event key variables -2009-04-09 15:33 robert +Tue, 20 Jan 2009 13:50:57 +0000 +Checked in by : Robert Osfield +Added support for SampleDensityProperty and TransparencyProperty - * Converted tabs to four spaces +Tue, 20 Jan 2009 12:39:26 +0000 +Checked in by : Robert Osfield +Added AlphaFunc support into osgVolume::AlphaFuncProperty. -2009-04-09 14:41 robert +Tue, 20 Jan 2009 11:34:15 +0000 +Checked in by : Robert Osfield +Fixed compile error when using ITK - * From Paul Martz, typo fix +Sat, 17 Jan 2009 17:23:47 +0000 +Checked in by : Robert Osfield +Updated event callback to be able to update iso surface value. -2009-04-09 14:38 robert +Sat, 17 Jan 2009 17:23:17 +0000 +Checked in by : Robert Osfield +Updated Uniform name for controlling IsoSurfaceValue - * From Jean-Sebastien Guay, "When creating a cylinder without a - bottom or a top (in the traits, createBottom=false and - createTop=false), the cylinder could still be picked by picking - its (non-existent) bottom or top. This is because the - PrimitiveShapeFunctor does not consider the traits when returning - the cylinder's geometry for the picking test, and always returns - geometry for the whole cylinder, with bottom, top and body. - - I have attached a fixed file where the traits are checked in the - PrimitiveShapeFunctor where appropriate. They are checked for - Box, Cone Capsule and Cylinder. These just mirror the checks that - were already done in the DrawShapeVisitor. - - (another instance where if the ShapeDrawable had just been - osg::Geometry, there wouldn't have been a problem... :-) ) - - I also fixed a small typo in the file in two places - ("implementated" --> "implemented")." +Sat, 17 Jan 2009 16:00:39 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-04-09 14:31 robert +Fri, 16 Jan 2009 17:59:38 +0000 +Checked in by : Robert Osfield +Removed old volume rendering scene graph code from osgvolume example.Moved createNormalMapTexture and applyTransferFunction functions from osgvolume example into include/osgVolume/Layer. - * From Cory Riddell, "I added an _allowThrow bool and get / set - accessors to - TrackballManipulator. The purpose of this is to disable throwing - when - you release the mouse button while moving the mouse. The default - settings is true (ie, allow throw). The two source files are - attached. - " -2009-04-09 14:25 robert - * From Ravi Mathur, "OK I have been away for a looong time, but - still occasionally watching from a distance, and saw the bug - people have reported about the DepthPartitionNode not handling - scaled models properly. - - I believe this is now fixed ... I have attached the new - DistanceAccumulator.cpp, along with a modified example file that - uses a PositionAttitudeTransform to draw the Earth's orbit around - the Sun." +Fri, 16 Jan 2009 16:21:54 +0000 +Checked in by : Robert Osfield +Completed firt pass implementation FixedFunction and ShaderTechnique. -2009-04-09 14:00 robert +Fri, 16 Jan 2009 11:27:20 +0000 +Checked in by : Robert Osfield +Moved basics of fixed function pipeline implementation from osgvolume example into osgVolume - * From Glenn Waldron, "Here is a first cut at the mime-type support - we discussed a little while ago - (http://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg23098.html) - - Background: when you access a file over HTTP, you cannot rely on - a file extension being present; instead the file's mime-type is - conveyed in the HTTP Content-Type response header. This facility - adds a mime-type-to-extension map to the registry to handle this. - - There are two new osgDB::Registry functions which are pretty - self-explanatory: - - void addMimeTypeExtensionMapping( mime-type, extension ) - ReaderWriter* getReaderWriterForMimeType( mime-type ) - - I also added the file osgDB/MimeTypes.cpp which houses a - hard-coded list of built-in types. I took the list from here - (http://www.webmaster-toolkit.com/mime-types.shtml) and then - pared it down to include mostly image and video types, editing - them to map to existing plugins where possible. - - In addition, I updated the CURL plugin to a) install a set of - built-in mime-type mappings, and b) use them to look up an - extension in the event that the target filename does not have an - extension. - - Here is a test case. This URL pulls down a JPEG (without a file - extension): - osgviewer --image - "http://us.maps3.yimg.com/aerial.maps.yimg.com/ximg?v=1.8&s=256&t=a&r=1&x=0&y=0&z=2" - " +Fri, 16 Jan 2009 10:34:58 +0000 +Checked in by : Robert Osfield +Added default use of osgVolume::ShaderTechnique -2009-04-09 09:25 robert +Fri, 16 Jan 2009 10:23:17 +0000 +Checked in by : Robert Osfield +Introduced ImageLayer computeMinMax + rescaling methods, and use of rescaleToZeroToOneRange by default. - * From Jean-Sebastien Guay, "As I discussed in the thread "Windows - 7 beta: "The binary is not a valid Windows image."" on osg-users, - I needed to add the /DYNAMICBASE linker option for executables to - link properly in release mode on Windows 7 beta. - - http://article.gmane.org/gmane.comp.graphics.openscenegraph.user/42400 - - Since this is a workaround for a bug in a beta OS (which may or - may not be fixed, since it's mentioned in their release notes so - they may just leave it as it is) I've marked the option as - advanced, default to OFF, and clearly documented it as being - useful for Windows 7 only. I'd like to be able to test for - Windows 7 directly instead of the blanket IF(WIN32), but I can't - figure out if this is possible in CMake. - - Here's the modified CMakeLists.txt. It's a small change, with low - impact, but will be useful to others who test out this OS and - when it comes out. Note that I'm not familiar with this option in - general, and didn't get any feedback to my questions in the - above-mentioned thread, one of which was: Could we just add this - option to all builds? What is the impact? That's still unclear to - me, but without it OSG executables don't build, and the article I - linked didn't seem to present any ill effects to enabling the - option." +Thu, 15 Jan 2009 15:57:04 +0000 +Checked in by : Robert Osfield +Introduce osgVolume::PropertVisitor, and IsoSurface, MaximumImageProjection, Ligting and AlphaFunc Properties -2009-04-09 09:23 robert +Thu, 15 Jan 2009 10:44:52 +0000 +Checked in by : Robert Osfield +Removal of rendundant characters from Camera and Camera.cpp.Updated wrappers - * From Philip Lowman, clean up of CMake files -2009-04-08 14:16 robert - * From Eric Sokolowsky, " - The osgViewer::CompositeViewer had partial support for Producer - Camera - config files, but it was not working completely. Here is the - completed - implementation. File: src/osgViewer/CompositeViewer.cpp. - " +Thu, 15 Jan 2009 10:36:04 +0000 +Checked in by : Robert Osfield +From Rudolf Wiedemann, "attached is the osg::Camera class (based on revision 9493), where methods getProjectionMatrixAsOrtho() getProjectionMatrixAsFrustum() getProjectionMatrixAsPerspective() getViewMatrixAsLookAt() (2x) are now const, as they only call const methods of osg::Matrixf/d. " -2009-04-08 14:08 robert +Wed, 14 Jan 2009 20:43:21 +0000 +Checked in by : Robert Osfield +Changed setVolumeTechnique to setVolumeTechniquePrototype() - * From Cory Riddell, fix for aspect ratio +Wed, 14 Jan 2009 20:38:12 +0000 +Checked in by : Robert Osfield +Added VolumeTechnique to Volume -2009-04-08 14:06 robert +Wed, 14 Jan 2009 20:32:06 +0000 +Checked in by : Robert Osfield +Added osgVolume .osg plugin - * From James Killian, "refactored the management of the object - cache enabling/disabling" +Wed, 14 Jan 2009 15:16:29 +0000 +Checked in by : Robert Osfield +Introduced osgVolume::Property, CompositePropery and TransferFunctionPropety classes -2009-04-08 13:40 robert +Wed, 14 Jan 2009 10:32:20 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, "The last field of the LightPointAppearancePalette is only valid for > 15.8 version of the format." - * From Eric Sokolowsky,"libosgViewerd.so was not being built - properly because it was being - linked with system libraries using LINK_INTERNAL instead of - LINK_EXTERNAL. This caused it to try to link with libXrandrd - instead of - libXrandr, which failed. Attached is the fixed CMakeLists.txt." +Tue, 13 Jan 2009 17:51:45 +0000 +Checked in by : Robert Osfield +Integrated state setup code from osgvolume.cpp example into ShaderTechnique path. -2009-04-08 13:21 robert +Tue, 13 Jan 2009 17:20:32 +0000 +Checked in by : Robert Osfield +Introduced class interfaces for FixedFunctionTechnique and ShaderTechnique volume rendering techniques. - * From Mike Connell, "Here are some small fixes that allow you to - specify the allowable deviation when creating polylines from arcs - and circles in DXF files. Changes are against 2.8.0 - - It adds two options: - - Accuracy(x) - ensures the polyline will be within x units from - the ideal arc/curve - ImproveAccuracyOnly - do not use the given accuracy 'x', if it - would result in a worse curve than with the previous (2.8.0) - implementation for a particular arc/curve. - - As an added bonus there was a small bug in the existing - implementation whereby the primitives were line strips but the - vertices generated were actually suitable for GL_LINES, so the - improved accuracy doesn't even have to come at a performance cost - :-)" +Tue, 13 Jan 2009 10:15:04 +0000 +Checked in by : Robert Osfield +Added ZLIB_FOUND to dicom qualification -2009-04-08 13:16 robert +Tue, 13 Jan 2009 10:12:13 +0000 +Checked in by : Robert Osfield +Added a / in front of the ${DCMTK_ROOT_INCLUDE_DIR} to workaround a CMake bug that ignores /usr/local/include directories.Added ZLIB to include line. - * From Eric Sokolowky, ""Running" was spelled "Ruinning", which is - hardly the same." -2009-04-08 13:11 robert - * From Marc Sciabica, made searching of the install path for - plugins option, and added the dll path to the search path under - Windows +Mon, 12 Jan 2009 17:41:25 +0000 +Checked in by : Robert Osfield +Added test message -2009-04-08 13:03 robert +Mon, 12 Jan 2009 16:37:38 +0000 +Checked in by : Robert Osfield +Further tweak to include paths - * Reduced the default live video feed size to accomodate reading - from the Minoru stereo wecam. +Mon, 12 Jan 2009 16:10:40 +0000 +Checked in by : Robert Osfield +Restructured the include paths -2009-04-08 12:32 robert +Mon, 12 Jan 2009 13:12:04 +0000 +Checked in by : Robert Osfield +Changed to use ref_ptr<> for scene model to avoid crash - * From Simon Carmody, "Patches for compare and copy of Programs and - related state - -Added copying of shaders and attributes in osg::Program copy - constructor. - -Changed StateSet::compare function to compare Uniforms and their - override values. Previously it compared a RefUniformPair." +Mon, 12 Jan 2009 11:34:03 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "'ve finally finished the rework of the packaging support. It is streamlined for tgz and has most of the features that Robert, J-S and Sukender requested in december. I have an idea of how to discover the vc80 sp1 or not but haven't had time to implement. The script is completely reworked and now doesn't include cmakes' bundled CPack.cmake script at all. In summary:* filenames are +---[-compiler]-.tar.gz, +ex. libopenscenegraph-2.7.9-Linux-i386-Release.tar.gz, +libopenthreads-dev-2.7.9-win32-x86-vc80sp1-Debug.tar.gz -2009-04-08 10:48 robert +* targets (projects in msvs) are generated for each specified +component, a target that packages everything that is installed +(openscenegraph-all) and there's a target for running all other +packaging targets (Package ALL on msvs, package_ALL in unix +makefiles). - * From Glenn Waldron, "Attached is a patch for osgUtil::Optimizer. - If you run the SpatializeGroupsVisitor on a scene graph - containing Geodes, StateSets attached to Geodes can be lost. - - The problem is in SpatializeGroupsVisitor::divide(osg::Geode*, - unsigned int) where the code creates a new Group and divides up - the input Geode into one Geode per Drawable. - - I fixed the problem by assigning the Geode's stateset to the new - parent group. - - To replicate the bug, see attached osg/dds files: - - osgviewer b.osg -- model renders correctly - set OSG_OPTIMIZER="SPATIALIZE_GROUPS" - osgviewer b.osg -- textures are missing." +* It is possible to set the compiler in ccmake (cmake-gui, whatever you use) -2009-04-08 10:44 robert +* the top folder in packages is the same for all packages (OpenSceneGraph-x.y) - * From Aric Aumann, added options for controlling the swap of the - left/right handed coordinate system +* the packaging support is limited with cmake-2.6.0 and not as +dynamic. With cmake-2.6.1 and later building the gdal plugin (for +example) will create a package_libopenscenegraph-gdal target. With +cmake-2.6.0 only the ones that are always built (libopenscenegraph, +libopenscenegraph-dev, openscenegraph, libopenthreads, +libopenthreads-dev -2009-04-08 10:32 robert +* i found a better way to decide whether cpack is available to guard +the BUiLD_OSG_PACKAGES option" - * From Martin Beckett, added mouse wheel support -2009-04-07 10:13 robert - * Added better handling of use of VBO's in compileGLObjects() +Fri, 9 Jan 2009 19:53:28 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "Following reports by Alberto and Simon this submission reenables usage of cmake-2.6.0. As a side note I just installed cmake from the ubuntu repositories and got cmake-2.6.0-4ubuntu2 and this one produced the currect CMAKE_CXX_FLAGS_RELEASE (-O3 -DNDEBUG). This CMakeLists is tested on linux with cmake versions 2.4.8, 2.6.0, 2.6.2 and 2.6.0-4ubuntu2* Added quotes around CMAKE_CXX_FLAGS var to help cmake-2.6.0 pick up +that it really is a string value -2009-04-07 10:12 robert +* Removed quotes around values that we set in +OSG_AGGRESIVE_WARNING_FLAGS. This makes OSG_AGGRESIVE_WARING_FLAGS be +of LIST type so the foreach constructs can behave as I planned." - * Updated wrappers -2009-04-07 08:43 shuber - * From Stephan Huber: - removed OpenThreads-folder (as OpenThreads is part of - OpenSceneGraph now), updated the Readmes regarding 64bit - compilation and updated the XCode-project to match the current - svn-trunk. -2009-04-07 08:40 cedricpinson +Fri, 9 Jan 2009 15:57:14 +0000 +Checked in by : Robert Osfield +Fixed warning - * From Serge Lages, Elastic added to EaseMotion +Fri, 9 Jan 2009 15:55:25 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-04-06 12:28 robert +Fri, 9 Jan 2009 15:25:34 +0000 +Checked in by : Robert Osfield +Updated version number for next dev release - * Added disabling of mipmapping for non power of two textures +Fri, 9 Jan 2009 15:19:25 +0000 +Checked in by : Robert Osfield +Moved osgVolume::ImageUtils to osg::ImageUtils, updated wrappers, and started moving osgvolume example across to create osgVolume subgraphs -2009-04-06 11:22 robert +Fri, 9 Jan 2009 15:11:15 +0000 +Checked in by : Robert Osfield +Fix of warning reported on CDash - * Added check against null colour layer to prevent a crash when a - null colour layer is assigned +Fri, 9 Jan 2009 15:09:39 +0000 +Checked in by : Robert Osfield +Fixed warnings reported on CDash -2009-04-03 10:47 robert +Fri, 9 Jan 2009 12:21:36 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "Attached is a fix for the Collada plugin. A PositionAttitudeTransform wrote its place elements in the wrong order." - * Displayed display lists to prevent frame drops when compiling - large geometry tiles +Fri, 9 Jan 2009 12:17:40 +0000 +Checked in by : Robert Osfield +From Andy Skinner, fixes for Solaris build -2009-04-03 09:54 robert +Thu, 8 Jan 2009 14:52:11 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "Here the updated osganimationskinning.cpp that works as before" - * Tweaks to shader to fix warnings on with ATI drivers +Thu, 8 Jan 2009 12:47:20 +0000 +Checked in by : Robert Osfield +Added missing *. -2009-04-02 08:44 robert +Thu, 8 Jan 2009 11:35:57 +0000 +Checked in by : Robert Osfield +Commented out the warning disabling block - * Added OSG_MULTI_SAMPLES env var for setting the default - DisplaySettings NumMultiSamples value +Thu, 8 Jan 2009 11:28:04 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, added back in missing wd entries. -2009-03-30 09:55 robert +Thu, 8 Jan 2009 11:26:16 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "With msvc90 on vista and cmake-2.6.2 i had to rearrange the blocks that set aggressive warnings in CMAKE_CXX_FLAGS and the on that processes the source tree(s) or the newly set flags wouldn't take effect until second consecutive configure.I also replaced the internally cached variables that managed the +aggresive warnings with explicit adding and removing of flags in +CXX_FLAGS - * Added shader to convert images into greyscale when rendering in - anaglyphic +For apple we first required min cmake version 2.6.0 and then had code +warning about using 2.4.x" -2009-03-26 17:24 robert - * Added osgtexturecompression example to demonstate the quality - difference between - different compression techniques. -2009-03-25 11:17 robert +Thu, 8 Jan 2009 11:19:21 +0000 +Checked in by : Robert Osfield +Added checked from the ARG version of glDraw*Instanced(). - * Added new virtual reseveElements, setElement, getElment and - addElement methods to DrawElements - to make is easier to write code that can work on - DrawElementUByte, UShort or UInt. - - Changed the osgTerrain::GeometryTechnique so that it - automatically chooses - the use of DrawElementUShort or DrawElementsUInt accordining to - the size of the tile. +Thu, 8 Jan 2009 11:18:54 +0000 +Checked in by : Robert Osfield +Removed inappropriate file -2009-03-24 23:25 robert +Thu, 8 Jan 2009 11:16:56 +0000 +Checked in by : Robert Osfield +From Andy Skinner, "I added a const_cast for a call to atomic_cas_ptr, which takes a void* and has been given a const void* const." - * Added support for adding .ffmpeg to filenames to force selection - of ffmpeg plugin +Thu, 8 Jan 2009 11:15:14 +0000 +Checked in by : Robert Osfield +From Blasius Czink, "It seems there is no atomic_xor_uint_nv(). I attached a changed version of the Atomic header where a mutex fallback is used for "xor" on solaris." -2009-03-24 23:17 robert +Thu, 8 Jan 2009 10:34:05 +0000 +Checked in by : Robert Osfield +Moved supression of VS warning C4706 from the include/osg/Export header into the CMake options list. Added suppression of C4127 as well. - * Added support for image streams +Wed, 7 Jan 2009 15:35:28 +0000 +Checked in by : Robert Osfield +Fixed assingment operator -2009-03-24 11:08 robert +Wed, 7 Jan 2009 15:33:24 +0000 +Checked in by : Robert Osfield +Added supression VS warning "C4706: assignment within conditional expression" thanks gets spat out even for perfectly valid if ((variable=expression)) {} usage. - * From Ulrich Hertlein, "I got the following type error from gcc - 4.0.1 on OS X 10.5.6: - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp: - In member function \u2018int - osgFFmpeg::FFmpegDecoderVideo::convert(AVPicture*, int, - AVPicture*, int, int, int)\u2019: - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp:245: - error: invalid conversion from \u2018int\u2019 to - \u2018PixelFormat\u2019 - /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp:245: - error: initializing argument 3 of \u2018SwsContext* - sws_getContext(int, int, PixelFormat, int, int, PixelFormat, int, - SwsFilter*, SwsFilter*, double*)\u2019 - - It expects 'src_pix_fmt' and 'dst_pix_fmt' to be of type - 'PixelFormat' rather than int. The attached cast fixes this (for - me). - - I've also added Matroska video to the list of supported - extensions" +Wed, 7 Jan 2009 14:49:04 +0000 +Checked in by : Robert Osfield +Added handling of when a View isn't yet assigned to a Viewer to avoid associated crash -2009-03-23 20:47 robert +Wed, 7 Jan 2009 13:16:38 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated AUTHORS.txt for 2.9.2 dev release +Wed, 7 Jan 2009 12:27:45 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-03-23 20:44 robert +Wed, 7 Jan 2009 11:24:47 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Updated ChangeLog for 2.9.2 dev release +Wed, 7 Jan 2009 10:32:59 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-03-23 20:25 robert +Wed, 7 Jan 2009 09:49:49 +0000 +Checked in by : Robert Osfield +Added a protected = operator - * From Aric Aumann, fixed handling of null texture coordinates +Tue, 6 Jan 2009 19:09:50 +0000 +Checked in by : Robert Osfield +Removed the usage of assert to prevent associated compile warnings and to clean up code -2009-03-23 17:08 robert +Tue, 6 Jan 2009 19:08:34 +0000 +Checked in by : Robert Osfield +Updated path to reflect where the new button images are located. - * From Luc Frauciel, You'll find attached a modification in ive - plugin for POLYGONSTIPPLE read/write. +Tue, 6 Jan 2009 16:45:35 +0000 +Checked in by : Robert Osfield +From Don Leich, "Here are a couple of fixes for the file examples/osgviewerQT/QOSGWidget.cpp to address some OS X issues. Most of these fixes were previously submitted by Julian Scheid. However, this patch however should not break the example for non-OS X builds and has been tested on 64-bit Linux as well as Mac OS X 10.5.o The value returned by QWidget::winId() is not usable as input for +WindowData under OS X the way it is for both Windows and Unix. Julian's fix +for this uses the Carbon API. Since the fix for X11 in unknown, it is now +assumed that OSG has been built with OSG_WINDOWING_SYSTEM='Carbon' for this +example to work at all when running under OS X. -2009-03-23 16:45 robert +o The CompositeViewer version would hang on exit with the original timer start +argument. Changing the argument value to match the non-composite version +seemed to cure the hanging. - * From Wang Rui, "Attached is a very small fix for the ffmpeg - plugin, to build it without compiling errors on MSVC. The ffmpeg - win32 pre-built tarball is downloaded at - http://ffmpeg.arrozcru.org/builds/. Tested on Windows XP SP3 and - Visual Studio 9, but don't know if it still workable for Unix and - Mac users. :) - - Please look at the .diff files for details. I have already - enjoyed the latest Chinese *big* movie "Red Cliff" with the fixed - ffmpeg plugin and osgmovie. :D" +o Julian's patch altered the setGeometry position to 30/30 in order to see any +window decorations. I did not have this problem, but left his changes intact. -2009-03-23 16:31 robert +o The non-composite viewer needed it's camera initialization defered until +after the ViewerQOSG's Qt base class had been initialized. Otherwise, the view +did not cover the entire window. +" - * From Csaba Halasz, "I have modified FltExportVisitor to use - _MSC_VER instead of _WIN32 in - the condition around a #pragma warning that is specific to visual - studio as _WIN32 is also defined for mingw compile but the - #pragma is - not applicable there." -2009-03-23 16:28 robert - * From Csaba Halasz, "IIRC the C++ standard says members will be - initialized in declaration - order, and not in the order they are listed in the constructor. - To - avoid possible trouble, gcc warns about this. Attached - modification - fixes the initializer order to silence this warning." +Tue, 6 Jan 2009 16:35:38 +0000 +Checked in by : Robert Osfield +From Ewe Woesnner, "the Inventor loader crashes when a texture could not be loaded.Please find attached a small fix which solves this issue." -2009-03-23 16:25 robert - * From Michael Platings, "Changed some pointers to ref_ptr which - fixed the leak - " -2009-03-23 16:21 robert +Tue, 6 Jan 2009 16:16:03 +0000 +Checked in by : Robert Osfield +From Sergey Leontyev, "Some minor(but important) bug fixes for osgWidget:1. In WindowManager.cpp childRemoved method the second parameter "end" is misleading and - * From Csaba Halasz, "I have removed some unnecessary semicolons - that mingw build warns about." +should be named "numChildren" instead. It represents how many children to remove. As a result, the method was implemented incorrectly and failed to remove UI objects. So I fixed it. -2009-03-23 16:15 robert + - * From Eric Sokolowsky, "The attached Registry.cpp fixes OSG under - OSX when a library suffix string is used, as is selected by - default with cmake. - " +replaced this: -2009-03-23 16:13 robert + - * From Michale Platings, "Minor change to include - ReaderWriterDAE.h" +void WindowManager::childRemoved(unsigned int start, unsigned int end) { + while(start < end) { + Window* window = getByIndex(start); -2009-03-23 16:11 robert + if(!window) continue; - * From Michael Platings, "I've changed this file so CMake - automatically chooses the correct directories & libs out of - vc8,vc9,mac,mingw - Tested with Visual Studio 9 2008" + if(_remove(window)) { + window->_index = -1; -2009-03-23 16:07 robert + window->unmanaged(this); + } - * From Roland Smeenk, "Here's a small simplification of the - osganimationmorph example. Only one morphtarget needs to be added - to the MorphGeometry since it already has a base geometry. The - animation will morph between the base geometry and the first - target. - - " + start++; + } +} -2009-03-23 16:05 robert + - * From Philip Lowman, "Mainly removing comments like "This file is - automatically generated" (glad that never happened!)" +with this: -2009-03-23 16:01 robert +void WindowManager::childRemoved(unsigned int start, unsigned int numChildren) { + for (unsigned int i = start; i < start+numChildren; i++) + { + Window* window = getByIndex(i); - * From Philip Lowman, "Here's the promised cleanup of the OSG's - CMakeLists.txt files for the src/ folder. I'll submit the others - separately. - - Also, there was also a small bug in osgDB's CMakeLists.txt that - was causing an error when I tested with CMake 2.4.4. - - IF(${OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX} STREQUAL "quicktime") - was changed to - IF(OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX STREQUAL "quicktime") - " + if(!window) continue; -2009-03-23 15:48 robert + if(_remove(window)) { + window->_index = -1; - * From David Callu, clean up of FindFFmpeg include paths + window->unmanaged(this); + } + } +} -2009-03-23 15:47 robert + - * From Csaba Halasz, "here is another division by zero fix, this - should be simpler ;) - It caused problem if the stats display was popped up before the - pager - had anything to do." +2. in Input.cpp -2009-03-23 15:38 robert + - * Cleaned up interface +The cursor in Input did not get positioned correctly, probably as a left over from the TOP LEFT origin system which is now BOTTOM LEFT. -2009-03-23 15:38 robert +in method positioned() - * Updated wrapper conf to avoid generating wrappers for - PrintVisitor +replaced this: -2009-03-23 15:21 robert + _cursor->setOrigin(x + xoffset + 1.0f, y - _cursor->getHeight() + 1.0f); - * Bumped version numbers in prep for 2.7.2 dev release + -2009-03-23 15:10 robert +with this: - * Added ShaderGen wrapper + _cursor->setOrigin(x + xoffset + 1.0f, y + 1.0f); -2009-03-23 15:04 robert + - * Removed PrintVisitor as it was causing problems with wrapper - building. +Now it is placed correctly. -2009-03-23 13:51 robert + " - * From Eric Sokolowsky, "osgviewer (and all other OSG-based - utilities) fails to provide help for the OSG_NOTIFY_LEVEL - environment variable. This submission fixes that problem." -2009-03-23 11:53 robert - * From Maciej Krol, "As promised to Roland I assembled simple - shader generator. ShaderGenVisitor converts accumulated fixed - function pipeline state sets to ones with shader programs. - Generated state sets are attached to geometries and stored in - ShaderGenCache for reuse. - - Very simple cases of state configuration are supported (all the - ones I really need): - - single per pixel not attenuated non spot light source ON/OFF - - exp2 fog ON/OFF - - diffuse texture in rgb + optional specular gloss in alpha - (Texture unit 0) ON/OFF - - normal map texture (Texture unit 1 and Tangent in - VertexAttribArray 6) ON/OFF - - blending and alpha testing (not in shader pipeline) - - To view fixed function pipeline files and paged databases simply - run >osgshadergen myfile.osg" +Tue, 6 Jan 2009 15:41:29 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-03-19 11:36 robert +Tue, 6 Jan 2009 15:11:54 +0000 +Checked in by : Robert Osfield +From Paul Martz, example demonstating new draw instanced primitive funcitonality. - * UPdated wrappers +Tue, 6 Jan 2009 14:55:49 +0000 +Checked in by : Robert Osfield +Added support for primitive instancing -2009-03-19 11:11 robert +Mon, 5 Jan 2009 18:07:31 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, changed VS aggressive warnings setting to just /W4. - * Inroduced simple PrintVisitor class for helping debug scene graph - structures +Mon, 5 Jan 2009 17:52:41 +0000 +Checked in by : Robert Osfield +From Don Leich, build fix for OSX. -2009-03-19 10:56 robert +Mon, 5 Jan 2009 17:35:26 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "I thought about the issue I was having with the CURL plugin automatically trying to download all filenames with URL's rather than passing the full URL to the plugin. It turns out the solution was pretty simple.I've made a small change to Registry.cpp that puts the CURL logic AFTER the URL has been passed to the plugin rather than assuming all URL's need to be downloaded by the CURL plugin. This way, plugins can have first crack at the URL's, and if they don't handle it the previous CURL behavior kicks in." - * Fixed spacing -2009-03-19 10:55 robert - * Added compressed to list of supported options +Mon, 5 Jan 2009 17:06:09 +0000 +Checked in by : Robert Osfield +From Paul Martz, added --points option for forcing points rendering of polygonal models -2009-03-19 10:55 robert +Mon, 5 Jan 2009 16:53:29 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "Attached you will find an improved Collada plugin to properly support camera's. A Collada camera will be added to the scenegraph as osg::CameraView. This allows the user to create a set of predefined camera viewpoints. I also added a new MatrixManipulator to osgGA called CameraViewSwitchManipulator and added usage of this to the osgviewer example. This manipulator allows switching between the predefined camera viewpoints. The current design limition I ran into is that a MatrixManipulator only manipulates the ViewMatrix, but for this particular manipulator I also want to update the projectionMatrix of the camera when switching to a new viewpoint. This is not implemented because I don't know what would be the best way to design it. Any ideas?Furthermore Collada also supports orthographic camera's, where an osg::CameraView only supports a perspective camera. Would it be useful to create a CameraView with customizable optics for this?" - * Added debug message (commented out for now.) -2009-03-19 10:27 robert - * Added osgTerrain::Terrain support to the .osg format +Mon, 5 Jan 2009 12:21:58 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-03-14 15:40 robert +Mon, 5 Jan 2009 11:58:08 +0000 +Checked in by : Robert Osfield +From Paul Martz, Correction to Timer method comment. - * From Adrian Egli, build fix for Win32 FFmpeg +Mon, 5 Jan 2009 11:31:38 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, added non const getText() method -2009-03-13 15:56 robert +Mon, 5 Jan 2009 11:26:26 +0000 +Checked in by : Robert Osfield +Introduced osgVolume::Layer and Locator classes mirrroring similar classes in osgTerrain. - * From Stephan Huber, clean up of Quicktime plugin +Mon, 5 Jan 2009 10:13:04 +0000 +Checked in by : Robert Osfield +Change the aggressive warning level under VS to /W3 -2009-03-13 13:25 robert +Wed, 24 Dec 2008 11:05:22 +0000 +Checked in by : Robert Osfield +Fixed warning - * Update AUTHORS file +Wed, 24 Dec 2008 10:30:21 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-03-13 11:56 robert +Mon, 22 Dec 2008 21:17:03 +0000 +Checked in by : Robert Osfield +Made aggressive warnings the default. - * Updated ChangeLog +Mon, 22 Dec 2008 21:16:40 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-03-13 11:06 robert +Mon, 22 Dec 2008 18:30:52 +0000 +Checked in by : Robert Osfield +Build fix - * Warning fixes +Mon, 22 Dec 2008 08:26:16 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Typing "osgconv" alone displays the --help family of options, as it should, but it also displays info about --formats and --plugins, which seems out of place because no other options are mentioned here.The code changes osgconv so that "osgconv --help" displays help info about --formats and --plugins, plus it also displays documentation for --format and --plugin, which were previously missing." -2009-03-13 11:01 robert - * Fixed for division by zero issue. -2009-03-13 10:40 robert +Sun, 21 Dec 2008 20:42:29 +0000 +Checked in by : Robert Osfield +Changed VolumeTile::setImage(Image*) to setImage(uint i, Image*) to allow multiple images to be attached to single tile - * From Bryan Thrall, "The attached ReaderWriterGLSL.cpp - conveniently sets the shader type when - the filename extension is "vert" or "frag" but still lets this be - overridden by the Options (for those crazy people who store their - fragment shaders in .vert files :) )." +Sun, 21 Dec 2008 20:24:56 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "Replace the IF(POLICY CMP0008) with an absolute version check for cmake > 2.6.0. The POLICY keyword is only valid starting with cmake-2.4.7 so using it broke cmake 2.4.5/6 support." -2009-03-12 17:54 robert +Sat, 20 Dec 2008 20:55:21 +0000 +Checked in by : Robert Osfield +Renamed osgVolume::Brick to osgVolume::VolumeTile - * From Frank Midgley, "I tried running osgconv --formats yesterday - on OS X and got no results. Turns out the changes discussed in - the "osgDB::listAllAvailablePlugins win32 fix" thread back in Sep - '08 broke this. The OSG_PLUGIN_EXTENSION macro is being defined - in src/osgDB/CMakeLists.txt from CMAKE_SHARED_LIBRARY_SUFFIX - which is "dylib" on OS X. The problem is that all of the plug-ins - are setup in OsgMacroUtils.cmake with: - - ADD_LIBRARY(${TARGET_TARGETNAME} MODULE ${TARGET_SRC} - ${TARGET_H}) - - which gives them .so extensions. Since ".so" != ".dylib" - osgDB::listAllAvailablePlugins finds no plug-ins. I believe the - correct solution is to use CMAKE_SHARED_MODULE_SUFFIX instead. - This builds and runs correctly on OS X but I have not tested on - other platforms. - - Attached is an updated src/osgDB/CMakeLists.txt based on rev - 9915. The change is at line 108. To validate: build and then run - bin/osgconv --formats. You should get many screenfuls of plug-in - features, extensions and options." +Sat, 20 Dec 2008 20:30:08 +0000 +Checked in by : Robert Osfield +Changed the scale from 0.03 to 0.0254 as the Q3 bsp files are in inches. -2009-03-12 17:47 robert +Sat, 20 Dec 2008 13:35:49 +0000 +Checked in by : Robert Osfield +From Jason Daly, "'ve been busy working on the Source engine plugins. There are several contributions in this submission:osgDB/FileUtils.cpp: +Needed this extra code to allow a true case-insensitive search. This is because the HL2 map and model files are often sloppy with case. For example, the file might look for materials/models/alyx/alyx_sheet.vtf, but the file is actually in materials/Models/Alyx/alyx_sheet.vtf. In case-insensitive mode, the new code recursively disassembles the path and checks each path element without regard to case. In case-sensitive mode, the code behaves exactly as it used to. The new code is also mostly skipped on Windows because of the case-insensitive file system. Previously, I did all of this with custom search code in the .bsp plugin, but this allows the user to tailor the search using OSGFILEPATH. There are some instructions in the plugins' README files about this. - * From Konstantin Sinitsyn, "At this moment, I just introducing to - OSG. When I reviewing optimizer code, I find a mistake in - Optimizer::RemoveLoadedProxyNodesVisitor, as it seems. This - optimizer removes proxy nodes that fully loaded and in some cases - attach their childs to parrents directly (without creating of - group). I dont understand how this works, because if proxy node - doesn't have any attributes such as name, description, node mask - and any callbacks, then new group does not created to hold proxy - node childs. And code below trying to attach their children to - all parents but seems like only first child beeing attached to - all parents correctly. - - " +osgPlugins/mdl: +This is a new plug-in for Half-Life 2 models (as opposed to maps). This allows you to load Source models individually, as well as allowing the .bsp plugin to load models (props) that are embedded into maps. Mdl files can contain simple object (crates, barrels, bottles), as well as fully articulated characters with skeletal animations. Currently, it can load the simple objects. It can also load the characters, but it can't load the skeletons or animations. -2009-03-12 17:26 robert +osgPlugins/bsp: +This contains all of the changes needed to load props along with the basic map geometry. There are also +several bugs fixed. - * Introduced a releaseAllOperation after completeion of - OperationThread::run() to enable CUDA integration (in osgCuda) to - be able to free up its resources. Code drawn from a submission - from Mick. +osgPlugins/vtf: +This is the loader for Valve's texture format. Previously, we had agreed to put this in with the bsp plugin, but I didn't think of the .mdl plugin at that time. It's conceivable that a user might want to load models individually (not as part of a map), so the vtf reader does have to be separate. I also fixed a rather significant bug. -2009-03-12 17:12 robert +I tested all of this code on RHEL 5.2 (32-bit), and Fedora 9 (64-bit). I'll be testing on Windows soon. - * Updated wrappers +I also attached a simple .mdl file, along with it's associated files and textures. Just extract the tarball into it's own directory, set your OSGFILEPATH to point at that directory, and load the model like this: -2009-03-12 15:21 robert + osgviewer models/props_junk/gascan001a.mdl" - * Moved IncrementalCompileOperation out of - include-src/osgUtil/GLObjectVisitor into their own files. - - Added support to IncrementCompileOperation for controlling how - much time is alloted to compilation and flush -2009-03-12 15:18 robert - * Added support for tracking the time since the last clear() call - to enable other - classes to be able to find out how long the current graphics - frame has been running. +Sat, 20 Dec 2008 12:52:16 +0000 +Checked in by : Robert Osfield +Added OPTIONAL into INCLUDE(FindPkgConfig) -2009-03-12 10:12 robert +Fri, 19 Dec 2008 19:04:45 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 2.7.8 dev release - * From Michael Platings, "I've been looking at the discussion from - 2006 ("[osg-users] osgDB/Reentrant Mutex not threadsafe ?") about - this, and having looked closely at OpenThreads::ReentrantMutex - it's still not thread safe in the following situation: - - In my example case, there are 2 threads - one is a worker thread - created by OpenThreads::Thread. The other thread is the main - thread i.e. the thread that is intrinsically created when you - execute the application. The crucial problem is that for the main - thread, OpenThreads::Thread::CurrentThread() will return null. - - I'll demonstrate this by breaking ReentrantMutex::lock() into - sub-statements: - - 1.) if - (_threadHoldingMutex==OpenThreads::Thread::CurrentThread()) - - 2.) if (_lockCount>0){ - - 3.) - OpenThreads::ScopedLock - lock(_lockCountMutex); - ++_lockCount; - return 0; - - 4.) - int result = Mutex::lock(); - if (result==0) - { - OpenThreads::ScopedLock - lock(_lockCountMutex); - - 5.) - _threadHoldingMutex = OpenThreads::Thread::CurrentThread(); - _lockCount = 1; - return result; - - - An error will occur in the following case: - 1) The worker thread calls lock(), it gets to the start of - statement 5. - 2) The main thread calls lock(). Statement 1 is evaluated as true - as _threadHoldingMutex is null, and - OpenThreads::Thread::CurrentThread() returns null. - 3) The worker thread executes statement 5. - 4) The main thread executes statement 2 and evaluates it as true, - because the worker thread has set _lockCount to 1. The main - thread executes statement 3, and now can access the mutexed-data - at the same time as the worker thread! - - The simple solution to this is to always protect access to - _lockCount and _threadHoldingMutex using _lockCountMutex. I have - done this in the file I am submitting." +Fri, 19 Dec 2008 18:37:23 +0000 +Checked in by : Robert Osfield +Added osgversion into dynamic build path -2009-03-11 18:13 robert +Fri, 19 Dec 2008 18:02:18 +0000 +Checked in by : Robert Osfield +Removed debug message - * Changed audio playing so that it only happens for a single movie - to avoid - problems with audio stalling. +Fri, 19 Dec 2008 17:50:58 +0000 +Checked in by : Robert Osfield +Moved main setSceneData methods in osgViewer::View::setSceneData() -2009-03-11 17:57 robert +Fri, 19 Dec 2008 17:15:56 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added docs on getPixelAspectRatio and corrected usage of - getPixelAspection in osgmovie.cpp +Fri, 19 Dec 2008 17:15:10 +0000 +Checked in by : Robert Osfield +From Jean-Sebastein Guay, I recently had to reimplement screen capture functionality into our framework (which was broken since the switch from OSG 1.2 to 2.2 over a year and a half ago). I used the ScreenCaptureHandler which I had contributed right before OSG 2.6 shipped, bit I had to trigger the screen capture programatically instead of by a key press in some cases, so I added a convenience method to do that.It's a minimal change, it just calls an already existing protected method. It was trivial to subclass the handler to do it in our code, but pushing the change into OSG makes sense as it's generally useful to have it in the handler itself. -2009-03-11 17:39 robert +I also noticed that the handle() method was overridden from osgGA::GUIEventHandler but wasn't marked virtual. It wasn't intended that subclasses not be able to override it in turn, so I've added the keyword."" - * changed debug info to output to INFO instaed of NOTICE. -2009-03-11 15:43 robert - * Added handling of Image::isImageTranslucent(), when it is - enabling blending. - Added handling of Image::getPixelAspectRatio() in geometry - sizing. - Added scaling of the projection matrix to ensure that aspect - ratio is honoured with running in fullscreen mode +Fri, 19 Dec 2008 16:59:10 +0000 +Checked in by : Robert Osfield +Fixed warning -2009-03-11 15:12 robert +Fri, 19 Dec 2008 16:35:45 +0000 +Checked in by : Robert Osfield +Fixed compile error during debug build - * From Tanguy Fautre, - - Clean up of the FFmpeg plugin's class API/AudioStream API. - Implementation of isImageTransparent(). - Implementation of Image:g/setPixelAspectRatio() +Fri, 19 Dec 2008 16:13:19 +0000 +Checked in by : Robert Osfield +Added support for user defined clipping of the precipitation effect, to test use: osgpreciptation lz.osg --clip 20 + -2009-03-11 14:18 robert - * Added View::removeEventHandler(..) method and added check into - addEventHandler() to prevent handlers being added twice. -2009-03-11 14:08 robert +Fri, 19 Dec 2008 16:12:40 +0000 +Checked in by : Robert Osfield +Added setting of the gl_ClipVertex to enable clip planes to affect preciptation - * From Philip Lowman, "At a cost of bumping the required version to - CMake 2.4.4 (released all the way back on November 21, 2006)... - this cmake script patch - - 1. Makes IF/ELSE/ENDIF code blocks easier to read by replacing - code like this: - - IF(FOO) - MESSAGE("FOO is true") - ELSE(FOO) - MESSAGE(" ??? ELSE(FOO)??? ") - ENDIF(FOO) - - with this: - - IF(FOO) - MESSAGE("FOO is true") - ELSE() - MESSAGE("FOO is clearly false") - ENDIF() - - 2. Also adds an ELSEIF() where it makes sense to do so (safe to - use as of CMake 2.4.4)" +Fri, 19 Dec 2008 15:29:59 +0000 +Checked in by : Robert Osfield +Added ClipNode::set/getReferenceFrame(); -2009-03-11 13:27 robert +Fri, 19 Dec 2008 14:30:03 +0000 +Checked in by : Robert Osfield +Removed MATH_LIBRARY and FREETYPE library reference. - * From Neil Hughes, "I've spent the past four days playing with PNG - files on 3DS objects, and I think I may have come across a small - issue with the 3DS loader. - - At the company where I work we model literally thousands of 3DS - models for all types of objects. Most don't have transparent - textures applied to them, but a few do. The issue is that a - texture may have an alpha channel defined, yet its 3DS material - definition is not marked as being an alpha source, or - transparent. This can happen for any number of modelling reasons - (so I'm told) but the net effect is that when a 3DS object is - loaded with such a material applied, the stateset creation for - the 3DS geometry omits to add the GL_BLEND attribute as neither - of the conditions that it currently tests for are satisfied under - this scenario. - - However, one thing that is apparently an indication of - transparency/alpha information that we do make use of when - modelling, but that the 3DS reader omits to test, is that we - assign to the transparent texture to the opacity_map of the 3DS - material structure. - - Now, having discussed with our modellers the theory behind the - opacity map, it seems that it is safe to say that if an opacity - map is specified, then the reader should really apply the - GL_BLEND attribute as it is an indication of some form of - blending being required between materials. - - With this in mind, I have made a minor change to the function - createStateSet below, from the ReaderWriter3DS.cpp file, that - checks for an opacity map having been specified, and in such a - scenario the GL_BLEND attribute is applied to the geometry. This - fixed our issue, and thought it might be helpful to others." +Fri, 19 Dec 2008 12:58:50 +0000 +Checked in by : Robert Osfield +Fixed warning & error -2009-03-11 13:08 robert +Fri, 19 Dec 2008 12:50:33 +0000 +Checked in by : Robert Osfield +Reverted previous check-in to osgviewer.cpp as this was an accididental check-in with the code only in testing state, not appropriate to be checked-in. - * From Mathias Froehlich, "small addition to osg::Texture to - include all possible depth test variants for - the shadow depth comparison." +Fri, 19 Dec 2008 12:46:21 +0000 +Checked in by : Robert Osfield +Fixed warning -2009-03-11 12:55 robert +Fri, 19 Dec 2008 12:29:18 +0000 +Checked in by : Robert Osfield +Fixed warning - * From Stephan Huber, files were are missed by Robert in check in - of changes to GraphicsWindowCarbon.cpp +Fri, 19 Dec 2008 12:28:53 +0000 +Checked in by : Robert Osfield +Added StandardShadowMap to list to test cases -2009-03-11 12:08 robert +Fri, 19 Dec 2008 11:36:26 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Lionel Lagarde, "the attachment contains a correction of the - Optimizer::MergeGeometryVisitor. - When 2 geometries are merged, the primitive sets of the second - geometry - are copied to the first geometry. - - The primitive sets were copied with a std::insert into the first - geometry - primitive set vector. It doesn't work when the geometry is using - VBOs (because - the element buffer object of the primitive set is not updated). - - The correction replaces - - lhs.getPrimitiveSetList().insert( - lhs.getPrimitiveSetList().end(), - rhs.getPrimitiveSetList().begin(), - rhs.getPrimitiveSetList().end() ); - - by - for( primItr=rhs.getPrimitiveSetList().begin(); - primItr!=rhs.getPrimitiveSetList().end(); - ++primItr ) - { - lhs.addPrimitiveSet(primItr->get()); - }" +Fri, 19 Dec 2008 11:04:35 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, " * Removed processing of include/OpenThreads in the OpenSceneGraph refman * Clears the mark_as_advanced property of the BUILD_DOCUMENTATION cmake variable (so it gets visible in simple view). " -2009-03-11 11:58 robert +Fri, 19 Dec 2008 10:20:23 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Fixed crash due to Geometry::copyToAndOptimize(..) not handling - cases where indices are present, but no arrays are assocaited - with them. +Thu, 18 Dec 2008 17:40:13 +0000 +Checked in by : Robert Osfield +Fixed typo -2009-03-11 11:29 robert +Thu, 18 Dec 2008 17:09:12 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, "minor tweak to the cmake root file to handle debug correctly on os x." - * From David Callu, "osgManipulator Object have not META_Object - macro call in class definition. - > I add META_OSGMANIPULATOR_Object macro which define className, - libraryName, - > isSameKindAs methods. - > Clone method is not appropriate for osgManipulator Object." +Thu, 18 Dec 2008 17:01:21 +0000 +Checked in by : Robert Osfield +Refactored the handling of particle rotation -2009-03-11 11:00 robert +Thu, 18 Dec 2008 16:10:12 +0000 +Checked in by : Robert Osfield +Fixed warnings - * From Lionel Lagarde, "The copy constructor of the nodes and the - drawables do : - - Node::Node(Node &node, copyop) : - _stateSet(copyop(node.getStateSet()), - - It doesn't call the setStateSet method of osg::Node (or - osg::Drawable). So the parent - list of the state set is not updated with the new node - (drawable)." +Thu, 18 Dec 2008 15:49:44 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-03-11 10:50 robert +Thu, 18 Dec 2008 14:18:22 +0000 +Checked in by : Robert Osfield +Added MATH_LIBRARY to link list - * From Martin Beckett, added get/setScrollWheelZoomDelta() support - for controlling the mouse scroll wheel zoom delta. +Thu, 18 Dec 2008 13:56:30 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-03-11 10:34 robert +Thu, 18 Dec 2008 13:23:48 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Converted tabs to four spaces +Thu, 18 Dec 2008 12:29:17 +0000 +Checked in by : Robert Osfield +Fixed warning -2009-03-11 10:34 robert +Thu, 18 Dec 2008 12:27:34 +0000 +Checked in by : Robert Osfield +Quitened down debug messages - * From Stephan Huber, "refactored the code and moved - some stuff out into DarwinUtils.h/.mm so both implementations can - share - some of the code. There's even a bugfix for GraphicsWindowCarbon, - which - fixes some issues with multiple windows on different screens." +Thu, 18 Dec 2008 12:26:14 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-03-10 17:51 robert +Thu, 18 Dec 2008 12:25:51 +0000 +Checked in by : Robert Osfield +Quitened down debug message - * From Mathias Froehlich, "an other topic pointed out by some - Microsoft verification tool: - On destruction of some static variables, the global referenced - mutex is used - to lock access to the parent lists of state attributes, nodes and - so on. - This even happens past the mutex is already destroyed. - - This change to Referenced.cpp revision 9851 uses the same - technique like the - DeleteHandlerPointer already in Referenced.cpp to return an zero - pointer for - the global referenced lock if it is already destroyed." +Thu, 18 Dec 2008 11:54:34 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-03-10 17:47 robert +Thu, 18 Dec 2008 11:06:57 +0000 +Checked in by : Robert Osfield +Fixed warnings - * From Konstantin Matveyev, submitted by Valery Bickov: - - "There is error in WoW shader, you can see it by this simple - example: - osgviewer cessna.osg --wowvx-42 --clear-color 0,0,0 - - Clear color may be choosed any with at least one component equals - to 0 - or 1. In my case I see weird blinking between normal image and - image - with depth map at right side on the screen." +Wed, 17 Dec 2008 22:52:36 +0000 +Checked in by : Robert Osfield +Improved the effectiveness of the new max target number PageLOD's -2009-03-10 17:39 robert +Wed, 17 Dec 2008 17:23:17 +0000 +Checked in by : Robert Osfield +From J.P Delport, "I changed the default HDR mode to the ARB format and put in comments for some other possible modes.Some other comment cleanups too." - * From Martin Beckett, "Modified osgGA::TrackballManipulator so - that osgGA::GUIEventAdapter::SCROLL performs a zoom. - Arbitrarily zooms 10% in/out for each click." - - Note from Robert Osfield, flipped the orienation of the zoom to - make the right mouse key zoom and the scroll wheel work in the - same direction. -2009-03-10 17:27 robert - * Completed support for automatic detection of plugin features. - - Cleaned up debug out of various plugins to ensure a clean osgconv - --formats. +Wed, 17 Dec 2008 17:11:13 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-03-10 17:13 robert +Wed, 17 Dec 2008 16:58:23 +0000 +Checked in by : Robert Osfield +Fixed inactive PagedLOD removal code - * quitened down debug info +Wed, 17 Dec 2008 16:13:23 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-03-10 16:52 robert +Wed, 17 Dec 2008 16:02:42 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Made bool isImageTranslucent() const virtual to allow subclasses - to provide their own implementation +Wed, 17 Dec 2008 15:36:59 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-03-10 15:00 robert +Wed, 17 Dec 2008 15:32:35 +0000 +Checked in by : Robert Osfield +Fixed warnings - * From Ralf Habacker, "The appended patch fixes this issue by - adding a virtual method named supportedFeatures() to the class - ReaderWriter, which could be overriden by a specific plugin to - adjust the set of features. - Single features are implemented as bits asother enums in - ReaderWriter class already does, so that combinations are - possible and fast comparison operations are possible - - By default all features are enabled. - - I have added this virtual method to the dot plugin to get an idea - how to use these features. - - With this patch osgconv --formats shows an additional line - 'features' for each plugin" +Wed, 17 Dec 2008 14:56:40 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-03-10 14:15 robert +Wed, 17 Dec 2008 13:14:17 +0000 +Checked in by : Robert Osfield +Warning fixes - * From Roland Smeenk, "While working on the Collada plugin I - noticed that all geometry created by the dae reader result in - slow path geometry. - Because there already exists the option to convert slow path - geometry to the fast path by computing an internal fast path - alternative, I added a new optimizer option that automatically - does this. To check the results I also made some changes to the - statistics gathering and rendering. - - Somewhat unrelated, but also part of the optimizer I disabled - removal of CameraView nodes during RemoveRedundantNodes - optimization. - As discussed on the ML, CameraViews were removed from the - scenegraph. This solves that issue. - - Summary: - -Geometry::areFastPathsUsed now also looks at - internalOptimizedGeometry - -Added Optimize option to make all slow path geometry compute - their internal fast path alternative - -Added fast geometry counter to the statistics - -Disabled removel of CameraViews in optimizer - " +Wed, 17 Dec 2008 12:13:15 +0000 +Checked in by : Robert Osfield +Introduce NodeVisitor::className and libraryName() -2009-03-10 13:46 robert +Wed, 17 Dec 2008 11:00:16 +0000 +Checked in by : Robert Osfield +Warning fixes - * Added copyright + fixed typo +Wed, 17 Dec 2008 10:34:09 +0000 +Checked in by : Robert Osfield +From Sekender, fixed warnins -2009-03-10 12:21 robert +Wed, 17 Dec 2008 10:33:39 +0000 +Checked in by : Robert Osfield +Fixed warnings - * From Stephan Huber, - "Attached you'll find a proposal for using different - protocols. The idea behind the new code is: - - 1.) plugins/apps register protocols which they can handle. This - is done - via osgDB::Registry::registerProtocol(aProtocolName). Plugins - register - supported protocols as usual via - ReaderWriter::supportsProtocol(..), the - Registry is updated accordingly. - - 2.) osgDB::containsServerAddress checks first for an appearance - of "://" - in the filename and then checks the protocol against the set of - registered protocols via - Registry::isProtocolRegistered(aProtocollName) - - 3.) the other getServer*-functions changed as well, there's even - a - getServerProtocol-function - - - With these changes filenames/Urls get routed to loaded plugins - even with - different protocols than 'http'." +Wed, 17 Dec 2008 10:01:52 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, added missing export -2009-03-10 11:14 robert +Tue, 16 Dec 2008 21:16:06 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Martin Spott, compile fixes for IBM AIX. +Tue, 16 Dec 2008 20:49:12 +0000 +Checked in by : Robert Osfield +Build fixes for when the implict ref_ptr<> cast is not enabled -2009-03-10 10:56 robert +Tue, 16 Dec 2008 20:29:00 +0000 +Checked in by : Robert Osfield +From Cedric Pinson and Jeremey Moles, Changes to OpenSceneGraph-osgWidget-dev branch.Notes from Robert Osfield, Merged changes to OpenSceneGraph-osgWidget-dev r9367 (prior to my botched attempt at merged svn/trunk into the branch). - * From David Callu, "Problem: - osgText::Text and osgText::Text3D use the same font file. - The first really load the file and obtain an osgText::Font - object, - the second use the cache created during the first load of the - font file, and so obtain an osgText::Font object instead of - osgText::Font3D object. To obtain an osgText::Font3D object, - osgText::Text3D call osgDB::readObjectFile(...) with an option - to specify the plugin we want an osgText::Font3D instead of - osgText::Font. - - Generalised Problem: - In osgDB::Registry, loaded file cache is referenced by the name - of this file, so if I load a file with some options, and the - cache - already contain object for this filename, I obtain an object - potentially not loaded with my options. - - Behaviours: - Cache management is delegate to osgDB::Registry, but cache - coherence (load a file with option then reuse it, deactivate the - cache when load a specific file or don't cached the loaded file) - is user's responsibility. - - Text3D solution: - Postfix the font file name by .text3d or something similar and - then have the freetype plugin return - osgText::Font3D when it detects this. - This operation is done by osgText::readFont3DFile() which unsure - the filename have .text3d as extension. - This is totaly transparent for user, and backward compatible. - - - BTW, I fix the bug about the Normal of 3D text. Currently, the - front and wall face have - the same normal (0,0,1) in the Text3D object coordinate. Now the - wall face have its own - normal array computed by the plugin. - - BTW 2, I implement - - void Text3D::accept(osg::Drawable::ConstAttributeFunctor& af) - const - - void Text3D::accept(osg::PrimitiveFunctor& pf) const - so now statistics are well reported. - " -2009-03-10 10:30 robert - * From Eric Wing and Stephan Huber, ImageIO code originally wrote - by Eric Wing, and then later conveted into an OSG plugin by - Stephan Huber. +Tue, 16 Dec 2008 19:49:09 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, build fixes. -2009-03-10 10:13 robert +Tue, 16 Dec 2008 16:36:33 +0000 +Checked in by : Robert Osfield +Updated version numbers for 2.8.8 dev release - * From Stephan Huber, support for Cocoa windowing under OSX. +Tue, 16 Dec 2008 15:58:42 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-03-09 23:11 robert +Tue, 16 Dec 2008 15:21:17 +0000 +Checked in by : Robert Osfield +From Mathias Froehilch, " On OpenThreads win32 implementation we unconditionally unlock a mutex in the destructor. That happens even if the mutex was not locked before. When running a osg application within microsofts application verifier, that software checks tells me that we should not unlock an unlocked mutex.When I look at the posix threads mutex implementation, which does no unlock in +the destructor and where it is illegal to destroy a locked mutex, I conclude +that it is not needed for an OpenThreads::Mutex to do that unlock in the +win32 Mutex destructor. - * Fixed osgWrappers for osgAnimation library +Thus this patch based on rev 9358 removes that additional unlock in the win32 +mutex implementations destructor." -2009-03-09 17:38 robert - * From Roland Smeenk & Cedric Pinson, - - "Summary of changes: - From Roland - -Added MorphGeometry - -Bone Bindmatrix is only calculated if needed - -osgAnimation plugin now supports all available channel types - (before only linear vec3 or quat channels) - -osgAnimation plugin now supports MorphGeometry - -osgAnimation plugin now supports animation and channel weights, - animation playmode, duration and starttime - -removed osgAnimationManager.cpp from CMakeList - - From Cedric - -fixed the last_update field (it was only updated at the first - update) in BasicAnimationManager.cpp - - Refactore some part of MorphGeometry minor changes - - Add osganimationmorph as example - " -2009-03-09 16:53 robert +Tue, 16 Dec 2008 15:08:04 +0000 +Checked in by : Robert Osfield +From Sukender and Robert Osfield, introduced GraphicsContext::ScreenSettings & WindowingSystemInterface::enumerateScreenSettings. - * Tweaked API to get wrappers to build +Tue, 16 Dec 2008 12:38:10 +0000 +Checked in by : Robert Osfield +From Peter Hrenka, "Fix counting number of new arrays and avoid building free-list when not needed (saves a handfull of mallocs/frees). " -2009-03-09 16:17 robert +Tue, 16 Dec 2008 12:23:30 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Updated wrappers +Tue, 16 Dec 2008 12:20:19 +0000 +Checked in by : Robert Osfield +Fixed warnings -2009-03-09 14:56 robert +Tue, 16 Dec 2008 11:43:28 +0000 +Checked in by : Robert Osfield +From Mattias Helsing,"Added doc/Doxyfiles/openthreads.doxyfile.cmake Updated all doxyfiles under doc/Doxyfiles. They are now all processed by cmake but make targets are only generated for OpenSceneGraphReferenceDocs and OpenThreadsReferenceDocs. The others can be run with doxygen directly in /doc. Fixed a copy-paste in openthreads sproc and pthreads CMakeLists Added the osg logo to the html footers Added possibility to get generation of chm files.CMakeLists (toplevel): +Added install of osg and ot reference docs. This also generates +packaging targets of openscenegraph-doc and openthreads-doc if you +have packaging enabled +Removed the unused USING_OP_OT_TRIPLE_SET since there was no way of +enabling it anyway +Removed BUILD_REF_DOCS. IMO it was redundant - BUILD_DOCUMENTATION +does the same thing and we get that anyway from including +Documentation.cmake. +OsgCPack.cmake: +Removed generation of PACKAGE_SRC for msvc +Added special handling for -doc packaging targets - they don't require +system, architecture or compiler" - * Further work on IncrementalCompileOperation -2009-03-08 16:48 robert - * Fixed thread exit problems -2009-03-08 12:00 robert +Mon, 15 Dec 2008 22:18:40 +0000 +Checked in by : Robert Osfield +Added support for a Terrain::s/getTerrainTechniquePrototype() - * Preliminary work on general purpose incremental compile support - in osgViewer. +Mon, 15 Dec 2008 20:38:40 +0000 +Checked in by : Robert Osfield +From Tatsuhiro Nishioka, "I found a bug in GraphicsWindowCarbon. GraphicsWindowCarbon::requestWarpPointer() places the mouse pointer in a (global?) display coordination, but it must be in a local window coordination. This problem is critical because the mouse cursor can go off a window especially when you place the window on the secondary screen.Attached is the file to fix this problem. -2009-03-05 15:31 robert +I tested this modified file with the following situations (on FlightGear) and all works fine. +- two windows on two screens (each has one window). +- two windows on two screens (secondary screen has all windows). +- two windows on two screens (primary screen has all windows). - * Updated wrappers and dev release version numbers +In all scenarios, warp requests (by right-click the mouse) successfully moves the mouse pointer to the center of the main window, +and it is what it's supposed to be in the flightgear." -2009-03-05 14:33 robert - * Cleaned up FindFFmpeg.cmake -2009-03-05 10:57 robert +Mon, 15 Dec 2008 20:32:15 +0000 +Checked in by : Robert Osfield +Limited the static build to just osversion and osgstaticviewer - * Added quick proof of concept for live video streaming under linux +Mon, 15 Dec 2008 19:37:14 +0000 +Checked in by : Robert Osfield +Aded osg::isGLExtensionOrVersionSupported(uint contextID, char* extensionName, float minVersionRequired) method that returns true if (the extension string is supported or GL version is greater than or equal to a specified version) and non extension disable is used. This makes it possible to disable extensions that are now available as parts of the core OpenGL spec.Updated Texture.cpp is use this method. -2009-03-04 16:35 robert - * Added search for headers in ffmpeg directory -2009-03-04 16:16 robert +Mon, 15 Dec 2008 16:46:13 +0000 +Checked in by : Robert Osfield +From Paul Martz, "I'm not sure why this message was added, but it doesn't appear to merit INFO verbosity. Changing this from INFO to DEBUG_FP." - * From Jean-Sebastien Guay, added non pkg-config based ffmpeg - search scheme. +Mon, 15 Dec 2008 16:42:22 +0000 +Checked in by : Robert Osfield +From Peter Hrenka, "I implemented a free list reallocation scheme in VertexBufferObject::compileBuffer().The offsets of newly added Arrays were not properly +calculated. This submission tries to find a +matching empty slot when the total size of +the VBO has not changed (e.g. when an array +is replaced by another array of the same size). -2009-03-04 16:15 robert - * Fixed indentation +This fixes the overwriting issue that I showed in my posting +"Bug in VertexBufferObject::compileBuffer" on OSG-Users. +" -2009-03-04 16:03 robert - * Removed boost reference and cleaned up debug output -2009-03-04 14:49 robert +Mon, 15 Dec 2008 16:41:34 +0000 +Checked in by : Robert Osfield +Reduced the default number _targetMaximumNumberOfPageLOD to 300 to keep the memory consumption on large databases a bit lower. - * Introduced double buffering of video stream to avoid tearing of - image. - - Removed swapBufers call and image y inversion. +Mon, 15 Dec 2008 16:10:26 +0000 +Checked in by : Robert Osfield +Added deprecated messages to get/set methods of outgoing expiry schemes. -2009-03-04 13:24 robert +Mon, 15 Dec 2008 14:07:29 +0000 +Checked in by : Robert Osfield +From Mathias Helsing, "Cpack support submission with:Better package naming. example +openscenegraph-core-2.7.7-Linux-i386.tar.gz on my ubuntu laptop and +openscenegraph-core.2.7.7-win32-x86-vc80.tar.gz on winxp. - * Added handling of ImageStream Origin to make sure the movie - always appears the correct way up. +CMakers will not get options for selecting compression format. TGZ +goes for all platforms (on win32 I use 7zip) -2009-03-04 11:59 robert +The wrappers is now given the COMPONENT name +libopenscenegraph-wrappers. Feel free to change the name. - * Fixes to non swscale code path +On windows with visual studio the OsgCPack script make some efforts to +discover the compiler used but support is a bit poor so I've given +CMake acces to OSG_CPACK_COMPILER to provide some mean to name the +compiler. -2009-03-04 11:46 robert +stop - * Fixed img_convert usage +The platform part is taken from CMAKE_SYSTEM_NAME and for windows I +change this to win32 or win64 based on CMAKE_CL_64. This might not be +necessary if the arch part has that information. This information is +taken from CMAKE_SYSTEM_PROCESSOR. I only have 32bit here so if some +of you could uncomment line 15,16 in OsgCPack.cmake and report what +cmake report it would be nice. I'm especially interested anything but +win32 and linux32" -2009-03-04 11:06 robert - * Removed reference to OpenAL plugin -2009-03-04 11:05 robert +Mon, 15 Dec 2008 13:56:38 +0000 +Checked in by : Robert Osfield +Made the folowing changes to make the DatabasePager more restrained in its memory consumption, and to improve the speed of merging of tiles (at the potential cost of extra frame drops).Set Made DatabasePager TargetMaximumNumberOfPageLOD technique the be the default with a default target number of PagedLOD of 500. - * Added support for using libswscale +Set DatabasePager DoPreCompile to OFF by default. -2009-03-03 20:59 robert - * Added SDL audio path -2009-03-03 20:49 robert - * Improved the clean up ordering +Mon, 15 Dec 2008 12:16:31 +0000 +Checked in by : Robert Osfield +Removed buildMipmaps method that had no implementation. -2009-03-03 17:37 robert +Fri, 12 Dec 2008 22:28:22 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project - * Added SDL audio support for reading from ffmpeg movies +Fri, 12 Dec 2008 19:19:01 +0000 +Checked in by : Robert Osfield +Updated AUTHORS and READER for 2.7.7 dev release -2009-03-03 17:28 shuber +Fri, 12 Dec 2008 19:12:38 +0000 +Checked in by : Robert Osfield +Updated change log - * From Stephan Huber: updated xcode project, added AudioStream to - project +Fri, 12 Dec 2008 18:47:30 +0000 +Checked in by : Robert Osfield +Where possible moved redundent C header includes from headers to source files -2009-03-03 16:51 robert +Fri, 12 Dec 2008 14:54:22 +0000 +Checked in by : Robert Osfield +Changed the libopenscenegraph-core to be part of libopenscenegraph, and changed libopenscenegraph-examples to be part of openscenegraph-examples - * Introduce FFmpegAudioStream implementation +Fri, 12 Dec 2008 14:16:11 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-03-03 14:59 robert +Fri, 12 Dec 2008 13:41:39 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, Typo fixes + "optional parameter to RecordCameraPathHandler to control the frame rate for record/playback. Default is 25.0, the environment variable takes preference if set." - * Removed redudent export +Fri, 12 Dec 2008 11:01:09 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "I have developed the earlier cpack example a bit. Perhaps you could consider these initial cpack support scripts. It is hidden behind a BUILD_PACKAGES option so won't affect the normal user. The submission 1) set the COMPONENT attribute on all cmake install commands. COMPONENT names are according to http://www.openscenegraph.org/projects/osg/wiki/Community/Packaging2) provide cmake script and a template for creating CPack +configuration files. It will generate target for creating packages +with everything that gets "installed" (make package on unx, project +PACKAGE in MSVC) plus targets for generating one package per COMPONENT +(i.e. libopenscenegraph-core etc.). -2009-03-03 11:52 robert +I have temporariliy uploaded some examples to +http://www.openscenegraph.org/projects/osg/wiki/Community/People/MattiasHelsing - * Added LINK_DIRECTORIES +If this submission makes it into svn we can develop it to generate +rpms, installers for windows and mac (I know at least J-S don't like +these but there may be others who do ;) and even DEBs (not sure if we +can make them "ubuntu-ready" but they eventually may - at least we +could put a deb on the website)" -2009-03-03 11:25 robert - * Fixed include list -2009-03-03 10:53 robert +Fri, 12 Dec 2008 10:20:05 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Ulrich Hertlein, build fixes for OSX. +Fri, 12 Dec 2008 10:19:19 +0000 +Checked in by : Robert Osfield +Updated version number for 2.7.7 release -2009-03-03 09:50 robert +Thu, 11 Dec 2008 17:00:40 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "When building osg static on Windows the _declspec's wasn't escaped for applications, examples or wrappers. Attached are the CMakeLists I had to change to make these compile. " - * Added ffmpeg to include search paths +Wed, 10 Dec 2008 17:08:21 +0000 +Checked in by : Robert Osfield +Cleaned up layout -2009-03-03 09:49 robert +Wed, 10 Dec 2008 16:26:02 +0000 +Checked in by : Robert Osfield +Added mechanism for registering proxy objects in the .osg plugin in a way that is compatible with static linking. - * Added ogg to accepted formats +Wed, 10 Dec 2008 15:01:49 +0000 +Checked in by : Robert Osfield +Removed #if 0'd out reference to osgDB -2009-03-02 16:01 robert +Wed, 10 Dec 2008 12:50:40 +0000 +Checked in by : Robert Osfield +Fixed link line - * Added extern for img_convert to get round disappeance of the - declaration from headers. +Wed, 10 Dec 2008 11:12:37 +0000 +Checked in by : Robert Osfield +Refactored computeIntersections() float x,float y, const osg::NodePath& nodePath. -2009-03-02 10:49 robert +Wed, 10 Dec 2008 10:13:58 +0000 +Checked in by : Robert Osfield +From Andreas Goebel, (submitted by Paul Martz) "A fix for the FLT exporter. This change adds support for normals with OVERALL binding (and improves support for normals with PER_PRIMITIVE binding -- still not correct, but at least it doesn't index off the end of the array anymore)." - * From Mathias Froehlich, "An other one: - The TLS Varialbe is accessed before it is initialized. - Attached is a change to rev 9791." +Wed, 10 Dec 2008 10:10:45 +0000 +Checked in by : Robert Osfield +From Marcin Prus, "some time ago there was an optimization fix including change in DirectionalSector::computeMatrix(). Rotation matrices were replaced with quaternions but incorrect contructor was used. There was a call to Quat(angle, xAxis, yAxis, zAxis ) but there is no such constructor in Quat class to create quaternion for rotation. As a result we got this values being written into quaternion directly.I've replaced Quat contructor calls with the ones creating rotation quaternions Quat( angle, Vec3( axis ) )." -2009-03-02 09:56 robert - * From Petr Salinger, fix for build under GNU/kFreeBSD. -2009-02-27 20:16 robert +Wed, 10 Dec 2008 09:34:45 +0000 +Checked in by : Robert Osfield +Added return - * Introduced osg::AudioStream class to help manage audio streams - coming in from movie reading plugins +Tue, 9 Dec 2008 16:43:38 +0000 +Checked in by : Robert Osfield +From Sukender, added missing inline keywords -2009-02-27 17:00 robert +Tue, 9 Dec 2008 14:07:59 +0000 +Checked in by : Robert Osfield +Fixed cull callback usage to ensure that the lazy updating of the browser image functions automatically. - * Ported across from using boost pointers, and prepped for - integration of audio interface into core OSG +Tue, 9 Dec 2008 11:05:04 +0000 +Checked in by : Robert Osfield +Cleaned up osgWidget::VncClient and osgWidget::Browser so that their implementations are all more consitent with the osgWidget::PdfReader. -2009-02-27 11:11 robert +Tue, 9 Dec 2008 09:26:51 +0000 +Checked in by : Robert Osfield +Added support for setting background colour of Pdf document. - * From Roland Smeenk, "Attached is a small bug fix for the - redundant messages that are created in OSG applications on - windows. GraphicsWindowWin32::setCursor is called every frame - from the WM_NCHITTEST message. This will result in a call to - ::SetCursor(_currentCursor) every frame, which again causes a - WM_MOUSEMOVE to occur. The fix exits - GraphicsWindowWin32::setCursor if the requested cursor already is - the current cursor. - - " +Tue, 9 Dec 2008 09:25:12 +0000 +Checked in by : Robert Osfield +Added setImageToColour function -2009-02-27 10:47 robert +Tue, 9 Dec 2008 09:24:47 +0000 +Checked in by : Robert Osfield +Added asSwitch and asGeode convinience methods to Node - * From Atr Tevs, - - first email: - "in the current implementation of - osgUtil::RenderStage::drawInner() method, there is some wrong - assumptions made. The problem is, that whenever one does use - multisampling functionality, the Blit operation (which suppose to - copy the content of multisampled FBO into the usual one) doesn't - perform well in some cases. - - I've attached a corrected version of the RenderStage. It do just - add one line, which enables the multisampled FBO as a readable - just before the usual FBO is set as writable. With these - corrections the Blit operation performs now correct and allows - using of multisampled rendering results further." - - second email: - "There was a problem when blitting the multisampled FBO with - internal formats. The default internal format of color buffered - multisample FBO was GL_RGBA. This has converted the color values - whenever the FBO content was copied. I've added couple of lines, - which do just enable the multisampled FBO internal format in - respect to the attached color texture's internal format. This - makes it possible to blit even float valued texture, so make HDR - with multisampling possible ;)" +Sun, 7 Dec 2008 17:37:26 +0000 +Checked in by : Robert Osfield +Added ability to customize keyboard events for controlling osgWidget::PdfImage/PdfReader -2009-02-26 22:09 robert +Sun, 7 Dec 2008 17:02:30 +0000 +Checked in by : Robert Osfield +Intoduce new osgWidget::PdfReader and osgWidget::VncClient front ends to osgWidget, with new pdf plugin and updated vnc plugin that now support these front ends.Updated osgpdf and osgvnc examples to new these new interfaces. - * From Mattias Helsing, "I added FORCE to set cmake vars - FREETYPE_INCLUDE_DIR_ft2build and - FREETYPE_INCLUDE_DIR_freetype2. - The error case was that during first cmake run (unspecified - ACTUAL_3RDPARTY_DIR) FindFreeType set these to xxx-NOTFOUND. - After - specifying ACTUAL_3RDPARTY_DIR, Find3rdPartyDependencies warn't - able - to change these (without FORCE). - - I also added freetype237 to the library search list since it is - what's - in my binary dependencies for vc90" -2009-02-26 10:48 robert - * Addded setting of FREETYPE_INCLUDE_DIRS to - Find3rdPartyDependencies.cmake +Sat, 6 Dec 2008 11:03:32 +0000 +Checked in by : Robert Osfield +Fixed build problem -2009-02-25 20:52 robert +Fri, 5 Dec 2008 16:41:12 +0000 +Checked in by : Robert Osfield +Added GL_ABGR_EXT to fix windows build - * Tweaks to handle more modern version of ffmpeg compiled form - source. +Thu, 4 Dec 2008 10:27:29 +0000 +Checked in by : Robert Osfield +From Jason Daly, added support for reading Valve's texture format files -2009-02-25 16:05 robert +Wed, 3 Dec 2008 14:13:59 +0000 +Checked in by : Robert Osfield +From Sukender, (Benoit Neil) "adding a few convinience methods to osg::Node (ouch!). Just tell me if you find them useful:/** Convinience method that sets the update callback of the node if it doesn't exist, or nest it into the existing one. */ +void addUpdateCallback(NodeCallback* nc); - * Added Cmake support for new ffmpeg plugin +/** Convinience method that removes a given callback from a node, even if that callback is nested. There is no error return in case the given callback is not found. */ +void removeUpdateCallback(NodeCallback* nc); -2009-02-25 16:04 robert +... and the same for Event and Cull callbacks methods." - * From Tanguy Fautre (Aris Technologies), ffmpeg plugin -2009-02-23 10:50 robert - * Updated version info for 2.9.0 release +Wed, 3 Dec 2008 12:09:21 +0000 +Checked in by : Robert Osfield +From Ferdi Smit, "Image.cpp didn't handle the integer data types correctly in the function:unsigned int Image::computeNumComponents(GLenum pixelFormat) -2009-02-23 10:41 robert +so I added these types to the switch statement: - * Updated ChangeLog for 2.9.0 dev release + case(GL_RED_INTEGER_EXT): return 1; + case(GL_GREEN_INTEGER_EXT): return 1; + case(GL_BLUE_INTEGER_EXT): return 1; + case(GL_ALPHA_INTEGER_EXT): return 1; + case(GL_RGB_INTEGER_EXT): return 3; + case(GL_RGBA_INTEGER_EXT): return 4; + case(GL_BGR_INTEGER_EXT): return 3; + case(GL_BGRA_INTEGER_EXT): return 4; + case(GL_LUMINANCE_INTEGER_EXT): return 1; + case(GL_LUMINANCE_ALPHA_INTEGER_EXT): return 2; -2009-02-23 09:54 robert +That's all... now it computes the number of components and, thus, the image size +correctly." - * From Ralf Habacker & Robert Osfield, fixed handling of file name - string of the form"PG:host=localhost user=postgres dbname=osm - tables=public.planet_osm_line". The patch also routes gdal debug - and error message to the related osg::notify debug port - this is - usefull for debugging ogr plugin. -2009-02-20 16:27 robert - * From Mathieu Marache, "I was trying to use the archive output of - osgdem without success when - I eventually found out that it was now disabled (the mailing list - archive tells me it is because of multithreaded write issues with - vpn). I then decided to use osgarchive to make it myself from the - generated output. However if one of the insert parameters is a - directory, it won't be able to find them. The attached versions - corrects this." +Tue, 2 Dec 2008 10:42:58 +0000 +Checked in by : Robert Osfield +Revised the DYNAMIC vs STATIC library setup of COLLADA. -2009-02-20 15:47 robert +Tue, 2 Dec 2008 09:00:53 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, build fix - * From Maciej Krol, "Small improvement in --compressed option of - osgconv. For non IVE output files compressed images are written - into directory of output file as DDS. - " + "Further improvement for conversion to IVE format. Compressed - DDS files are written for IVE output when noTexturesInIVEFile - option is defined i.e. osgconv --compressed -O - noTexturesInIVEFile dir1/input.osg dir2/output.ive will write - images into dir2." +Mon, 1 Dec 2008 15:46:50 +0000 +Checked in by : Robert Osfield +Fixed wrappers -2009-02-20 13:58 robert +Mon, 1 Dec 2008 14:07:20 +0000 +Checked in by : Robert Osfield +From Wang Rui, "Attachment is a plugin reading Biovision hierarchical files (.BVH) to generate character motion animations. BVH format is widely used by Character Studio of 3dsmax, MotionBuilder and other softwares, also supported by most motion capture devices. The plugin is based on the latest osgAnimation library of OSG 2.7.6 and will return a osgAnimation::AnimationManager pointer if using readNodeFile() to load it.Source and CMake files are: + +CMakeLists.txt +ReaderWriterBVH.cpp + +Also there are 3 example BVH files. The first two are captured from motions of human beings - maybe a kung-fu master here. PLEASE use command below to see the results: + +# osgviewer example1.bvh -O solids + +This will demonstrate the animating of a skeleton and render bones as solid boxes. Note that the motion assumes XOZ is the ground and has an offset from the center, so we should adjust our view to get best effects. + +You may also use "-O contours" to render bones as lines. The viewer shows nothing if without any options because osgAnimation::Bone does not render itself. User may add customized models to each named bones as osganimationskinning does to make uses of this plugin in their own applications. - * Added VisualStudio versioning info to plugins +I was wondering to support a BvhNode in my osgModeling peoject before, but soon found it better be a plugin for animation. A problem is, how to bind real geometry models to the skeleton. Maybe we could have a bindingToNode() visitor in future to find geodes matching names of bones and add them as bones' children." -2009-02-20 11:53 robert - * From Bryan Thrall, "Attached files fix typos, from svn 9791: - - DisplaySettings.cpp: OSG_COMPIlE_CONTEXTS -> OSG_COMPILE_CONTEXTS - AnimtkViewer.cpp: is a 3d poker game client -> is an example for - viewing - osgAnimation animations" -2009-02-20 11:51 robert +Mon, 1 Dec 2008 13:47:48 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Martin Beckett, "I have added support for DXF POINTS to the - dxf reader plugin - It's really just a cut-paste job from the existing LINE support. - - The current dxf plugin architecture isn't very efficient, - especially if you - are loading large point clouds (LIDAR) - eg. it makes multiple lookups of the layer name for each vertex. - I don't know if I can improve this for the general case or if I - have to add a - special large point cloud dxf reader." +Mon, 1 Dec 2008 13:28:13 +0000 +Checked in by : Robert Osfield +From Art Tevs, "here is a submission of an additional class of PixelBufferObejct, which implements more general way of handling with PBOs. Current osg implementation of PBO does use an attached osg::Image to copy data from. This is somehow only one way of using it and doesn't provide full functionality of PBOs.-------------------------------------------- +Descripton: -2009-02-20 11:30 robert +The patch does provide a new class PixelDataBufferObject which is capable of allocating memory on the GPU side (PBO memory) of arbitrary size. The memory can then further be used to be enabled into read mode (GL_PIXEL_UNPACK_BUFFER_ARB) or in write mode (GL_PIXEL_PACK_BUFFER_ARB). Enabling the buffer into write mode will force the driver to write data from bounded textures into that buffer (i.e. glGetTexImage). Using buffer in read mode give you the possibility to read data from the buffer into a texture with e.g. glTexSubImage or other instuctions. Hence no data is copied over the CPU (host memory), all the operations are done in the GPU memory. - * From Himar Carmona, "When reading a DXF file, the reader breaks - at a debug assertion at vector (it breaks on release version). - Inspecting the code show that the cause could be in - dxfEntity.cpp. - - It seems that the problem is an offending "short" used in a for - loop, where it should be "int" or "long". It causes an index out - of range error. " -2009-02-19 19:05 robert +-------------------------------------------- +Compatibility: - * From Bob Kuehne and Robert Osfield, email from Bob : "this fix - quashes fbo warnings when the fbo status is 'complete', aka 'ok'. - ", which was then ammended by Robert replacing crytic value - 0x8CD5 with GL_FRAMEBUFFER_COMPLETE_EXT and added brackets to - make code clearer. +The new class require the unbindBuffer method from the base class BufferObject to be virtual, which shouldn't break any functionality of already existing classes. Except of this the new class is fully orthogonal to existing one, hence can be safely added into already existing osg system. -2009-02-19 17:34 robert +-------------------------------------------- +Testing: - * Fixed bug in checking if numRead values. +The new class was tested in the current svn version of osgPPU. I am using the new class to copy data from textures into the PBO and hence provide them to CUDA kernels. Also reading the results back from CUDA is implemented using the provided patch. The given patch gives a possibility of easy interoperability between CUDA and osg (osgPPU ;) ) -2009-02-19 16:58 robert - * From Christian Buchner, "I am hereby amending the osgforest - sample with some code (functionally - equivalent to the GLSL shaders sample) that displays the forest - with - shaders on Intel 945 GM hardware. This card supports OpenGL 1.4 - and - ARB_fragment/vertex_program only. - - I would be pleased if this change made it into the official set - of - examples, as it illustrates the use of ARB shaders quite nicely. - I did - not find any other example covering this topic." +-------------------------------------------- +I think in general it is a better way to derive the PixelBufferObject class from PixelDataBufferObject, since the second one is a generalization of the first one. However this could break the current functionality, hence I haven't implemented it in such a way. However I would push that on a stack of wished osg 3.x features, since this will reflect the OpenGL PBO functionality through the classes better. +" -2009-02-19 16:29 robert - * From Tanguy Fautre, "This fixes the OSG crashes reported by - http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2009-February/023499.html - - - - It\u2019s a one line change against OSG 2.8.0 (see line 196). - I\u2019ve already tested the change, and confirmed it\u2019s - fixing the crashes described above." -2009-02-19 15:57 robert +Mon, 1 Dec 2008 11:19:11 +0000 +Checked in by : Robert Osfield +Added OpenThreads to link lists - * From Ruben Smelik, "I've found a (copy-paste?) error in - PrimitiveSet.cpp regarding instanced drawing. For - DrawElementsUInt and DrawElementsUShort the type argument of - glDrawElementsInstanced was set as GL_BYTE instead of - GL_UNSIGNED_INT and GL_UNSIGNED_SHORT. I've attached the fixed - source file (based on the current SVN head version)." +Sun, 30 Nov 2008 16:33:55 +0000 +Checked in by : Robert Osfield +Changed OPENEXR_LIBRARY to OPENEXR_LIBRARIES to pick up on Ulrich's changes to the FindOpenEXR.cmake -2009-02-19 15:15 robert +Sun, 30 Nov 2008 16:33:11 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlien, "'m was getting a build failure from the OpenEXR reader on Mac OS X. It was complaining about undefined references to half::convert(int). I believe this is because the EXR plugin doesn't explicitly link against the Half library.Attached is a modified FindOpenEXR.cmake module that locates IlmIlf and Half, as well as a modified exr/CMakeLists.txt that picks up this change. - * From Mattias Helsing, "Here is a fix for the "Unspecified" - package. The openthreads pkgconfig - file is made part of libopenthreads-dev component. - - Attached is the modded cmakelists.txt for src/OpenThreads/ - " +Also attached are some typo fixes for CMakeModules. -2009-02-19 14:24 robert +Cheers," - * Merged in various changes from the OSG-2.8 to being svn/trunk up - to date. -2009-02-11 20:26 robert - * Fixed typo +Sun, 30 Nov 2008 15:56:47 +0000 +Checked in by : Robert Osfield +From Art Tevs, "here are a small extension to the osg::Image class, which do computes data type from the given format, i.e. (GL_RGB32F_ARB -> GL_FLOAT). The method is very usefull to find out which data type a texture or an image have based on the internal/pixel format." -2009-02-11 20:02 robert +Sat, 29 Nov 2008 12:16:04 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, and AUTHORS lists for 2.7.6 dev release - * Updated wrappers +Sat, 29 Nov 2008 11:35:03 +0000 +Checked in by : Robert Osfield +Build fix for when implicit conversion in ref_ptr<> is switched off. -2009-02-11 19:55 robert +Sat, 29 Nov 2008 11:10:56 +0000 +Checked in by : Robert Osfield +Fixed build for when ref_ptr<> impicit cast is not built - * Updated wrappers to works with doxygen 1.5.8 output. +Fri, 28 Nov 2008 17:18:08 +0000 +Checked in by : Robert Osfield +Removed cmath include as it was causing build problems under Cgwin -2009-02-11 17:21 robert +Fri, 28 Nov 2008 14:37:58 +0000 +Checked in by : Robert Osfield +Added new examples - * Disabled the use of aggressive warnings under OSX as the default. +Fri, 28 Nov 2008 14:37:16 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, updates to osganimation examples.Merged by Robert Osfield, from OpenSceneGraph-osgWidget-dev -2009-02-11 17:14 robert - * From Riccardo Corsi, "in attach you'll find a patch to cleanup a - little bit the (de)initialization code of QuickTime environment - from the quickTime pluging. - It basically removes the static init() and exit() functions,and - move them inside the observer class (the one that cleans - everything up when the last media is unloaded). - - It also add an extra check to clean up on exit if the QuickTime - env is initialized, but no media is succesfully loaded / written - (it might happens with streaming resources). - - I tested it under WinXP with zero, one and multiple videos. - - Stephan reads in copy: could you kindly check if everything runs - smooth under OSX as well? Also, have you got a chance to test it - with streaming media? - " -2009-02-11 13:33 robert +Fri, 28 Nov 2008 14:36:39 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, updates to osgwidget examples.Merged by Robert Osfield from OpenSceneGraph-osgWidget-dev - * From Sukender, changed doxygen verbosity to quite -2009-02-11 12:10 robert - * Added brackets around (unsigned int) to avoid IRIX compile error. +Fri, 28 Nov 2008 14:35:47 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-02-11 10:41 robert +Fri, 28 Nov 2008 14:35:33 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, updates to osgWidgetMerged my Robert Osfield from OpenSceneGraph-osgWidget-dev. - * Fixes for doxgen warnings -2009-02-11 09:14 robert - * From Roland Smeenk, "Attached are two small fixes: - -I changed the SET of COLLADA_BOOST_INCLUDE_DIR to use findpath, - so users may override this setting if they choose not to build - against to precompiled boost libraries delivered with the Collada - DOM. - - -Changed daeRMaterials.cpp to prevent a compiler warning about a - potentially uninitialized variable." -2009-02-10 20:31 robert +Fri, 28 Nov 2008 14:34:38 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, updates toosgAnimation.Merged by Robert Osfield, from OpenSceneGraph-osgWidget-dev. - * Merged warning fix from OSG-2.8 branch: - - svn merge -r 9755:9756 - http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.8 -2009-02-10 20:09 robert - * Changed notication level to INFO, merged changed from OSG-2.8 - branch using: - - svn merge -r 9751:9752 - http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.8 -2009-02-10 19:25 robert +Thu, 27 Nov 2008 17:31:49 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "updated the CMakelist.txt of curl plugin to compile with the static library of curl. I added the external dependency wldap32" - * From Roger James and Robert Osfield, fixes and reorganization to - better support Windows dyanmic library build +Thu, 27 Nov 2008 17:30:14 +0000 +Checked in by : Robert Osfield +Updated SO version number for 2.5.6 release -2009-02-10 18:56 robert +Thu, 27 Nov 2008 17:29:12 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * From Pierre Haritchabalet, "In IO_FluidProgram.cpp, - FluidProgram_readLocalData() function is wrong. When density - parameter is read, the function "setFluidViscosity()" is called - instead of "setFluidDensity()". - This patch fixes osg plug'in FluidProgram_readLocalData. " +Thu, 27 Nov 2008 16:58:43 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project, added osgAnimation framework + one example using it (osganimationviewer). Added _OPENTHREADS_ATOMIC_USE_BSD_ATOMIC to local OpenThreads/Config when compiling for the 10.5 SDK. Some minor fixes on some of the configurations/targets -2009-02-10 18:51 robert +Thu, 27 Nov 2008 14:05:30 +0000 +Checked in by : Robert Osfield +Changed unsigned long to unsigned int to avoid 64bit portability issue. - * Merged fixes to osgVolume's handling of ImageSequence animated - volumes, merge command: - - svn merge -r 9746:9747 - http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.8 +Thu, 27 Nov 2008 09:45:41 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "osgautocapture uses M_PI to convert degrees to radians, which didn't compile on Win32. Switched to using osg::DegreesToRadians. Also removed the "convert to radians" comment on each line, as the code clearly conveys this without needing a comment now." -2009-02-10 14:01 robert +Thu, 27 Nov 2008 09:36:35 +0000 +Checked in by : Robert Osfield +Enabled the build of exr plugin - * From Roger James, fixes for VS build handling of new VS - versioning support +Thu, 27 Nov 2008 09:36:18 +0000 +Checked in by : Robert Osfield +Build fixes -2009-02-10 13:37 robert +Thu, 27 Nov 2008 09:33:06 +0000 +Checked in by : Robert Osfield +Removed the use of = operator. - * From Jason Beverage, "I've added a small change to the CURL - plugin that allows support for HTTP redirects." +Wed, 26 Nov 2008 16:40:01 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-02-10 13:25 robert +Wed, 26 Nov 2008 16:39:52 +0000 +Checked in by : Robert Osfield +From Tim Moore, "Double precision versions of BoundingBox and BoundingSphere are useful for doing computations in world coordinates, especially when working with a geocentric scene. By default, these classes are built using floats, so templated versions fill a need. I've used the double precision templates to fix some problems with ViewDependentShadow, which will follow shortly. " - * From Miguel Escriva,"OSG 2.8.0-rc4 don't found zlib in Windows. - - Here you will find a patch. " +Wed, 26 Nov 2008 16:00:27 +0000 +Checked in by : Robert Osfield +added workaround of compile issues with templated version of BoundingBox -2009-02-10 11:44 robert +Wed, 26 Nov 2008 13:18:54 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Roland Smeenk and Robert Osfiled, tweaks to the Collada - finding/linking to improve support for Collada DOM 2.1 + 2.2 - across platforms. +Wed, 26 Nov 2008 12:50:12 +0000 +Checked in by : Robert Osfield +From Andy Preece,"To reproduce the bug: -2009-02-09 22:56 robert + 1. Create a template osg::Sequence node (and underlying geometry) but do not attach the node to the current active scenegraph. + 2. At some point during the rendering loop (perhaps on a keystroke) clone the sequence node (I use the call: - * From Fabien Lavignotte, "Here is some various small fixes i have - done while playing with - osgAnimation. - - Animation : removed the _name attribute that is never used. - - BasicAnimationManager : fix a crash on Windows with the example - osganimationviewer. The _lastUpdate attribute was not initialized - when - using copy constructor. - - CMakeLists.txt : add RigGeometry to the headers list" + dynamic_cast(templateNode -> clone( osg::CopyOp( (osg::CopyOp::CopyFlags)osg::CopyOp::DEEP_COPY_NODES ) ) ) -2009-02-09 22:33 robert + 3. Set the cloned sequence node duration to a value that makes the animation run slower (i.e. 2.0). + 4. Start the cloned sequence (using setMode()). + 5. Repeat steps 2 \u2013 4 and observe that the cloned sequences do not run slow but run as fast, appearing to ignore the duration that has been set on them. - * Fixed to DatabasePager::getRequestsInProgress(), merged from: - - svn merge -r 9734:9735 - http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.8 + -2009-02-09 22:12 robert +Looking at the \u2018good documentation\u2019 (2.4 source code), I see that _start is being set to _now (osg::Sequence::setMode(), line 192). Should this not _start not be set to -1.0?" - * Merged from OSG-2.8 branch the suppression of the wrapping of the - ScopeLock -2009-02-09 21:48 robert - * From Bryan Thrall, "The .osg plugin doesn't seem to support an - option to write shader files - separately, so it always inlines them in the .osg file (as far as - I can - tell). This change adds that ability. " +Wed, 26 Nov 2008 12:35:49 +0000 +Checked in by : Robert Osfield +Added searching for OpenEXR -2009-02-09 21:42 robert +Wed, 26 Nov 2008 12:35:25 +0000 +Checked in by : Robert Osfield +From Ragnar Hammarqvist, "I wrote an EXR image plug-in to osg, I would like to contribute this plug-in to the osg project if you find it useful.The plug-in is a wrapper around open-exr (http://www.openexr.com) that consists of two projects, ilmbase-1.0.1 and openexr-1.6.1. - * From Ralf Habacker, fix to memory leak in - GraphicsWindowWin32.cpp. Merged from OSG-2.8 branch using svn - command: - - svn merge -r 9726:9727 - http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.8 +I have only tested it on windows XP 32 machine. So there might be some work making it work on other platforms. -2009-02-09 21:38 robert +The plug-in supports writing and reading EXR files. When writing it can use the data type GL_HALF_FLOAT_ARB(se ilmbase-1.0.1) and GL_FLOAT. When reading the data type always becomes GL_HALF_FLOAT_ARB. It supports textures with three and four channels. - * Merged from OSG-2.8 branch changes to the use of ReadWriteMutex - to Mutex in osgParticle::ParticleSystem. - - svn command: - - svn merge -r 9725:9726 - http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.8 +When reading an exr file it automatically removes Alfa channel if it didn't store any information." -2009-02-09 13:49 shuber +-- - * From Stephan Huber: fixed local Config file needed for - xcode-project +From Robert Osfield, started work on ported it to other platforms, but could fix some problems relating to error: -2009-02-09 11:15 robert + ?Imf::OStream::OStream(const Imf::OStream&)? is private - * From Paul Melis, syncing improvements made to wiki version of - NEWS for 2.8 +I'm checking in now so that others can have a bash at completing the port. -2009-02-09 11:13 robert - * Removed redundent #pragma -2009-02-09 10:00 robert - * Updated wrappers +Wed, 26 Nov 2008 12:07:03 +0000 +Checked in by : Robert Osfield +From Gino van den Bergen, "The FindGDAL.cmake seems to be broken in OSG 2.6.1 for locating gdal.h through enviroment variable GDAL_DIR.Also, I've modified the FindCOLLADA.cmake to locate the current 2.1 versions of the COLLADA DOM in the build directories under VC8. I've also added a COLLADA_LIBRARY_DEBUG spec. Other flavors may be added depending on compiler version and DOM version." -2009-02-09 09:41 robert - * From Cedric Pinson, removed virtual inheritance from - osgAnimation::Animation -2009-02-08 19:30 robert +Wed, 26 Nov 2008 11:45:33 +0000 +Checked in by : Robert Osfield +From BjornHein, "attached a proposal for an extension for the the stl-File ReaderWriter. It allows saving of an osg node tree as stl file in ASCII-Format.Standard is to generate one stl file. - * Fixed handling of a series of \n in the text string so that the - correct line spacing is maintained. +With an additional option it is possible to write one file per Geode. This option is not very "useful" for typical application, I use it for separating and conversion of geometric data. So it could be removed if considered to special." -2009-02-08 15:56 robert - * From Paul Melis, "While trying out the osgbrowser example (where - I had forgotten to update - LD_LIBRARY_PATH so the XUL libs would be found) I noticed that - although - the gecko plugin was found it could not be loaded. But this did - not - trigger any visible warning/error message (at least not without - INFO - notify level). Would you mind if we change the notify level for a - dlerror() to WARNING? This will also make it more explicit for - the case - when a plugin isn't actually found, which seems to come up a lot - for - novice users (e.g. no freetype on win32, so no freetype plugin, - etc). - Also, the current error message is misleading ("Warning: Could - not FIND - plugin to ...") because the it's not always a case of not finding - the - plugin. I slightly enhanced the situation of not finding a plugin - versus - finding it but not being able to load it. - - Here's also a few fixes to some of the examples: - - osgfont: make usage help line more in line with the actual - behaviour - - osgcompositeviewer: complain when no model file was provided - - osgmovie: don't include quicktime-dependent feature on Linux - - osgocclussionquery: comment addition (as I was surprised that - lines - were being drawn in a function called createRandomTriangles())" -2009-02-07 11:30 robert +Wed, 26 Nov 2008 11:23:06 +0000 +Checked in by : Robert Osfield +From John Vidar Larring, osgautocapture example that captures an image from a paged database by frame loop to the paging is complete, then takes a snapshot. - * Merged from OSG-2.8 branch, fix to handle of StateSet attached to - transforms being removed by the FlattentStaticTransformVisitor +Wed, 26 Nov 2008 11:12:19 +0000 +Checked in by : Robert Osfield +Added DatabasePager::getRequestsInProgress() that return true if there are still tiles to load.Added DatabasePager::setTargetMaximumNumberOfPageLOD(..) that sets the target number of PagedLOD to try and maintain -2009-02-06 15:49 robert - * Bumped version number of svn/trunk to 2.9.0 -2009-02-06 15:39 robert +Tue, 25 Nov 2008 16:24:50 +0000 +Checked in by : Robert Osfield +From Piotr Rak, "added bool conversion for ref_ptr, when no implicit conversion to T* is used." - * Added a couple more pragma's to resolve final Windows warnings +Tue, 25 Nov 2008 15:57:27 +0000 +Checked in by : Robert Osfield +Fix for build with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION off -2009-02-06 15:38 robert +Tue, 25 Nov 2008 15:38:11 +0000 +Checked in by : Robert Osfield +Fixed build for when OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION is off - * From Paul Melis & Robert Osfeild, improvements to find scripts to - better handle diffrent installation combinations +Tue, 25 Nov 2008 14:40:02 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-02-06 15:17 robert +Tue, 25 Nov 2008 14:31:19 +0000 +Checked in by : Robert Osfield +From Joakim Simmonsson, fix for handling of billboards in FLATTEN_STATIC_TRANSFORMS_DUPLICATING_SHARED_SUBGRAPHS - * From Gary Quinn, spelling fixes +Tue, 25 Nov 2008 14:15:55 +0000 +Checked in by : Robert Osfield +Added support for unsigned int uniforms -2009-02-06 14:19 robert +Tue, 25 Nov 2008 14:15:35 +0000 +Checked in by : Robert Osfield +From Ferdi Smit, added support for unsigned int typed uniforms - * Fixed path to version resource input file +Tue, 25 Nov 2008 13:45:27 +0000 +Checked in by : Robert Osfield +From Urlich Hertlein, "Attached is a patched version that replaces calls to atof() with osg::asciiToFloat()." -2009-02-06 14:13 robert +Tue, 25 Nov 2008 12:22:33 +0000 +Checked in by : Robert Osfield +Fixed warning and some unitialized variables. - * From Gary Quin + Robert Osfield, clean up of old batch file +Tue, 25 Nov 2008 11:09:40 +0000 +Checked in by : Robert Osfield +Fixed warning -2009-02-06 12:15 robert +Tue, 25 Nov 2008 10:57:14 +0000 +Checked in by : Robert Osfield +From Jaromir Vitek, "In attachment are another fixes for using packed depth+stencil (PDS).* When used PDS RenderStage::runCameraSetUp sets flag that FBO has already stencil,depth buffer attached. Prevents adding next depth buffer. +* Sets correct traits for p-buffer if used PDS and something goes wrong with FBO setup or p-buffer is used directly. +* Adds warning to camera if user add depth/stencil already attached through PDS. +* Sets blitMask when use blit to resolve buffer. - * Fixed data copy bug +There is also new example with using multisampled FBO." -2009-02-06 10:35 robert - * From Alberto Luaces, "here are some minor fixes to notify - warnings were the std::hex modifier was - used but never restored to the decimal notation. That made OSG - print messages - like the following after some notifications: - - Warning: detected OpenGL error 'invalid value' after - RenderBin::draw(,) - RenderStage::drawInner(,) FBO status= 0x8cd5 - [...] - Scaling image 'brick_side.JPG' from (1b4,24f) to (200,200) <--- - Values in hex - because of previous error. - [...]" -2009-02-06 08:46 robert +Mon, 24 Nov 2008 16:32:52 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "I have restored MSVC disabled warnings in osg/Export. Difference is they are now disabled only when OSG_DISABLE_MSVC_WARNINGS macro is defined. This macro is set through CMake options and autogenerated in osg/Config. Simon suggested that it would be cool if we had more control over selected warnings. I tried to learn how to make selection of individual warning numbers possible, but had to gave up as my cmake skills were not sufficient. The only way I saw this possible would be adding one define for each MSVC warning number. But many definitions seemed too be to much clutter for osg/Config file so I rejected thar idea. For this it would be cool if autogenerated Config entries could more powerful than simple #define/#undef flags. Maybe Cmake gurus know how to do it.I have not reverted added Compiler options. I assume that one may want to have warnings enabled for the application but may not want to see them while OSG libraries and examples compile. - * Added support for VS versioning of OpenThreads +Modified files: -2009-02-05 15:22 robert +osg/Export - now explicitly includes osg/Config to make sure OSG_DISABLE_MSVC_WARNINGS is read +osg/Config.in - declares OSG_DISABLE_MSVC_WARNINGS flag to be added to autogenerated osg/Config +CMakeLists.txt - declares OSG_DISABLE_MSVC_WARNINGS as option with default ON setting +" - * From Fabian Lavignotte, "Here is some various small fixes i have - done while playing with - osgAnimation. - - Animation : removed the _name attribute that is never used. - - BasicAnimationManager : fix a crash on Windows with the example - osganimationviewer. The _lastUpdate attribute was not initialized - when - using copy constructor. - - CMakeLists.txt : add RigGeometry to the headers list" -2009-02-05 14:56 robert - * Changed version to only be run for Visual Studio +Mon, 24 Nov 2008 16:26:15 +0000 +Checked in by : Robert Osfield +From Marco Jez, "The DDS plugin currently prints too many NOTICE messages that, given their nature and frequency, should really be demoted to INFO or DEBUG severity. Fix is attached." -2009-02-05 14:55 robert +Mon, 24 Nov 2008 16:09:43 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, removed #include as it was cause a build problem under Cygwin. - * From Sherman Wilcox, added VS versioning information into libs +Mon, 24 Nov 2008 16:02:20 +0000 +Checked in by : Robert Osfield +Improved the set of the master + slave cameras -2009-02-05 14:54 robert +Mon, 24 Nov 2008 15:27:19 +0000 +Checked in by : Robert Osfield +From Rolad Smeenk, "Forgot a call to uniqify when generating an Id based on osg::Node name." - * Added exports, and moved constructors into .cpp. +Mon, 24 Nov 2008 14:37:15 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "This application can be used for testing plugins that can both read and write a certain file format. It will display the original file next to the written and reread file.Example: +osgsidebyside -o cow.dae cow.osg + +This example will read cow.osg, write cow.dae, read cow.dae and display cow.osg on the left side and cow.dae on the right side of the view. + +Possible interactions: +KEY_UP Speedup DOF animation +KEY_DOWN SlowDown DOF animation +KEY_RIGHT Toggle all MultiSwitches" + -2009-02-05 14:42 robert - * Added initializer and fixed indentation -2009-02-05 14:35 robert +Mon, 24 Nov 2008 14:26:04 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "Overview of the Collada/dae plugin changesNew features ++Read and write of osg::LOD, osg::Switch, osgSim::Sequence, osgim::MultiSwitch and osgSim::DOFTransform data in ++Read and write of osg::Node description data in ++Plugin option "NoExtras" to prevent writing of data and only traverse the active children when saving + +Changes/additions ++instanced_geometry and instanced_controller are now loaded in a single Geode with multiple Geometries instead of multiple geodes with a single Geometry ++Changed all calls to the deprecated createAndPlace() to the new add() methods ++All transformation elements , , , , , are now concatenated properly in to a single MatrixTransform. + Previously this was not done in order as required by Collada and and not all elements were included. ++Complete skew matrix creation ++Automatically add GL_RESCALE_NORMAL if scale is non-identity ++Blinn shininess remapping to [0,128] when in range [0,1] ++Changes to CMake file to make it compile on Windows ++Coding style and code documentation + +Bug fixes ++Transparent texture writing fixed ++Fixed bug in using osg node name as collada node ID ++Fixed usage of double sided faces in GOOGLEEARTH extra ++Not adding blendfunc and blendcolor when opaque + +TODO/Wishlist +-solve differences in drawables, DAE reader should place multiple collation elements into multiple primitivesets in a single geometry where possible (only when same material) +-solve differences in matrices +-multitexture support +-skinned mesh and generic animations using osgAnimation +-profile_GLSL based on COLLADA OpenGL Effects Viewer http://ati.amd.com/developer/rendermonkey/downloads.html +-handling more to more closely mimic the intended lighting" - * Suppress gcc warnings emitted by external headers -2009-02-05 12:21 robert - * From Morne Pistorius, "Attached is a modified version of the - QOSGWidget example that shows - the workaround we discussed for adding/removing views in a - composite - viewer at runtime. A dummy view is added to the viewer to always - keep - it live. - - Also, I added a #define to the Qt event relay methods to not - override - them on a Windows system. This fixes the bug where duplicate - events - are being sent and making it impossible to throw the trackball." +Mon, 24 Nov 2008 13:50:28 +0000 +Checked in by : Robert Osfield +Replaced usage atof to asciiToFloat. -2009-02-05 12:03 robert +Mon, 24 Nov 2008 13:19:01 +0000 +Checked in by : Robert Osfield +Converted OpenGL version number code to using osg::asciiToFloat to avoid issues with conversion using locale senstive atof function - * Warning fixes +Mon, 24 Nov 2008 11:39:02 +0000 +Checked in by : Robert Osfield +From Jason Daly, "This is a plugin (two, actually) that will allow OSG to load .bsp map files from Valve's Source Engine games (Half-Life 2, etc.). One plugin (called "vbsp" to distinguish it from the Quake 3 bsp loader) reads the .bsp file itself, and the other ("vtf") reads the texture files.The set up for this to work is a bit more complex than most files, since the engine expects all files to be in a certain place, and it tends to mix case a lot. I tried to explain everything in the VBSP_README.txt file." -2009-02-05 11:10 robert +This plugin has been integrated with the pre-exisiting bsp plugin. - * Added VS and gcc warning suppression to clean up a few last - stubborn warnings -2009-02-05 10:14 robert - * From Jean-Sebastien Guay, warning fixes -2009-02-04 16:12 shuber - * From Stephan Huber: fix for local config-file used by the - deprecated XCode-project +Mon, 24 Nov 2008 10:28:19 +0000 +Checked in by : Robert Osfield +Renamig of files in prep of merge of valve bsp support -2009-02-04 13:51 robert +Mon, 24 Nov 2008 10:16:03 +0000 +Checked in by : Robert Osfield +From Tim Moore, "the GraphicsWindowX11 code was not correctly calling GraphicsContext::resized when the window was not mapped with the requested geometry." - * Form Paul Melis, spelling fixes +Mon, 24 Nov 2008 10:13:27 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-02-04 12:59 robert +Sun, 23 Nov 2008 17:28:13 +0000 +Checked in by : Robert Osfield +Added mechnism for tracking when a VncImage is inactive or not. - * Set the release candidate to 1. +Sun, 23 Nov 2008 15:51:43 +0000 +Checked in by : Robert Osfield +Added mechanism for tracking when interactive images are being rendered to enable their backends to only rendered them when they are actively being rendered in the OpenGL window. -2009-02-04 12:54 robert +Sun, 23 Nov 2008 11:35:43 +0000 +Checked in by : Robert Osfield +Introduce osg::asciiToDouble/asciiToFloat function. - * Updated news to keep in sync with online news entry +Sun, 23 Nov 2008 10:20:50 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "I noticed some regression in the BMP loader - some 8-bit (paletted) files wouldn't load anymore but simply crash.After taking a look at the current state of the BMP loader I decided it might be worth a shot at reimplementing that part. For example: the current loader doesn't properly handle 1- and 4-bit files, incorrectly loads 16-bit files as intensity-alpha (they are RGB555), is full of dead code, and generally not in very good shape. -2009-02-04 12:50 robert +Attached is my re-implementation for review. - * Updated AUTHORS file for 2.8 branch. +I've checked it against the test images from http://wvnvaxa.wvnet.edu/vmswww/bmp.html and models that use BMP files. +" -2009-02-04 12:31 robert - * Updated NEWS and README for 2.8 branch -2009-02-04 11:35 robert - * Fixed the constness of osg::Image* pointer +Sun, 23 Nov 2008 09:57:41 +0000 +Checked in by : Robert Osfield +From Paul Martz, added missing export -2009-02-04 09:03 robert +Sat, 22 Nov 2008 14:30:21 +0000 +Checked in by : Robert Osfield +Removed the optional build for osgWidget and plugins as these are options that are appropriate for building all the time - * Removed cast, to quieten VS warnings. Confirm change with - original author Mathias Froehlich. +Sat, 22 Nov 2008 12:14:19 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, Pulled in osgAnimation from OpenSceneGraph-osgWidget-dev into svn/trunk. -2009-02-03 20:26 robert +Fri, 21 Nov 2008 18:16:43 +0000 +Checked in by : Robert Osfield +From Danny Valente, submitted bu Jean-Sebastien Guay, "Some context: In the past I submitted a fix to osgViewer::CompositeViewer where events would get wrong input ranges. Later, you made a change to set the eventState's current graphics context to the current graphics context. However, there's a problem in the sequence of events. Here's the recap (doing a graphical diff with the attached file will show this clearly):Before: - * Clean up warning disable code +1. if the camera is not a slave camera + 1.1 set the eventState's graphics context to the current context. +2. if the current master view is not the view which has the focus + 2.1 set the current master view to be the view which has the focus + 2.2 use the new master view's eventState instead of the old one -2009-02-03 20:17 robert +Now as you can see from this sequence, the graphics context is set on the eventState before switching to the view which has focus (and thus using another eventState). So the new eventState, in the case we need to switch views, will contain an old graphics context, not the correct one. - * Disabled warning +Just inversing these steps fixes the problem: -2009-02-03 17:14 robert +1. if the current master view is not the view which has the focus + 1.1 set the current master view to be the view which has the focus + 1.2 use the new master view's eventState instead of the old one +2. if the camera is not a slave camera + 2.1 set the eventState's graphics context to the current context. - * Fixed warning +Now, the eventState will refer to the correct graphics context in both cases. -2009-02-03 17:11 robert +Attached is a fixed CompositeViewer.cpp (based on today's SVN) which does this. Note that some other things are done in the 1. and 2. cases, but they have no influence on each other so they can just be swapped without problems. +" - * Fixed warning -2009-02-03 15:28 robert - * Warning fixes +Fri, 21 Nov 2008 17:44:16 +0000 +Checked in by : Robert Osfield +Added handling of View::LightingMode -2009-02-03 12:47 robert +Fri, 21 Nov 2008 17:10:41 +0000 +Checked in by : Robert Osfield +Build fix - * Added setDataVariance(DYNAMIC) to text label as it's being - updated dynamically +Fri, 21 Nov 2008 16:09:28 +0000 +Checked in by : Robert Osfield +Added exports -2009-02-03 11:54 robert +Fri, 21 Nov 2008 13:23:55 +0000 +Checked in by : Robert Osfield +From David Spilling, better support for multitexture in obj loader. - * Added local disabling the the VS C4121 "alignment of a member was - sensitive to packing" warning +Fri, 21 Nov 2008 12:38:22 +0000 +Checked in by : Robert Osfield +From Jaromir Vitek, osgpackeddepthstencil example as a test case. -2009-02-03 11:07 robert +Fri, 21 Nov 2008 12:31:28 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Fixed warning +Fri, 21 Nov 2008 12:30:12 +0000 +Checked in by : Robert Osfield +Made the ParticleSystemUpdate::addParticleSystem, removeParticleSystem, replaceParticleSystem and setParticleSystem methods all virtual to allow them to be overriden. -2009-02-03 11:05 robert +Fri, 21 Nov 2008 12:15:16 +0000 +Checked in by : Robert Osfield +From Mario Valle, "Attached two small correction to remove the following warnings from MINGW build." - * Added disabling of "warning: format not a string literal, - argument types not checked" under FreeBSD as these errors are - being generated from std library ostream implementation. +Fri, 21 Nov 2008 12:10:27 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "The _pluginData member variable is not properly copied when using the copy constructor for ReaderWriter::Options." -2009-02-03 11:04 robert +Fri, 21 Nov 2008 12:05:03 +0000 +Checked in by : Robert Osfield +From Joakim Simonsson, fixed warning. - * Added explict initialization of osg::Object contstructor to fix - warning +Fri, 21 Nov 2008 11:52:48 +0000 +Checked in by : Robert Osfield +From Gordon Tomlinson, "Find enclosed fix for a leak in the Tessellator::reset(), were the new verts were not being deleted, only the container wasWe have confirmed the leak while running things through Purify," -2009-02-02 20:42 robert +Small code tweaks by Robert Osfield to streamline the code. - * Updated wrappers -2009-02-02 20:35 robert - * Warnings fixes for VS. +Fri, 21 Nov 2008 11:27:11 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-02-02 20:34 robert +Fri, 21 Nov 2008 11:23:21 +0000 +Checked in by : Robert Osfield +From Serge Lages, "Here you can find some modifications to osgManipulator to work with double values instead of floats. Indeed I faced problems with the osgManipulator library when working with Earth based scenes, it was impossible to drag objects in a precise way if they were too far from the center of the scene." - * Attempt to appease both FreeBSD CMAke 2.6.2 + Linux CMake 2.4.8 - builds +Fri, 21 Nov 2008 11:09:11 +0000 +Checked in by : Robert Osfield +Replaced tabs -2009-02-02 18:55 robert +Fri, 21 Nov 2008 10:27:31 +0000 +Checked in by : Robert Osfield +Added handling of case when there is so scene graph attached to a view. - * From Cedric Pinson, warning fix. +Thu, 20 Nov 2008 17:27:21 +0000 +Checked in by : Robert Osfield +From Jim Vaughan, "I found a bug in the code I sent you last month. It was working for SoVRMLTransform nodes, but SOTransform nodes are not in the IV scenegraph the way I thought they were. The attached file contains a fix for this." -2009-02-02 17:46 robert +Thu, 20 Nov 2008 13:07:21 +0000 +Checked in by : Robert Osfield +Added readNodeFile support the gecko plugin. - * Added initializer for local Quat definition +Thu, 20 Nov 2008 12:03:21 +0000 +Checked in by : Robert Osfield +Added DisplaySettings::s/getApplication() to help with gecko plugin initialization when it requires the application name -2009-02-02 17:32 robert +Thu, 20 Nov 2008 11:47:38 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added explict intializiers of base classes +Thu, 20 Nov 2008 11:28:20 +0000 +Checked in by : Robert Osfield +Clean up osgbrowser after moving browser implementation into gecko plugin -2009-02-02 17:16 robert +Thu, 20 Nov 2008 11:27:36 +0000 +Checked in by : Robert Osfield +Moved browser code from osgbrowser example into gecko plugin to make the browser functionality accessible to other OSG applications - * Added /lib64 to search paths. +Wed, 19 Nov 2008 20:34:53 +0000 +Checked in by : Robert Osfield +Reverted Kyle Centers mistaken patch that removed a _currentContext->valid() that was actually required. -2009-02-02 17:15 robert +Wed, 19 Nov 2008 17:16:29 +0000 +Checked in by : Robert Osfield +Moved Browser.h and Browser.cpp from osgbrowser into osgWidget. - * Improved handling of stats projection size +Wed, 19 Nov 2008 17:04:02 +0000 +Checked in by : Robert Osfield +Added XUL_DIR searching -2009-02-02 16:56 robert +Wed, 19 Nov 2008 17:02:45 +0000 +Checked in by : Robert Osfield +Fixed component directory path handling. - * From Stephan Huber, build fix for OSX XCode build +Wed, 19 Nov 2008 16:58:32 +0000 +Checked in by : Robert Osfield +Refactored browser classes so that there is now a base class and reader writer. -2009-02-02 15:04 robert +Tue, 18 Nov 2008 23:38:18 +0000 +Checked in by : Robert Osfield +Changed osgbrowser example to use a local CMakeModules/FindXUL.cmake script, and specialization of GTK dependencies to only non Windows/OSX platforms. - * Fixed version +Tue, 18 Nov 2008 17:20:45 +0000 +Checked in by : Robert Osfield +Removed debug output -2009-02-02 14:55 robert +Tue, 18 Nov 2008 15:18:34 +0000 +Checked in by : Robert Osfield +Added optional bool keep to BarrierOperation to make it more resuable - * Updated OpenThreads and OpenSceneGraph version ready for OSG-2.8 - branch. +Tue, 18 Nov 2008 14:46:02 +0000 +Checked in by : Robert Osfield +Moved update functionality into from UBrowserImage into update. -2009-02-02 14:51 robert +Tue, 18 Nov 2008 13:36:47 +0000 +Checked in by : Robert Osfield +Added support for running all ubrowser operataions in a background thread. - * From Cedric Pinson, "Here an update of the osgAnimation - ReaderWriter, it add other NodeCallback that could be attached to - a node with Bone." +Mon, 17 Nov 2008 19:15:12 +0000 +Checked in by : Robert Osfield +Fixed key mapping -2009-02-02 14:50 robert +Mon, 17 Nov 2008 17:58:59 +0000 +Checked in by : Robert Osfield +Refactored the UBrowser functionality so a UBrowserThread singlton class takes over more responsibility of integratation with llmozlib. - * From Pierre Haritchablaet, "The wind vector of - osgParticle::FluidFrictionOperator has not been written and read - in IO_FluidFrictionOperator. This patch fixes osg plug'in - FluidFrictionOperator_readLocalData and - FluidFrictionOperator_writeLocalData." +Mon, 17 Nov 2008 15:53:04 +0000 +Checked in by : Robert Osfield +Removed dependency on GLUT. -2009-02-02 14:43 robert +Mon, 17 Nov 2008 15:49:24 +0000 +Checked in by : Robert Osfield +Ported example to using OSG objects for rendering rather than GLUT - * Refactored osg::TransferFunction1D to use an std::map internally - which is kept in sync with the actual osg::Image that is passed - to the GPU. - - Added .osg support for osg::TransferFunction1D. - - Updated wrappers +Mon, 17 Nov 2008 10:36:55 +0000 +Checked in by : Robert Osfield +Introduced xulrunner extensions from llmozlib2, and got things working under linux -2009-02-02 09:23 robert +Fri, 14 Nov 2008 20:50:40 +0000 +Checked in by : Robert Osfield +From Philip Lowman, "If you change CMAKE_INSTALL_PREFIX in the cache editor after building the OSG, it causes the entire project to rebuild (at least with the CMake makefile generator due to changing preprocessor definitions applied across all targets).I suggest moving the definition of OSG_DEFAULT_LIBRARY_PATH (which is responsible for this global rebuild) into osgDB/CMakeLists.txt which is the only library in the code where this definition is (and is likely ever to be) used. This way if the user changes it, only osgDB will rebuild." - * From Sukender, add check against NULL parameter value -2009-02-01 12:38 robert - * Ground work for full .osg support for osg::TransferFunction* -2009-01-31 21:46 robert +Fri, 14 Nov 2008 20:31:28 +0000 +Checked in by : Robert Osfield +Added definition of std::wstring as a work around to a lack of wstring under Cygwin. - * Updated NEWS +Fri, 14 Nov 2008 18:22:01 +0000 +Checked in by : Robert Osfield +From Simon Hammett, moved VS #prgama warning disabling from include/osg/Export to CMakeList.txt. -2009-01-31 21:46 robert +Fri, 14 Nov 2008 18:15:12 +0000 +Checked in by : Robert Osfield +Removed reduncent #includes - * Added initial placeholder for .osg support for - osgVolume::TransferFunctionProperty +Fri, 14 Nov 2008 17:03:59 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "Attached are modifications to GraphicsWindowWin32. By default workaround is set to off. But could be activated/decativated via CMake as well as system environment variable. I also modified src\osgViewer\CMakeLists.txt to turn off this workaround by default as suggested." -2009-01-31 21:45 robert +Fri, 14 Nov 2008 16:54:07 +0000 +Checked in by : Robert Osfield +Added GTK and GLUT guards to osgbrowser include - * Fixed handling of TransferFunctionProperty. +Fri, 14 Nov 2008 16:48:07 +0000 +Checked in by : Robert Osfield +Further work on experiment llmozlib/geko based embedded web browser -2009-01-31 10:21 robert +Thu, 13 Nov 2008 15:35:08 +0000 +Checked in by : Robert Osfield +An "attempt" at using LLMozLib sources as a base for a gecko based embedded browser. - * Rejigged the Xrandr include +Thu, 13 Nov 2008 10:49:33 +0000 +Checked in by : Robert Osfield +Updated version number in prep for 2.5.6 dev release -2009-01-30 18:56 robert +Wed, 12 Nov 2008 22:54:12 +0000 +Checked in by : Robert Osfield +Moved Poppler-glib check into root CMakeList.txt - * Improved shaders to better handle region of constant values when - doing normal generation +Wed, 12 Nov 2008 14:57:30 +0000 +Checked in by : Robert Osfield +Improved filepath handling, and increased the image resolution for better rendering quality -2009-01-30 17:10 robert +Wed, 12 Nov 2008 14:21:05 +0000 +Checked in by : Robert Osfield +Introduced new osgpdf example that use Cario + Poppler libraries to provide a means of rendering a pdf document to an osg::Image. - * Updated iso surface shaders +Wed, 12 Nov 2008 14:20:15 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-01-30 16:45 robert +Wed, 12 Nov 2008 10:30:17 +0000 +Checked in by : Robert Osfield +Added osgViewerGetVersion() into context creation code as a means of forcing windows to link in osgViewer properly. - * Added support for discard fragment that don't generate an iso - surface intersect +Tue, 11 Nov 2008 17:59:35 +0000 +Checked in by : Robert Osfield +Improved naming -2009-01-30 15:04 robert +Tue, 11 Nov 2008 17:30:11 +0000 +Checked in by : Robert Osfield +Tweaked comment - * From Paul Melis, "I think TransferFunction needs to call - _image->dirty() in two places in response to an assign() of new - transfer map values. - Here's an updated file, which seems to work here. - " +Tue, 11 Nov 2008 17:29:48 +0000 +Checked in by : Robert Osfield +Added default fallback of a window context is none is otherwise specified. -2009-01-30 14:54 robert +Tue, 11 Nov 2008 16:59:58 +0000 +Checked in by : Robert Osfield +Added command line argument docs and support for -h/--help command line options - * From Lionel Lagarde, "this correct how the ParticleEffect are - serialized : - - the texture file name is taken from the TextFileName field - - the texture file name is written using writeString - " +Tue, 11 Nov 2008 16:59:12 +0000 +Checked in by : Robert Osfield +Removed the redundent prepending of application name. -2009-01-30 13:05 robert +Tue, 11 Nov 2008 16:21:04 +0000 +Checked in by : Robert Osfield +Added timing stats - * Update AUTHORS for release +Tue, 11 Nov 2008 16:13:37 +0000 +Checked in by : Robert Osfield +Added --geometry, --geometry-vbo and --geometry-va command line options and associated geometry test codes -2009-01-30 12:17 robert +Tue, 11 Nov 2008 15:00:29 +0000 +Checked in by : Robert Osfield +Added --delay option that is run between each OpenGL object apply, defaults to 0 - * Updated ChangeLog for 2.7.9 release +Tue, 11 Nov 2008 12:50:51 +0000 +Checked in by : Robert Osfield +Added support for fbo testing. -2009-01-30 12:09 robert +Mon, 10 Nov 2008 20:06:27 +0000 +Checked in by : Robert Osfield +First cut of osgmemorytest example that is written to allocate many windows/pbuffer/GL objects as test of how many objects can be allocated on a machine. - * Fixed size of background of frame stats so that it's the correct - width of the window +Mon, 10 Nov 2008 13:56:59 +0000 +Checked in by : Robert Osfield +Added commented out flt entry for compiling the old deprecated flight plugin (useful for testing purposes). -2009-01-30 11:40 robert +Mon, 10 Nov 2008 13:48:36 +0000 +Checked in by : Robert Osfield +Fix to traversal of children of an LOD - based on a suggestion from Katharina Plugge. - * Updated wrappers +Sun, 9 Nov 2008 11:56:02 +0000 +Checked in by : Robert Osfield +Added support for Camera::PACKED_DEPTH_STENCIL_BUFFER to .osg and .ive formats -2009-01-30 10:55 robert +Sun, 9 Nov 2008 11:55:11 +0000 +Checked in by : Robert Osfield +From Jaromir Vitek, "patch contains extension to fbo and camera. Camera can attach new render buffer for depth and stencil logical buffer in packed form." - * Fixed warnings, updated NEWS +Sat, 8 Nov 2008 17:53:51 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, replaced M_PI with osg::PI. -2009-01-29 20:40 robert +Fri, 7 Nov 2008 18:02:05 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 2.7.5 release - * Added support for osgVolume::ProperyAdjustmentCallback +Fri, 7 Nov 2008 17:40:25 +0000 +Checked in by : Robert Osfield +From Csaba Halasz, fix for hang when running in CullThreadPerCameraDrawThreadPerContext threading model. -2009-01-29 20:34 robert +Fri, 7 Nov 2008 17:23:55 +0000 +Checked in by : Robert Osfield +Fixed typo - * Added support for osgVolume::Property classes +Fri, 7 Nov 2008 17:07:43 +0000 +Checked in by : Robert Osfield +Fixed build under gcc 4.3.2 -2009-01-29 17:19 robert +Fri, 7 Nov 2008 16:26:46 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and version number for 2.7.5 release - * Fixed handling of files with event callbacks on them. +Fri, 7 Nov 2008 16:14:49 +0000 +Checked in by : Robert Osfield +Removed fstream for wrapper due to problems with wrapping. -2009-01-29 16:38 robert +Fri, 7 Nov 2008 16:03:37 +0000 +Checked in by : Robert Osfield +Removed due to problems with build - * From Jean-Sebastien Guay, added missing windows socket library +Fri, 7 Nov 2008 15:38:40 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-01-29 15:37 robert +Fri, 7 Nov 2008 15:08:08 +0000 +Checked in by : Robert Osfield +From Michael Platings, Converted std::fstream/ifstream/ofstream to osgDB::fstream/ifstream/ofstream and fopen to osgDB::fopen to facilitate support for wide character filenames using UT8 encoding. - * Updated FindOSG.cmake from the version used by Present3D as this - is more up to date. +Fri, 7 Nov 2008 15:01:15 +0000 +Checked in by : Robert Osfield +Converted tabs to four spaces -2009-01-29 15:32 robert +Fri, 7 Nov 2008 13:18:40 +0000 +Checked in by : Robert Osfield +From Tim Moore, removed redundent forward declartion of BoundingBox and BoundingSphere - * Update ChangeLog +Fri, 7 Nov 2008 10:23:57 +0000 +Checked in by : Robert Osfield +From Martins Innus, "Here is a fix to add requestWarpPointer for OS X. It seems to work for me, I just took what osgProducer had. These are updated files to 2.7.3" -2009-01-29 15:07 robert +Thu, 6 Nov 2008 16:48:55 +0000 +Checked in by : Robert Osfield +Changed to using stdio.h. - * Updated news +Thu, 6 Nov 2008 14:56:31 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-01-29 14:41 robert +Thu, 6 Nov 2008 14:46:11 +0000 +Checked in by : Robert Osfield +Fixed constness of getTexture/getRenderBuffer() const and added non cost version. - * Fixed the sumation of the the unique number of primtivesets and - vertices in the scene Stats collect +Thu, 6 Nov 2008 14:29:35 +0000 +Checked in by : Robert Osfield +From Michael Platings, "I've added functions to get the texture, renderbuffer and other properties from a FrameBufferAttachment." -2009-01-29 14:35 robert +Thu, 6 Nov 2008 14:17:12 +0000 +Checked in by : Robert Osfield +From Kyle Centers, removed redundent check to _currentContext.valid(). - * Added CMakeLists.txt for osgcluster +Thu, 6 Nov 2008 14:04:26 +0000 +Checked in by : Robert Osfield +From Csaba Halasz, adding missing export directives -2009-01-29 14:00 robert +Thu, 6 Nov 2008 13:57:14 +0000 +Checked in by : Robert Osfield +From Thomas Wedner, "use osgViewer::CompositeViewer with several views. All views share parts of their scene graphs. Within these common part some nodes have event handlers which use the action adapter argument to the event handler to determinate which view received the event. Here is the problem, osgViewer::CompositeViewer::eventTraversal sets the action adapter field in the EventVisitor always to the last view which received an event, instead of using the view which actually received the event, so determination of the correct view does not work. I looked at the code a bit, and moved the code for setting the action adapter to a IMO better place" - * First cut of NEWS for 2.8 release +Thu, 6 Nov 2008 13:40:35 +0000 +Checked in by : Robert Osfield +From Ulrich Hertleinm "cmake 2.6 is having trouble on Mac OS X because example/CMakeLists.txt addes subdirectory osgviewerGLUT twice. I took the liberty to remove the second occurrence. " -2009-01-29 13:29 robert +Thu, 6 Nov 2008 13:38:11 +0000 +Checked in by : Robert Osfield +Fixed IntersectionVisitor::accept(Camera) handling of relative Cameras. - * Restructed the reporting of the libpath message so that it only - appears the first time it's required +Thu, 6 Nov 2008 13:36:25 +0000 +Checked in by : Robert Osfield +From Chris Denham, added transform to cube to test picking fixes -2009-01-29 13:17 robert +Wed, 5 Nov 2008 16:06:25 +0000 +Checked in by : Robert Osfield +Removed redundent static ImageStream pointer - * Added osgcluster example into build system +Wed, 5 Nov 2008 15:59:48 +0000 +Checked in by : Robert Osfield +Added --no-rescale, --rescale (default) and --shift-min-to-zero command line options for controlling how the pixel data is managed. -2009-01-29 11:18 robert +Wed, 5 Nov 2008 15:04:38 +0000 +Checked in by : Robert Osfield +Added --replace-rgb-with-luminance option - * From Jason Daly, "Somehow, one of the shaders in the bsp plugin - started behaving incorrectly between the original submission and - now. I suspect it has to do with a typo in the setup of the - shader that was fixed at some point, or it happened during the - recent warnings purge. In any case, I had to invert the usage of - a parameter in the shader to make it behave properly again. - - - The vtf plugin wasn't working in Windows due to OS differences in - the byte-packing of the header structure (on Windows, the big - block read was causing a buffer overrun). I fixed this by reading - the structure from the file field by field. It's now happy on - both Linux and Windows." +Wed, 5 Nov 2008 15:04:11 +0000 +Checked in by : Robert Osfield +Added support for different pixel formats and datatypes in copyImage() method -2009-01-29 11:03 robert +Wed, 5 Nov 2008 11:56:44 +0000 +Checked in by : Robert Osfield +Fixed return value of ArgumentParser::find() for when the search string is not found, the correct value is now -1. - * Fixed warning +Wed, 5 Nov 2008 10:29:45 +0000 +Checked in by : Robert Osfield +Added extra data types info to debug message -2009-01-29 10:43 robert +Wed, 5 Nov 2008 10:27:49 +0000 +Checked in by : Robert Osfield +Added Thread::Init() to CurrentThread - * Revised the message about install path. +Tue, 4 Nov 2008 16:31:47 +0000 +Checked in by : Robert Osfield +Compiled fix for gcc 4.3.2 -2009-01-29 10:22 robert +Tue, 4 Nov 2008 12:57:30 +0000 +Checked in by : Robert Osfield +Fixed --images commandline parsing - * Added missing entry in build for AnimationManager.cpp +Mon, 3 Nov 2008 16:55:06 +0000 +Checked in by : Robert Osfield +Added GPL copyright notice -2009-01-29 09:28 robert +Mon, 3 Nov 2008 16:31:44 +0000 +Checked in by : Robert Osfield +Added handling of texture matrices and texture rectangles in InteractiveImageHandler - * Improved the handling of toggling of GL_LIGHTi modes when - SceneView::setLightingMode() is toggled on/off. +Mon, 3 Nov 2008 15:58:02 +0000 +Checked in by : Robert Osfield +Refactored osgvnc example to utilise the new vnc plugin -2009-01-29 09:27 robert +Mon, 3 Nov 2008 15:57:21 +0000 +Checked in by : Robert Osfield +Added vnc plugin. - * Replaced -1 with ~0u to fix warning due to being written to a - UInt field. Note, OpenFlight spec says -1, which is clearly an - error in the spec, so we've had to guess at ~0u being an - appropriate value. +Mon, 3 Nov 2008 15:08:04 +0000 +Checked in by : Robert Osfield +Added sendPointerEvent and sendKeyEvent virtual methods to osg::Image to facilitate the subclassing of Image providing interactive behaviours so as used in the vnc interactive VncImage class.osgViewer::InteractiveImageHandler provides an event handler that convertes osgGA +mouse and keyboard events into the coordinate frame of an image based on ray intersection with geometry in +the associated subgraph. -2009-01-29 09:24 robert +Changed the ordering of events processing in Viewer and CompositeViewer to allow +scene graph event handlers to take precidence over viewer event handlers and camera manipulators - * Removed now redundent shader files. - - Fixed the adding of transfer function property. -2009-01-28 16:48 robert - * Removed old shader files -2009-01-28 16:44 robert +Mon, 3 Nov 2008 15:03:49 +0000 +Checked in by : Robert Osfield +Changed version number to 2.7.5 in prep for dev release - * Removed comments. +Mon, 3 Nov 2008 10:17:26 +0000 +Checked in by : Robert Osfield +Changed Tiff plugin to link to TIFF_LIBRARIES to handle case where JPEG and ZLIB are dependencies. -2009-01-28 15:23 robert +Fri, 31 Oct 2008 16:48:19 +0000 +Checked in by : Robert Osfield +Wrapped up the various client streaming methods + thread into VncImage classes. - * Updated wrappers +Fri, 31 Oct 2008 13:59:32 +0000 +Checked in by : Robert Osfield +Implemented keyboard and mouse dispatch from vnc client to vnc server. -2009-01-28 15:15 robert +Fri, 31 Oct 2008 12:03:44 +0000 +Checked in by : Robert Osfield +Added very basic osgvnc example that uses the LibVNCServer client libries for implementing a vnc client as an osg::Image with the vnc data stream going to it. - * Moved push/popCulling set it public scope. +Thu, 30 Oct 2008 13:05:08 +0000 +Checked in by : Robert Osfield +Removed renduent osgDB::Registry DatabasePager methods -2009-01-28 13:45 robert +Wed, 29 Oct 2008 12:04:11 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, AUTHORS.txt and README.txt for 2.4.7 release - * From Paul Melis, "1) Changes the order of the camera stats - slightly, to be more in line with - the view stats - 2) Uses a slightly smaller block for view statistics" +Wed, 29 Oct 2008 11:51:47 +0000 +Checked in by : Robert Osfield +From Blasius Czink, "changed the CHECK_CXX_SOURCE_RUNS macro slightly to avoid the compile problems due to bugged "intrin.h". In such a case the mutex fallback will be used (see attached file)." -2009-01-28 12:55 robert +Wed, 29 Oct 2008 11:15:33 +0000 +Checked in by : Robert Osfield +Warning fixes - * From Mathias Froehlich, fixed typo. +Wed, 29 Oct 2008 11:09:08 +0000 +Checked in by : Robert Osfield +Added missing implementations -2009-01-28 12:51 robert +Wed, 29 Oct 2008 10:56:40 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS.txt for 2.7.4 release - * Fixed warnings +Wed, 29 Oct 2008 10:38:55 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-01-28 12:45 robert +Wed, 29 Oct 2008 10:25:24 +0000 +Checked in by : Robert Osfield +From Lukas Diduch, added a multithread compsite viewer path, accessible using: osgviewerQT --MTCompositeViewer --QOSGWidget cow.osg - * Fixed of warnings -2009-01-28 12:28 robert - * Fixed warnings -2009-01-28 12:02 robert +Wed, 29 Oct 2008 10:12:02 +0000 +Checked in by : Robert Osfield +From James Moliere, fixed display of axis - * Temporarily disabled VS warning C4100 to enable use to home in on - the useful warnings that could do with resolving. +Tue, 28 Oct 2008 17:28:14 +0000 +Checked in by : Robert Osfield +From Lionel Lagrade, "I've replaced readsome by read+gcount."From Robert Osfeld, added throw on uncompress error. -2009-01-28 11:59 robert - * From Mathias Froehlich, "I have today built svn trunk on HP-UX - and Solaris8. - I had to do two small changes to src/osgWidget/Input.cpp and - src/osgAnimation/Animation.cpp mainly because of name lookup - problems. - " -2009-01-28 11:16 robert +Mon, 27 Oct 2008 19:59:05 +0000 +Checked in by : Robert Osfield +From Chris Denham, changed nested Camera intersection test so that it requires the command line --relative-camera-scene to enable it - * From Lionel Lagarde, removed accounting of local to world - transform on the force vector as the particle velocity should - already been in world coords. Fixing this addresses a bug where - particles accelerated out of the scene rather than slowing down. +Mon, 27 Oct 2008 17:42:04 +0000 +Checked in by : Robert Osfield +Added --help-env docs for OSG_MAX_PAGEDLOD -2009-01-28 10:06 robert +Mon, 27 Oct 2008 17:11:01 +0000 +Checked in by : Robert Osfield +Merged in comment split code from the old flt plugin so that FLT comments string with returns in them are put into separate description entries. - * Added check against existing of a valid Stats object in - ViewerBase::renderinTraverls() to prevent crash. - - Added default View Stats into src/osgViewer/View.cpp to enable - stats to be collected for views +Mon, 27 Oct 2008 17:09:36 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "I am sending a really minor fix for StatsHandler::reset method. We dynamically add and remove slave cameras in our application. StatsHandler does not automatically adapt to this situation, and we call StatsHandler::reset to force it to update number of cameras and their graphs. Unfortunately, if stats were already drawn, reset would not remove former graph drawables and they would remain frozen below new stats. This update fixes it. " -2009-01-28 09:42 robert +Mon, 27 Oct 2008 16:16:28 +0000 +Checked in by : Robert Osfield +From Chris Denham, default scene that tests the use of in scene graph Camera which has a RELATIVE_RF ReferenceFrame. - * From Mattias Helsing, "this is a semi-submission based on what - you and others have been - talking about in the LIB_POSTFIX thread. It is a bit verbose - perhaps - and the message I emit during the make install step flashes by - and - gets burried under all "installing..." and/or "up-to-date..." - messages. I have posted on the cmake mail list on ways to do this - better. - - The submission adds: - * message to user during configuration that s/he's eventually - going o - install to ${CMAKE_INSTALL_PREFIX}lib${LIB_POSTFIX} - * if system has /etc/ld.so.conf.d and it is a dir generates - packaging/ld.so.conf.d/openscenegraph.conf and creates a custom - target - for installing it (target must be run explicitly of course). User - is - notified of this during configuration (may not be necessary) - * emit a message during installation that libraries are put in - . This message unfortunately gets emitted to soon - for - the user to see it - - * I added "COMPONENT libopenscenegraph-dev" to the pkgconfig.pc's - install command - * Moved the section with OSG_CONFIG_HAS_BEEN_RUN_BEFORE as close - to - the end of CMakeLists.txt as I dared. This is the intent of this - construct I think." +Mon, 27 Oct 2008 16:06:24 +0000 +Checked in by : Robert Osfield +From Chris Denham, fixed support of in scene graph osg::Camera's with ReferenceFrame of RELATIVE_RF. -2009-01-28 09:31 robert +Mon, 27 Oct 2008 15:26:53 +0000 +Checked in by : Robert Osfield +From Katharina Plugge, "I found a bug in the OpenFlight-Plugin. When exporting to OpenFlight it could happen that palettes of an external reference like the texture palette are set wrong, because they are overwritten by parent settings (userData), which actually do not refer to palette entries respectively ParentPools (happens for example if a Transform is parent of a ProxyNode). The static cast from userData to ParentPools should therefore be a dynamic cast. ---------------------------function FltExportVisitor::writeExternalReference( const osg::ProxyNode& proxy ): - * From Paul Melis, "Here is an updated osgViewer::StatsHandler. It - has the following changes: - - The text and dark background rectangles are now correctly - placed, and - slightly resized here and there. - - All counters (vertices, etc) now use a fixed formatting with 0 - digits - precision, to prevent the text from being shown in scientific - notation - when the number get large (e.g. 6.34344e+6). I tested with a - scene - containing roughly 4 million vertices, to make sure its stats - would - display correctly. - - I also made slight changes to osgcompositeviewer (attached) to - aid in - testing the stats display, specifically displaying of camera and - view - names." +Line 423 in file expPrimaryRecords.cpp has to be changed from -2009-01-28 09:26 robert +const ParentPools* pp = static_cast(proxy.getUserData() ); - * From Paul Melis, remove redundent spaces +to -2009-01-28 09:24 robert +const ParentPools* pp = dynamic_cast(proxy.getUserData() ); +" - * From Paul Melis, removed redundent spacing. -2009-01-28 09:23 robert - * Fixed the handling of setLightingMode and inheritCullSettings so - that it properly manages the GL_LIGHTING mode +Mon, 27 Oct 2008 13:09:43 +0000 +Checked in by : Robert Osfield +Various warning fixes -2009-01-28 09:21 robert +Mon, 27 Oct 2008 11:49:31 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Patrick Hartling, "I encountered a bug related to RTTI for - subclasses of osg::Shape. The - circumstances under which this bug occur are rather specific, but - the - basic problem occurs when one translation unit other than - libosg.so - constructs an object that is a subclass of osg::Shape and another - translation unit other than libosg.so tries to perform a - dynamic_cast or - other RTTI-based operation on that object. Under these - circumstances, - the RTTI operation will fail. In my case, the translation units - involved - were an application and osgdb_ive.so. The application constructed - a - scene graph that included instantiations of subclasses of - osg::Shape. - Depending on how the user ran the application, it would write the - scene - graph to an IVE file using osgDB::writeNodeFile(). The - dynamic_cast - operations in DataOutputStream::writeShape() would fail on the - first - subclass of osg::Shape that was encountered. This is because - there were - two different RTTI data objects for all osg::Shape subclasses - being - compared: one in the application and one in osgdb_ive.so. - - The fix for this is simple. We must ensure that at least one - member - function of each of the subclasses of the polymorphic type - osg::Shape is - compiled into libosg.so so that there is exactly one RTTI object - for - that type in libosg.so. Then, all code linking against libosg.so - will - use that single RTTI object. The following message from a list - archive - sort of explains the issue and the solution: - - http://aspn.activestate.com/ASPN/Mail/Message/1688156 - - While the posting has to do with Boost.Python, the problem - applies to - C++ libraries in general." +Mon, 27 Oct 2008 11:08:54 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "This change is a result of a recent thread on osg-users. The semantic change that went into the ac loader with the past patch was incorrect wrt the document describing the behaviour of ac files and inconsistent with what ac3d itself displays for that files. This attached change reverts the behaviour to the original one. The infrastructure to change this is left in place. The change is based on rev 9045." -2009-01-28 09:06 robert +Mon, 27 Oct 2008 10:42:58 +0000 +Checked in by : Robert Osfield +From Blasius Czink, "Among other things I added support for atomic operations on BSD-like systems and additional methods (for "and", "or", "xor"). "and a later post the same osg-submissions thread: - * Added back in intializers for RenderSurface. +"it's been a while since I have made the changes but I think it was due to problems with static builds of OpenThreads on windows. I was using +OpenThreads in a communication/synchronisation library (without +OpenSceneGraph). It seems I forgot to post a small change in the CMakeLists file of OpenThreads. If a user turns DYNAMIC_OPENTHREADS to OFF (static build) OT_LIBRARY_STATIC will be defined in the Config. +Without these changes a windows user will always end up with a "__declspec(dllexport)" or "__declspec(dllimport)" which is a problem for static builds." -2009-01-27 15:35 robert +And another post from Blasius on this topic: - * Removed .pc files as they are now automatically generated with - the correct values by Cmake from the openthreads.pc.in and - openscenegraph.pc.in files. +"I tested with VS2005 and VS2008. For 32 bit everything works as expected. For x64 and VS2008 I could successfully do the cmake-configure and then the compilation but I had occasional crashes of cmTryCompileExec.exe (during the cmake-configure phase) which seems to be a cmake bug. With VS2005 and 64bit cmake does not set _OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED although the interlocked functionality should be there. If I place the source snippet from the CHECK_CXX_SOURCE_RUNS macro to a separate sourcefile I can compile and run the resulting executable successfully. Forcing OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED (on VS2005/x64) reveals a bug in "intrin.h" which seems to be fixed in VS2008 but not in VS2005. -2009-01-27 15:34 robert +In case anyone is interested the lines: +__MACHINEI(unsigned char _interlockedbittestandset(long *a, long b)) +__MACHINEI(unsigned char _interlockedbittestandreset(long *a, long b)) +__MACHINEX64(unsigned char _interlockedbittestandset64(__int64 *a, __int64 b)) +__MACHINEX64(unsigned char _interlockedbittestandreset64(__int64 *a, __int64 b)) - * From Alberto Luaces, "I have modified CMakeLists.txt in order to - make CMake fill the existent - openscenegraph.pc and openthreads.pc files with OSG's - installation values. - Then I install those files into the expected path for pkg-config - (this can - also be modified through PKG_CONFIG_PATH environment variable). - Therefore - those of us who are using pkg-config for linking can easily - select which - version of OSG we want to use." +should be changed to: +__MACHINEI(unsigned char _interlockedbittestandset(long volatile *a, long b)) +__MACHINEI(unsigned char _interlockedbittestandreset(long volatile *a, long b)) +__MACHINEX64(unsigned char _interlockedbittestandset64(__int64 volatile *a, __int64 b)) +__MACHINEX64(unsigned char _interlockedbittestandreset64(__int64 volatile *a, __int64 b)) -2009-01-27 15:34 robert +The worst thing that can happen is that interlocked funtionality is not detected during cmake-configure and the mutex fallback is used. +Which reminds me another small glitch in the Atomic header so I attached a corrected version. - * From Alberto Luaces, "I have modified CMakeLists.txt in order to - make CMake fill the existent - openscenegraph.pc and openthreads.pc files with OSG's - installation values. - Then I install those files into the expected path for pkg-config - (this can - also be modified through PKG_CONFIG_PATH environment variable). - Therefore - those of us who are using pkg-config for linking can easily - select which - version of OSG we want to use." -2009-01-27 15:14 robert - * From Jason Beverage, "Here is a small fix that enables writing 16 - bit short images in the tiff plugin. - " + Why is the OT_LIBRARY_STATIC added to the config file? It is not needed anywhere. -2009-01-27 14:11 robert +OT_LIBRARY_STATIC is needed if you are doing static-builds on Windows. See my previous post on that. +" - * Converted viewer camera references to use observer_ptr<> rather - than ref_ptr<> or C pointers to avoid issues with circular - references/dangling pointers. -2009-01-27 13:23 robert - * Refactored the view stats. -2009-01-27 09:09 robert +Mon, 27 Oct 2008 10:40:13 +0000 +Checked in by : Robert Osfield +Fixed positioning of wings - * Commented out debug message +Mon, 27 Oct 2008 09:48:34 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, "I came across a bug when building OpenSceneGraph with MSVC_VERSIONED_DLL, NMake makefiles and CMake 2.6.2. The compilation fails because it tries to copy ot11-OpenThreads.lib to OpenThreads.lib which is valid for the 2.4.x era of CMake but not anymore in 2.6.x era. The provided file from the CMakeModules directory adds a tests on the CMake version and corrects this. Works for me now." -2009-01-26 21:23 robert +Mon, 27 Oct 2008 09:44:49 +0000 +Checked in by : Robert Osfield +From Alberto Lucas, fixed typo - * Ported onscreen camera stats across to using thread safe stats - collection +Sun, 26 Oct 2008 22:22:38 +0000 +Checked in by : Robert Osfield +Improved the support for no pre compile, and configuring the number of threads in the DatabasePager. -2009-01-26 19:22 robert +Sun, 26 Oct 2008 22:21:09 +0000 +Checked in by : Robert Osfield +Improved the error reporting - * Added passing of command line args to cmake +Sat, 25 Oct 2008 13:17:22 +0000 +Checked in by : Robert Osfield +From Jim Vaughan,- Matrix transform nodes were stripped out, and the +vertices and normals of each node were +transposed by the modelling matrix. My change preserves +the matrix transform nodes, so that +models can still be articulated by changing the matrices. -2009-01-26 16:55 robert +- Lights were copied from the COIN scenegraph to the OSG +scenegraph, but they were not associated +with a LightSource node. My change for this creates a +Group and adds a LightSource for each Light. - * Converted across to using ref_ptr<> to avoid memory leak/dangling - pointer issues. +- If VRML textures have names, the name is now copied to -2009-01-26 15:16 robert +-- - * Fixed effective leak in Program::PerContextProgram caused by - previously osg::State keeping a set of - std::ref_ptr without ever pruning - this list. - The fix was to convert the osg::State to use C pointers for the - set of applied PerContexProgram objects, and use the osg::Oberver - mechanism to avoid dangling pointers for being maintained in - osg::State. +Form Robert Osfild, changed SbString to std::string usage -2009-01-26 13:48 robert - * Moved the XRANDR include into LIB_PRIVATE_HEADERS to avoid - FreeBSD build problem +M Inventor/ConvertFromInventor.h +M Inventor/ConvertFromInventor.cpp -2009-01-26 10:52 robert - * Updated wrappers -2009-01-26 10:35 robert +Fri, 24 Oct 2008 11:38:40 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, "it seems a copy-paste error is present on the OBJ loader when parsing the options given by the user. "noTesselateLargePolygons" is being activated instead of "noTriStripPolygons". I'm attaching the fixed file." - * From Rick Appleton, "In DatabasePager.cpp I believe there's a - copy-paste ommission. A little bit further down the file where - the Drawables are compiled the code is similar to how I have - fixed the code here for the StateSets. If the DatabasePager - thread is supposed to pre-compile things, it will call the - compileGLObjects such that compileAll will be true. However, when - compiling StateSets compileAll isn't currently checked." +Fri, 24 Oct 2008 10:02:13 +0000 +Checked in by : Robert Osfield +Fixed typo -2009-01-24 10:02 robert +Fri, 24 Oct 2008 09:59:12 +0000 +Checked in by : Robert Osfield +Add osgParticle:: qualifiers in front of Program entries to avoid issues when combining osg::Program and osgParticle::Program in a single app - * Changed META_NodeVisitor usage to META_Object as it's more - appropriate. +Fri, 24 Oct 2008 09:49:55 +0000 +Checked in by : Robert Osfield +Changed timing stats to osg::INFO level -2009-01-24 10:00 robert +Fri, 24 Oct 2008 08:09:36 +0000 +Checked in by : Robert Osfield +Removed debugging test. - * From Stephan Huber, "OS X failed to compile AnimationManager - because of - the useage of META_Node-macro, but AnimationManager is inherited - from - NodeVisitor, so I changed the Macro to META_NodeVisitor" +Thu, 23 Oct 2008 16:33:14 +0000 +Checked in by : Robert Osfield +Introduced new method of management the number of PagedLOD active, by using a capping the number of PagedLOD to a sepcified maximum, with pruning of inactive PagedLOD when the total number of inactive and active PagedLOD goes above the maximum.To enable the mode set the env var OSG_MAX_PAGEDLOD to a value something like 1000. -2009-01-23 23:04 shuber - * From Stephan Huber: updated XCode project -2009-01-23 15:52 robert +Tue, 21 Oct 2008 16:39:24 +0000 +Checked in by : Robert Osfield +From Panagiotis Koutsourakis, "We are using Open Scene Graph for an application and we need COLLADA support. While testing the pluggin we found a small bug and we are submitting a patch.The first attachment is a small program that creates a scene with two +pyramids, transformed by two instances of +osg::PositionAttitudeTransform. One of them is rotated 90 degrees in +the X axis, and the scene is exported both in the native OSG (.osg) +and COLLADA (.dae) formats. In the first case the rotated pyramid is +displayed correctly whereas in the second the pyramid seems not to be +rotated. - * From Roland Smeenk, "attached is a small crash fix for the case - that a texture is used for transparency without the availability - of a diffuse texture." +In the COLLADA 1.4.1 specification (found at +http://www.khronos.org/collada/) it is specified that +"The element contains a list of four floating-point values +[...] followed by an angle in degrees" but the plugin seems to write +the value in radians. -2009-01-23 15:50 robert +The problem seems to be in the method daeWriter::apply() that seems to +be writing the angle value in radians to the COLLADA file. The patch +can be found in the second attachment and is simply a call to +RadiansToDegrees wrapped around the angle. +" - * Added forward declaration of callbacks to headers to avoid - scoping issues of classes with same names. -2009-01-23 15:12 robert - * Warning fixes for VS, and removal of associated warning disables +Tue, 21 Oct 2008 16:32:55 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "I made a minor tweak in StandardShadowMap.cpp. As agreed with J-S I have added AlphaFunc/AlphaTest to shadow camera stateset to make sure transparent objects will not cast blocky solid shadows." -2009-01-23 15:02 robert +Tue, 21 Oct 2008 16:31:01 +0000 +Checked in by : Robert Osfield +From Chris Denham, "However, just spotted another inconsistency between UFOManipulator::getMatrix() and UFOManipulator::getInverseMatrix() It assumes that inverse(_inverseMatrix * _offset) = _offset * _matrix This is only true when _offset=identity, so I think it should be inverse(_offset) * _matrix This inconsistency can cause problems when switching from UFO to other manipulators, because the UFO:Manipulator::getMatrix function is not necessarily returning a correct inverse of the currently set ModelViewTransform. It was tempting to change the name of the _offset member to _inverseOffset, or to maintain both variables, but in the end went for the minimal change." - * Added workaround for silly posix read deprecation warning under - VS. +Tue, 21 Oct 2008 16:27:22 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, "I ran into a problem when using another library that implemented the same functions as the osg jpeg plugin, i guess they both originated from the same example code :) As a solution I added a namespace in ReaderWriterJPEG.cpp around the functions. " -2009-01-23 14:00 robert +Tue, 21 Oct 2008 15:51:56 +0000 +Checked in by : Robert Osfield +#if'd out an premature StateSet optimization that was causing problems with datasets that mixed multi-texture coord geometry with single texture coord geometries in a single scene graph. - * Removed unneccesary warning disables +Tue, 21 Oct 2008 09:50:07 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-01-23 11:52 robert +Mon, 20 Oct 2008 16:24:57 +0000 +Checked in by : Robert Osfield +Introduce osgDB::FileCache, and updated osgfilecache and DatabasePager to use it. - * Added range of visual rendering properties to readNode's creation - of VolumeTile/ImageLayer. +Mon, 20 Oct 2008 08:43:25 +0000 +Checked in by : Robert Osfield +Introduced support for controlling mipmapping of osgTerrain::ImageLayer and compression of osgTerrain::HeightFieldLayer. -2009-01-23 10:29 robert +Fri, 17 Oct 2008 09:16:02 +0000 +Checked in by : Robert Osfield +From Paul Melis, fixed typo - * From Mattias Froehlich, "To pass the Microsoft application - verifier we have tried to get osgviewer - working with that thing. - This is what was missing so far: - - Make win32 threads behave like the posix implementation when - setting thread - cpu affinity. That includes avoid setting thread affininty on a - non running - thread. Set that once it is running." +Wed, 15 Oct 2008 10:07:21 +0000 +Checked in by : Robert Osfield +From Chris Denham, "I noticed that UFOManipulator _matrix and _inverseMatrix may be inconsistently set due to typo in UFOManipulator::home(). I assume the intention is that _matrix and _inverseMatrix are kept consistent, so corrected file attached.///////////// OSG 2.6 ////////////////// + _inverseMatrix.makeLookAt( _homeEye, _homeCenter, _homeUp ); + _matrix.invert( _matrix ); +///////////// after typo correction ///////////////// + _inverseMatrix.makeLookAt( _homeEye, _homeCenter, _homeUp ); + _matrix.invert( _inverseMatrix ); +///////////////////////////////////////" -2009-01-23 09:24 robert - * From Lionel Lagarde, "here is a correction on - osgVolume/Property - added OSGVOLUME_EXPORT to PropertyAdjustmentCallback - - osgVolume/VolumeTile.cpp - in copy constructor, removed ';' on if - (volumeTile.getVolumeTechnique())" - -2009-01-23 09:22 robert +Tue, 14 Oct 2008 17:20:58 +0000 +Checked in by : Robert Osfield +Changed erroneous ZLIB_INCLUDE_DIRS to ZLIB_INCLUDE_DIR - * Upped notification level of timing stats +Tue, 14 Oct 2008 16:57:37 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "Here is a small change to the CURL plugin to distinguish between a 400 level error and a 500 level error.If a 400 level error occurs, a FILE_NOT_FOUND ReadResult is appropriate. -2009-01-21 19:28 robert +If a 500 level error occurs (such a 503, Service unavailable), the application might want to try to load the file again in a few seconds/minutes. This submission returns ERROR_IN_READING_FILE if a 500 level error occurs so that clients can easily distinguish between the errors. - * Updated wrappers +The actual error code is also added to the "message" of the ReadResult so if a client needs more information, they can just parse the message to retrieve the error code." -2009-01-21 19:02 robert - * From Cedric Pinson, "updated osgAnimation with the trunk here the - update: - - examples/osganimationviewer/AnimtkViewer.cpp: - - add option to display bone (--drawbone) - - dont crash if the file does not contains a - AnimationManagerBase, display the content only - - examples/osganimationviewer/AnimtkViewerGUI.cpp: - - adjust the path of image for the gui - - include/osgAnimation/Interpolator: - - add warn message instead of old assert - - include/osgAnimation/Bone: - src/osgAnimation/Skeleton.cpp: - - change a method name to fit better with what it does. - setMatrixInSkeletonSpace instead of setBoneInSkeletonSpace - - include/osgAnimation/Skinning: - src/osgAnimation/RigGeometry.cpp: - - add patch from Fabien Lavignotte to compute normal correctly - - include/osgAnimation/Sampler: - - adjust behviour without assert, return 0 instead of crashing - " -2009-01-21 19:01 robert +Tue, 14 Oct 2008 16:44:14 +0000 +Checked in by : Robert Osfield +Converted M_PI* usage across to osg::PI - * Fixed compile errors for when ref_ptr<> auto conversion is - disabled +Tue, 14 Oct 2008 16:35:03 +0000 +Checked in by : Robert Osfield +From Ricard Schmidt, dot writer plugin. -2009-01-21 18:47 robert +Tue, 14 Oct 2008 15:24:39 +0000 +Checked in by : Robert Osfield +From James Moliere, " The code below is to show how a heirarchy of objects can be made within a scenegraph. In other words, how there can be a parent/child relationship between objects such that when a parent is rotated or translated, the children move is respect to it's parent movement. A robotic arm is used in this example because this is what I'm using OSG for." - * From Roger James, The changes are as follows:- - - 1. Support for ambient occlusion maps. - 2. A fix for the incorrect handling of normals on all geometries. - The optimizer usually fixed this bug so it probably was not - noticed very often. - 3. A new option flag on the reader. "StrictTransparency" - // Process transparent and transparency settings according to a - strict interpretation of the spec - // See https://collada.org/public_forum/viewtopic.php?f=12&t=1210 - otherwise - // Jump through various hoops to accomodate the multiplicity of - different ways - // that various people have interpreted the specification - 4. Handling of texures in the transparent channel. This is - allowed provided that they are the same texture that is specified - in the diffuse channel. Accomodating a different texture would - require use of programmable pipeline functionality which I have - tried to avoid. - 5. Handling of elements. - "" +Tue, 14 Oct 2008 15:10:10 +0000 +Checked in by : Robert Osfield +Removed geomoflife_frag.cpp experiement from CMakeList.txt file -2009-01-21 18:34 robert +Tue, 14 Oct 2008 14:58:10 +0000 +Checked in by : Robert Osfield +From J.P Delport, game of life example that demonstrates ping pong render to texture rendering - * From Mattias Helsing, "got some feedback from J-S on the - packaging so I have changed the - name of the top folder in each package to OpenSceneGraph-x.y.z - - Noone else has had an opinion on whether compiler and it's - version - should be part of the package filename on their platform/setup so - I'll - leave it as is. That is - No action is taken for compilers other - than - msvc but one can easily add this information to the cmake cache - regardless of platform. - " +Tue, 14 Oct 2008 14:37:11 +0000 +Checked in by : Robert Osfield +Added zlib support to curl and ive plugins -2009-01-21 18:23 robert +Tue, 14 Oct 2008 14:36:24 +0000 +Checked in by : Robert Osfield +Added debug timing code - * Replaced readImageFile() usage with readRefImageFile() to prevent - threading issues with caching of imagery in the osgDB::Registry - cache. +Tue, 14 Oct 2008 14:27:41 +0000 +Checked in by : Robert Osfield +Added a Refrenced::getGlobalReferencedMutex, and OpenThreads::ScopedPointerLock() and use of this in add/removeParent() codes to avoid threading problems when using atomic ref counting. -2009-01-21 17:10 robert +Tue, 14 Oct 2008 14:25:54 +0000 +Checked in by : Robert Osfield +UPdated version numbers - * From Jason Beverage, "I realized today that there is an issue - with the Registry changes I submitted to allow plugins to have - the first go at URLs. - - The code works fine as is if the format plugin is not already - loaded in memory. - - If a plugin is already in memory, say the PNG plugin for example, - then a call to readImageFile("http://server.com/image.png") will - return FILE_NOT_FOUND because osgDB::findDataFile will not be - able to locate the file. So the Registry::read method is - returning before the CURL plugin is given a chance to download - the file. - - I've made a few changes to the Registry to not return - FILE_NOT_FOUND if the filename contains a URL that fix the - issue." +Fri, 10 Oct 2008 12:01:54 +0000 +Checked in by : Robert Osfield +Moved compress/uncompress code across to using gzip compatible methods -2009-01-21 14:37 robert +Thu, 9 Oct 2008 18:46:49 +0000 +Checked in by : Robert Osfield +Added initial cut of gz compress/uncompress plugin - * From Sherman Wilcox, "Minor change to the glPushAttrib(...) call - in - renderWithStencilBuffer(...) - added GL_STENCIL_BUFFER_BIT" +Thu, 9 Oct 2008 17:02:16 +0000 +Checked in by : Robert Osfield +Initial cut of zlib based compress/uncompress plugin -2009-01-21 14:27 robert +Thu, 9 Oct 2008 13:16:49 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode-project, added osgVolume-lib - * Renamed ShaderTechnique to RayTracedTechnique +Thu, 9 Oct 2008 08:52:14 +0000 +Checked in by : Robert Osfield +Fixed the frame rate reporting so that it handles the case when animation is slowed or speeded up -2009-01-21 12:06 robert +Wed, 8 Oct 2008 13:19:16 +0000 +Checked in by : Robert Osfield +Updated date - * Cleaned up osgvolume +Wed, 8 Oct 2008 13:18:14 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS.txt for 2.7.3 dev release -2009-01-21 11:46 robert +Wed, 8 Oct 2008 12:54:45 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Introduced the ability to switch between different visual - properties in osgVolume +Wed, 8 Oct 2008 12:29:43 +0000 +Checked in by : Robert Osfield +Added friend struct ViewData to try and avoid compile issues under HP-UX -2009-01-20 17:53 robert +Wed, 8 Oct 2008 11:30:18 +0000 +Checked in by : Robert Osfield +Added Texture1D(Image*) and Texture3D(Image*) constructors - * Updated wrappers +Wed, 8 Oct 2008 10:55:20 +0000 +Checked in by : Robert Osfield +Replaced std::vector::insert with std::copy + back_inserter to avoid member template problems with sunos. -2009-01-20 17:41 robert +Wed, 8 Oct 2008 10:10:34 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, fixes for HP-UX, SGI and Solaris build - * Moved PropertyAdjustmentCallback from osgvolume.cpp into - osgVolume. - - Updated lighting shaders. +Tue, 7 Oct 2008 15:59:10 +0000 +Checked in by : Robert Osfield +Moved OSG_FORCE_QUERY_RESULT_AVAILABLE_BEFORE_RETRIEVAL into src/osg/CMakeLists.txt -2009-01-20 15:30 robert +Tue, 7 Oct 2008 15:58:07 +0000 +Checked in by : Robert Osfield +Made line graph solid (alpha = 1.0) - * Removed redundent shader files +Tue, 7 Oct 2008 15:41:47 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay and Robert Osfield, added setDataVariance(osg::DYNAMIC) to avoid problems to optimization. -2009-01-20 15:29 robert +Tue, 7 Oct 2008 15:21:12 +0000 +Checked in by : Robert Osfield +Added osgText to link line - * Added lighting based shaders +Tue, 7 Oct 2008 15:19:48 +0000 +Checked in by : Robert Osfield +Restoring Roger's original 2.0 factor as on review the later orthographic projection code doesn't require the position to be far out from the center to simulate an infinite light. -2009-01-20 15:06 robert +Tue, 7 Oct 2008 15:16:37 +0000 +Checked in by : Robert Osfield +From Roger James, "The light position is incorrectly calculated for shadow casting scenes whose bounding box centre is not the origin. This is a one line fix. " - * Added event key variables +Tue, 7 Oct 2008 14:36:46 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski and Robert Osfield, add CMake build option for controlling the Windows/NVidia multi-monitor workaround. -2009-01-20 13:50 robert +Tue, 7 Oct 2008 14:25:09 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added support for SampleDensityProperty and TransparencyProperty +Tue, 7 Oct 2008 14:19:28 +0000 +Checked in by : Robert Osfield +Replaced IntersectVisitor usage with IntersectionVisitor -2009-01-20 12:39 robert +Tue, 7 Oct 2008 14:01:14 +0000 +Checked in by : Robert Osfield +Replaced usage of depreacted IntersectVisitor with IntersectionVisitor - * Added AlphaFunc support into osgVolume::AlphaFuncProperty. +Tue, 7 Oct 2008 13:37:04 +0000 +Checked in by : Robert Osfield +From Jean-Sebastirn Guay, "Inspired by the latest additions to the StatsHandler, here is my own addition. It's a graph that helps show the variation of the various stats over time. It's clearer than just having bars for the last 10 frames or so, IMHO, since 10 frames go by pretty fast...The graph is displayed "under" (behind) the normal bar chart you get when you press 's' twice. It doesn't hide the normal stats, you can still read them without any trouble, and that way, it doesn't take any more screen space. It starts from the left, and will scroll left when there is enough data to fill the screen width. The graph lines have the same colors we're used to (except I made the event color a bit bluer, so it's not exactly the same as the update color). A screen shot is attached. -2009-01-20 11:34 robert +The lines get a bit confused when they're all overlapping at the bottom of the graph, but I think that's the least of our concerns (if they're all at the bottom of the graph - except FPS of course - then great!). - * Fixed compile error when using ITK +The only thing I'm not very keen about is that to make things simple, I clamp the values to a given maximum. Right now, the maximums I have set are: -2009-01-17 17:23 robert +* Frame rate: 100 fps (people have 60, 75, 85Hz refresh rates, so there's no one right value, but I think 100 is OK) +* Stats: 0.016 seconds (what you need to get 60Hz minimum) - * Updated event callback to be able to update iso surface value. +This could be changed so that the scale of the graph changes according to the maximum value in the last screenful of the graph instead of clamping values. We would then need to display the scale for each value on the side of the graph, because if the scale changes, you need to know what it is at this moment. -2009-01-17 17:23 robert +I tried to make things easy to change, so for example if you don't like that the graph is in the same space as the normal stats bars, it's easy to move it anywhere else, and make it have other dimensions. The maximums and colors are also easy to change. - * Updated Uniform name for controlling IsoSurfaceValue +The impact on performance should be minimal, since it's one vertex per graph line that's added per frame, and vertices are removed when they scroll off the screen, so you'll never have more than say 1280 * (3 + ncameras) vertices on the screen at one time. No polygons, I used line strips. The scrolling is done with a MatrixTransform." -2009-01-17 16:00 robert - * Updated wrappers -2009-01-16 17:59 robert +Tue, 7 Oct 2008 13:06:53 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "Attached is an update to the dxf plugin which adds rudimentary support for text entities. " - * Removed old volume rendering scene graph code from osgvolume - example. - - Moved createNormalMapTexture and applyTransferFunction functions - from osgvolume example into include/osgVolume/Layer. +Tue, 7 Oct 2008 12:31:42 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, build fixes -2009-01-16 16:21 robert +Tue, 7 Oct 2008 11:35:41 +0000 +Checked in by : Robert Osfield +Added the ability to release OpenGL objects in PagedLOD subgrphs that are no longer being rendered. - * Completed firt pass implementation FixedFunction and - ShaderTechnique. +Mon, 6 Oct 2008 17:15:16 +0000 +Checked in by : Robert Osfield +Updated wrappers -2009-01-16 11:27 robert +Mon, 6 Oct 2008 17:03:32 +0000 +Checked in by : Robert Osfield +Improved the ImageSequence::setLength() settting. - * Moved basics of fixed function pipeline implementation from - osgvolume example into osgVolume +Mon, 6 Oct 2008 17:02:56 +0000 +Checked in by : Robert Osfield +Updated to reflect changes in NodeVistor::ImageRequestHandler. -2009-01-16 10:34 robert +Mon, 6 Oct 2008 17:02:20 +0000 +Checked in by : Robert Osfield +Refactored ImageSequence to provided a cleaner and more robust implementation - * Added default use of osgVolume::ShaderTechnique +Mon, 6 Oct 2008 14:18:27 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, build fixes for handling Matrix::value_type == float -2009-01-16 10:23 robert +Mon, 6 Oct 2008 14:15:27 +0000 +Checked in by : Robert Osfield +Ran dos2unix - * Introduced ImageLayer computeMinMax + rescaling methods, and use - of rescaleToZeroToOneRange by default. +Mon, 6 Oct 2008 09:39:43 +0000 +Checked in by : Robert Osfield +From Glenn Waldron, "osgTerrain::Locator::setTransformAsExtents() does not update the _inverse member. Fix attached. " -2009-01-15 15:57 robert +Mon, 6 Oct 2008 08:58:50 +0000 +Checked in by : Robert Osfield +Converted tabs to four spaces - * Introduce osgVolume::PropertVisitor, and IsoSurface, - MaximumImageProjection, Ligting and AlphaFunc Properties +Mon, 6 Oct 2008 08:53:54 +0000 +Checked in by : Robert Osfield +Ran dos2unix on headers -2009-01-15 10:44 robert +Mon, 6 Oct 2008 08:53:25 +0000 +Checked in by : Robert Osfield +Ran dos2unix on new shadow implemenations - * Removal of rendundant characters from Camera and Camera.cpp. - - Updated wrappers +Mon, 6 Oct 2008 08:48:44 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "Attached is a fix for getTile in the Terrain class. It should be checking for itr == _terrainTileMap.end() instead of itr != _terrainTileMap.end()." -2009-01-15 10:36 robert +Fri, 3 Oct 2008 16:57:01 +0000 +Checked in by : Robert Osfield +Added include to take advantage of OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION - * From Rudolf Wiedemann, "attached is the osg::Camera class (based - on revision 9493), where - methods - getProjectionMatrixAsOrtho() - getProjectionMatrixAsFrustum() - getProjectionMatrixAsPerspective() - getViewMatrixAsLookAt() (2x) - are now const, as they only call const methods of osg::Matrixf/d. - " +Fri, 3 Oct 2008 15:36:34 +0000 +Checked in by : Robert Osfield +Moved the OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION definition into the Config.in rather use of -D define -2009-01-14 20:43 robert +Fri, 3 Oct 2008 15:15:33 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Changed setVolumeTechnique to setVolumeTechniquePrototype() +Fri, 3 Oct 2008 15:15:04 +0000 +Checked in by : Robert Osfield +Added optional compile of the new ref_ptr<>:T* operator() output conversion operator, controlled via a CMake option OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION. -2009-01-14 20:38 robert +Fri, 3 Oct 2008 15:13:11 +0000 +Checked in by : Robert Osfield +From Neil Groves, addition on a T* implicit output conversion method and removal of comparison methods that are replaced by the single conversion method.From Robert Osfield, optional compilation of above. - * Added VolumeTechnique to Volume -2009-01-14 20:32 robert - * Added osgVolume .osg plugin -2009-01-14 15:16 robert +Fri, 3 Oct 2008 13:38:55 +0000 +Checked in by : Robert Osfield +Compile fix required when using ref_ptr<> implicit output conversion - * Introduced osgVolume::Property, CompositePropery and - TransferFunctionPropety classes +Fri, 3 Oct 2008 13:34:32 +0000 +Checked in by : Robert Osfield +From Neil Groves, added intrusive_ptr_add_ref and intrusive_ptr_release methods to enable usage of boost::intrusive_ptr<> with osg::Referenced objects. -2009-01-14 10:32 robert +Fri, 3 Oct 2008 11:04:23 +0000 +Checked in by : Robert Osfield +From Bryan Thrall, fixed typos in exception strings. - * From Lionel Lagarde, "The last field of the - LightPointAppearancePalette is only valid for > 15.8 version of - the format." +Fri, 3 Oct 2008 11:02:13 +0000 +Checked in by : Robert Osfield +From Paul Martz, "I had to make Yet Another tweak to the workaround for the occlusion query issue on NVIDIA cards. Testing indicates that this produces stable results. I checked this in to the 2.6 branch as revision 8965. Please include this on the trunk" -2009-01-13 17:51 robert +Fri, 3 Oct 2008 09:55:20 +0000 +Checked in by : Robert Osfield +From Neil Groves, "Frequently I would like code that has a signature like: void foo(osg::ref_ptr node) to work for osg::ref_ptr, osg::ref_ptr etc. The behaviour of osg::ref_ptr does not mimic the behaviour of a raw pointer in this regard.To facilitate this possibility I have added a template copy constructor and a template assignment operator. These work for safe conversions like those in my previous example, but fail as desired for non-safe conversions since the template instantiation fails during the raw pointer copy/assignment. - * Integrated state setup code from osgvolume.cpp example into - ShaderTechnique path. +The lack of this facility has appreciably handicapped development of generic algorithms applied to the scene graph, and I believe that this alteration will be welcomed by most of the community. If there are issues with antiquated compilers not supporting template member functions then perhaps a small piece of conditional compilation is in order. -2009-01-13 17:20 robert +I have made the change using the latest release version (2.6) as the base. The full file is attached. - * Introduced class interfaces for FixedFunctionTechnique and - ShaderTechnique volume rendering techniques. +I have not tested building the osg wrappers and the script binding code. I have tested the legal and illegal conversions of both copying and assignment to ensure that behave as expected on MSVC7.1, MSVC8, MSVC9, GCC 4.3." -2009-01-13 10:15 robert - * Added ZLIB_FOUND to dicom qualification -2009-01-13 10:12 robert +Fri, 3 Oct 2008 09:22:40 +0000 +Checked in by : Robert Osfield +From Tatsuhiro Nishioka, submissions posted by Stephan Huber, "attached you'll find a modified ReaderWriterQT.cpp-file where I removed the support for rgb(a)-files. Quicktime supports only files with 3/4-channels rgba-files and not 1/2-channels rgb-files.This submission is from Tatsuhiro Nishioka, here's his original quote: - * Added a / in front of the ${DCMTK_ROOT_INCLUDE_DIR} to workaround - a CMake bug that ignores /usr/local/include directories. - - Added ZLIB to include line. + When FlightGear crashes, the error message + "GraphicsImportGetNaturalBounds failed" shows up. By adding printf + debug, I found the error was -8969: codecBadDataErr when loading a + gray-scaled (2 channels) rgba files even though the file can be loaded + with Gimp and osgViewer properly. -2009-01-12 17:41 robert + So I made an investigation on this problem and found an interesting + thing. This error occurs only when non-rgb files are loaded before rgb + files. The reason is that rgba files can be handled by both + osgdb_rgb.so and osgdb_qt.so, but the error happens only when + osgdb_qt.so try to load a gray-scaled rgba file. - * Added test message + When a program is about to load an rgba file, osgdb_rgb.so is loaded + and it handles the rgba file properly. In contrast, when a gray-scaled + rgb file is being loaded after a non-rgb file (say png) is already + loaded by osgdb_qt.so, osgdb_qt.so tries to load the file instead of + osgdb_rgb, which causes the error above. -2009-01-12 16:37 robert + Anyway, the bad thing is that QuickTime cannot handle gray-scaled rgb + files properly. The solution for this is not to let osgdb_qt handle + rgb files since osgdb_rgb can handle these properly. - * Further tweak to include paths +" -2009-01-12 16:10 robert - * Restructured the include paths -2009-01-12 13:12 robert +Fri, 3 Oct 2008 09:19:53 +0000 +Checked in by : Robert Osfield +From Stephan Huber, removed now redundent setEventQueue method - * Changed to use ref_ptr<> for scene model to avoid crash +Fri, 3 Oct 2008 09:02:23 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, A year ago Stephan Maximilian Huber sent in a submission with enhanced statistics. Because I was interested in the scene statistics of his submission I tried to merge his changes with the current CVS head. I made a few changes to the way the statistics are displayed. Attached you will find the new StatsHandler and a screenshot of the statistics in the compositeviewer example.This code will add two extra statistics options: +-Camera scene statistics, stats for the scene after culling (updated at 10 Hz) +-View scene statistics, stats for the complete scene (updated at 5 Hz) + +Each camera and each view will expand the statistics to the right. + +I also added the requests and objects to compile of the databasepager to the databasepager statistics."" -2009-01-12 11:34 robert - * From Mattias Helsing, "'ve finally finished the rework of the - packaging support. It is - streamlined for tgz and has most of the features that Robert, J-S - and - Sukender requested in december. I have an idea of how to discover - the - vc80 sp1 or not but haven't had time to implement. The script is - completely reworked and now doesn't include cmakes' bundled - CPack.cmake script at all. In summary: - - * filenames are - ---[-compiler]-.tar.gz, - ex. libopenscenegraph-2.7.9-Linux-i386-Release.tar.gz, - libopenthreads-dev-2.7.9-win32-x86-vc80sp1-Debug.tar.gz - - * targets (projects in msvs) are generated for each specified - component, a target that packages everything that is installed - (openscenegraph-all) and there's a target for running all other - packaging targets (Package ALL on msvs, package_ALL in unix - makefiles). - - * It is possible to set the compiler in ccmake (cmake-gui, - whatever you use) - - * the top folder in packages is the same for all packages - (OpenSceneGraph-x.y) - - * the packaging support is limited with cmake-2.6.0 and not as - dynamic. With cmake-2.6.1 and later building the gdal plugin (for - example) will create a package_libopenscenegraph-gdal target. - With - cmake-2.6.0 only the ones that are always built - (libopenscenegraph, - libopenscenegraph-dev, openscenegraph, libopenthreads, - libopenthreads-dev - - * i found a better way to decide whether cpack is available to - guard - the BUiLD_OSG_PACKAGES option" -2009-01-09 19:53 robert +Fri, 3 Oct 2008 08:35:59 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, Wr.t AC3D Texture clamping "I had a quick look at the problem. Attached is a change that is able to provide shared textures for the clamp and the repeat case. So this appears to be the best fix I guess ...Also it additionaly shares the TexEnv StateAttribute in a whole ac3d model." - * From Mattias Helsing, "Following reports by Alberto and Simon - this submission reenables usage - of cmake-2.6.0. As a side note I just installed cmake from the - ubuntu - repositories and got cmake-2.6.0-4ubuntu2 and this one produced - the - currect CMAKE_CXX_FLAGS_RELEASE (-O3 -DNDEBUG). This CMakeLists - is - tested on linux with cmake versions 2.4.8, 2.6.0, 2.6.2 and - 2.6.0-4ubuntu2 - - * Added quotes around CMAKE_CXX_FLAGS var to help cmake-2.6.0 - pick up - that it really is a string value - - * Removed quotes around values that we set in - OSG_AGGRESIVE_WARNING_FLAGS. This makes - OSG_AGGRESIVE_WARING_FLAGS be - of LIST type so the foreach constructs can behave as I planned." -2009-01-09 15:57 robert - * Fixed warning +Fri, 3 Oct 2008 08:33:17 +0000 +Checked in by : Robert Osfield +Added missing dirtyBound() calls -2009-01-09 15:55 robert +Thu, 2 Oct 2008 15:45:08 +0000 +Checked in by : Robert Osfield +Various improvements to the dicom loader to be able to handle a broader range of dicom files - * Fixed warnings +Mon, 29 Sep 2008 18:30:17 +0000 +Checked in by : Robert Osfield +Updated shaders -2009-01-09 15:25 robert +Mon, 29 Sep 2008 17:00:38 +0000 +Checked in by : Robert Osfield +Improved the dicom plugins handling of different slice positions - * Updated version number for next dev release +Mon, 29 Sep 2008 13:22:12 +0000 +Checked in by : Robert Osfield +Turned off the yaw mode on the FlightManipilator to make it easier to navigate in volumes -2009-01-09 15:19 robert +Mon, 29 Sep 2008 11:00:42 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, support for CDash - * Moved osgVolume::ImageUtils to osg::ImageUtils, updated wrappers, - and started moving osgvolume example across to create osgVolume - subgraphs +Mon, 29 Sep 2008 10:59:54 +0000 +Checked in by : Robert Osfield +From Erik den Dekker, "I received a compiler warning in osgDB::registry::readObjectOfType while compiling SVN trunk with MSVC 2008...\..\..\..\src\osgDB\Registry.cpp(910) : warning C4806: '==' : unsafe operation: no value of type 'bool' promoted to type 'osgDB::Registry::LoadStatus' can equal the given constant -2009-01-09 15:11 robert +A quick review of the code revealed a piece of code that was clearly wrong, possibly due to a copy-and-paste error. - * Fix of warning reported on CDash + " -2009-01-09 15:09 robert - * Fixed warnings reported on CDash -2009-01-09 12:21 robert +Mon, 29 Sep 2008 10:56:42 +0000 +Checked in by : Robert Osfield +Added support for using ImageSequence to animate volumes - * From Roland Smeenk, "Attached is a fix for the Collada plugin. A - PositionAttitudeTransform wrote its place elements in the wrong - order." +Sun, 28 Sep 2008 15:16:13 +0000 +Checked in by : Robert Osfield +Improved the isosurface shaders, and mde GLSL usage the default -2009-01-09 12:17 robert +Fri, 26 Sep 2008 15:47:31 +0000 +Checked in by : Robert Osfield +Improved GLSL isosurface support when using a transfer function - * From Andy Skinner, fixes for Solaris build +Fri, 26 Sep 2008 14:50:41 +0000 +Checked in by : Robert Osfield +Added setting of various filters and setResizeNonPowerOfTwoHint(false) on normals maps etc. -2009-01-08 14:52 robert +Fri, 26 Sep 2008 13:51:49 +0000 +Checked in by : Robert Osfield +Added docs for read-threads command line options - * From Cedric Pinson, "Here the updated osganimationskinning.cpp - that works as before" +Fri, 26 Sep 2008 13:51:18 +0000 +Checked in by : Robert Osfield +Changed loadLibrary so that it retusn a LoadStatus variable to enable calling codes to differentiate between whether a library is already loaded, or is newly loaded -2009-01-08 12:47 robert +Fri, 26 Sep 2008 11:29:00 +0000 +Checked in by : Robert Osfield +Added --isosurface and --mip paths into osgvolume example, and added associted shaders - * Added missing *. +Fri, 26 Sep 2008 11:19:59 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "for the rand functions stdlib.h is required ..." -2009-01-08 11:35 robert +Fri, 26 Sep 2008 10:59:28 +0000 +Checked in by : Robert Osfield +From Lionel Lagarde, "Here is a correction on DatabasePager::FindCompileableGLObjectsVisitorThe apply(osg::Drawable *) method doesn't update the _drawableSet and +the isCompiled test was inversed." - * Commented out the warning disabling block -2009-01-08 11:28 robert - * From Mattias Helsing, added back in missing wd entries. +Fri, 26 Sep 2008 10:43:18 +0000 +Checked in by : Robert Osfield +From Fabio Mierlo, "n the lines 428 and 430 of obj.cpp file from release 2.6.0, the parser use only the first 7 characters to compare the string "map_opacity " and to copy the followed parameter, but the string have 12 characters." -2009-01-08 11:26 robert +Thu, 25 Sep 2008 15:20:20 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, added support for CDash - * From Mattias Helsing, "With msvc90 on vista and cmake-2.6.2 i had - to rearrange the blocks - that set aggressive warnings in CMAKE_CXX_FLAGS and the on that - processes the source tree(s) or the newly set flags wouldn't take - effect until second consecutive configure. - - I also replaced the internally cached variables that managed the - aggresive warnings with explicit adding and removing of flags in - CXX_FLAGS - - For apple we first required min cmake version 2.6.0 and then had - code - warning about using 2.4.x" +Thu, 25 Sep 2008 15:19:42 +0000 +Checked in by : Robert Osfield +Removed unused methods -2009-01-08 11:19 robert +Thu, 25 Sep 2008 15:04:05 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added checked from the ARG version of glDraw*Instanced(). +Thu, 25 Sep 2008 14:41:27 +0000 +Checked in by : Robert Osfield +Added osg2cpp example into build -2009-01-08 11:18 robert +Thu, 25 Sep 2008 14:41:06 +0000 +Checked in by : Robert Osfield +Added convinience methods for parse shader source files - * Removed inappropriate file +Thu, 25 Sep 2008 14:39:57 +0000 +Checked in by : Robert Osfield +Created new osg2cpp utility that creates .cpp files from source shaders that can be included directly in application code, see osgvolume for an example. -2009-01-08 11:16 robert +Thu, 25 Sep 2008 14:39:08 +0000 +Checked in by : Robert Osfield +Moved shaders into .cpp, with the shaders created by the new osg2cpp utility - * From Andy Skinner, "I added a const_cast for a call to - atomic_cas_ptr, which takes a void* and has been given a const - void* const." +Thu, 25 Sep 2008 10:21:44 +0000 +Checked in by : Robert Osfield +Added .vert and .frag to list of accepted extension in the GLSL plugin -2009-01-08 11:15 robert +Wed, 24 Sep 2008 16:03:47 +0000 +Checked in by : Robert Osfield +From Jean-Sebastian Guay, fixed windows build - * From Blasius Czink, "It seems there is no atomic_xor_uint_nv(). I - attached a changed version of the Atomic header where a mutex - fallback - is used for "xor" on solaris." +Wed, 24 Sep 2008 16:00:45 +0000 +Checked in by : Robert Osfield +From Riccardo Corsi, Added 3gp file extension to supported list in quicktime plugin -2009-01-08 10:34 robert +Wed, 24 Sep 2008 15:59:55 +0000 +Checked in by : Robert Osfield +Added 3gp extension alias for quicktime - * Moved supression of VS warning C4706 from the include/osg/Export - header into the CMake options list. Added suppression of C4127 as - well. +Wed, 24 Sep 2008 10:45:15 +0000 +Checked in by : Robert Osfield +Added shader based transfer function, enabled via --gpu-tf -2009-01-07 15:35 robert +Wed, 24 Sep 2008 10:20:23 +0000 +Checked in by : Robert Osfield +Fixed transfer function parsing - * Fixed assingment operator +Tue, 23 Sep 2008 17:29:28 +0000 +Checked in by : Robert Osfield +Added mutex usage to protect access to plugin and readerwriter containers -2009-01-07 15:33 robert +Tue, 23 Sep 2008 15:41:49 +0000 +Checked in by : Robert Osfield +Added "serialize" and plugin "preload" options in the "read-threads" code path. - * Added supression VS warning "C4706: assignment within conditional - expression" thanks gets spat out even for perfectly valid if - ((variable=expression)) {} usage. +Tue, 23 Sep 2008 13:58:49 +0000 +Checked in by : Robert Osfield +Added read-threads command line and read thread test back end -2009-01-07 14:49 robert +Tue, 23 Sep 2008 09:59:23 +0000 +Checked in by : Robert Osfield +From Wojciech Lweandowski, added support for noew LispSM shadow technique (use --lispsm on CmdLine) and added IslandScene database (use -4 on CmdLine). - * Added handling of when a View isn't yet assigned to a Viewer to - avoid associated crash +Mon, 22 Sep 2008 17:24:26 +0000 +Checked in by : Robert Osfield +Added support for reading raw data and transfer function from a volume header -2009-01-07 13:16 robert +Mon, 22 Sep 2008 16:18:02 +0000 +Checked in by : Robert Osfield +Added --page-and-discard, --page-and-retain, --preload and --length command line options - * Updated wrappers +Mon, 22 Sep 2008 16:17:28 +0000 +Checked in by : Robert Osfield +Fixed typo -2009-01-07 12:27 robert +Mon, 22 Sep 2008 15:56:22 +0000 +Checked in by : Robert Osfield +Added stats handler - * Fixed warnings +Mon, 22 Sep 2008 15:01:25 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, fixes for OSX build -2009-01-07 11:24 robert +Mon, 22 Sep 2008 14:58:35 +0000 +Checked in by : Robert Osfield +Changed OSG_DEBUG_POSTFIX to use ADDQUOTES in the .cpp rather than trying to add quotes via CMakeLists.txt - * Fixed warnings +Mon, 22 Sep 2008 14:55:19 +0000 +Checked in by : Robert Osfield +From Ralf Habacker and Robert Osfield, added search for plugins with OS specific file plugin extensions -2009-01-07 10:32 robert +Mon, 22 Sep 2008 14:46:54 +0000 +Checked in by : Robert Osfield +Added getExtensionIncludingDot to provide more efficient handling of extensions - * Fixed warnings +Mon, 22 Sep 2008 13:16:29 +0000 +Checked in by : Robert Osfield +Changed the macro usage so that the quotes are now added inside the .cpp -2009-01-07 09:49 robert +Mon, 22 Sep 2008 11:13:50 +0000 +Checked in by : Robert Osfield +Added readNode implementation that creates an osgVolume::Volume for the specified dicom file. - * Added a protected = operator +Sun, 21 Sep 2008 11:12:31 +0000 +Checked in by : Robert Osfield +Added Volume wrappers, and updated terrain wrappers -2009-01-06 19:09 robert +Sun, 21 Sep 2008 11:05:03 +0000 +Checked in by : Robert Osfield +Create initial class placeholders for main volume rendering classes - * Removed the usage of assert to prevent associated compile - warnings and to clean up code +Sat, 20 Sep 2008 15:43:38 +0000 +Checked in by : Robert Osfield +Change TileID::layer to TileID::level -2009-01-06 19:08 robert +Sat, 20 Sep 2008 10:34:47 +0000 +Checked in by : Robert Osfield +From Chris Denham, changed gluGetErrorString to using osg::State::checkGLErrors() to avoid null pointer dereference - * Updated path to reflect where the new button images are located. +Sat, 20 Sep 2008 10:09:56 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, added catch for GL_COLOR_MATERIAL mode being set. -2009-01-06 16:45 robert +Sat, 20 Sep 2008 10:05:31 +0000 +Checked in by : Robert Osfield +From John Vida Larring, "If an application initializes osgViewer::GraphicsWindowEmbedded() but never gets around to do any rendering before the application is closed, the result with be a crash (SIGABRT/std::logic_error) in osg::getGLVersionNumber().The fix was to check whether glGetString( GL_VERSION ) returned a null pointer (Ref. svn diff below). The altered src/osg/GLExtensions.cpp is zipped and attached to this email." - * From Don Leich, "Here are a couple of fixes for the file - examples/osgviewerQT/QOSGWidget.cpp to - address some OS X issues. Most of these fixes were previously - submitted by Julian Scheid. However, this patch however should - not break the example for non-OS X builds and has been tested on - 64-bit Linux as well as Mac OS X 10.5. - - o The value returned by QWidget::winId() is not usable as input - for - WindowData under OS X the way it is for both Windows and Unix. - Julian's fix - for this uses the Carbon API. Since the fix for X11 in unknown, - it is now - assumed that OSG has been built with - OSG_WINDOWING_SYSTEM='Carbon' for this - example to work at all when running under OS X. - - o The CompositeViewer version would hang on exit with the - original timer start - argument. Changing the argument value to match the non-composite - version - seemed to cure the hanging. - - o Julian's patch altered the setGeometry position to 30/30 in - order to see any - window decorations. I did not have this problem, but left his - changes intact. - - o The non-composite viewer needed it's camera initialization - defered until - after the ViewerQOSG's Qt base class had been initialized. - Otherwise, the view - did not cover the entire window. - " -2009-01-06 16:35 robert - * From Ewe Woesnner, "the Inventor loader crashes when a texture - could not be loaded. - - Please find attached a small fix which solves this issue." +Fri, 19 Sep 2008 19:51:57 +0000 +Checked in by : Robert Osfield +Added wrapper support for new osgShadow classes -2009-01-06 16:16 robert +Fri, 19 Sep 2008 19:51:27 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, a range of new ShadowMap implementations include View Dependent Shadow Maps - LispSMFrom Robert Osfield, refactored Wojciech's submission to integrated with osgShadow and use coding sytle more consistent with rest of OSG. - * From Sergey Leontyev, "Some minor(but important) bug fixes for - osgWidget: - - - - 1. In WindowManager.cpp childRemoved method the second parameter - "end" is misleading and - - should be named "numChildren" instead. It represents how many - children to remove. As a result, the method was implemented - incorrectly and failed to remove UI objects. So I fixed it. - - - - replaced this: - - - - void WindowManager::childRemoved(unsigned int start, unsigned int - end) { - while(start < end) { - Window* window = getByIndex(start); - - if(!window) continue; - - if(_remove(window)) { - window->_index = -1; - - window->unmanaged(this); - } - - start++; - } - } - - - - with this: - - void WindowManager::childRemoved(unsigned int start, unsigned int - numChildren) { - for (unsigned int i = start; i < start+numChildren; i++) - { - Window* window = getByIndex(i); - - if(!window) continue; - - if(_remove(window)) { - window->_index = -1; - - window->unmanaged(this); - } - } - } - - - - 2. in Input.cpp - - - - The cursor in Input did not get positioned correctly, probably as - a left over from the TOP LEFT origin system which is now BOTTOM - LEFT. - - in method positioned() - - replaced this: - - _cursor->setOrigin(x + xoffset + 1.0f, y - _cursor->getHeight() + - 1.0f); - - - - with this: - - _cursor->setOrigin(x + xoffset + 1.0f, y + 1.0f); - - - - Now it is placed correctly. - - " -2009-01-06 15:41 robert - * Updated wrappers +Fri, 19 Sep 2008 12:49:22 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, added support for search in the installed directories for plugins -2009-01-06 15:11 robert +Fri, 19 Sep 2008 08:16:41 +0000 +Checked in by : Robert Osfield +From Richard Schmidt, fixed the handling of user data so that it uses ref_ptr<> to avoid data getting deleted. - * From Paul Martz, example demonstating new draw instanced - primitive funcitonality. +Thu, 18 Sep 2008 16:48:21 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2009-01-06 14:55 robert +Thu, 18 Sep 2008 16:03:34 +0000 +Checked in by : Robert Osfield +Added Serializer wrappers - * Added support for primitive instancing +Thu, 18 Sep 2008 15:50:22 +0000 +Checked in by : Robert Osfield +Moved Serializer header from VPB into osgDB. -2009-01-05 18:07 robert +Thu, 18 Sep 2008 15:44:21 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Jean-Sebastien Guay, changed VS aggressive warnings setting - to just /W4. +Thu, 18 Sep 2008 15:18:59 +0000 +Checked in by : Robert Osfield +refactored the getWindows(..) and getContexts(..) methods so that they produce consistent ordering based on the order Camera/slave camera ordering. -2009-01-05 17:52 robert +Thu, 18 Sep 2008 15:16:57 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Attached one namespace/scope lookup problem which shows up on irix." - * From Don Leich, build fix for OSX. +Thu, 18 Sep 2008 14:48:28 +0000 +Checked in by : Robert Osfield +From Christopher Blaesius, "Soft shadow mapping is basically the same as hard shadow mapping beside that it uses a different fragment shader. So for me it makes sense that osgShadow::SoftShadowMap is derived from osgShadow::ShadowMap, this makes it easier to maintain the two classes. Additional SoftShadowMap also provides the same Debug methods as ShadowMap." -2009-01-05 17:35 robert +Thu, 18 Sep 2008 13:54:22 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Jason Beverage, "I thought about the issue I was having with - the CURL plugin automatically trying to download all filenames - with URL's rather than passing the full URL to the plugin. It - turns out the solution was pretty simple. - - I've made a small change to Registry.cpp that puts the CURL logic - AFTER the URL has been passed to the plugin rather than assuming - all URL's need to be downloaded by the CURL plugin. This way, - plugins can have first crack at the URL's, and if they don't - handle it the previous CURL behavior kicks in." +Thu, 18 Sep 2008 13:54:13 +0000 +Checked in by : Robert Osfield +From Alan Dickinson, change methods to virtual. -2009-01-05 17:06 robert +Thu, 18 Sep 2008 13:18:12 +0000 +Checked in by : Robert Osfield +From John Argentieri, added missing _stripTextureFilePath( false ) initializer. - * From Paul Martz, added --points option for forcing points - rendering of polygonal models +Thu, 18 Sep 2008 13:09:21 +0000 +Checked in by : Robert Osfield +From Chris Denham, added missing ccopy of polyOffset in copy constructor -2009-01-05 16:53 robert +Thu, 18 Sep 2008 13:05:24 +0000 +Checked in by : Robert Osfield +From Chris Denham, " I think I may have discovered a bug in osgShadow/ShadowMap.cpp that results in incomplete shadows being generated. The problem seems to caused by an incorrect interpretation of the spot light cutoff angle. The valid ranges for spot cutoff are 0-90 and 180, i.e half the 'field of view' for the spotlight. Whereas the shadow map code seems to assume the the spot cutoff is equal to the field of view. This results in the shadows generated by the spotlight getting clipped at half the spot cutoff angle.I have fixed this in my copy of ShadowMap.cpp: +=============================== +//Original code from OSG 2.6: + if(selectLight->getSpotCutoff() < 180.0f) // spotlight, then we don't need the bounding box + { + osg::Vec3 position(lightpos.x(), lightpos.y(), lightpos.z()); + float spotAngle = selectLight->getSpotCutoff(); + _camera->setProjectionMatrixAsPerspective(spotAngle, 1.0, 0.1, 1000.0); - * From Roland Smeenk, "Attached you will find an improved Collada - plugin to properly support camera's. - A Collada camera will be added to the scenegraph as - osg::CameraView. This allows the user to create a set of - predefined camera viewpoints. I also added a new - MatrixManipulator to osgGA called CameraViewSwitchManipulator and - added usage of this to the osgviewer example. This manipulator - allows switching between the predefined camera viewpoints. The - current design limition I ran into is that a MatrixManipulator - only manipulates the ViewMatrix, but for this particular - manipulator I also want to update the projectionMatrix of the - camera when switching to a new viewpoint. This is not implemented - because I don't know what would be the best way to design it. Any - ideas? - - Furthermore Collada also supports orthographic camera's, where an - osg::CameraView only supports a perspective camera. Would it be - useful to create a CameraView with customizable optics for this?" +_camera->setViewMatrixAsLookAt(position,position+lightDir,osg::Vec3(0.0f,1.0f,0.0f)); + } +=============================== +// My modifications: + float fov = selectLight->getSpotCutoff() * 2; + if(fov < 180.0f) // spotlight, then we don't need the bounding box + { + osg::Vec3 position(lightpos.x(), lightpos.y(), lightpos.z()); + _camera->setProjectionMatrixAsPerspective(fov, 1.0, 0.1, 1000.0); -2009-01-05 12:21 robert +_camera->setViewMatrixAsLookAt(position,position+lightDir,osg::Vec3(0.0f,1.0f,0.0f)); + } - * Updated wrappers +This change seems correct for spot cutoff in the range 0, 90, but since OpenGL doesn't claim to support cutoffs >90 && <180, I'm not sure how shadow map should deal with those cases, but ignoring spot cut off greater than 90 here seems reasonable to me. +" -2009-01-05 11:58 robert - * From Paul Martz, Correction to Timer method comment. -2009-01-05 11:31 robert - * From Cedric Pinson, added non const getText() method +Thu, 18 Sep 2008 12:57:15 +0000 +Checked in by : Robert Osfield +From Ralf Habacker, "the appended patch fixes the problem reported on http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2008-January/006110.html. "> Using QOSGWidget - QWidget + osgViewer creating the graphics context. +> +> Windows Error #2000: [Screen #0] GraphicsWindowWin32::setWindow() - Unable +> to create OpenGL rendering context. Reason: The pixel format is invalid. +> +> +> +> And then the following fate error pops up: +> +> +> +> The instruction at "0x014c7ef1" referenced memory at "0x000000a4", The +> memory could not be "read". +> +> Click on Ok to terminate the program +> +> Click on CANCEL to debug the program +> +> -2009-01-05 11:26 robert - * Introduced osgVolume::Layer and Locator classes mirrroring - similar classes in osgTerrain. -2009-01-05 10:13 robert - * Change the aggressive warning level under VS to /W3 -2008-12-24 11:05 robert +Thu, 18 Sep 2008 12:50:20 +0000 +Checked in by : Robert Osfield +From Robert Osfield and Christophe Loustaunau, fixes for support for 16bit and 32bit tiff images - * Fixed warning +Thu, 18 Sep 2008 10:52:35 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "I did some performance test runs with the development gcc-4.4 version. To make it compiel with future gcc's we sppear to need the attached missing includes ..." -2008-12-24 10:30 robert +Thu, 18 Sep 2008 10:49:18 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, "This is an addition for osgSim reader/writer for the osg ascii file format adding osgSim::OverlayNode support. " - * Fixed warnings +Thu, 18 Sep 2008 10:39:37 +0000 +Checked in by : Robert Osfield +From Tim Moore, "his submission fixes a bug when the ModularEmitter and ParticleSystem are in different frames of reference. Specifically, it supports the case where the ParticleSystem is not in the world frame. One way this can come up is if your world coordinate system is Earth-centric; the float coordinates of particles don't have enough precision to avoid terrible jitter and other rendering artifacts, so it's convenient to root the particle systems in a local Z-up coordinate system that gets moved around from time to time. "Tweak from Robert Osfield, converted code to use new Drawable::getWorldMatrices method -2008-12-22 21:17 robert - * Made aggressive warnings the default. -2008-12-22 21:16 robert +Thu, 18 Sep 2008 10:38:18 +0000 +Checked in by : Robert Osfield +Improved the constness of parameters the Node::getWorldMatrices(..) method.Added Drawable::getWorldMatrices(const Node*) method. - * Fixed warnings -2008-12-22 18:30 robert - * Build fix +Wed, 17 Sep 2008 20:02:39 +0000 +Checked in by : Robert Osfield +From Rob Bloemkool, "This is a submission for src/osgPlugins/ogr/ReaderWriterOGR.cpp - adds display of options when using osgconv --formats. - adds useGroupPerFeature option to have each feature in a separate group. Usage: OSG_OPTIMIZER=OFF osgconv -e ogr -O addGroupPerFeature " -2008-12-22 08:26 robert +Wed, 17 Sep 2008 19:51:35 +0000 +Checked in by : Robert Osfield +From Ewe Woessner, "I looked at the Anaglyphic stereo implementation in SceneView.cpp and think I spotted some copy-paste bugs.osg::ColorMask* leftColorMask = _renderStageLeft->getColorMask(); +if (!leftColorMask) +{ + leftColorMask = new osg::ColorMask(); + _renderStageLeft->setColorMask(leftColorMask); + ^^^^ here it said right, I think this should be Left. +} - * From Paul Martz, "Typing "osgconv" alone displays the --help - family of options, as it should, but it also displays info about - --formats and --plugins, which seems out of place because no - other options are mentioned here. - - The code changes osgconv so that "osgconv --help" displays help - info about --formats and --plugins, plus it also displays - documentation for --format and --plugin, which were previously - missing." -2008-12-21 20:42 robert +// ensure that right eye color planes are active. +osg::ColorMask* rightColorMask = _renderStageRight->getColorMask(); + ^^^^ similar here, I think this should be right +if (!rightColorMask) +{ + rightColorMask = new osg::ColorMask(); + _renderStageRight->setColorMask(rightColorMask); +} - * Changed VolumeTile::setImage(Image*) to setImage(uint i, Image*) - to allow multiple images to be attached to single tile +and i further removed an unnecessary setColorMask." -2008-12-21 20:24 robert - * From Mattias Helsing, "Replace the IF(POLICY CMP0008) with an - absolute version check for - cmake > 2.6.0. - The POLICY keyword is only valid starting with cmake-2.4.7 so - using it - broke cmake 2.4.5/6 support." -2008-12-20 20:55 robert +Wed, 17 Sep 2008 19:25:40 +0000 +Checked in by : Robert Osfield +From Mattias Helsing,CMakeLists.txt changes: "I installed latest Cmake(2.6.1) on a new machine and got a CMP008 +warning from cmake. This fix set up osg to use the old behaviour which +have worked before. We might set this to NEW but I need to do more +testing first. I'l be able to test this on winxp with msvc80/90 and +ubuntu hardy with gcc-4.2. - * Renamed osgVolume::Brick to osgVolume::VolumeTile +quote from cmake cvs log +policy CMP0008 to decides how to treat full path libraries that do not +appear to be valid library file names. Such libraries worked by +accident in the VS IDE and Xcode generators with CMake 2.4 and below." -2008-12-20 20:30 robert - * Changed the scale from 0.03 to 0.0254 as the Q3 bsp files are in - inches. +OsgMarcroUtils.cmake changes: "On Philips suggestion truncated a redundant if/else construction in +OsgMacroUtils to avoid developer warnings in cmake-2.6.1 concerning +cmake policy CMP0008 which allows full paths to libraries only with +valid library names +" -2008-12-20 13:35 robert - * From Jason Daly, "'ve been busy working on the Source engine - plugins. There are several contributions in this submission: - - osgDB/FileUtils.cpp: - Needed this extra code to allow a true case-insensitive search. - This is because the HL2 map and model files are often sloppy with - case. For example, the file might look for - materials/models/alyx/alyx_sheet.vtf, but the file is actually in - materials/Models/Alyx/alyx_sheet.vtf. In case-insensitive mode, - the new code recursively disassembles the path and checks each - path element without regard to case. In case-sensitive mode, the - code behaves exactly as it used to. The new code is also mostly - skipped on Windows because of the case-insensitive file system. - Previously, I did all of this with custom search code in the .bsp - plugin, but this allows the user to tailor the search using - OSGFILEPATH. There are some instructions in the plugins' README - files about this. - - osgPlugins/mdl: - This is a new plug-in for Half-Life 2 models (as opposed to - maps). This allows you to load Source models individually, as - well as allowing the .bsp plugin to load models (props) that are - embedded into maps. Mdl files can contain simple object (crates, - barrels, bottles), as well as fully articulated characters with - skeletal animations. Currently, it can load the simple objects. - It can also load the characters, but it can't load the skeletons - or animations. - - osgPlugins/bsp: - This contains all of the changes needed to load props along with - the basic map geometry. There are also - several bugs fixed. - - osgPlugins/vtf: - This is the loader for Valve's texture format. Previously, we had - agreed to put this in with the bsp plugin, but I didn't think of - the .mdl plugin at that time. It's conceivable that a user might - want to load models individually (not as part of a map), so the - vtf reader does have to be separate. I also fixed a rather - significant bug. - - I tested all of this code on RHEL 5.2 (32-bit), and Fedora 9 - (64-bit). I'll be testing on Windows soon. - - I also attached a simple .mdl file, along with it's associated - files and textures. Just extract the tarball into it's own - directory, set your OSGFILEPATH to point at that directory, and - load the model like this: - - osgviewer models/props_junk/gascan001a.mdl" -2008-12-20 12:52 robert - * Added OPTIONAL into INCLUDE(FindPkgConfig) +Wed, 17 Sep 2008 18:56:59 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, "Cygwin's cmake build adds a "d" postfix to the plugins installed in debug mode. Nevertheless, the code doesn't acknowledge that, so I had problems with debug versions of the library not being able to open their plugins whereas the release versions worked fine.I have made the same changes in Registry.cpp that are available for the rest +of platforms appending that "d" to their plugins. I have also updated the +CMakeLists.txt file to get "_DEBUG" defined at compilation time. I have +copied the already existent conditional block because of cmake's bizarre +operator precedence. Since Cygwin defines both CYGWIN and WIN32, the +following would suffice: -2008-12-19 19:04 robert +IF(CYGWIN OR UNIX AND NOT WIN32 AND NOT APPLE) - * Updated ChangeLog for 2.7.8 dev release +Sadly, it actually doesn't work, so I wrote a new conditional block just for +Cygwin. I could join the two blocks when the parentheses support is added in +newer versions of cmake." -2008-12-19 18:37 robert - * Added osgversion into dynamic build path -2008-12-19 18:02 robert +Wed, 17 Sep 2008 18:54:23 +0000 +Checked in by : Robert Osfield +From Adrian Egli, "i came around reviewing my code, and found now finally a solution to remove the polygon offset issue. as we all know the polygon offset has a different behaviour on different GPU system (ATI, NVidia) and this make the use of polygon offset complicate. so i looked for a solution to remove this offset.i changed the shader, also the filtering (default: on) use now a correct 3x3 filter: + 1 0 1 + 0 2 0 + 1 0 1 - * Removed debug message +div: 6 -2008-12-19 17:50 robert +of course a better one would be + 1 2 1 + 2 4 2 + 1 2 1 - * Moved main setSceneData methods in - osgViewer::View::setSceneData() +div: 16 +but this isn't as performant as the simple filter above is. because we need only 5 texture lookups instead of 9, and the result is still good, if you wish we can add a enum to change the pcf filter type once, if there is a need. -2008-12-19 17:15 robert - * Updated wrappers +testet on NVidia Quatro 570M and on ATI Radeon X1600 -2008-12-19 17:15 robert +" - * From Jean-Sebastein Guay, I recently had to reimplement screen - capture functionality into our framework (which was broken since - the switch from OSG 1.2 to 2.2 over a year and a half ago). I - used the ScreenCaptureHandler which I had contributed right - before OSG 2.6 shipped, bit I had to trigger the screen capture - programatically instead of by a key press in some cases, so I - added a convenience method to do that. - - It's a minimal change, it just calls an already existing - protected method. It was trivial to subclass the handler to do it - in our code, but pushing the change into OSG makes sense as it's - generally useful to have it in the handler itself. - - I also noticed that the handle() method was overridden from - osgGA::GUIEventHandler but wasn't marked virtual. It wasn't - intended that subclasses not be able to override it in turn, so - I've added the keyword."" -2008-12-19 16:59 robert - * Fixed warning +Wed, 17 Sep 2008 18:51:17 +0000 +Checked in by : Robert Osfield +From Adrian Egli, "I changed the PSSM shadow map implementation, if we have filtered turned on, it should be now correct. The implementation is more robut on different scene. i tested it on NVIDIA card against a park scene, a chess board and a terrain. unfort. i couldn't test it on any ATI system. may there will be still another problem there. if there are still some artefacts. we should try out better fZOffSet value " -2008-12-19 16:35 robert +Wed, 17 Sep 2008 18:42:52 +0000 +Checked in by : Robert Osfield +From Bill Prendergast, "Found a typo in CameraRenderOrderSortOp in osg/GraphicsContext.cpp (V2.6.0 and prior) as noted below:struct CameraRenderOrderSortOp +{ + inline bool operator() (const Camera* lhs,const Camera* rhs) const + { + if (lhs->getRenderOrder()getRenderOrder()) return true; + if (rhs->getRenderOrder()getRenderOrder()) return false; +---> return lhs->getRenderOrderNum()getRenderOrderNum(); + ^^^ ^^^ + } +}; - * Fixed compile error during debug build +Corrected code attached." -2008-12-19 16:13 robert - * Added support for user defined clipping of the precipitation - effect, to test use: - - osgpreciptation lz.osg --clip 20 - -2008-12-19 16:12 robert - * Added setting of the gl_ClipVertex to enable clip planes to - affect preciptation -2008-12-19 15:29 robert +Wed, 17 Sep 2008 17:25:39 +0000 +Checked in by : Robert Osfield +From Christophe Loustaunau," I have found some errors on the example osgGeometryShaders. It's about the varying in the geometry shader. take a look at the varying vec4 v_color. In the vertex shader, v_color is initialized to gl_vertex then in the geometry shader v_color is initialized to gl_PositionIn[0] and in the fragment shader v_color is used as the fragment color.Try to initialized v_color to vec4(1.0, 0.0, 0.0, 1.0) in the vertex shader and comment the line : +" v_color = v;\n" in the geometry shader, and you will see the lines as black ! - * Added ClipNode::set/getReferenceFrame(); +It's because you have to use keywords in and out. -2008-12-19 14:30 robert +extract from : http://www.opengl.org/registry/specs/EXT/geometry_shader4.txt : - * Removed MATH_LIBRARY and FREETYPE library reference. +in - for function parameters passed into a function or for input varying +variables (geometry only) -2008-12-19 12:58 robert +out - for function parameters passed back out of a function, but not +initialized for use when passed in. Also for output varying variables +(geometry only). - * Fixed warning & error +Then for a geometry shader, a varying must be an array : +extract from : http://www.opengl.org/registry/specs/EXT/geometry_shader4.txt : -2008-12-19 12:50 robert +Since a geometry shader operates on primitives, each input varying variable needs to be +declared as an array. Each element of such an array corresponds to a +vertex of the primitive being processed. If the varying variable is +declared as a scalar or matrix in the vertex shader, it will be a +one-dimensional array in the geometry shader. Each array can optionally +have a size declared. If a size is not specified, it inferred by the +linker and depends on the value of the input primitive type. - * Reverted previous check-in to osgviewer.cpp as this was an - accididental check-in with the code only in testing state, not - appropriate to be checked-in. -2008-12-19 12:46 robert +Here is a patch based on the svn version of osg that correct that. +" - * Fixed warning -2008-12-19 12:29 robert - * Fixed warning +Wed, 17 Sep 2008 17:13:13 +0000 +Checked in by : Robert Osfield +From Max Bandazian, "Lines 302-305 of WindowManager.cpp seem to have a parenthesizing error - the code is if( (!win || win->getVisibilityMode() == Window::VM_PARTIAL) && !win->isPointerXYWithinVisible(x, y) ) continue;But it probably should be -2008-12-19 12:28 robert +if (!win || (win->getVisibilityMode() == Window::VM_PARTIAL) && !win->isPointerXYWithinVisible(x, y))) + continue; - * Added StandardShadowMap to list to test cases +The effect of the bug is to segfault if a non-osgWidgets::Window node hasn't been excluded from picking via NodeMask." -2008-12-19 11:36 robert - * Updated wrappers -2008-12-19 11:04 robert +Wed, 17 Sep 2008 17:07:52 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Mattias Helsing, " - * Removed processing of include/OpenThreads in the OpenSceneGraph - refman - * Clears the mark_as_advanced property of the BUILD_DOCUMENTATION - cmake variable (so it gets visible in simple view). - " +Wed, 17 Sep 2008 16:14:28 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "This is a generic optimization that does not depend on any cpu or instruction set.The optimization is based on the observation that matrix matrix multiplication +with a dense matrix 4x4 is 4^3 Operations whereas multiplication with a +transform, or scale matrix is only 4^2 operations. Which is a gain of a +*FACTOR*4* for these special cases. +The change implements these special cases, provides a unit test for these +implementation and converts uses of the expensiver dense matrix matrix +routine with the specialized versions. -2008-12-19 10:20 robert +Depending on the transform nodes in the scenegraph this change gives a +noticable improovement. +For example the osgforest code using the MatrixTransform is about 20% slower +than the same codepath using the PositionAttitudeTransform instead of the +MatrixTransform with this patch applied. - * Updated wrappers +If I remember right, the sse type optimizations did *not* provide a factor 4 +improovement. Also these changes are totally independent of any cpu or +instruction set architecture. So I would prefer to have this current kind of +change instead of some hand coded and cpu dependent assembly stuff. If we +need that hand tuned stuff, these can go on top of this changes which must +provide than hand optimized additional variants for the specialized versions +to give a even better result in the end. -2008-12-18 17:40 robert +An other change included here is a change to rotation matrix from quaterion +code. There is a sqrt call which couold be optimized away. Since we divide in +effect by sqrt(length)*sqrt(length) which is just length ... +" - * Fixed typo -2008-12-18 17:09 robert - * From Bob Kuehne, "minor tweak to the cmake root file to handle - debug correctly on os x." +Wed, 17 Sep 2008 14:23:25 +0000 +Checked in by : Robert Osfield +Updated osgwidget examples to use the new osg::clone() methods -2008-12-18 17:01 robert +Wed, 17 Sep 2008 14:23:05 +0000 +Checked in by : Robert Osfield +Updated wrappers of osgWidget - * Refactored the handling of particle rotation +Wed, 17 Sep 2008 14:21:47 +0000 +Checked in by : Robert Osfield +Tweaks to facilitate osgWrapper build -2008-12-18 16:10 robert +Wed, 17 Sep 2008 14:21:19 +0000 +Checked in by : Robert Osfield +Introduce new templated clone(..) methods that return the correct type of object cloned. - * Fixed warnings +Wed, 17 Sep 2008 11:43:14 +0000 +Checked in by : Robert Osfield +Added support for finding DCMTK-3.5.4 installed lib/include placement -2008-12-18 15:49 robert +Tue, 16 Sep 2008 18:41:13 +0000 +Checked in by : Robert Osfield +Added osgVolume to docs and wrappers - * Fixed warnings +Tue, 16 Sep 2008 15:32:23 +0000 +Checked in by : Robert Osfield +Introduced beginings of osgVolume NodeKit. -2008-12-18 14:18 robert +Tue, 16 Sep 2008 15:31:47 +0000 +Checked in by : Robert Osfield +Complted the first pass at the DCMTK based dicom loader - * Added MATH_LIBRARY to link list +Tue, 16 Sep 2008 09:31:29 +0000 +Checked in by : Robert Osfield +Change the GLSL textureRec and texture2D parameters to use .st to make sure they only use 2D coords.Add setResizeNonPowerOfTwoHint to false for Texture2D. -2008-12-18 13:56 robert - * Fixed warnings -2008-12-18 13:23 robert +Mon, 15 Sep 2008 19:59:12 +0000 +Checked in by : Robert Osfield +Added optional usage of DCMTK in the dicom plugin - * Fixed warnings +Mon, 15 Sep 2008 11:27:30 +0000 +Checked in by : Robert Osfield +From Ralf Habacker, removed redundent SwitchLayer::clear() -2008-12-18 12:29 robert +Sun, 14 Sep 2008 10:31:27 +0000 +Checked in by : Robert Osfield +Introduced Geometry::containsSharedArrays() and Geometry::duplicateSharedArrays() to support a fix to the osgUtil::Simplifier that couldn't handle shared arrays - * Fixed warning +Sat, 13 Sep 2008 13:38:06 +0000 +Checked in by : Robert Osfield +Added reading of whole directories of images -2008-12-18 12:27 robert +Sat, 13 Sep 2008 09:09:51 +0000 +Checked in by : Robert Osfield +Introduced TransferFunction1D::assign(ValueMap&). - * Quitened down debug messages +Fri, 12 Sep 2008 15:41:30 +0000 +Checked in by : Robert Osfield +Removed use of ints and reading from gl_FragColor in shader -2008-12-18 12:26 robert +Thu, 11 Sep 2008 16:11:51 +0000 +Checked in by : Robert Osfield +Updated version numbers in prep for up comming dev release - * Fixed warnings +Thu, 11 Sep 2008 16:06:37 +0000 +Checked in by : Robert Osfield +Added an svn update into the make ChangeLog entry. -2008-12-18 12:25 robert +Thu, 11 Sep 2008 16:01:17 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Quitened down debug message +Thu, 11 Sep 2008 14:28:42 +0000 +Checked in by : Robert Osfield +Refinements to SwitchLayer and WhiteListTileLoadedCallback -2008-12-18 11:54 robert +Thu, 11 Sep 2008 14:27:50 +0000 +Checked in by : Robert Osfield +Added support for SwitchLayer into GeometryTechnique - * Fixed warnings +Thu, 11 Sep 2008 13:21:58 +0000 +Checked in by : Robert Osfield +Introduced osgTerrain::WhiteListTileLoadedCallback for the management of options terrain layers -2008-12-18 11:06 robert +Thu, 11 Sep 2008 10:40:48 +0000 +Checked in by : Robert Osfield +First cut of WhiteListTileLoadedCallback - * Fixed warnings +Thu, 11 Sep 2008 09:26:14 +0000 +Checked in by : Robert Osfield +Changed the createGeodeFromImage code to use the non power of two extension, and disabled mipmapping -2008-12-17 22:52 robert +Thu, 11 Sep 2008 09:05:16 +0000 +Checked in by : Robert Osfield +Added support for reading source image file names from the command line. - * Improved the effectiveness of the new max target number PageLOD's +Wed, 10 Sep 2008 18:11:54 +0000 +Checked in by : Robert Osfield +Introduced TerrainTile::TileLoadedCallback -2008-12-17 17:23 robert +Wed, 10 Sep 2008 16:17:17 +0000 +Checked in by : Robert Osfield +Removed unneccessary compound name usage - * From J.P Delport, "I changed the default HDR mode to the ARB - format and put in comments for some other possible modes. - - Some other comment cleanups too." +Wed, 10 Sep 2008 11:38:49 +0000 +Checked in by : Robert Osfield +Removed debugging output -2008-12-17 17:11 robert +Wed, 10 Sep 2008 11:28:47 +0000 +Checked in by : Robert Osfield +Changed the image reading so that it leverages the osgDB::Input::readImage() method to ensure that it picks up on any local paths set on the Input object. - * Fixed warnings +Wed, 10 Sep 2008 11:27:45 +0000 +Checked in by : Robert Osfield +Changed the path management so that the node path is prepended on the database path list, rather than replacing it. -2008-12-17 16:58 robert +Wed, 10 Sep 2008 11:27:00 +0000 +Checked in by : Robert Osfield +Added playing of the imagesequence on creation of the imagesequence - * Fixed inactive PagedLOD removal code +Wed, 10 Sep 2008 11:26:30 +0000 +Checked in by : Robert Osfield +Added osg::Image::set/getWriteHint() that allows images themselves to control how they are written to disk, either inline or as an external file. Added support for this in the .ive plugin. Default of WriteHint is NO_PREFERNCE, in which case it's up to the reader/writer to decide. -2008-12-17 16:13 robert +Thu, 4 Sep 2008 17:30:56 +0000 +Checked in by : Robert Osfield +Fix for when looping is is disabled - * Fixed warnings +Thu, 4 Sep 2008 14:23:29 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode-project -2008-12-17 16:02 robert +Tue, 2 Sep 2008 16:13:54 +0000 +Checked in by : Robert Osfield +Added acceptance of .ogv extensions in xine-lib plugin - * Fixed warnings +Tue, 2 Sep 2008 12:55:26 +0000 +Checked in by : Robert Osfield +Added setSetName/getSetName() methods -2008-12-17 15:36 robert +Mon, 1 Sep 2008 16:28:02 +0000 +Checked in by : Robert Osfield +Update ChangeLog - * Fixed warnings +Mon, 1 Sep 2008 15:29:22 +0000 +Checked in by : Robert Osfield +Replaced uint with unsigned int -2008-12-17 15:32 robert +Mon, 1 Sep 2008 15:27:35 +0000 +Checked in by : Robert Osfield +Introduced a OSG_MAINTAINER section of cmake build to help support making tags and branches - * Fixed warnings +Mon, 1 Sep 2008 14:05:40 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-12-17 14:56 robert +Mon, 1 Sep 2008 14:03:41 +0000 +Checked in by : Robert Osfield +Changed curr and min to current and minimum respectively, to avoid compile problems under Windows - * Fixed warnings +Mon, 1 Sep 2008 12:40:33 +0000 +Checked in by : Robert Osfield +Implemented support for ShapeAttributeList, used John Vidar Larring's initial submission as a base, but implementing the user data functionality in a different way to facilitate more flexible user data support -2008-12-17 13:14 robert +Mon, 1 Sep 2008 12:39:19 +0000 +Checked in by : Robert Osfield +From John Vidar Larring, initial cut of .ive support for ShapeAttributeList user data - * Warning fixes +Mon, 1 Sep 2008 11:09:03 +0000 +Checked in by : Robert Osfield +Updated version for 2.7.2 dev release -2008-12-17 12:13 robert +Mon, 1 Sep 2008 10:49:22 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Introduce NodeVisitor::className and libraryName() +Mon, 1 Sep 2008 10:48:28 +0000 +Checked in by : Robert Osfield +Added call to free in setValue methods to prevent potential memory leak -2008-12-17 11:00 robert +Mon, 1 Sep 2008 10:46:50 +0000 +Checked in by : Robert Osfield +From Mathias Froehilch,"Current include/osgSim/ShapeAttribute also misses string.h include because of strdup. Attached is the changed file." - * Warning fixes +Mon, 1 Sep 2008 10:22:06 +0000 +Checked in by : Robert Osfield +From He Sicong, "I found a bug here in VERTICAL_SPLIT stereo type: The vertical separation not actually displayed as it is set. So some display the up and down stereo images style will not be correct. Someone may forget to change the "Horizontal" to "Vertical" after copying and pasting the code from above HORIZONTAL_SPLIT code segment. I've attached the file. By replacing the incorrect "Horizontal" to "Vertical", the bug is gone. " -2008-12-17 10:34 robert +Mon, 1 Sep 2008 10:19:06 +0000 +Checked in by : Robert Osfield +Removed std:: from in front of strcmp and added a string.h - * From Sekender, fixed warnins +Mon, 1 Sep 2008 10:06:19 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "Most recent changes to CameraPathEventHandler change path writing method. Now control points are written on the fly. But default stream precision is not adjusted as it used to and remains set to 6 digits (at least with VS 2008) so larger coordinates like positions on Earth Ellipsoid loose lots of fidelity. This patch fixes this issue. " -2008-12-17 10:33 robert +Mon, 1 Sep 2008 09:57:35 +0000 +Checked in by : Robert Osfield +Build fixes for Windows - * Fixed warnings +Fri, 29 Aug 2008 09:28:28 +0000 +Checked in by : Robert Osfield +Added CompositeLayer::addLayer(setname,filename) convinience function -2008-12-17 10:01 robert +Fri, 29 Aug 2008 09:26:07 +0000 +Checked in by : Robert Osfield +From Michael Guerrero, "I've attached the files with the new addition of the "registered = true" flag set." - * From Jean-Sebastien Guay, added missing export +Thu, 28 Aug 2008 16:15:57 +0000 +Checked in by : Robert Osfield +Introduce the concept of layer set name, using the osg::Object::s/getName() to store the setname, and using a compound string (set:setname:filename) in place of standard filename when reading and writing files. -2008-12-16 21:16 robert +Thu, 28 Aug 2008 09:43:00 +0000 +Checked in by : Robert Osfield +Converted AutoTransform to use doubles. - * Updated wrappers +Wed, 27 Aug 2008 10:13:30 +0000 +Checked in by : Robert Osfield +Introduced SwitchLayer which will form the basis of provided support for varients -2008-12-16 20:49 robert +Tue, 26 Aug 2008 17:40:04 +0000 +Checked in by : Robert Osfield +Improved the GLSL implementation. - * Build fixes for when the implict ref_ptr<> cast is not enabled +Tue, 26 Aug 2008 12:55:26 +0000 +Checked in by : Robert Osfield +Added ChangeLog target for updating the ChangeLog, and updated the ChangeLog and AUTHORS files -2008-12-16 20:29 robert +Tue, 26 Aug 2008 12:05:24 +0000 +Checked in by : Robert Osfield +Added wrapper build target for generating the osgWrappers - * From Cedric Pinson and Jeremey Moles, Changes to - OpenSceneGraph-osgWidget-dev branch. - - Notes from Robert Osfield, Merged changes to - OpenSceneGraph-osgWidget-dev r9367 (prior to my botched attempt - at merged svn/trunk into the branch). +Tue, 26 Aug 2008 09:39:45 +0000 +Checked in by : Robert Osfield +Added provisional block in computePositions() -2008-12-16 19:49 robert +Tue, 26 Aug 2008 08:41:30 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, attached is a small fix for a mismatched function signature - * From Bob Kuehne, build fixes. +Mon, 25 Aug 2008 16:44:48 +0000 +Checked in by : Robert Osfield +Updated version number for 2.7.1 release, and added OSG_FORCE_QUERY_RESULT_AVAILABLE_BEFORE_RETRIEVAL Cmake option that enables the occlusion query workaround for an OpenGL driver crash -2008-12-16 16:36 robert +Mon, 25 Aug 2008 16:43:40 +0000 +Checked in by : Robert Osfield +From Doug McCorkle, via Paul Martz who writes : "Summary: Some platforms/configurations cause application crashes if the occlusion query result is not ready for retrieval when the app tries to retrieve it. This fix adds an application-level wait loop to ensure the result is ready for retrieval. This code is not compiled by default; add "-D FORCE_QUERY_RESULT_AVAILABLE_BEFORE_RETRIEVAL" to get this code.Full, gory details, to the best of my recollection: - * Updated version numbers for 2.8.8 dev release +The conditions under which we encountered this issue are as follows: 64-bit +processor, Mac/Linux OS, multiple NVIDIA GPUs, multiple concurrent draw +threads, VRJuggler/SceneView-based viewer, and a scene graph containing +OcclusionQueryNodes. Todd wrote a small test program that produces an almost +instant crash in this environment. We verified the crash does not occur in a +similar environment with a 32-bit processor, but we have not yet tested on +Windows and have not yet tested with osgViewer. -2008-12-16 15:58 robert +The OpenGL spec states clearly that, if an occlusion query result is not yet +ready, an app can go ahead and attempt to retrieve it, and OpenGL will +simply block until the result is ready. Indeed, this is how +OcclusionQueryNode is written, and this has worked fine on several platforms +and configurations until Todd's test program. - * Updated wrappers +By trial and error and dumb luck, we were able to workaround the crash by +inserting a wait loop that forces the app to only retrieve the query after +OpenGL says it is available. As this should not be required (OpenGL should +do this implicitly, and more efficiently), the wait loop code is not +compiled by default. Developers requiring this work around must explicitly +add "-D FORCE_QUERY_RESULT_AVAILABLE_BEFORE_RETRIEVAL" to the compile +options to include the wait loop." -2008-12-16 15:21 robert - * From Mathias Froehilch, " - On OpenThreads win32 implementation we unconditionally unlock a - mutex in the - destructor. That happens even if the mutex was not locked before. - When running a osg application within microsofts application - verifier, that - software checks tells me that we should not unlock an unlocked - mutex. - - When I look at the posix threads mutex implementation, which does - no unlock in - the destructor and where it is illegal to destroy a locked mutex, - I conclude - that it is not needed for an OpenThreads::Mutex to do that unlock - in the - win32 Mutex destructor. - - Thus this patch based on rev 9358 removes that additional unlock - in the win32 - mutex implementations destructor." -2008-12-16 15:08 robert +Mon, 25 Aug 2008 15:57:17 +0000 +Checked in by : Robert Osfield +From Liang Aibin, added support for : osgFX::Effect osgFX::AnisotropicLighting osgFX::BumpMapping osgFX::Cartoon osgFX::Scribe osgFX::SpecularHighlights. - * From Sukender and Robert Osfield, introduced - GraphicsContext::ScreenSettings & - WindowingSystemInterface::enumerateScreenSettings. +Mon, 25 Aug 2008 15:37:48 +0000 +Checked in by : Robert Osfield +From Liang Aibin, removed redundent spaces -2008-12-16 12:38 robert +Mon, 25 Aug 2008 15:20:42 +0000 +Checked in by : Robert Osfield +From Michael Guerrero, Fixed crash that occurred when openning an new movie file after all previous movie ImageStream had been closed. Also add a missing close of the movie file. - * From Peter Hrenka, "Fix counting number of new arrays and avoid - building free-list when not needed (saves - a handfull of mallocs/frees). - " +Mon, 25 Aug 2008 15:03:31 +0000 +Checked in by : Robert Osfield +From Paul Martz, "This change fixes a problem with PAT nodes during FLT export."Note, Paul Martz has merged this patch into OpenSceneGraph-2.6. -2008-12-16 12:23 robert - * Fixed warnings -2008-12-16 12:20 robert +Mon, 25 Aug 2008 14:59:06 +0000 +Checked in by : Robert Osfield +From Guillaume Chouvenc, "I have added the file StateAttribute.cpp in src/osgPlugins/osg to support the reading and writing of StateAttribute Callback in osg files. " - * Fixed warnings +Mon, 25 Aug 2008 14:54:11 +0000 +Checked in by : Robert Osfield +From Guillaume Chouvenc, "I have modified Uniform.cpp and StateSet.cpp in src/osgPlugins/osg to support the reading and writing of Uniform Callback and StateSet Callback in osg files." -2008-12-16 11:43 robert +Mon, 25 Aug 2008 11:37:53 +0000 +Checked in by : Robert Osfield +Added testing of max texture size using a realize operation - * From Mattias Helsing,"Added - doc/Doxyfiles/openthreads.doxyfile.cmake - Updated all doxyfiles under doc/Doxyfiles. They are now all - processed - by cmake but make targets are only generated for - OpenSceneGraphReferenceDocs and OpenThreadsReferenceDocs. The - others - can be run with doxygen directly in /doc. - Fixed a copy-paste in openthreads sproc and pthreads CMakeLists - Added the osg logo to the html footers - Added possibility to get generation of chm files. - - CMakeLists (toplevel): - Added install of osg and ot reference docs. This also generates - packaging targets of openscenegraph-doc and openthreads-doc if - you - have packaging enabled - Removed the unused USING_OP_OT_TRIPLE_SET since there was no way - of - enabling it anyway - Removed BUILD_REF_DOCS. IMO it was redundant - - BUILD_DOCUMENTATION - does the same thing and we get that anyway from including - Documentation.cmake. - OsgCPack.cmake: - Removed generation of PACKAGE_SRC for msvc - Added special handling for -doc packaging targets - they don't - require - system, architecture or compiler" +Mon, 25 Aug 2008 10:38:39 +0000 +Checked in by : Robert Osfield +Added support for event handler for non shader path, enable alpha func -2008-12-15 22:18 robert +Mon, 25 Aug 2008 10:38:07 +0000 +Checked in by : Robert Osfield +Removed debug info - * Added support for a Terrain::s/getTerrainTechniquePrototype() +Mon, 25 Aug 2008 10:20:20 +0000 +Checked in by : Robert Osfield +Moved _stateset = new StateSet instances to setStateSet(new StateSet) to make sure the wiring up of the StateSet parents is done consistently -2008-12-15 20:38 robert +Mon, 25 Aug 2008 09:53:24 +0000 +Checked in by : Robert Osfield +Added command line arguments to Viewer constructor, and added meaningful error message when no 3d image is provided - * From Tatsuhiro Nishioka, "I found a bug in GraphicsWindowCarbon. - GraphicsWindowCarbon::requestWarpPointer() places the mouse - pointer in a (global?) display coordination, but it must be in a - local window coordination. This problem is critical because the - mouse cursor can go off a window especially when you place the - window on the secondary screen. - - Attached is the file to fix this problem. - - I tested this modified file with the following situations (on - FlightGear) and all works fine. - - two windows on two screens (each has one window). - - two windows on two screens (secondary screen has all windows). - - two windows on two screens (primary screen has all windows). - - In all scenarios, warp requests (by right-click the mouse) - successfully moves the mouse pointer to the center of the main - window, - and it is what it's supposed to be in the flightgear." +Fri, 22 Aug 2008 16:39:17 +0000 +Checked in by : Robert Osfield +Introduced initial cut of a dicom loader, which uses ITK to do the loading. -2008-12-15 20:32 robert +Fri, 22 Aug 2008 16:37:56 +0000 +Checked in by : Robert Osfield +Added warning message - * Limited the static build to just osversion and osgstaticviewer +Fri, 22 Aug 2008 16:35:49 +0000 +Checked in by : Robert Osfield +Added support for reading the image transform from UserData in the form of a Matrix. -2008-12-15 19:37 robert +Tue, 19 Aug 2008 17:41:55 +0000 +Checked in by : Robert Osfield +Added checked against an empty _kdNodes list before commensing with intersection - * Aded osg::isGLExtensionOrVersionSupported(uint contextID, char* - extensionName, float minVersionRequired) method that - returns true if (the extension string is supported or GL version - is greater than or equal to a specified version) and - non extension disable is used. This makes it possible to disable - extensions that are now - available as parts of the core OpenGL spec. - - Updated Texture.cpp is use this method. +Mon, 18 Aug 2008 15:08:04 +0000 +Checked in by : Robert Osfield +Added --mip command line option which enables Maximum Intensity Projection filtering -2008-12-15 16:46 robert +Mon, 18 Aug 2008 15:06:41 +0000 +Checked in by : Robert Osfield +Added .ive support for BlendEquation - * From Paul Martz, "I'm not sure why this message was added, but it - doesn't appear to merit INFO verbosity. Changing this from INFO - to DEBUG_FP." +Mon, 18 Aug 2008 14:49:16 +0000 +Checked in by : Robert Osfield +Added BlendEquation .osg support -2008-12-15 16:42 robert +Mon, 18 Aug 2008 12:39:18 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file for 2.7.0 release - * From Peter Hrenka, "I implemented a free list reallocation scheme - in - VertexBufferObject::compileBuffer(). - - The offsets of newly added Arrays were not properly - calculated. This submission tries to find a - matching empty slot when the total size of - the VBO has not changed (e.g. when an array - is replaced by another array of the same size). - - - This fixes the overwriting issue that I showed in my posting - "Bug in VertexBufferObject::compileBuffer" on OSG-Users. - " +Mon, 18 Aug 2008 11:55:17 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 2.7.0 release -2008-12-15 16:41 robert +Mon, 18 Aug 2008 11:48:07 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Reduced the default number _targetMaximumNumberOfPageLOD to 300 - to keep the memory consumption on large databases a bit lower. +Mon, 18 Aug 2008 11:21:41 +0000 +Checked in by : Robert Osfield +From Sergey Leontyev, "1. In StyleManagerwhen applying styles to a Label element the code below runs in a infinite loop. -2008-12-15 16:10 robert +The reason for this is that nothing increments the Reader "r" in the case when applying a style to label, - * Added deprecated messages to get/set methods of outgoing expiry - schemes. +so I advance the reader when no match was found. -2008-12-15 14:07 robert +( To replicate the error apply style to any label) - * From Mathias Helsing, "Cpack support submission with: - - Better package naming. example - openscenegraph-core-2.7.7-Linux-i386.tar.gz on my ubuntu laptop - and - openscenegraph-core.2.7.7-win32-x86-vc80.tar.gz on winxp. - - CMakers will not get options for selecting compression format. - TGZ - goes for all platforms (on win32 I use 7zip) - - The wrappers is now given the COMPONENT name - libopenscenegraph-wrappers. Feel free to change the name. - - On windows with visual studio the OsgCPack script make some - efforts to - discover the compiler used but support is a bit poor so I've - given - CMake acces to OSG_CPACK_COMPILER to provide some mean to name - the - compiler. - - stop - - The platform part is taken from CMAKE_SYSTEM_NAME and for windows - I - change this to win32 or win64 based on CMAKE_CL_64. This might - not be - necessary if the arch part has that information. This information - is - taken from CMAKE_SYSTEM_PROCESSOR. I only have 32bit here so if - some - of you could uncomment line 15,16 in OsgCPack.cmake and report - what - cmake report it would be nice. I'm especially interested anything - but - win32 and linux32" + -2008-12-15 13:56 robert +replaced this: - * Made the folowing changes to make the DatabasePager more - restrained in its memory consumption, and to improve the speed of - merging of tiles (at the potential cost of extra frame drops). - - Set Made DatabasePager TargetMaximumNumberOfPageLOD technique the - be the default with a default target number of PagedLOD of 500. - - Set DatabasePager DoPreCompile to OFF by default. + while(!r.eof()) if(_styles[style]->applyStyle(t, r)) inc = true; -2008-12-15 12:16 robert + - * Removed buildMipmaps method that had no implementation. +with this: -2008-12-12 22:28 shuber + while(!r.eof()) - * From Stephan Huber: updated XCode project + { -2008-12-12 19:19 robert + if(_styles[style]->applyStyle(t, r)) - * Updated AUTHORS and READER for 2.7.7 dev release + inc = true; -2008-12-12 19:12 robert + else - * Updated change log + r.advanceOverCurrentFieldOrBlock(); -2008-12-12 18:47 robert + } - * Where possible moved redundent C header includes from headers to - source files + -2008-12-12 14:54 robert + - * Changed the libopenscenegraph-core to be part of - libopenscenegraph, and - changed libopenscenegraph-examples to be part of - openscenegraph-examples +I tested it and it works well for me, I did not find any problems with it. -2008-12-12 14:16 robert + - * Updated wrappers + -2008-12-12 13:41 robert +2. Added style support for Canvas element, event though there is no styles to apply yet. - * From Ulrich Hertlein, Typo fixes + "optional parameter to - RecordCameraPathHandler to control the frame rate for - record/playback. Default is 25.0, the environment variable takes - preference if set." +It is usefull for someone who inherits from Canvas class to develop another element. -2008-12-12 11:01 robert + If applyStyle(Canvas) does not exist - * From Mattias Helsing, "I have developed the earlier cpack example - a bit. Perhaps you could - consider these initial cpack support scripts. It is hidden behind - a - BUILD_PACKAGES option so won't affect the normal user. The - submission - 1) set the COMPONENT attribute on all cmake install commands. - COMPONENT names are according to - http://www.openscenegraph.org/projects/osg/wiki/Community/Packaging - - 2) provide cmake script and a template for creating CPack - configuration files. It will generate target for creating - packages - with everything that gets "installed" (make package on unx, - project - PACKAGE in MSVC) plus targets for generating one package per - COMPONENT - (i.e. libopenscenegraph-core etc.). - - I have temporariliy uploaded some examples to - http://www.openscenegraph.org/projects/osg/wiki/Community/People/MattiasHelsing - - If this submission makes it into svn we can develop it to - generate - rpms, installers for windows and mac (I know at least J-S don't - like - these but there may be others who do ;) and even DEBs (not sure - if we - can make them "ubuntu-ready" but they eventually may - at least - we - could put a deb on the website)" +there is no way to apply style to the element that inherited from Canvas element. -2008-12-12 10:20 robert + - * Updated wrappers +Added virtual -2008-12-12 10:19 robert + bool applyStyle(Canvas). - * Updated version number for 2.7.7 release + -2008-12-11 17:00 robert +and in added call to apply style if the Object is of type Canvas: - * From Mattias Helsing, "When building osg static on Windows the - _declspec's wasn't escaped for - applications, examples or wrappers. Attached are the CMakeLists I - had - to change to make these compile. - " +StyleManager::_applyStyleToObject(osg::Object* obj, const std::string& style) { -2008-12-10 17:08 robert +... - * Cleaned up layout + -2008-12-10 16:26 robert +else if(!std::string("Canvas").compare(c)) - * Added mechanism for registering proxy objects in the .osg plugin - in a way that is compatible with static linking. +return _coerceAndApply(obj,style,c); -2008-12-10 15:01 robert + " - * Removed #if 0'd out reference to osgDB -2008-12-10 12:50 robert - * Fixed link line +Mon, 18 Aug 2008 11:17:44 +0000 +Checked in by : Robert Osfield +Ran fixtabs to enforce four space tabs -2008-12-10 11:12 robert +Mon, 18 Aug 2008 11:00:40 +0000 +Checked in by : Robert Osfield +From Erik van Dekker,"I made several modifications: - * Refactored computeIntersections() float x,float y, const - osg::NodePath& nodePath. + -2008-12-10 10:13 robert + * The cause of my errors was that my OSG source directory path contains spaces. To fix this issue I wrapped all paths with quotes, as stated in doxygen documentation. - * From Andreas Goebel, (submitted by Paul Martz) "A fix for the FLT - exporter. This change adds support for normals with OVERALL - binding (and improves support for normals with PER_PRIMITIVE - binding -- still not correct, but at least it doesn't index off - the end of the array anymore)." + -2008-12-10 10:10 robert + * I also received some warning messages about deprecated doxygen settings, which I fixed by updating the doxygen file, i.e. running \u2018doxygen \u2013u doxygen.cmake\u2018. By running this command deprecated doxygen options are removed, some option comments have changed and quite some options have been added (I kept their default settings unless mentioned). - * From Marcin Prus, "some time ago there was an optimization fix - including change in DirectionalSector::computeMatrix(). - Rotation matrices were replaced with quaternions but incorrect - contructor was used. There was a call to Quat(angle, xAxis, - yAxis, zAxis ) but there is no such constructor in Quat class to - create quaternion for rotation. As a result we got this values - being written into quaternion directly. - - I've replaced Quat contructor calls with the ones creating - rotation quaternions Quat( angle, Vec3( axis ) )." + -2008-12-10 09:34 robert + * I was surprised to find that the doxygen OUTPUT_DIRECTORY was set to \u201c${OpenSceneGraph_SOURCE_DIR}/doc\u201d, which does not seem appropriate for out of source builds; I changed this to \u201c${OpenSceneGraph_BINARY_DIR}/doc\u201d. (On the other hand, maybe a cmake selectable option should be given to the user?) - * Added return + -2008-12-09 16:43 robert + * Fixed two warnings I received about unexpected end-of-list-markers in \u2018osg\AnimationPath and \u2018osgUtil\CullVisitor due to excess trailing points in comments. - * From Sukender, added missing inline keywords + -2008-12-09 14:07 robert + * Fixed a warning in osgWidget\StyleInterface due to an #include directive (strangely) placed inside a namespace. - * Fixed cull callback usage to ensure that the lazy updating of the - browser image functions automatically. + -2008-12-09 11:05 robert + * Fixed a warning in osg\Camera due to the META_Object macro that confused doxygen. Adding a semi-colon fixed this. - * Cleaned up osgWidget::VncClient and osgWidget::Browser so that - their implementations are all more consitent with the - osgWidget::PdfReader. + -2008-12-09 09:26 robert + * Removed auto_Mainpage from the INCLUDE option, because I am positive that this file does not belong there; It never generated useful documentation anyway. - * Added support for setting background colour of Pdf document. + -2008-12-09 09:25 robert + * I added the OSG version number environment variable to the PROJECT_NUMBER option so that the version number is now shown on the main page of generated documentation (e.g. index.html). - * Added setImageToColour function + -2008-12-09 09:24 robert + * Changed option FULL_PATH_NAMES to YES, but made sure STRIP_FROM_PATH stripped the absolute path until the include dir. This fixed an issue that created mangled names for identical filenames in different directories. E.g. osg/Export and osgDB/Export are now correctly named. - * Added asSwitch and asGeode convinience methods to Node + -2008-12-07 17:37 robert + * Changed option SHOW_DIRECTORIES to yes, which is a case of preference I guess. - * Added ability to customize keyboard events for controlling - osgWidget::PdfImage/PdfReader + " -2008-12-07 17:02 robert - * Intoduce new osgWidget::PdfReader and osgWidget::VncClient front - ends to osgWidget, - with new pdf plugin and updated vnc plugin that now support these - front ends. - - Updated osgpdf and osgvnc examples to new these new interfaces. -2008-12-06 11:03 robert +Mon, 18 Aug 2008 10:47:43 +0000 +Checked in by : Robert Osfield +Removed todo entry - * Fixed build problem +Sun, 17 Aug 2008 16:52:35 +0000 +Checked in by : Robert Osfield +From Maceij Krol, "I have implement frame based expiration of PagedLOD children.New attribute DatabasePager::_expiryFrames sets number of frames a PagedLOD child is kept in memory. The attribute is set with DatabasePager::setExpiryFrames method or OSG_EXPIRY_FRAMES environmental variable. -2008-12-05 16:41 robert +New attribute PagedLOD::PerRangeData::_ +frameNumber contains frame number of last cull traversal. - * Added GL_ABGR_EXT to fix windows build +Children of PagedLOD are expired when time _AND_ number of frames since last cull traversal exceed OSG_EXPIRY_DELAY _AND_ OSG_EXPIRY_FRAMES respectively. By default OSG_EXPIRY_FRAMES = 1 which means that nodes from last cull/rendering +traversal will not be expired even if last cull time exceeds OSG_EXPIRY_DELAY. Setting OSG_EXPIRY_FRAMES = 0 revokes previous behaviour of PagedLOD. -2008-12-04 10:27 robert +Setting OSG_EXPIRY_FRAMES > 0 fixes problems of children reloading in lazy rendering applications. Required behaviour is achieved by manipulating OSG_EXPIRY_DELAY and OSG_EXPIRY_FRAMES together. - * From Jason Daly, added support for reading Valve's texture format - files +Two interface changes are made: -2008-12-03 14:13 robert +DatabasePager::updateSceneGraph(double currentFrameTime) is replaced by DatabasePager::updateSceneGraph(const osg::FrameStamp &frameStamp). The previous method is in #if 0 clause in the header file. Robert, decide if You want to include it. - * From Sukender, (Benoit Neil) "adding a few convinience methods to - osg::Node (ouch!). Just tell me if you find them useful: - - /** Convinience method that sets the update callback of the node - if it doesn't exist, or nest it into the existing one. */ - void addUpdateCallback(NodeCallback* nc); - - /** Convinience method that removes a given callback from a node, - even if that callback is nested. There is no error return in case - the given callback is not found. */ - void removeUpdateCallback(NodeCallback* nc); - - ... and the same for Event and Cull callbacks methods." +PagedLOD::removeExpiredChildren(double expiryTime, NodeList &removedChildren) is deprecated (warning is printed), when subclassing use PagedLOD::removeExpiredChildren(double expiryTime, int expiryFrame, NodeList &removedChildren) instead. " -2008-12-03 12:09 robert - * From Ferdi Smit, "Image.cpp didn't handle the integer data types - correctly in the function: - - unsigned int Image::computeNumComponents(GLenum pixelFormat) - - so I added these types to the switch statement: - - case(GL_RED_INTEGER_EXT): return 1; - case(GL_GREEN_INTEGER_EXT): return 1; - case(GL_BLUE_INTEGER_EXT): return 1; - case(GL_ALPHA_INTEGER_EXT): return 1; - case(GL_RGB_INTEGER_EXT): return 3; - case(GL_RGBA_INTEGER_EXT): return 4; - case(GL_BGR_INTEGER_EXT): return 3; - case(GL_BGRA_INTEGER_EXT): return 4; - case(GL_LUMINANCE_INTEGER_EXT): return 1; - case(GL_LUMINANCE_ALPHA_INTEGER_EXT): return 2; - - That's all... now it computes the number of components and, thus, - the image size - correctly." -2008-12-02 10:42 robert - * Revised the DYNAMIC vs STATIC library setup of COLLADA. +Sun, 17 Aug 2008 16:45:09 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "I've got a few machines that OSG incorrectly believes support FRAME_BUFFER_OBJECTS so I am manually trying to set the renderTargetImplementation to PIXEL_BUFFER or PIXEL_BUFFER_RTT. I noticed that this call wasn't setting the camera's overlay data properly because the setRenderTargetImplementation simply calls init() which only does anything for OBJECT_DEPENDENT_WITH_ORTHOGRAPHIC_OVERLAY. Any subsequent calls to getOverlayData will simply return the cached OverlayData instead of setting it up.My fix updates the camera's render target implementation for all OverlayData objects in the OverlayDataMap." -2008-12-02 09:00 robert - * From Jean-Sebastien Guay, build fix -2008-12-01 15:46 robert +Fri, 15 Aug 2008 17:35:04 +0000 +Checked in by : Robert Osfield +From Paul Palumbo, "Fixes a typo in coverage antialiasing code... Without this fix, get incorrect antialiasing results. " - * Fixed wrappers +Fri, 15 Aug 2008 17:32:26 +0000 +Checked in by : Robert Osfield +From Jutta Sauer, "We added a raise window method to GraphicsWindow. And added two implementations for Win32 and X11." -2008-12-01 14:07 robert - * From Wang Rui, "Attachment is a plugin reading Biovision - hierarchical files (.BVH) to generate character motion - animations. BVH format is widely used by Character Studio of - 3dsmax, MotionBuilder and other softwares, also supported by most - motion capture devices. The plugin is based on the latest - osgAnimation library of OSG 2.7.6 and will return a - osgAnimation::AnimationManager pointer if using readNodeFile() to - load it. - - Source and CMake files are: - - CMakeLists.txt - ReaderWriterBVH.cpp - - Also there are 3 example BVH files. The first two are captured - from motions of human beings - maybe a kung-fu master here. - PLEASE use command below to see the results: - - # osgviewer example1.bvh -O solids - - This will demonstrate the animating of a skeleton and render - bones as solid boxes. Note that the motion assumes XOZ is the - ground and has an offset from the center, so we should adjust our - view to get best effects. - - You may also use "-O contours" to render bones as lines. The - viewer shows nothing if without any options because - osgAnimation::Bone does not render itself. User may add - customized models to each named bones as osganimationskinning - does to make uses of this plugin in their own applications. - - I was wondering to support a BvhNode in my osgModeling peoject - before, but soon found it better be a plugin for animation. A - problem is, how to bind real geometry models to the skeleton. - Maybe we could have a bindingToNode() visitor in future to find - geodes matching names of bones and add them as bones' children." -2008-12-01 13:47 robert +Fri, 15 Aug 2008 17:26:06 +0000 +Checked in by : Robert Osfield +Updated version numbers in prep for next dev release - * Updated wrappers +Fri, 15 Aug 2008 17:25:42 +0000 +Checked in by : Robert Osfield +From Frashid Larshkari, "I modified the vertical/horizontal interlace stereo modes so that they use the osg::State::applyMode for enabling/disabling certain while rendering the stencil mask. Previously some of these calls were overriding the scene graph states because the global state was not aware of this change." -2008-12-01 13:28 robert - * From Art Tevs, "here is a submission of an additional class of - PixelBufferObejct, which implements more general way of handling - with PBOs. Current osg implementation of PBO does use an attached - osg::Image to copy data from. This is somehow only one way of - using it and doesn't provide full functionality of PBOs. - - -------------------------------------------- - Descripton: - - The patch does provide a new class PixelDataBufferObject which is - capable of allocating memory on the GPU side (PBO memory) of - arbitrary size. The memory can then further be used to be enabled - into read mode (GL_PIXEL_UNPACK_BUFFER_ARB) or in write mode - (GL_PIXEL_PACK_BUFFER_ARB). Enabling the buffer into write mode - will force the driver to write data from bounded textures into - that buffer (i.e. glGetTexImage). Using buffer in read mode give - you the possibility to read data from the buffer into a texture - with e.g. glTexSubImage or other instuctions. Hence no data is - copied over the CPU (host memory), all the operations are done in - the GPU memory. - - - -------------------------------------------- - Compatibility: - - The new class require the unbindBuffer method from the base class - BufferObject to be virtual, which shouldn't break any - functionality of already existing classes. Except of this the new - class is fully orthogonal to existing one, hence can be safely - added into already existing osg system. - - -------------------------------------------- - Testing: - - The new class was tested in the current svn version of osgPPU. I - am using the new class to copy data from textures into the PBO - and hence provide them to CUDA kernels. Also reading the results - back from CUDA is implemented using the provided patch. The given - patch gives a possibility of easy interoperability between CUDA - and osg (osgPPU ;) ) - - - -------------------------------------------- - I think in general it is a better way to derive the - PixelBufferObject class from PixelDataBufferObject, since the - second one is a generalization of the first one. However this - could break the current functionality, hence I haven't - implemented it in such a way. However I would push that on a - stack of wished osg 3.x features, since this will reflect the - OpenGL PBO functionality through the classes better. - " -2008-12-01 11:19 robert +Fri, 15 Aug 2008 17:18:10 +0000 +Checked in by : Robert Osfield +Added support for geometry shader attributes - * Added OpenThreads to link lists +Fri, 15 Aug 2008 16:43:56 +0000 +Checked in by : Robert Osfield +From Stephane Lamoliatte, "I added the osg::Program parameters support for the osg plug'in. Now we could correctly configure geometry shaders in osg files."Notes from Robert Osfield, renamed the names of the parameters to be less GL centric and more human readable. -2008-11-30 16:33 robert - * Changed OPENEXR_LIBRARY to OPENEXR_LIBRARIES to pick up on - Ulrich's changes to the FindOpenEXR.cmake -2008-11-30 16:33 robert +Fri, 15 Aug 2008 16:21:44 +0000 +Checked in by : Robert Osfield +Changed osg::ImageSequence::set/getDuration to set/getLength() to be in keeping with the osg::ImageStream's getLength(). - * From Ulrich Hertlien, "'m was getting a build failure from the - OpenEXR reader on Mac OS X. It was complaining about undefined - references to half::convert(int). I believe this is because the - EXR plugin doesn't explicitly link against the Half library. - - Attached is a modified FindOpenEXR.cmake module that locates - IlmIlf and Half, as well as a modified exr/CMakeLists.txt that - picks up this change. - - Also attached are some typo fixes for CMakeModules. - - Cheers," +Fri, 15 Aug 2008 13:07:04 +0000 +Checked in by : Robert Osfield +Fixed the name of _playToggle -2008-11-30 15:56 robert +Fri, 15 Aug 2008 13:06:18 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Art Tevs, "here are a small extension to the osg::Image - class, which do computes data type from the given format, i.e. - (GL_RGB32F_ARB -> GL_FLOAT). The method is very usefull to find - out which data type a texture or an image have based on the - internal/pixel format." +Fri, 15 Aug 2008 12:45:20 +0000 +Checked in by : Robert Osfield +Further work on osg::ImageSequence, improving pause functionality, and introducing new seek(double time) method -2008-11-29 12:16 robert +Thu, 14 Aug 2008 16:29:12 +0000 +Checked in by : Robert Osfield +Added initial looping and pause play support - * Updated ChangeLog, and AUTHORS lists for 2.7.6 dev release +Thu, 14 Aug 2008 16:28:45 +0000 +Checked in by : Robert Osfield +Added event handler to toggling looping and play/pause -2008-11-29 11:35 robert +Thu, 14 Aug 2008 14:22:39 +0000 +Checked in by : Robert Osfield +Implemented a reference eye point and associated methods in support of intersecting billboards - * Build fix for when implicit conversion in ref_ptr<> is switched - off. +Tue, 5 Aug 2008 20:05:25 +0000 +Checked in by : Robert Osfield +From Eric Sokolowski, added OSX release notes to READEME -2008-11-29 11:10 robert +Tue, 5 Aug 2008 20:05:07 +0000 +Checked in by : Robert Osfield +Added osgWidget to doc building - * Fixed build for when ref_ptr<> impicit cast is not built +Tue, 5 Aug 2008 19:17:09 +0000 +Checked in by : Robert Osfield +Improved the doxygen docs over the various namespaces -2008-11-28 17:18 robert +Tue, 5 Aug 2008 16:05:59 +0000 +Checked in by : Robert Osfield +From Eric Sokolowki, disabled default build of 64bit under OSX to prevent build problems - * Removed cmath include as it was causing build problems under - Cgwin +Tue, 5 Aug 2008 15:27:37 +0000 +Checked in by : Robert Osfield +Merged from OpenSceneGraph-2.6 branch -2008-11-28 14:37 robert +Tue, 5 Aug 2008 15:11:47 +0000 +Checked in by : Robert Osfield +Added NullStream class that automatically creates and delete the NullStreamBuffer, thus fixing a memory leak - * Added new examples +Tue, 5 Aug 2008 15:06:22 +0000 +Checked in by : Robert Osfield +From Eric Sokolowski, "Fixed the build of the osgViewer library to get GL/glx.h from the right place, when building on OSX with X11" -2008-11-28 14:37 robert +Tue, 5 Aug 2008 11:17:48 +0000 +Checked in by : Robert Osfield +Merged changes to OpenSceneGraph-2.6 into trunk using : svn merge -r 8729:8734 http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.6 . - * From Cedric Pinson, updates to osganimation examples. - - Merged by Robert Osfield, from OpenSceneGraph-osgWidget-dev -2008-11-28 14:36 robert - * From Jeremy Moles, updates to osgwidget examples. - - Merged by Robert Osfield from OpenSceneGraph-osgWidget-dev +Mon, 4 Aug 2008 20:48:46 +0000 +Checked in by : Robert Osfield +Added -losgWidget to the list of libs -2008-11-28 14:35 robert +Mon, 4 Aug 2008 17:08:28 +0000 +Checked in by : Robert Osfield +From Sherman Wilcox, "Minor change to bool setGLExtensionFuncPtr(T& t, const char* str1) and setGLExtensionFuncPtr(T& t, const char* str1, const char* str2) - functions returned false even on success." - * Updated wrappers +Mon, 4 Aug 2008 15:09:16 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file -2008-11-28 14:35 robert +Mon, 4 Aug 2008 15:08:39 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * From Jeremy Moles, updates to osgWidget - - Merged my Robert Osfield from OpenSceneGraph-osgWidget-dev. +Mon, 4 Aug 2008 15:08:24 +0000 +Checked in by : Robert Osfield +Updated news for 2.6.0 release rc2 -2008-11-28 14:34 robert +Mon, 4 Aug 2008 14:01:42 +0000 +Checked in by : Robert Osfield +From Philip Lowman, workaround of Centos 5's missing definition of GL_MAX_SAMPLES_EXT. - * From Cedric Pinson, updates toosgAnimation. - - Merged by Robert Osfield, from OpenSceneGraph-osgWidget-dev. +Mon, 4 Aug 2008 12:47:14 +0000 +Checked in by : Robert Osfield +Moved initial drawable setup to within the mutex locked section to avoid multi-threaded crash on startup. -2008-11-27 17:31 robert +Mon, 4 Aug 2008 12:27:22 +0000 +Checked in by : Robert Osfield +Removed debug info - * From Cedric Pinson, "updated the CMakelist.txt of curl plugin to - compile with the static library of curl. - I added the external dependency wldap32" +Mon, 4 Aug 2008 09:05:29 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlien, "attached is a patch to src/osgPlugins/quicktime/QTImportExport.cpp that fixes loading images using the quicktime loader. Also fixes some minor bugs like uninitialized variables and incorrect deletes.I'm a bit puzzled why this didn't pop up for more people as it's quite severe: basically the filename was never set!"" -2008-11-27 17:30 robert - * Updated SO version number for 2.5.6 release -2008-11-27 17:29 robert +Mon, 4 Aug 2008 08:45:08 +0000 +Checked in by : Robert Osfield +Added a small epsilon expansion of the bounding box being clipped/intersected against, to avoid numberic errors causing problems. - * Updated ChangeLog +Sun, 3 Aug 2008 20:35:45 +0000 +Checked in by : Robert Osfield +Improved the terrain intersection code so that it produces more stable terrain movements. -2008-11-27 16:58 shuber +Sun, 3 Aug 2008 16:57:09 +0000 +Checked in by : Robert Osfield +merged 2.6 branch changes back into trunk using : svn merge -r 8699:8706 http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.6 . - * From Stephan Huber: - updated XCode project, added osgAnimation framework + one example - using it (osganimationviewer). - Added _OPENTHREADS_ATOMIC_USE_BSD_ATOMIC to local - OpenThreads/Config when compiling for the 10.5 SDK. - Some minor fixes on some of the configurations/targets +Sun, 3 Aug 2008 16:48:12 +0000 +Checked in by : Robert Osfield +Moved bb expansion out of loop. -2008-11-27 14:05 robert +Fri, 25 Jul 2008 21:09:37 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS.txt file for relese candidate - * Changed unsigned long to unsigned int to avoid 64bit portability - issue. +Fri, 25 Jul 2008 21:01:57 +0000 +Checked in by : Robert Osfield +Updated version numbers to 2.6.0 -2008-11-27 09:45 robert +Fri, 25 Jul 2008 21:00:12 +0000 +Checked in by : Robert Osfield +Updated REAME and NEWS for 2.6 branch - * From Jean-Sebastien Guay, "osgautocapture uses M_PI to convert - degrees to radians, which didn't compile on Win32. Switched to - using osg::DegreesToRadians. Also removed the "convert to - radians" comment on each line, as the code clearly conveys this - without needing a comment now." +Fri, 25 Jul 2008 20:50:59 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-11-27 09:36 robert +Fri, 25 Jul 2008 20:50:42 +0000 +Checked in by : Robert Osfield +Renamed enums in osgWidget from ALLCAPITALS to normal OSG conventional of AllCapital - * Enabled the build of exr plugin +Fri, 25 Jul 2008 20:49:17 +0000 +Checked in by : Robert Osfield +Added PluginQuery function to wrappers -2008-11-27 09:36 robert +Fri, 25 Jul 2008 20:04:41 +0000 +Checked in by : Robert Osfield +Added OSGPL Copyright notices - * Build fixes +Fri, 25 Jul 2008 19:57:17 +0000 +Checked in by : Robert Osfield +Restructured classes to better fit with style of the rest of the OSG. -2008-11-27 09:33 robert +Fri, 25 Jul 2008 19:53:18 +0000 +Checked in by : Robert Osfield +Added include to help wrapper building - * Removed the use of = operator. +Fri, 25 Jul 2008 18:44:13 +0000 +Checked in by : Robert Osfield +Improved handling of PAGE_AND_RETAIN_IMAGES -2008-11-26 16:40 robert +Fri, 25 Jul 2008 17:42:37 +0000 +Checked in by : Robert Osfield +Reverted back to using std::list - * Updated wrappers +Fri, 25 Jul 2008 16:23:00 +0000 +Checked in by : Robert Osfield +Added Mode support -2008-11-26 16:39 robert +Fri, 25 Jul 2008 16:11:51 +0000 +Checked in by : Robert Osfield +Updated wrappers, and further refined the ImageSequence API - * From Tim Moore, "Double precision versions of BoundingBox and - BoundingSphere are useful for doing computations in world - coordinates, especially when working with a geocentric scene. By - default, these classes are built using floats, so templated - versions fill a need. I've used the double precision templates to - fix some problems with ViewDependentShadow, which will follow - shortly. - " +Fri, 25 Jul 2008 15:45:40 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "as I hinted at on osg-users in the "obj loader: map_* only reads last component" thread, this submission broke material/texture loading for some files I have that specify texture matrix scaling.The following link shows a very comprehensive list of .mtl file options: +http://local.wasp.uwa.edu.au/~pbourke/dataformats/mtl/ -2008-11-26 16:00 robert +Attached is a patch that should fix spacey filenames and optional texture scale/offset. I have tested it with files I have that I modified to contain spaces in the texture filenames." - * added workaround of compile issues with templated version of - BoundingBox -2008-11-26 13:18 robert - * Updated wrappers +Fri, 25 Jul 2008 15:38:12 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode-project -2008-11-26 12:50 robert +Fri, 25 Jul 2008 13:45:07 +0000 +Checked in by : Robert Osfield +Added ImageSequence to .ive plugin, added support for multiple ImageThreads in osgDB::ImagePager - * From Andy Preece, - - "To reproduce the bug: - - 1. Create a template osg::Sequence node (and underlying geometry) - but do not attach the node to the current active scenegraph. - 2. At some point during the rendering loop (perhaps on a - keystroke) clone the sequence node (I use the call: - - dynamic_cast(templateNode -> clone( osg::CopyOp( - (osg::CopyOp::CopyFlags)osg::CopyOp::DEEP_COPY_NODES ) ) ) - - 3. Set the cloned sequence node duration to a value that makes - the animation run slower (i.e. 2.0). - 4. Start the cloned sequence (using setMode()). - 5. Repeat steps 2 \u2013 4 and observe that the cloned sequences - do not run slow but run as fast, appearing to ignore the duration - that has been set on them. - - - - Looking at the \u2018good documentation\u2019 (2.4 source code), - I see that _start is being set to _now (osg::Sequence::setMode(), - line 192). Should this not _start not be set to -1.0?" +Fri, 25 Jul 2008 10:18:36 +0000 +Checked in by : Robert Osfield +Moved PluginQuery from osgconv into osgDB -2008-11-26 12:35 robert +Fri, 25 Jul 2008 10:18:14 +0000 +Checked in by : Robert Osfield +Added extension docs - * Added searching for OpenEXR +Fri, 25 Jul 2008 09:46:05 +0000 +Checked in by : Robert Osfield +Added option docs -2008-11-26 12:35 robert +Thu, 24 Jul 2008 17:38:50 +0000 +Checked in by : Robert Osfield +Added missing returns - * From Ragnar Hammarqvist, "I wrote an EXR image plug-in to osg, I - would like to contribute this plug-in to the osg project if you - find it useful. - - The plug-in is a wrapper around open-exr (http://www.openexr.com) - that consists of two projects, ilmbase-1.0.1 and openexr-1.6.1. - - I have only tested it on windows XP 32 machine. So there might be - some work making it work on other platforms. - - The plug-in supports writing and reading EXR files. When writing - it can use the data type GL_HALF_FLOAT_ARB(se ilmbase-1.0.1) and - GL_FLOAT. When reading the data type always becomes - GL_HALF_FLOAT_ARB. It supports textures with three and four - channels. - - When reading an exr file it automatically removes Alfa channel if - it didn't store any information." - - -- - - From Robert Osfield, started work on ported it to other - platforms, but could fix some problems relating to error: - - ?Imf::OStream::OStream(const Imf::OStream&)? is private - - I'm checking in now so that others can have a bash at completing - the port. +Thu, 24 Jul 2008 13:25:49 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Not sure about the descriptions, so I left those blank. But at least "osgconv --formats" will display the .ive options now." -2008-11-26 12:07 robert +Thu, 24 Jul 2008 12:48:25 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Gino van den Bergen, "The FindGDAL.cmake seems to be broken - in OSG 2.6.1 for locating gdal.h through enviroment variable - GDAL_DIR. - - Also, I've modified the FindCOLLADA.cmake to locate the current - 2.1 versions of the COLLADA DOM in the build directories under - VC8. I've also added a COLLADA_LIBRARY_DEBUG spec. Other flavors - may be added depending on compiler version and DOM version." +Thu, 24 Jul 2008 12:47:55 +0000 +Checked in by : Robert Osfield +Added getCurrentCamera/getCurrentRenderStage methods -2008-11-26 11:45 robert +Thu, 24 Jul 2008 12:18:49 +0000 +Checked in by : Robert Osfield +Added a getCurrentRenderStage() and getCurrentCamera() convninience methods, and converted the CullVisitor::apply(OcclusionQueryNode&) implementation to use the new getCurrentCamera method. - * From BjornHein, "attached a proposal for an extension for the the - stl-File ReaderWriter. It allows saving of an osg node tree as - stl file in ASCII-Format. - - Standard is to generate one stl file. - - With an additional option it is possible to write one file per - Geode. This option is not very "useful" for typical application, - I use it for separating and conversion of geometric data. So it - could be removed if considered to special." +Thu, 24 Jul 2008 12:06:05 +0000 +Checked in by : Robert Osfield +Improved the feedback for when a plugin isn't available. -2008-11-26 11:23 robert +Thu, 24 Jul 2008 12:01:45 +0000 +Checked in by : Robert Osfield +Added supportOptions() entry docs - * From John Vidar Larring, osgautocapture example that captures an - image from a paged database by frame loop to the paging is - complete, then takes a snapshot. +Thu, 24 Jul 2008 12:01:23 +0000 +Checked in by : Robert Osfield +Added --format extname and --plugin pluginname extensions, and improved formating -2008-11-26 11:12 robert +Thu, 24 Jul 2008 11:22:43 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, "fix for filenames that have spaces within their name."Note form Robert, changed std::cout to osg::notify(osg::INFO) - * Added DatabasePager::getRequestsInProgress() that return true if - there are still tiles to load. - - Added DatabasePager::setTargetMaximumNumberOfPageLOD(..) that - sets the target number of PagedLOD to try and maintain -2008-11-25 16:24 robert - * From Piotr Rak, "added bool conversion for ref_ptr, when no - implicit conversion to T* is used." +Wed, 23 Jul 2008 22:19:37 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-11-25 15:57 robert +Wed, 23 Jul 2008 22:19:29 +0000 +Checked in by : Robert Osfield +Refactored OverlayData so that its possible to subclass OverlayNode/OverlayData. - * Fix for build with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION off +Wed, 23 Jul 2008 21:52:03 +0000 +Checked in by : Robert Osfield +Added wrappers -2008-11-25 15:38 robert +Wed, 23 Jul 2008 21:49:07 +0000 +Checked in by : Robert Osfield +Moved helper classes into Protected section - * Fixed build for when OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION - is off +Wed, 23 Jul 2008 21:25:09 +0000 +Checked in by : Robert Osfield +From Paul Martz, typo fixes -2008-11-25 14:40 robert +Wed, 23 Jul 2008 19:06:14 +0000 +Checked in by : Robert Osfield +Applied filename fix suggested by Andrew Bettison. - * Updated wrappers +Wed, 23 Jul 2008 19:04:46 +0000 +Checked in by : Robert Osfield +Implemented ImagePager internals -2008-11-25 14:31 robert +Wed, 23 Jul 2008 15:42:02 +0000 +Checked in by : Robert Osfield +Fixed unitialized variable - * From Joakim Simmonsson, fix for handling of billboards in - FLATTEN_STATIC_TRANSFORMS_DUPLICATING_SHARED_SUBGRAPHS +Tue, 22 Jul 2008 20:20:16 +0000 +Checked in by : Robert Osfield +Further work on ImageSequence -2008-11-25 14:15 robert +Tue, 22 Jul 2008 16:44:49 +0000 +Checked in by : Robert Osfield +Added support for pruning old images, recording the Duration in the .osg file, and -o filename output support in osgimagesequence. - * Added support for unsigned int uniforms +Tue, 22 Jul 2008 15:58:40 +0000 +Checked in by : Robert Osfield +Improved position when multiple videos are provided -2008-11-25 14:15 robert +Tue, 22 Jul 2008 15:21:24 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Ferdi Smit, added support for unsigned int typed uniforms +Tue, 22 Jul 2008 14:47:59 +0000 +Checked in by : Robert Osfield +Fixed handling of TextureCubeMap's with mipmapped/ImageSequence/PBO's. -2008-11-25 13:45 robert +Tue, 22 Jul 2008 12:40:02 +0000 +Checked in by : Robert Osfield +Added ImageSequence IO support in Texture classes - * From Urlich Hertlein, "Attached is a patched version that - replaces calls to atof() with osg::asciiToFloat()." +Tue, 22 Jul 2008 12:28:46 +0000 +Checked in by : Robert Osfield +Added support for ImageSequence to all Texture classes -2008-11-25 12:22 robert +Tue, 22 Jul 2008 10:13:57 +0000 +Checked in by : Robert Osfield +Disabled the setting of Texture::setUnrefImageOnApply(true) when the imagery is an ImageStream. - * Fixed warning and some unitialized variables. +Tue, 22 Jul 2008 09:02:44 +0000 +Checked in by : Robert Osfield +From Mario Valle, "The attached osgWidget source solves three compilation warnings on VC 7.1 on WindowsXP (OSG 2.5.5). BTW the construct is absolutely legal C++, but VC 7.1 has a different idea..." -2008-11-25 11:09 robert +Mon, 21 Jul 2008 23:42:59 +0000 +Checked in by : Robert Osfield +Moved osgViewer::ScreenCaptureHandler's WindowCaptureCallback from head into .cpp to clean up headers and avoid wrapper build issues.Updated wrappers - * Fixed warning -2008-11-25 10:57 robert - * From Jaromir Vitek, "In attachment are another fixes for using - packed depth+stencil (PDS). - - * When used PDS RenderStage::runCameraSetUp sets flag that FBO - has already stencil,depth buffer attached. Prevents adding next - depth buffer. - * Sets correct traits for p-buffer if used PDS and something goes - wrong with FBO setup or p-buffer is used directly. - * Adds warning to camera if user add depth/stencil already - attached through PDS. - * Sets blitMask when use blit to resolve buffer. - - There is also new example with using multisampled FBO." +Mon, 21 Jul 2008 22:38:11 +0000 +Checked in by : Robert Osfield +Removed the reducent non const get methods -2008-11-24 16:32 robert +Mon, 21 Jul 2008 21:28:48 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "Changes attached so that the CaptureOperation is passed in the constructor of the ScreenCaptureHandler (default 0 = default CaptureOperation). This way, you can do: viewer.addEventHandler(new osgViewer::ScreenCaptureHandler( + new osgViewer::WriteToFileCaptureOperation("filename", "jpg"))); - * From Wojciech Lewandowski, "I have restored MSVC disabled - warnings in osg/Export. Difference is they are now disabled only - when OSG_DISABLE_MSVC_WARNINGS macro is defined. This macro is - set through CMake options and autogenerated in osg/Config. Simon - suggested that it would be cool if we had more control over - selected warnings. I tried to learn how to make selection of - individual warning numbers possible, but had to gave up as my - cmake skills were not sufficient. The only way I saw this - possible would be adding one define for each MSVC warning number. - But many definitions seemed too be to much clutter for osg/Config - file so I rejected thar idea. For this it would be cool if - autogenerated Config entries could more powerful than simple - #define/#undef flags. Maybe Cmake gurus know how to do it. - - I have not reverted added Compiler options. I assume that one may - want to have warnings enabled for the application but may not - want to see them while OSG libraries and examples compile. - - Modified files: - - osg/Export - now explicitly includes osg/Config to make sure - OSG_DISABLE_MSVC_WARNINGS is read - osg/Config.in - declares OSG_DISABLE_MSVC_WARNINGS flag to be - added to autogenerated osg/Config - CMakeLists.txt - declares OSG_DISABLE_MSVC_WARNINGS as option - with default ON setting - " +and the filename will be what you want. The WriteToFileCaptureOperation will add the context ID and the file number (if in SEQUENTIAL_NUMBER mode) to the file name. -2008-11-24 16:26 robert +(The attached also clarifies some notify messages, and corrects the comment when adding the handler in osgviewer.cpp) - * From Marco Jez, "The DDS plugin currently prints too many NOTICE - messages that, given their nature and frequency, should really be - demoted to INFO or DEBUG severity. Fix is attached." +I also remembered, the current architecture could allow a different CaptureOperation for each context, but currently the API only allows setting one CaptureOperation for all contexts. This could be improved if need be. -2008-11-24 16:09 robert +" - * From Alberto Luaces, removed #include as it was cause a - build problem under Cygwin. -2008-11-24 16:02 robert - * Improved the set of the master + slave cameras +Mon, 21 Jul 2008 21:20:21 +0000 +Checked in by : Robert Osfield +From Ruth Lang, "using osg version 2.5.5 and compiling my program under OpenSUSE 11.0 with gcc (version 4.3.1) I got the following error message in include/osgUtil/TriStripVisitor and Tessellatorerror: type qualifiers ignored on function return type -2008-11-24 15:27 robert +The errors belong all to a INLINE function definition. Find attached my +modified version." - * From Rolad Smeenk, "Forgot a call to uniqify when generating an - Id based on osg::Node name." -2008-11-24 14:37 robert - * From Roland Smeenk, "This application can be used for testing - plugins that can both read and write a certain file format. It - will display the original file next to the written and reread - file. - - Example: - osgsidebyside -o cow.dae cow.osg - - This example will read cow.osg, write cow.dae, read cow.dae and - display cow.osg on the left side and cow.dae on the right side of - the view. - - Possible interactions: - KEY_UP Speedup DOF animation - KEY_DOWN SlowDown DOF animation - KEY_RIGHT Toggle all MultiSwitches" - +Mon, 21 Jul 2008 21:17:05 +0000 +Checked in by : Robert Osfield +From Mario Valle, signed/unsgined warning fix -2008-11-24 14:26 robert +Mon, 21 Jul 2008 21:00:57 +0000 +Checked in by : Robert Osfield +Further work on osg::ImageSequence/osgDB::ImagePager - * From Roland Smeenk, "Overview of the Collada/dae plugin changes - - New features - +Read and write of osg::LOD, osg::Switch, osgSim::Sequence, - osgim::MultiSwitch and osgSim::DOFTransform data in - +Read and write of osg::Node description data in - +Plugin option "NoExtras" to prevent writing of data and - only traverse the active children when saving - - Changes/additions - +instanced_geometry and instanced_controller are now loaded in a - single Geode with multiple Geometries instead of multiple geodes - with a single Geometry - +Changed all calls to the deprecated createAndPlace() to the new - add() methods - +All transformation elements , , , - , , are now concatenated properly in to a - single MatrixTransform. - Previously this was not done in order as required by Collada and - and not all elements were included. - +Complete skew matrix creation - +Automatically add GL_RESCALE_NORMAL if scale is non-identity - +Blinn shininess remapping to [0,128] when in range [0,1] - +Changes to CMake file to make it compile on Windows - +Coding style and code documentation - - Bug fixes - +Transparent texture writing fixed - +Fixed bug in using osg node name as collada node ID - +Fixed usage of double sided faces in GOOGLEEARTH extra - +Not adding blendfunc and blendcolor when opaque - - TODO/Wishlist - -solve differences in drawables, DAE reader should place multiple - collation elements into multiple primitivesets in a single - geometry where possible (only when same material) - -solve differences in matrices - -multitexture support - -skinned mesh and generic animations using osgAnimation - -profile_GLSL based on COLLADA OpenGL Effects Viewer - http://ati.amd.com/developer/rendermonkey/downloads.html - -handling more to more closely mimic the intended - lighting" +Mon, 21 Jul 2008 20:44:37 +0000 +Checked in by : Robert Osfield +Upated version number for dev release -2008-11-24 13:50 robert +Mon, 21 Jul 2008 19:23:03 +0000 +Checked in by : Robert Osfield +Moved the ~Record body into the .cpp to avoid a MipsPro compile error (due to a compiler bug) - * Replaced usage atof to asciiToFloat. +Mon, 21 Jul 2008 17:45:28 +0000 +Checked in by : Robert Osfield +Added call to OpenThreads::Thread::cancel(); -2008-11-24 13:19 robert +Mon, 21 Jul 2008 17:39:55 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Converted OpenGL version number code to using osg::asciiToFloat - to avoid issues with conversion using locale senstive atof - function +Mon, 21 Jul 2008 17:28:22 +0000 +Checked in by : Robert Osfield +Added basic image sequencing -2008-11-24 11:39 robert +Mon, 21 Jul 2008 17:27:59 +0000 +Checked in by : Robert Osfield +Added non const getAuthenticationMap(). - * From Jason Daly, "This is a plugin (two, actually) that will - allow OSG to load .bsp map files from Valve's Source Engine games - (Half-Life 2, etc.). One plugin (called "vbsp" to distinguish it - from the Quake 3 bsp loader) reads the .bsp file itself, and the - other ("vtf") reads the texture files. - - The set up for this to work is a bit more complex than most - files, since the engine expects all files to be in a certain - place, and it tends to mix case a lot. I tried to explain - everything in the VBSP_README.txt file." - - This plugin has been integrated with the pre-exisiting bsp - plugin. +Mon, 21 Jul 2008 16:17:41 +0000 +Checked in by : Robert Osfield +Moved the if (!buffer) check to infront of the memory initialization -2008-11-24 10:28 robert +Mon, 21 Jul 2008 15:05:08 +0000 +Checked in by : Robert Osfield +Added --login http authentication. - * Renamig of files in prep of merge of valve bsp support +Mon, 21 Jul 2008 15:04:19 +0000 +Checked in by : Robert Osfield +Added --login url username password http authentication option -2008-11-24 10:16 robert +Mon, 21 Jul 2008 10:57:06 +0000 +Checked in by : Robert Osfield +Initial cut of osgimagesequence example - * From Tim Moore, "the GraphicsWindowX11 code was not correctly - calling GraphicsContext::resized when the window was not mapped - with the requested geometry." +Mon, 21 Jul 2008 10:48:14 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode-project -2008-11-24 10:13 robert +Mon, 21 Jul 2008 10:10:01 +0000 +Checked in by : Robert Osfield +Added ImagePager first cut, and updated wrappers - * Updated wrappers +Mon, 21 Jul 2008 09:55:15 +0000 +Checked in by : Robert Osfield +Added first cut of ImageStream IO wrapper -2008-11-23 17:28 robert +Mon, 21 Jul 2008 09:47:39 +0000 +Checked in by : Robert Osfield +First cut of osgDB::ImagePager for updating osg::ImageSequence - * Added mechnism for tracking when a VncImage is inactive or not. +Mon, 21 Jul 2008 09:46:53 +0000 +Checked in by : Robert Osfield +First cut of osg::ImageSequence class -2008-11-23 15:51 robert +Fri, 18 Jul 2008 21:17:35 +0000 +Checked in by : Robert Osfield +From Adrain Elgi, added osgGA to link list - * Added mechanism for tracking when interactive images are being - rendered to - enable their backends to only rendered them when they are - actively being rendered - in the OpenGL window. +Fri, 18 Jul 2008 11:39:06 +0000 +Checked in by : Robert Osfield +Introduce a custom atof function that always assumes data comes in form 10.10 with the full stop used as a decimal place. -2008-11-23 11:35 robert +Thu, 17 Jul 2008 16:12:39 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay and Robert Osfiled, osgViewer::ScreenCaptureHandler for taking screenshots - * Introduce osg::asciiToDouble/asciiToFloat function. +Thu, 17 Jul 2008 14:25:04 +0000 +Checked in by : Robert Osfield +Updated version and AUTHORS.txt for 2.5.5 release -2008-11-23 10:20 robert +Thu, 17 Jul 2008 14:18:59 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 2.5.5 release - * From Ulrich Hertlein, "I noticed some regression in the BMP - loader - some 8-bit (paletted) files wouldn't load anymore but - simply crash. - - After taking a look at the current state of the BMP loader I - decided it might be worth a shot at reimplementing that part. For - example: the current loader doesn't properly handle 1- and 4-bit - files, incorrectly loads 16-bit files as intensity-alpha (they - are RGB555), is full of dead code, and generally not in very good - shape. - - Attached is my re-implementation for review. - - I've checked it against the test images from - http://wvnvaxa.wvnet.edu/vmswww/bmp.html and models that use BMP - files. - " +Thu, 17 Jul 2008 14:13:13 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-11-23 09:57 robert +Thu, 17 Jul 2008 13:51:14 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "attached are some minor tweaks:- fixed typos in osgViewer/ViewerBase +- const-ness in include/osg/View findSlaveIndexForCamera +- supported options for STL reader, fixed return values to reflect proper errors +- supported options for DirectX reader, fixed return values +- normals pseudo-loader: scaling normals to a const (but variable) fraction of the bounding sphere radius +" - * From Paul Martz, added missing export -2008-11-22 14:30 robert - * Removed the optional build for osgWidget and plugins as these are - options that are appropriate for building all the time +Thu, 17 Jul 2008 13:32:47 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2008-11-22 12:14 robert +Thu, 17 Jul 2008 13:23:43 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project - * From Cedric Pinson, Pulled in osgAnimation from - OpenSceneGraph-osgWidget-dev into svn/trunk. +Thu, 17 Jul 2008 12:26:42 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-11-21 18:16 robert +Thu, 17 Jul 2008 12:13:04 +0000 +Checked in by : Robert Osfield +Moved AuthenticalMap/AuthenticationDetails out in their own files - * From Danny Valente, submitted bu Jean-Sebastien Guay, "Some - context: In the past I submitted a fix to - osgViewer::CompositeViewer where events would get wrong input - ranges. Later, you made a change to set the eventState's current - graphics context to the current graphics context. However, - there's a problem in the sequence of events. Here's the recap - (doing a graphical diff with the attached file will show this - clearly): - - Before: - - 1. if the camera is not a slave camera - 1.1 set the eventState's graphics context to the current context. - 2. if the current master view is not the view which has the focus - 2.1 set the current master view to be the view which has the - focus - 2.2 use the new master view's eventState instead of the old one - - Now as you can see from this sequence, the graphics context is - set on the eventState before switching to the view which has - focus (and thus using another eventState). So the new eventState, - in the case we need to switch views, will contain an old graphics - context, not the correct one. - - Just inversing these steps fixes the problem: - - 1. if the current master view is not the view which has the focus - 1.1 set the current master view to be the view which has the - focus - 1.2 use the new master view's eventState instead of the old one - 2. if the camera is not a slave camera - 2.1 set the eventState's graphics context to the current context. - - Now, the eventState will refer to the correct graphics context in - both cases. - - Attached is a fixed CompositeViewer.cpp (based on today's SVN) - which does this. Note that some other things are done in the 1. - and 2. cases, but they have no influence on each other so they - can just be swapped without problems. - " +Thu, 17 Jul 2008 11:55:55 +0000 +Checked in by : Robert Osfield +Added osgDB::AuthenticationMap/Details to osgDB and curl plugin to add the ability to authenticate http transfers -2008-11-21 17:44 robert +Wed, 16 Jul 2008 19:07:01 +0000 +Checked in by : Robert Osfield +Removed net plugin for Xcode projects - * Added handling of View::LightingMode +Wed, 16 Jul 2008 16:19:54 +0000 +Checked in by : Robert Osfield +Moved .net plugin out into Deprecated section of osg svn repostitory -2008-11-21 17:10 robert +Wed, 16 Jul 2008 16:19:19 +0000 +Checked in by : Robert Osfield +Fixed path to font - * Build fix +Wed, 16 Jul 2008 16:05:43 +0000 +Checked in by : Robert Osfield +Set the default setting of LineWidth to 2.0 to ensure that old default behavior is maintained. -2008-11-21 16:09 robert +Wed, 16 Jul 2008 16:04:27 +0000 +Checked in by : Robert Osfield +From Vincent Bourdier, removed line with setWidth(2.0) as this code prevents user settings of line with. - * Added exports +Wed, 16 Jul 2008 15:58:51 +0000 +Checked in by : Robert Osfield +Cleaned up the updateStateSet code -2008-11-21 13:23 robert +Wed, 16 Jul 2008 15:58:15 +0000 +Checked in by : Robert Osfield +Refactored the MultiTextureControl node callback so that the update is now done as an update callback, with the elevation aquired via a cull callback - * From David Spilling, better support for multitexture in obj - loader. +Wed, 16 Jul 2008 13:29:35 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-11-21 12:38 robert +Wed, 16 Jul 2008 13:26:06 +0000 +Checked in by : Robert Osfield +Changed int's to unsigned int's to avoid warnings - * From Jaromir Vitek, osgpackeddepthstencil example as a test case. +Wed, 16 Jul 2008 13:23:58 +0000 +Checked in by : Robert Osfield +Moved the _textureObjectBuffer assignment to after the imagery has been download to avoid crashes under multi-threaded compile of texture objects (was causing a crash with 3D Textures, but is something that would happen with other Texture types as well.) -2008-11-21 12:31 robert +Wed, 16 Jul 2008 12:53:58 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode-project, included osgWidget-Framework - * Updated wrappers +Wed, 16 Jul 2008 11:40:01 +0000 +Checked in by : Robert Osfield +Removed a division by precomputing the associated values -2008-11-21 12:30 robert +Tue, 15 Jul 2008 22:30:51 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, Updated file references to reflect new data in OpenSceneGraph-Data - * Made the ParticleSystemUpdate::addParticleSystem, - removeParticleSystem, replaceParticleSystem and setParticleSystem - methods all virtual to allow them to be overriden. +Tue, 15 Jul 2008 22:13:35 +0000 +Checked in by : Robert Osfield +Added osgWidget wrappers -2008-11-21 12:15 robert +Tue, 15 Jul 2008 22:03:59 +0000 +Checked in by : Robert Osfield +Converted tabs to four spaces - * From Mario Valle, "Attached two small correction to remove the - following warnings from MINGW build." +Tue, 15 Jul 2008 21:28:22 +0000 +Checked in by : Robert Osfield +Fixed typo -2008-11-21 12:10 robert +Tue, 15 Jul 2008 20:30:56 +0000 +Checked in by : Robert Osfield +Moved the private sections int protected to allow subclasses acces to all methods/members. Moved public section to top of the class definition to make it more consistent with the rest of the OSG. - * From Jason Beverage, "The _pluginData member variable is not - properly copied when using the copy constructor for - ReaderWriter::Options." +Tue, 15 Jul 2008 19:42:49 +0000 +Checked in by : Robert Osfield +Fixed name of lib -2008-11-21 12:05 robert +Tue, 15 Jul 2008 19:28:30 +0000 +Checked in by : Robert Osfield +Changed IMPORT to "Import option", and "EXPORT:" to "Export option:" in supportsOptions() docs make it a little more friendly and understandable - * From Joakim Simonsson, fixed warning. +Tue, 15 Jul 2008 19:26:20 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Here's documentation for the export options of the FLT plugin. I also labeled the import options as such." -2008-11-21 11:52 robert +Tue, 15 Jul 2008 19:24:48 +0000 +Checked in by : Robert Osfield +Updated version number to 2.5.5 in prep for dev release - * From Gordon Tomlinson, "Find enclosed fix for a leak in the - Tessellator::reset(), were the new verts were not being deleted, - only the container was - - We have confirmed the leak while running things through Purify," - - Small code tweaks by Robert Osfield to streamline the code. +Tue, 15 Jul 2008 19:24:22 +0000 +Checked in by : Robert Osfield +Changed the version setup code to be consistent with the rest of the OSG -2008-11-21 11:27 robert +Tue, 15 Jul 2008 19:23:48 +0000 +Checked in by : Robert Osfield +Removed now redundent example - * Updated wrappers +Tue, 15 Jul 2008 19:02:20 +0000 +Checked in by : Robert Osfield +From Gino van den Bergen, "The VRML plugin in the current 2.5.4 release will not compile under VC8.0 when the project file is generated using CMake 2.6. The attached CMakeLists.txt will fix this problem. The file replaces the CMakeLists.txt file in src/osgPlugins/vrml. NB: It is assumed that the antlr and regex libs are located in $(OPENVRML_DIR)/lib. " -2008-11-21 11:23 robert +Tue, 15 Jul 2008 18:53:16 +0000 +Checked in by : Robert Osfield +From Jean-Sebastian Guay, "Here are the CMakeLists.txt files for the osgWidget examples, changed to use SETUP_EXAMPLE like the other examples." - * From Serge Lages, "Here you can find some modifications to - osgManipulator to work with double values instead of floats. - Indeed I faced problems with the osgManipulator library when - working with Earth based scenes, it was impossible to drag - objects in a precise way if they were too far from the center of - the scene." +Tue, 15 Jul 2008 18:12:17 +0000 +Checked in by : Robert Osfield +Fixed typo -2008-11-21 11:09 robert +Tue, 15 Jul 2008 17:21:25 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, import of the osgWidget NodeKit, sourced from the original http://osgwidget.googlecode.com/svn/trunkNotes from Robert Osfield, I've merged osgWidget trunk, and added/changed CMakeLists.txt file to make it suitable for inclusion in the core OSG, and moved imagery/scripts/shaders out into OpenSceneGraph-Data - * Replaced tabs -2008-11-21 10:27 robert - * Added handling of case when there is so scene graph attached to a - view. -2008-11-20 17:27 robert +Tue, 15 Jul 2008 14:24:46 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Jim Vaughan, "I found a bug in the code I sent you last - month. It was working for SoVRMLTransform nodes, but - SOTransform nodes are not in the IV scenegraph the way I thought - they were. The attached file - contains a fix for this." +Tue, 15 Jul 2008 14:24:21 +0000 +Checked in by : Robert Osfield +From Art Trevs, Removed GLeunm version setAttachment() to avoid ambigiuity with whether to enable MRT. -2008-11-20 13:07 robert +Tue, 15 Jul 2008 14:15:42 +0000 +Checked in by : Robert Osfield +Renamed Archive::ArchiveStatus to ReaderWriter::ArchiveStatus - * Added readNodeFile support the gecko plugin. +Tue, 15 Jul 2008 10:45:07 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-11-20 12:03 robert +Tue, 15 Jul 2008 09:55:33 +0000 +Checked in by : Robert Osfield +Missing check-ins - * Added DisplaySettings::s/getApplication() to help with gecko - plugin initialization when it requires the application name +Mon, 14 Jul 2008 20:22:38 +0000 +Checked in by : Robert Osfield +Added --plugins and --formats query support into osgconv to help with querying the available plugins and the file formats/protocols they support -2008-11-20 11:47 robert +Mon, 14 Jul 2008 20:11:37 +0000 +Checked in by : Robert Osfield +Added missing ac3d supportsExtensions() constructor - * Updated wrappers +Mon, 14 Jul 2008 08:48:49 +0000 +Checked in by : Robert Osfield +Added initial cut at plugin query code -2008-11-20 11:28 robert +Sun, 13 Jul 2008 22:18:59 +0000 +Checked in by : Robert Osfield +Converted plugins to use the new supportsExtension()/supportsOptions/supportsProtocl() methods to help enable better querying of supported features - * Clean up osgbrowser after moving browser implementation into - gecko plugin +Sun, 13 Jul 2008 15:24:45 +0000 +Checked in by : Robert Osfield +Added new ReaderWriter methods for recording what protocols, extensions and options are support by ReaderWriters -2008-11-20 11:27 robert +Sun, 13 Jul 2008 12:34:06 +0000 +Checked in by : Robert Osfield +From Paul Martz, removed uneccessary libraries from link line - * Moved browser code from osgbrowser example into gecko plugin to - make the browser functionality accessible to other OSG - applications +Sat, 12 Jul 2008 17:44:51 +0000 +Checked in by : Robert Osfield +Updated date for 2.5.4 release -2008-11-19 20:34 robert +Sat, 12 Jul 2008 17:30:17 +0000 +Checked in by : Robert Osfield +Added an OSG_EXPORT - * Reverted Kyle Centers mistaken patch that removed a - _currentContext->valid() that was actually required. +Sat, 12 Jul 2008 16:11:14 +0000 +Checked in by : Robert Osfield +Updated Authors for dev release -2008-11-19 17:16 robert +Sat, 12 Jul 2008 15:29:30 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for dev release - * Moved Browser.h and Browser.cpp from osgbrowser into osgWidget. +Sat, 12 Jul 2008 12:00:58 +0000 +Checked in by : Robert Osfield +From Doug McCorkle, "Attached is patch that corrects/improves the following issues with the OBJ loader:1. Added options to control wether the osgUtil::Tessellator or osgUtil::TriStripVisitor are run. By default they still run just as before. +2. Added support for the Emissive material. The data was being read from the mtl file but was never being applied to the model. +3. This is the main bug addressed, when a model is read in with an alpha value specified like: -2008-11-19 17:04 robert +newmtl Material__8 + Ns 24 + d 0.33 + illum 2 + Kd 0.204 0.204 0.204 + Ks 0 0 0 + Ka 0.153 0.153 0.153 - * Added XUL_DIR searching +where the alpha value is d. The loader would then overwrite the alpha value when reading the diffuse, specular, and ambient colors. I have changed all the material color readers to only set the values they read and to use the default colors specified in the constructor of the obj class. With these changes, the obj reader now handles opacity correctly if the alpha value is specified before the material colo" -2008-11-19 17:02 robert - * Fixed component directory path handling. -2008-11-19 16:58 robert +Sat, 12 Jul 2008 11:19:25 +0000 +Checked in by : Robert Osfield +Cleaned up osgkdtree example - * Refactored browser classes so that there is now a base class and - reader writer. +Fri, 11 Jul 2008 20:01:12 +0000 +Checked in by : Robert Osfield +Updated version numbers for dev release -2008-11-18 23:38 robert +Fri, 11 Jul 2008 19:52:25 +0000 +Checked in by : Robert Osfield +From Adrain Egli, "i added a default scene with 7 different draggers attached. it's more easy to test the draggers." - * Changed osgbrowser example to use a local - CMakeModules/FindXUL.cmake script, - and specialization of GTK dependencies to only non Windows/OSX - platforms. +Fri, 11 Jul 2008 19:43:01 +0000 +Checked in by : Robert Osfield +From Christophe Loustaunau, "For our application, we need to write tiff file in floats. I have change a little bit the readerWritterTiff : It check the data type of the image ( img.getDataType() ) and if it's GL_FLOAT :It save the tiff with float values. Otherwise it does the same thing as before." -2008-11-18 17:20 robert +Fri, 11 Jul 2008 19:23:49 +0000 +Checked in by : Robert Osfield +From Liang Aibin, " In lastest svn version of OSG, the .ive plugin missing osg::Light, it does not process I/O for osg::Light. Now I have fixed it as follows:2. In DataInputStream.cpp, I add support code in DataInputStream::readStateAttribute + for osg::Light. + +3. In DataOutputStream.cpp, I add support code in DataOutputStream::writeStateAttribute + for osg::Light. + " - * Removed debug output -2008-11-18 15:18 robert - * Added optional bool keep to BarrierOperation to make it more - resuable -2008-11-18 14:46 robert +Fri, 11 Jul 2008 17:46:30 +0000 +Checked in by : Robert Osfield +From Joakim Simmonson, "Opcodes.h: * Added INVALID_OP as -1 in the Opcodes enum. Note that INVALID_OP is not an actual opcode defined in the OpenFlight format. The purpose of INVALID_OP is to mark an opcode variable as invalid or uninitialized.ReaderWriterFLT.cpp: +* The header node is returned if it exists, even if the file does not contain a node hierarchy. The old behaviour returned a ERROR_IN_READING_FILE error. +* Changed opcodes initialized to -1 to the new enum value INVALID_OP." - * Moved update functionality into from UBrowserImage into update. -2008-11-18 13:36 robert - * Added support for running all ubrowser operataions in a - background thread. -2008-11-17 19:15 robert +Fri, 11 Jul 2008 17:41:50 +0000 +Checked in by : Robert Osfield +From Joakim Simmonsson, fixed various spelling typos in comments - * Fixed key mapping +Fri, 11 Jul 2008 17:35:13 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Due to the recent data variance changes/discussion: Change the ac3d loader that can as such only deliver static models to set the data variance to static for the returned model. " -2008-11-17 17:58 robert +Fri, 11 Jul 2008 17:07:05 +0000 +Checked in by : Robert Osfield +Increased the buffer and fixed the buffer calculation when moving backwards into objects - * Refactored the UBrowser functionality so a UBrowserThread - singlton class takes - over more responsibility of integratation with llmozlib. +Fri, 11 Jul 2008 16:51:11 +0000 +Checked in by : Robert Osfield +Updated KdTree code to refect new cleaned up API -2008-11-17 15:53 robert +Fri, 11 Jul 2008 16:50:43 +0000 +Checked in by : Robert Osfield +Tweaked the KdTree intersection performance testing code block - * Removed dependency on GLUT. +Fri, 11 Jul 2008 16:48:55 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-11-17 15:49 robert +Fri, 11 Jul 2008 16:48:39 +0000 +Checked in by : Robert Osfield +Moved the building and intersecting of the KdTree into the .cpp, and cleaned up the header to ready it for wider usage - * Ported example to using OSG objects for rendering rather than - GLUT +Thu, 10 Jul 2008 15:50:10 +0000 +Checked in by : Robert Osfield +Streamlined KdTree implementation -2008-11-17 10:36 robert +Wed, 9 Jul 2008 19:43:02 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Introduced xulrunner extensions from llmozlib2, and got things - working under linux +Wed, 9 Jul 2008 19:42:15 +0000 +Checked in by : Robert Osfield +Cleaned up KdTree implementation -2008-11-14 20:50 robert +Wed, 9 Jul 2008 19:41:36 +0000 +Checked in by : Robert Osfield +Reordered KdLeaf/KdNode so that the first element to be accessed is first in the data structure - * From Philip Lowman, "If you change CMAKE_INSTALL_PREFIX in the - cache editor after building the OSG, it causes the entire project - to rebuild (at least with the CMake makefile generator due to - changing preprocessor definitions applied across all targets). - - I suggest moving the definition of OSG_DEFAULT_LIBRARY_PATH - (which is responsible for this global rebuild) into - osgDB/CMakeLists.txt which is the only library in the code where - this definition is (and is likely ever to be) used. This way if - the user changes it, only osgDB will rebuild." +Wed, 9 Jul 2008 19:40:10 +0000 +Checked in by : Robert Osfield +Introduced code for doing dummy test traversals - used for benchmarking KdTree code. -2008-11-14 20:31 robert +Wed, 9 Jul 2008 19:28:00 +0000 +Checked in by : Robert Osfield +Added range of camera manipulators and a center of screen test intersection that is insticated by pressing 'c' key - * Added definition of std::wstring as a work around to a lack of - wstring under Cygwin. +Wed, 9 Jul 2008 19:26:40 +0000 +Checked in by : Robert Osfield +Introduce a intersecion performance testing code path, #if def'd out for now. -2008-11-14 18:22 robert +Wed, 9 Jul 2008 12:37:59 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Simon Hammett, moved VS #prgama warning disabling from - include/osg/Export to CMakeList.txt. +Tue, 8 Jul 2008 18:02:09 +0000 +Checked in by : Robert Osfield +Fixed set method -2008-11-14 18:15 robert +Tue, 8 Jul 2008 17:35:10 +0000 +Checked in by : Robert Osfield +Added optional control of whether to use KdTrees for intersections - * Removed reduncent #includes +Mon, 7 Jul 2008 20:27:56 +0000 +Checked in by : Robert Osfield +Implement hierachy culling in KdTree::intersect(..) -2008-11-14 17:03 robert +Mon, 7 Jul 2008 14:27:58 +0000 +Checked in by : Robert Osfield +Improved the handling of KdTree intersections - * From Wojciech Lewandowski, "Attached are modifications to - GraphicsWindowWin32. By default workaround is - set to off. But could be activated/decativated via CMake as well - as system - environment variable. I also modified - src\osgViewer\CMakeLists.txt to turn - off this workaround by default as suggested." +Mon, 7 Jul 2008 13:21:37 +0000 +Checked in by : Robert Osfield +Implemented intial KdTree triangle intersection code, but without culling implemented -2008-11-14 16:54 robert +Mon, 7 Jul 2008 10:46:22 +0000 +Checked in by : Robert Osfield +Added KdTreeBuilder calls into FindCompileableGLObjectsVisitor, and an alternative path that explictly calls the KdTreeBuilde when required in cases when no pre compile of GL objects is required. - * Added GTK and GLUT guards to osgbrowser include +Mon, 7 Jul 2008 09:40:30 +0000 +Checked in by : Robert Osfield +Changed types to avoid warnings under Windows -2008-11-14 16:48 robert +Sun, 6 Jul 2008 18:27:10 +0000 +Checked in by : Robert Osfield +Changed the DatabasePager so that it bypasses the Registry::readNode() method and calls readNodeImplementation() directly to avoid calling the KdTreeBuilder.Updated wrappers. - * Further work on experiment llmozlib/geko based embedded web - browser -2008-11-13 15:35 robert - * An "attempt" at using LLMozLib sources as a base for a gecko - based embedded browser. -2008-11-13 10:49 robert +Sun, 6 Jul 2008 12:14:19 +0000 +Checked in by : Robert Osfield +Moved KdTree build code into osg::KdTree - * Updated version number in prep for 2.5.6 dev release +Sat, 5 Jul 2008 17:29:07 +0000 +Checked in by : Robert Osfield +Added handling of co-incident start and end points. -2008-11-12 22:54 robert +Sat, 5 Jul 2008 16:39:28 +0000 +Checked in by : Robert Osfield +Ported intersection code to use new osgUtil::LineSegmentIntersector/IntersectionVisitor. - * Moved Poppler-glib check into root CMakeList.txt +Fri, 4 Jul 2008 19:16:19 +0000 +Checked in by : Robert Osfield +Converted TerrainManipulator to use osgUtil::InterectionVisitor rather than the old IntersectVisitor -2008-11-12 14:57 robert +Fri, 4 Jul 2008 17:02:02 +0000 +Checked in by : Robert Osfield +Added KdTree intersection support into LineSegmentIntersector - * Improved filepath handling, and increased the image resolution - for better rendering quality +Fri, 4 Jul 2008 15:57:48 +0000 +Checked in by : Robert Osfield +Added prelimnary KdTree data structure and automatic kdtree build support into osgDB::Registry/osgTerrain so that newly created subgraphs can have KdTree built on all osg::Geometry automatically on load/creation. -2008-11-12 14:21 robert +Fri, 4 Jul 2008 11:51:55 +0000 +Checked in by : Robert Osfield +Moved vertex indicies method into a single block with deprecated doc lines - * Introduced new osgpdf example that use Cario + Poppler libraries - to provide a means of rendering a pdf document to an osg::Image. +Thu, 3 Jul 2008 17:18:14 +0000 +Checked in by : Robert Osfield +Introduced bounding boxes to KDLeaf and KDNode structs -2008-11-12 14:20 robert +Thu, 3 Jul 2008 15:49:28 +0000 +Checked in by : Robert Osfield +Added new data structure + build algorithm that places triangles into leaves without being shared, but with varying the boundaries of leaves so that they may overlap. - * Updated wrappers +Thu, 3 Jul 2008 15:01:04 +0000 +Checked in by : Robert Osfield +From Mario Valle, "xed the following warning on Linux 64 bits Athlon:/users/mvalle/OSG/OpenSceneGraph/src/osg/BufferObject.cpp: In member function `virtual void osg::ElementBufferObject::compileBuffer(osg::State&) const': +/users/mvalle/OSG/OpenSceneGraph/src/osg/BufferObject.cpp:600: warning: cast to pointer from integer of different size" -2008-11-12 10:30 robert - * Added osgViewerGetVersion() into context creation code as a means - of forcing windows to link in osgViewer properly. -2008-11-11 17:59 robert +Thu, 3 Jul 2008 14:59:07 +0000 +Checked in by : Robert Osfield +From Mario Valle, removed extraneous spaces - * Improved naming +Thu, 3 Jul 2008 11:23:44 +0000 +Checked in by : Robert Osfield +Added header guards -2008-11-11 17:30 robert +Thu, 3 Jul 2008 11:22:23 +0000 +Checked in by : Robert Osfield +Refactored example so that the example will be able to run different kdtree data strucutres/algorithms. - * Tweaked comment +Thu, 3 Jul 2008 11:07:59 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, "The check for Leopard to build 4-way binaries by default was broken. Here is an updated CMakeLists.txt file to fix the problem." -2008-11-11 17:29 robert +Thu, 3 Jul 2008 10:24:20 +0000 +Checked in by : Robert Osfield +Implement an experiemental triangle kdtree building support - * Added default fallback of a window context is none is otherwise - specified. +Thu, 3 Jul 2008 10:03:06 +0000 +Checked in by : Robert Osfield +Set the DataVariance on FadeText to DYNAMIC to reflect their nature -2008-11-11 16:59 robert +Wed, 2 Jul 2008 10:00:09 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added command line argument docs and support for -h/--help - command line options +Wed, 2 Jul 2008 09:25:08 +0000 +Checked in by : Robert Osfield +Introduced support for UNSCPECIFIED and STATIC DataVariance of StateSet/Textures -2008-11-11 16:59 robert +Tue, 1 Jul 2008 19:04:29 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "There is a problem reading bmp files containing a colour palette, due to an incorrect scan line length calculation. Attached is a fix, and a little bmp file which demonstrates the problem." - * Removed the redundent prepending of application name. +Tue, 1 Jul 2008 18:37:13 +0000 +Checked in by : Robert Osfield +From Lilin Xiong, "I change ive plugin a little for osgText inout, so the ive plugin supports backdrop setting, and Text3D, FadeText inout :1. in DataInputStream.cpp, add 1286--1293 lines; +2. in Text.cpp, add some code for text's Backdrop setting; +3. in IveVersion.h, add line 39, increase the VERSION to VERSION_028(line 41) +4. in ReadWrite.h, add line 146,147 +5. add file FadeText.h, FadeText.cpp, Text3D.h, Text3D.cpp." -2008-11-11 16:21 robert - * Added timing stats -2008-11-11 16:13 robert +Tue, 1 Jul 2008 13:56:02 +0000 +Checked in by : Robert Osfield +Added Vec3Array arrange pointer to avoid dynamic cast - * Added --geometry, --geometry-vbo and --geometry-va command line - options and associated geometry test codes +Tue, 1 Jul 2008 09:40:06 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "It appears not to be sufficient to set a cmake variable to get a define in such a config file. Instead set that variable to 1. Also included a small compile fix, that appears to be required than ..." -2008-11-11 15:00 robert +Mon, 30 Jun 2008 16:53:06 +0000 +Checked in by : Robert Osfield +Added guards against FBO not being supported/setup - * Added --delay option that is run between each - OpenGL object apply, defaults to 0 +Sun, 29 Jun 2008 13:41:07 +0000 +Checked in by : Robert Osfield +Updated README date for 2.5.3 dev release -2008-11-11 12:50 robert +Sun, 29 Jun 2008 12:22:50 +0000 +Checked in by : Robert Osfield +Changed the Optimizer::StateVisitor so that it can individually decide whether to optimize away duplicate state with dynamic, static and unspecified DataVarience. By default the code now optimizes away duplicate state with either static and unspecied state, previously it was just handling static state. - * Added support for fbo testing. +Sat, 28 Jun 2008 16:59:26 +0000 +Checked in by : Robert Osfield +Added realize of new graphics contexts to handle new views being added with unrealized windows -2008-11-10 20:06 robert +Fri, 27 Jun 2008 19:40:52 +0000 +Checked in by : Robert Osfield +Changed back to use an std::vector<> rather than a std::list for RequestQueue to avoid member template problems under Solaris. - * First cut of osgmemorytest example that is written to allocate - many windows/pbuffer/GL objects as test of how many objects can - be allocated on a machine. +Fri, 27 Jun 2008 18:59:27 +0000 +Checked in by : Robert Osfield +Refactored the sort of the requestQueue so that there is single code path for doing the sort. -2008-11-10 13:56 robert +Fri, 27 Jun 2008 16:47:43 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Update to the configure check for msvc 7.1. MemoryBarrier() is used in the implementation, so it should be checked. This in effect disables the faster atomic ops on msvc 7.1 and older, even if only the MemoryBarrier() call is missing. But it ensures for the fist cut that it will build everywhere. If somebody cares for msvc 7.1 enough and has one for testing installed, he might provide the apropriate defines to guard that MemoryBarrier() call.I tested that msvc8 32/64bit still passes the configure tests and compiles. +" - * Added commented out flt entry for compiling the old deprecated - flight plugin (useful for testing purposes). -2008-11-10 13:48 robert - * Fix to traversal of children of an LOD - based on a suggestion - from Katharina Plugge. +Fri, 27 Jun 2008 12:44:41 +0000 +Checked in by : Robert Osfield +Simplified the MixinVector class so that it no longer supports custom allocators, instead just uses std::vector<>'s default allocators. -2008-11-09 11:56 robert +Fri, 27 Jun 2008 12:35:56 +0000 +Checked in by : Robert Osfield +Moved the apply(&) default implementations from the header into the NodeVisitor.cpp, and changed the casts to use static_cast<>. - * Added support for Camera::PACKED_DEPTH_STENCIL_BUFFER to .osg and - .ive formats +Fri, 27 Jun 2008 11:47:06 +0000 +Checked in by : Stephan Maximilian HUBER +from Stephan Huber: updated XCode project -2008-11-09 11:55 robert +Fri, 27 Jun 2008 10:17:38 +0000 +Checked in by : Robert Osfield +From Andre Normann, "with version 8504, I am not able to compile osgwrappers under Windows, because there are some DLL export macros missing. I fixed it and put the files in the attached zip file. " - * From Jaromir Vitek, "patch contains extension to fbo and camera. - Camera can attach new render buffer for depth and stencil logical - buffer in packed form." +Thu, 26 Jun 2008 19:51:24 +0000 +Checked in by : Robert Osfield +Updated authors and osgversion -2008-11-08 17:53 robert +Thu, 26 Jun 2008 19:47:00 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * From Jean-Sebastien Guay, replaced M_PI with osg::PI. +Thu, 26 Jun 2008 19:21:54 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-11-07 18:02 robert +Thu, 26 Jun 2008 18:34:01 +0000 +Checked in by : Robert Osfield +From Paul Martz, "The method IntersectionVisitor::apply(osg::PagedLOD&) appears to attempt to identify a "highest res" child of the PagedLOD and only allow intersection on that child. The implementation appears to be flawed in two cases:1) The "highest res" child is assumed to be the child with index "getNumFileNames()-1" or "getNumChildren()-1". As a result, PagedLODs that do not sort children from furthest to nearest will intersect with the wrong child. (see attached "case1.osg" to reproduce this problem.) + +2) The code assumes there is only one highest res child. As a result. PagedLODs with multiple children at the same highest res range can only intersect one of those children. ("case2.osg" demonstrates this issue; you can only pick the quad on the right.) + +I've attached a modified IntersectionVisitor.cpp that attempts to resolve these issues. It identifies a highest res range based on the range mode, then continues traversal on all valid children corresponding to that range description. Only in the case of a malformed PagedLOD does the code fall back to getting the last child in the list. + " - * Updated ChangeLog for 2.7.5 release -2008-11-07 17:40 robert - * From Csaba Halasz, fix for hang when running in - CullThreadPerCameraDrawThreadPerContext threading model. +Thu, 26 Jun 2008 18:06:24 +0000 +Checked in by : Robert Osfield +From Morten Haukness, "When cloning effects osg crashes because the copy constructur tries to run av pure virtual method (setUpEmitterAndProgram). The right thing to do when cloning an effect is to run the inherited version og buildEffect and setUpEmitterAndProgram." -2008-11-07 17:23 robert - * Fixed typo -2008-11-07 17:07 robert +Thu, 26 Jun 2008 16:45:50 +0000 +Checked in by : Robert Osfield +Changed the removeCamera() method so that it now actively calls releaseGLObjects() on all children of a camera that aren't shared with other cameras on that context.This change fixes problems with allocating and deleting views. - * Fixed build under gcc 4.3.2 -2008-11-07 16:26 robert - * Updated ChangeLog and version number for 2.7.5 release +Thu, 26 Jun 2008 15:06:44 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, updated CMakeLists.txt to build the Atomic.cpp -2008-11-07 16:14 robert +Thu, 26 Jun 2008 13:09:54 +0000 +Checked in by : Robert Osfield +From Eric Sokolowski, added enforcement of CMake 2.6.0 under OSX. - * Removed fstream for wrapper due to problems with wrapping. +Thu, 26 Jun 2008 13:08:24 +0000 +Checked in by : Robert Osfield +From Eric Sokolowski, Cmake support for osgviewerCocoa -2008-11-07 16:03 robert +Thu, 26 Jun 2008 12:08:37 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, build fixes for various unices - * Removed due to problems with build +Thu, 26 Jun 2008 10:33:47 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, added do not edit comments to Config.in so that the autogenerated Config files have an appropriate warning notice -2008-11-07 15:38 robert +Thu, 26 Jun 2008 10:27:16 +0000 +Checked in by : Robert Osfield +From Mathias Froechlich, "Attached is a change to that atomic stuff to move the win32, msvc implementation of the atomic increment and decrement into a implementation file. This way inlining and compiler optimization can no longer happen for these implementations, but it fixes compilation on win32 msvc targets. I expect that this is still faster than with with mutexes.Also the i386 gcc target gets atomic operations with this patch. By using an +implementation file we can guarantee that we have the right compiler flags +available." - * Updated wrappers -2008-11-07 15:08 robert - * From Michael Platings, Converted std::fstream/ifstream/ofstream - to osgDB::fstream/ifstream/ofstream and - fopen to osgDB::fopen to facilitate support for wide character - filenames using UT8 encoding. +Mon, 23 Jun 2008 15:11:37 +0000 +Checked in by : Robert Osfield +Fixed pedantic warning -2008-11-07 15:01 robert +Mon, 23 Jun 2008 14:51:34 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "fixed win32/win64 configure check and win32/win64 atomic related compile failures with msvs2005. Attached changes to make win32 really use the atomic stuff. There are pointer typecast problems and some historic alignment restrictions that I just took from a previous similar implementation of mine without looking deep enough. " - * Converted tabs to four spaces +Mon, 23 Jun 2008 11:14:06 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, "Suibject: CMakeList ADD_DEFINITION for CMAKE_DEBUG_POSTFIX broken I needed a -DCMAKE_DEBUG_POSTFIX="d" not a -D"CMAKE_DEBUG_POSTFIX=d".This corrects the build for the CMake 2.4 and 2.6 series -2008-11-07 13:18 robert +The error was in compiling osgDB/Registry.cpp +" - * From Tim Moore, removed redundent forward declartion of - BoundingBox and BoundingSphere -2008-11-07 10:23 robert - * From Martins Innus, "Here is a fix to add requestWarpPointer for - OS X. It seems to work for me, I just took what osgProducer had. - These are updated files to 2.7.3" +Mon, 23 Jun 2008 10:18:04 +0000 +Checked in by : Robert Osfield +Commented out the explict install of the Config files as including these files into the header list allows the normal Cmake install support to install them. -2008-11-06 16:48 robert +Mon, 23 Jun 2008 09:57:45 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, "I have made a number of changes intended to get a few things working better on OSX. However, since I'm still pretty new at Mac development and cmake I'm not entirely certain that the changes I have made are benign on other platforms. I have tested these changes on Leopard with CMake 2.6 generating Xcode 3.0 projects, compiling on ppc and i386 for 10.5 and 10.4, and on Linux (CentOS) and everything still seems to work ok. Here are the changes I made (against OSG svn as of this afternoon):- Added osgviewerCocoa example to APPLE builds +- Fixed corrupt Xcode project generation with CMake 2.6 dealing with ADD_DEFINITIONS and CMake Policy CMP0005 on Leopard +- Resolved CMP0006 warning for examples and programs by setting BUNDLE DESTINATION to same as RUNTIME DESTINATION with CMake 2.6 +- Fixed freetype plugin on Leopard to avoid OpenGL linking problem +- Figured out how to use a custom Info.plist included in the project (see osgviewerCocoa application CMakeLists.txt)" - * Changed to using stdio.h. -2008-11-06 14:56 robert - * Updated wrappers +Mon, 23 Jun 2008 08:06:07 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: added missing config files and updated xcode-project -2008-11-06 14:46 robert +Sat, 21 Jun 2008 17:56:38 +0000 +Checked in by : Robert Osfield +Quietened down debug info - * Fixed constness of getTexture/getRenderBuffer() const and added - non cost version. +Sat, 21 Jun 2008 17:50:58 +0000 +Checked in by : Robert Osfield +Added support for X11's overrideRedirect functionality -2008-11-06 14:29 robert +Sat, 21 Jun 2008 11:34:01 +0000 +Checked in by : Robert Osfield +Converted tabs to four spaces - * From Michael Platings, "I've added functions to get the - texture, renderbuffer and other properties from a - FrameBufferAttachment." +Fri, 20 Jun 2008 19:52:14 +0000 +Checked in by : Robert Osfield +Changed the include/osg/Config and include/OpenThreads/Config references to use the assocaited CMake variable for these headers -2008-11-06 14:17 robert +Fri, 20 Jun 2008 19:51:21 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * From Kyle Centers, removed redundent check to - _currentContext.valid(). +Fri, 20 Jun 2008 17:32:27 +0000 +Checked in by : Robert Osfield +From Terry Welsh, added missing MixinVector header -2008-11-06 14:04 robert +Fri, 20 Jun 2008 16:57:22 +0000 +Checked in by : Robert Osfield +Added OSG_WINDOWING_SYSTEM cmake option string to allow toggling between X11 and Carbon under OSX. - * From Csaba Halasz, adding missing export directives +Fri, 20 Jun 2008 15:50:53 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, moved optional config variables into include/osg/Config file that is automatically created by cmake according to its own settings. -2008-11-06 13:57 robert +Fri, 20 Jun 2008 15:49:15 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * From Thomas Wedner, "use osgViewer::CompositeViewer with several - views. All views share - parts of their scene graphs. Within these common part some nodes - have - event handlers which use the action adapter argument to the event - handler to determinate which view received the event. - Here is the problem, osgViewer::CompositeViewer::eventTraversal - sets - the action adapter field in the EventVisitor always to the last - view - which received an event, instead of using the view which actually - received the event, so determination of the correct view does not - work. - I looked at the code a bit, and moved the code for setting the - action - adapter to a IMO better place" +Fri, 20 Jun 2008 15:28:38 +0000 +Checked in by : Robert Osfield +Changed const double* to const Matrix::value_type* to ensure changes in Matrix type don't break the build -2008-11-06 13:40 robert +Fri, 20 Jun 2008 13:16:35 +0000 +Checked in by : Robert Osfield +From Terry Welsh, new flatten static transforms visitor that duplicates subgraphs that are shared beneath differnt static transformsFrom Robert Osfield, made a range of changes to Terry's visitor integrating it into osgUtil::Optimizer and +changing the code to use a style more like the rest of the OSG. - * From Ulrich Hertleinm "cmake 2.6 is having trouble on Mac OS X - because example/CMakeLists.txt addes subdirectory osgviewerGLUT - twice. I took the liberty to remove the second occurrence. - " -2008-11-06 13:38 robert - * Fixed IntersectionVisitor::accept(Camera) handling of relative - Cameras. +Fri, 20 Jun 2008 11:16:06 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, made the include of bin directory for include/OpenThreads/Config only used when doing out of source builds -2008-11-06 13:36 robert +Fri, 20 Jun 2008 11:11:47 +0000 +Checked in by : Robert Osfield +Updated version numbers for dev releases - * From Chris Denham, added transform to cube to test picking fixes +Fri, 20 Jun 2008 10:46:33 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Fixes a compile of src/osgSim/ShapeAttribute.cpp on suse 10.2." -2008-11-05 16:06 robert +Fri, 20 Jun 2008 09:46:45 +0000 +Checked in by : Robert Osfield +From Melchior Franz, fixed typo on variable name - * Removed redundent static ImageStream pointer +Fri, 20 Jun 2008 09:42:57 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, add search path to enable out of source builds to find include/OpenThreads/Config. -2008-11-05 15:59 robert +Thu, 19 Jun 2008 20:42:10 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added --no-rescale, --rescale (default) and --shift-min-to-zero - command line options for controlling how the pixel data is - managed. +Thu, 19 Jun 2008 20:38:38 +0000 +Checked in by : Robert Osfield +From Neil Groves,"I have taken the liberty of updating a few files so that there is no longer any derivation from std::vector. I have done this by adding a new file osg/MixinVector and by updating only two others: osg/PrimitiveSet and osg/Array. You will notice that this actually removes what is acknowledged as a \u2018hack\u2019 in osg/PrimitiveSet. -2008-11-05 15:04 robert +With the original code I did manage to find memory leaks with some compiler options on VC 8 and 9, as well as Intel compiler. I determined the leak existence by instrumenting the destructor code, and by use of a garbage collector as a leak detector (in a similar manner to the Firefox project). Hence in contrast to what I said originally, it is exhibiting symptoms on at least some platforms. - * Added --replace-rgb-with-luminance option +Since I am trying to be a good OSG citizen I got out my editor and started hacking! I have built and tested on Linux (Ubuntu) with GCC 4.x and Windows VC 8 SP1. It appears that nothing is broken, and that I\u2019m using less memory J" -2008-11-05 15:04 robert - * Added support for different pixel formats and datatypes in - copyImage() method -2008-11-05 11:56 robert - * Fixed return value of ArgumentParser::find() for when the search - string is not found, the correct value is now -1. -2008-11-05 10:29 robert +Thu, 19 Jun 2008 17:35:45 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, "submission for inclusion to support mpg and avi files when using the quicktime plugin on windows" - * Added extra data types info to debug message +Thu, 19 Jun 2008 17:30:38 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, added support for using OpenThreads::Atomic for thread safe ref/unref. -2008-11-05 10:27 robert +Thu, 19 Jun 2008 14:57:36 +0000 +Checked in by : Robert Osfield +from Andrew Bettison, LineStipple support for .ive - * Added Thread::Init() to CurrentThread +Thu, 19 Jun 2008 14:45:54 +0000 +Checked in by : Robert Osfield +From Adrian Egli, "Improvements to the PSSM implementation" -2008-11-04 16:31 robert +Thu, 19 Jun 2008 14:35:18 +0000 +Checked in by : Robert Osfield +From Rudolf Weidemann, "in the OpenFlight format materials can have editable names. In the OSG OpenFlight plugin these names are ignored when reading, and empty strings are written.As we need these names in the OSG scene graph by our application, I +changed the plugin code, so the names are now stored in class +"osg::Material" (derived from "osg::Object") by + material->setName(); +(see "PaletteRecords.cpp, line 195) when reading the file, and written +to file by + dos.writeString( m.Material->getName(), 12 ); +(see MaterialPaletteManager.cpp, line 80). - * Compiled fix for gcc 4.3.2 +As these names otherwise get lost when reading an OpenFlight file and +writing it again e.g. by + osgconv example.flt converted_example.flt +these changes make the plugin more complete. -2008-11-04 12:57 robert +The changes were made to OSG revision 8425, and were tested by + osgconv example.flt converted_example.flt +comparing the material palettes of both files inside Multigen Creator." - * Fixed --images commandline parsing -2008-11-03 16:55 robert - * Added GPL copyright notice +Thu, 19 Jun 2008 14:29:38 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I noticed some problems when setting up CameraNodes that inherit viewport settings in stereo mode. It seems that the SceneView::cull() method will pass the full size viewport to the left/right cullvisitors, instead of the modified stereo viewport. I made quite a few changes to SceneView to fix the issue. The SceneView::cullStage() method will now receive the viewport as an argument, instead of using the global viewport. The SceneView::cull() method will pass the modifed viewport to cullStage when rendering in stereo.There are 2 new private methods computeLeftEyeViewport() and +computeRightEyeViewport() that will compute the stereo viewports. I +also modified the draw() function so it applies the correct viewport +to the prerender stages. These changes are only necessary for +horizontal/vertical split stereo." -2008-11-03 16:31 robert - * Added handling of texture matrices and texture rectangles in - InteractiveImageHandler -2008-11-03 15:58 robert +Thu, 19 Jun 2008 14:14:20 +0000 +Checked in by : Robert Osfield +From Andrew Bettison, "Attached are changes for src/osgPlugins/ive (version 2.4.0) that implement LineStipple read/write support for the ive file format." - * Refactored osgvnc example to utilise the new vnc plugin +Thu, 19 Jun 2008 13:49:36 +0000 +Checked in by : Robert Osfield +From Paul Melis, "Here is a reworked version of the osgviewerWX example. It changes the GraphicsWindowWX to only inherit from osgViewer::GraphicsWindow and adds a standalone widget, called OSGCanvas, that derives from wxGLCanvas. This solves a problem with the GraphicsWindowWX instance being destructed twice (see "Crash in osgviewerWX" of June 12th on osg-users). At program exit, the main frame deletes all of its children widgets and therefore calls GraphicsWindowWX's destructor, bypassing OSG's reference counting. The GraphicsWindowWX instance is then later destructed a second time when the reference held by osg::Camera goes to zero. This bug isn't exposed by the example directly, but if people are going to use the example as a basis (like the poster in the mentioned thread) they very likely will run into this problem. " -2008-11-03 15:57 robert +Thu, 19 Jun 2008 13:28:33 +0000 +Checked in by : Robert Osfield +Updated wrappers to fix OpenThreads::Atomic build issues. - * Added vnc plugin. +Thu, 19 Jun 2008 12:02:20 +0000 +Checked in by : Robert Osfield +From Michael Platings, fixed typo error in renderbin assignment -2008-11-03 15:08 robert +Thu, 19 Jun 2008 11:58:34 +0000 +Checked in by : Robert Osfield +In Program::PerContextProgram changed const Uniform* to osg::ref_ptr to avoid the possibility of a uniform being deleted and another being created and assigned at the same address which previously confused the uniform tracking code and introduced a bug. - * Added sendPointerEvent and sendKeyEvent virtual methods to - osg::Image to - facilitate the subclassing of Image providing interactive - behaviours so as - used in the vnc interactive VncImage class. - - osgViewer::InteractiveImageHandler provides an event handler that - convertes osgGA - mouse and keyboard events into the coordinate frame of an image - based on ray intersection with geometry in - the associated subgraph. - - Changed the ordering of events processing in Viewer and - CompositeViewer to allow - scene graph event handlers to take precidence over viewer event - handlers and camera manipulators +Thu, 19 Jun 2008 11:09:20 +0000 +Checked in by : Robert Osfield +From Michael Platings and Robert Osfield, added support for controlling, via StateSet::setNestedRenderBin(bool) whether the new RenderBin should be nested with the existing RenderBin, or be nested with the enclosing RenderStage. -2008-11-03 15:03 robert +Wed, 18 Jun 2008 20:27:06 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Changed version number to 2.7.5 in prep for dev release +Wed, 18 Jun 2008 20:24:12 +0000 +Checked in by : Robert Osfield +From Michael Platings, implemented check against max number of supported samples to ensure that the number of samples is safely capped to what the hardware is capable of, avoiding GL errors and graceful fallback -2008-11-03 10:17 robert +Wed, 18 Jun 2008 20:17:13 +0000 +Checked in by : Robert Osfield +From Liang Aibin:"1. Location: \src\osgPlugins\osg\Fog.cpp + Reason: ".osg" writter plugins output incorrected string for osg::Fog's Mode. + How to Fix: + Line 138 in Fog.cpp: case(Fog::LINEAR): return "NERVER"; + Change to: case(Fog::LINEAR): return "LINEAR"; +2. Location: \src\osgPlugins\ive\ + Reason: ".ive" writter plugins missing to process "osg::Fog". + How to Fix: + (1). Line 86 in ReadWrite.h: + Add: #define IVEFOG 0x00001133 + (2). In CMakeLists.txt + "SET(TARGET_SRC" section Add: Fog.cpp + "SET(TARGET_H" section Add: Fog.h + (3). In DataInputStream.cpp + Line 54,Add: #include "Fog.h" + Line 1185,Add: else if(attributeID == IVEFOG){ + attribute = new osg::Fog(); + ((ive::Fog*)(attribute))->read(this); + } + (4). In DataOutputStream.cpp + Line 57,Add: #include "Fog.h" + Line 832,Add: // This is a Fog + else if(dynamic_cast(attribute)){ + ((ive::Fog*)(attribute))->write(this); + } + (5). Add newly created ive::Fog Object in Fog.h and Fog.cpp. +" - * Changed Tiff plugin to link to TIFF_LIBRARIES to handle case - where JPEG and ZLIB are dependencies. -2008-10-31 16:48 robert - * Wrapped up the various client streaming methods + thread into - VncImage classes. +Wed, 18 Jun 2008 16:46:38 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-10-31 13:59 robert +Wed, 18 Jun 2008 16:45:21 +0000 +Checked in by : Robert Osfield +Added a wrapString(const char*) which automatically handles null strings. - * Implemented keyboard and mouse dispatch from vnc client to vnc - server. +Wed, 18 Jun 2008 16:28:52 +0000 +Checked in by : Robert Osfield +Convert string handling to use strdup and free rather then awkward new char[] code paths -2008-10-31 12:03 robert +Wed, 18 Jun 2008 14:21:22 +0000 +Checked in by : Robert Osfield +Added --fbo-samples value and --color-samples value command line paramters for enabling fbo multisampling - * Added very basic osgvnc example that uses the LibVNCServer client - libries for implementing a vnc client - as an osg::Image with the vnc data stream going to it. +Wed, 18 Jun 2008 14:09:11 +0000 +Checked in by : Robert Osfield +From Michael Platings and Paul Palumbo, multi-sample FBO support -2008-10-30 13:05 robert +Wed, 18 Jun 2008 12:01:52 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "When copying a node that had uniforms on it, the copy constructor of osg::Uniform would not copy the array of the original uniform (either _intArray or _floatArray) because none had been allocated and the copy constructor checks that *both* this's array and rhs's array are valid.I added a call to allocateDataArray() if rhs has (at least) one valid array, which should allocate the right array according to the type. Since the type was copied from rhs, it should create the same array as rhs has, so then it should copy the data in the following lines. +" - * Removed renduent osgDB::Registry DatabasePager methods -2008-10-29 12:04 robert - * Updated ChangeLog, AUTHORS.txt and README.txt for 2.4.7 release +Wed, 18 Jun 2008 11:56:50 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, "added multi-texture support (alpha/trans images)" -2008-10-29 11:51 robert +Wed, 18 Jun 2008 11:51:22 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Blasius Czink, "changed the CHECK_CXX_SOURCE_RUNS macro - slightly to avoid the compile problems due to bugged "intrin.h". - In such a case the mutex fallback will be used (see attached - file)." - +Wed, 18 Jun 2008 11:13:51 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, "this submission extends the osgViewer::RecordCameraPathHandler to have an optionally-enabled auto-incrementing filename. default behavior is still the same, but there's one new method to enable autoincrementing filenames."From Robert Osfield, modified the above so that the number increments come after the filename rather than before. -2008-10-29 11:15 robert - * Warning fixes -2008-10-29 11:09 robert +Wed, 18 Jun 2008 10:51:02 +0000 +Checked in by : Robert Osfield +From Gino van den Bergen, "Added support for vrml primitive caching" - * Added missing implementations +Wed, 18 Jun 2008 10:46:05 +0000 +Checked in by : Robert Osfield +From David Callu, "fixed bounding box bug" -2008-10-29 10:56 robert +Tue, 17 Jun 2008 17:43:59 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, OpenThreads::Atomic support - * Updated ChangeLog and AUTHORS.txt for 2.7.4 release +Mon, 16 Jun 2008 20:22:16 +0000 +Checked in by : Robert Osfield +Added overriding of CullSettings::inheritCullSettings() into osg::Camera to properly inherit the clear colour. -2008-10-29 10:38 robert +Mon, 16 Jun 2008 16:06:01 +0000 +Checked in by : Robert Osfield +Changed class to struct - * Updated wrappers +Mon, 16 Jun 2008 13:20:51 +0000 +Checked in by : Robert Osfield +Added mutex to serialize access to the trpager -2008-10-29 10:25 robert +Mon, 16 Jun 2008 09:32:22 +0000 +Checked in by : Robert Osfield +Checking in missing header changes - * From Lukas Diduch, added a multithread compsite viewer path, - accessible using: - - osgviewerQT --MTCompositeViewer --QOSGWidget cow.osg +Thu, 12 Jun 2008 16:33:24 +0000 +Checked in by : Robert Osfield +Refactored the management of the request queues so that the appropraite mutex is locked when DatabaseRequest objects are modified -2008-10-29 10:12 robert +Fri, 6 Jun 2008 19:57:56 +0000 +Checked in by : Robert Osfield +Updated wrappers, authors and readme for 2.5.2 dev release - * From James Moliere, fixed display of axis +Fri, 6 Jun 2008 19:41:28 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2008-10-28 17:28 robert +Fri, 6 Jun 2008 17:45:33 +0000 +Checked in by : Robert Osfield +Updated versions for 2.5.2 dev release - * From Lionel Lagrade, "I've replaced readsome by read+gcount." - - From Robert Osfeld, added throw on uncompress error. +Fri, 6 Jun 2008 16:45:07 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "The new osgscreencapture example was being installed to bin instead of to share/OpenSceneGraph/bin, this is because the CMakeLists.txt used SETUP_APPLICATION instead of SETUP_EXAMPLE. Corrected CMakeLists.txt attached. " -2008-10-27 19:59 robert +Fri, 6 Jun 2008 16:41:24 +0000 +Checked in by : Robert Osfield +From Stephane Lamoliatte, "fix to reading of DatabasePath property" - * From Chris Denham, changed nested Camera intersection test so - that it requires the command line --relative-camera-scene to - enable it +Fri, 6 Jun 2008 16:28:27 +0000 +Checked in by : Robert Osfield +From Glenn Waldron, "I'm using an IntersectionVisitor with a PagedLOD database, employing a ReadCallback to allow the intersector to traverse the paged nodes. I discovered that if the visitor is unable (for any reason) to load a subtile via the ReadCallback, the intersection fails. However, I had the requirement to "fall back" on the lower-resolution parent tile and settle for that intersection.This was easy to implement simply by overriding IntersectionVisitor::apply(PagedLOD). My question is: Are there any opinions on whether this should be the default behavior? If it makes sense, I will submit the change; if not, no worries." -2008-10-27 17:42 robert - * Added --help-env docs for OSG_MAX_PAGEDLOD -2008-10-27 17:11 robert +Fri, 6 Jun 2008 16:25:14 +0000 +Checked in by : Robert Osfield +From Paul Melis, "Here's an updated include/osgText/Text3D that forces recomputation of the glyph repr when the character depth is updated, also when the rendering mode is set. This caused a Text3D object read from a .osg file to not have the correct depth." - * Merged in comment split code from the old flt plugin so that FLT - comments string with returns - in them are put into separate description entries. +Fri, 6 Jun 2008 14:59:17 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, "I have made the logo plugin work again (a simple copy and paste problem) and added the path of the logo file (if not empty) to the data file path in order to be able to find images relatively." -2008-10-27 17:09 robert +Fri, 6 Jun 2008 14:10:20 +0000 +Checked in by : Robert Osfield +Cleaned up implementation to only use simple structure - * From Wojciech Lewandowski, "I am sending a really minor fix for - StatsHandler::reset method. We dynamically add and remove slave - cameras in our application. StatsHandler does not automatically - adapt to this situation, and we call StatsHandler::reset to force - it to update number of cameras and their graphs. Unfortunately, - if stats were already drawn, reset would not remove former graph - drawables and they would remain frozen below new stats. This - update fixes it. - " +Fri, 6 Jun 2008 13:21:57 +0000 +Checked in by : Robert Osfield +Renamed _rendergraph to _stateGraph to better reflect its function -2008-10-27 16:16 robert +Fri, 6 Jun 2008 13:21:27 +0000 +Checked in by : Robert Osfield +Introduce a lower overhead data structure for leaves. - * From Chris Denham, default scene that tests the use of in scene - graph Camera which has a RELATIVE_RF ReferenceFrame. +Fri, 6 Jun 2008 10:51:23 +0000 +Checked in by : Robert Osfield +Added update traversal to run prior to doing kdtree build to make sure that costs in build osgTerrain databases isn't incurred during the build traversal. -2008-10-27 16:06 robert +Fri, 6 Jun 2008 09:08:16 +0000 +Checked in by : Robert Osfield +Quitened down the release context message - * From Chris Denham, fixed support of in scene graph osg::Camera's - with ReferenceFrame of RELATIVE_RF. +Fri, 6 Jun 2008 08:42:37 +0000 +Checked in by : Robert Osfield +Added OSGDB_EXPORT -2008-10-27 15:26 robert +Thu, 5 Jun 2008 18:52:29 +0000 +Checked in by : Robert Osfield +Added timing code - * From Katharina Plugge, "I found a bug in the OpenFlight-Plugin. - When exporting to OpenFlight it could happen that palettes of an - external reference like the texture palette are set wrong, - because they are overwritten by parent settings (userData), which - actually do not refer to palette entries respectively ParentPools - (happens for example if a Transform is parent of a ProxyNode). - The static cast from userData to ParentPools should therefore be - a dynamic cast. - --------------------------- - - function FltExportVisitor::writeExternalReference( const - osg::ProxyNode& proxy ): - - Line 423 in file expPrimaryRecords.cpp has to be changed from - - const ParentPools* pp = static_cast(proxy.getUserData() ); - - to - - const ParentPools* pp = dynamic_cast(proxy.getUserData() ); - " +Thu, 5 Jun 2008 17:28:06 +0000 +Checked in by : Robert Osfield +Basic implementation of kdtree generation based on vertices -2008-10-27 13:09 robert +Thu, 5 Jun 2008 13:46:19 +0000 +Checked in by : Robert Osfield +Added accep(Shape&) - * Various warning fixes +Wed, 4 Jun 2008 17:59:39 +0000 +Checked in by : Robert Osfield +Further work on fleshing out basic classes -2008-10-27 11:49 robert +Wed, 4 Jun 2008 16:53:17 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated wrappers +Wed, 4 Jun 2008 16:46:14 +0000 +Checked in by : Robert Osfield +Added support for optionally calling releaseContext at the end of each renderinTraversals() to help with cases where uses are driving multiple contexts from mulitple viewers in a single threaded frame loop. -2008-10-27 11:08 robert +Tue, 3 Jun 2008 17:29:27 +0000 +Checked in by : Robert Osfield +Fleshed out some basic kd-tree data structures. - * From Mathias Froehlich, "This change is a result of a recent - thread on osg-users. - The semantic change that went into the ac loader with the past - patch was - incorrect wrt the document describing the behaviour of ac files - and - inconsistent with what ac3d itself displays for that files. - This attached change reverts the behaviour to the original one. - The - infrastructure to change this is left in place. - The change is based on rev 9045." +Tue, 3 Jun 2008 16:13:49 +0000 +Checked in by : Robert Osfield +First cut of osgkdtree example, this will be used as a base of the development of native kdtree support to help speed up intersection testing. -2008-10-27 10:42 robert +Tue, 3 Jun 2008 15:49:59 +0000 +Checked in by : Robert Osfield +Added missing updateBlock() - * From Blasius Czink, "Among other things I added support for - atomic operations on BSD-like systems and additional methods (for - "and", "or", "xor"). - " - - and a later post the same osg-submissions thread: - - "it's been a while since I have made the changes but I think it - was due to problems with static builds of OpenThreads on windows. - I was using - OpenThreads in a communication/synchronisation library (without - OpenSceneGraph). It seems I forgot to post a small change in the - CMakeLists file of OpenThreads. If a user turns - DYNAMIC_OPENTHREADS to OFF (static build) OT_LIBRARY_STATIC will - be defined in the Config. - Without these changes a windows user will always end up with a - "__declspec(dllexport)" or "__declspec(dllimport)" which is a - problem for static builds." - - And another post from Blasius on this topic: - - "I tested with VS2005 and VS2008. For 32 bit everything works as - expected. For x64 and VS2008 I could successfully do the - cmake-configure and then the compilation but I had occasional - crashes of cmTryCompileExec.exe (during the cmake-configure - phase) which seems to be a cmake bug. With VS2005 and 64bit cmake - does not set _OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED although - the interlocked functionality should be there. If I place the - source snippet from the CHECK_CXX_SOURCE_RUNS macro to a separate - sourcefile I can compile and run the resulting executable - successfully. Forcing OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED - (on VS2005/x64) reveals a bug in "intrin.h" which seems to be - fixed in VS2008 but not in VS2005. - - In case anyone is interested the lines: - __MACHINEI(unsigned char _interlockedbittestandset(long *a, long - b)) - __MACHINEI(unsigned char _interlockedbittestandreset(long *a, - long b)) - __MACHINEX64(unsigned char _interlockedbittestandset64(__int64 - *a, __int64 b)) - __MACHINEX64(unsigned char _interlockedbittestandreset64(__int64 - *a, __int64 b)) - - should be changed to: - __MACHINEI(unsigned char _interlockedbittestandset(long volatile - *a, long b)) - __MACHINEI(unsigned char _interlockedbittestandreset(long - volatile *a, long b)) - __MACHINEX64(unsigned char _interlockedbittestandset64(__int64 - volatile *a, __int64 b)) - __MACHINEX64(unsigned char _interlockedbittestandreset64(__int64 - volatile *a, __int64 b)) - - The worst thing that can happen is that interlocked funtionality - is not detected during cmake-configure and the mutex fallback is - used. - Which reminds me another small glitch in the Atomic header so I - attached a corrected version. - - - - Why is the OT_LIBRARY_STATIC added to the config file? It is not - needed anywhere. - - OT_LIBRARY_STATIC is needed if you are doing static-builds on - Windows. See my previous post on that. - " +Tue, 3 Jun 2008 13:07:40 +0000 +Checked in by : Robert Osfield +From Mario Valle, fixed warnings -2008-10-27 10:40 robert +Tue, 3 Jun 2008 13:06:54 +0000 +Checked in by : Robert Osfield +Ran merge to get rid of tabs - * Fixed positioning of wings +Tue, 3 Jun 2008 11:31:42 +0000 +Checked in by : Robert Osfield +From Marco Lehmann and Robert Osfield, this fix was implemented by Robert but is based on suggested fix from Marco for fixing a crash due to lack of thread safety in std::ofstream("/dev/null"); The fix is to use a custom stream buffer that just discards all data. The implementation is also twice as fast as the old /dev/null based approach. -2008-10-27 09:48 robert +Tue, 3 Jun 2008 11:28:16 +0000 +Checked in by : Robert Osfield +Added unit test to smoke out a thread issue with using ofstream("/dev/null") inside osg::notify() - * From Mathieu Marache, "I came across a bug when building - OpenSceneGraph with - MSVC_VERSIONED_DLL, NMake makefiles and CMake 2.6.2. - The compilation fails because it tries to copy - ot11-OpenThreads.lib to - OpenThreads.lib which is valid for the 2.4.x era of CMake but not - anymore in 2.6.x era. - The provided file from the CMakeModules directory adds a tests on - the - CMake version and corrects this. Works for me now." +Mon, 2 Jun 2008 17:34:47 +0000 +Checked in by : Robert Osfield +Added support for assigning GraphicsContext to individual GUIEventAdapter events, and use of this within osgViewer::View to better track the sources of events. -2008-10-27 09:44 robert +Sat, 31 May 2008 08:47:15 +0000 +Checked in by : Robert Osfield +Changed FIND_PACKAGE(PkgConfig) to INCLUDE(FindPkgConfig OPTIONAL) as per suggestion from Philip Lowman. - * From Alberto Lucas, fixed typo +Fri, 30 May 2008 21:23:49 +0000 +Checked in by : Robert Osfield +Updated authors and version file for 2.5.1 dev release -2008-10-26 22:22 robert +Fri, 30 May 2008 21:12:44 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * Improved the support for no pre compile, and configuring the - number of threads in the DatabasePager. +Fri, 30 May 2008 21:08:28 +0000 +Checked in by : Robert Osfield +Added version check on FIND_PACKAGE(PkgConfig) to attempt to fix build with older versions of CMake -2008-10-26 22:21 robert +Fri, 30 May 2008 20:15:31 +0000 +Checked in by : Robert Osfield +Added applyMaskAction(CLEAR_COLOR) to Camera::setClearColor() to enable proper inheritance - * Improved the error reporting +Fri, 30 May 2008 17:03:32 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2008-10-25 13:17 robert +Fri, 30 May 2008 16:53:45 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "This is a fix for the warning we've been discussing on osg-users. CMake 2.6.0 allows quotes to be unescaped in strings in ADD_DEFINITIONS statements, where we had to escape them before (CMake 2.4.x). Setting CMake policy CMP0005 to OLD removes the warning for 2.6.0, and the quotes are still escaped, so it still works with 2.4.x. " - * From Jim Vaughan, - - - Matrix transform nodes were stripped out, and the - vertices and normals of each node were - transposed by the modelling matrix. My change preserves - the matrix transform nodes, so that - models can still be articulated by changing the matrices. - - - Lights were copied from the COIN scenegraph to the OSG - scenegraph, but they were not associated - with a LightSource node. My change for this creates a - Group and adds a LightSource for each Light. - - - If VRML textures have names, the name is now copied to - - -- - - Form Robert Osfild, changed SbString to std::string usage - - - M Inventor/ConvertFromInventor.h - M Inventor/ConvertFromInventor.cpp +Fri, 30 May 2008 12:59:49 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, Added support for osgTerrain::ValidDataOperator.From Robert Osfield, added versioning to the above. -2008-10-24 11:38 robert - * From Alberto Luaces, "it seems a copy-paste error is present on - the OBJ loader when parsing the - options given by the user. "noTesselateLargePolygons" is being - activated - instead of "noTriStripPolygons". I'm attaching the fixed file." -2008-10-24 10:02 robert +Fri, 30 May 2008 11:44:06 +0000 +Checked in by : Robert Osfield +Updated packgage number for 2.5.1 developer release - * Fixed typo +Fri, 30 May 2008 11:43:04 +0000 +Checked in by : Robert Osfield +Fixed cirular reference in DatabaseRequest -2008-10-24 09:59 robert +Thu, 29 May 2008 13:54:59 +0000 +Checked in by : Robert Osfield +Moved enum to public scope and rebuilt wrappers to fix wrapper build error - * Add osgParticle:: qualifiers in front of Program entries to avoid - issues when combining osg::Program and osgParticle::Program in a - single app +Thu, 29 May 2008 11:45:31 +0000 +Checked in by : Robert Osfield +Added code to catch erroneous Dof axis settings -2008-10-24 09:49 robert +Thu, 29 May 2008 11:13:29 +0000 +Checked in by : Robert Osfield +Improved the NaN depth detection within CullVisitor and debug output. - * Changed timing stats to osg::INFO level +Thu, 29 May 2008 11:09:56 +0000 +Checked in by : Robert Osfield +Improved the NaN error detection and reporting. -2008-10-24 08:09 robert +Wed, 28 May 2008 17:56:22 +0000 +Checked in by : Robert Osfield +Added catch for NaN depth values - * Removed debugging test. +Wed, 28 May 2008 16:14:08 +0000 +Checked in by : Robert Osfield +From Wojiech Lewandowski, Workaround for wglMakeCurrent bug in NVidia drivers by calling wglMakeCurrent twice.This bug has been reported to NVidia, confirmed and fixed by NVidia but awaits verifiaction and release if a driver which fixes this bug. -2008-10-23 16:33 robert - * Introduced new method of management the number of PagedLOD - active, by using - a capping the number of PagedLOD to a sepcified maximum, with - pruning of inactive - PagedLOD when the total number of inactive and active PagedLOD - goes above the maximum. - - To enable the mode set the env var OSG_MAX_PAGEDLOD to a value - something like 1000. -2008-10-21 16:39 robert +Wed, 28 May 2008 14:37:50 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Panagiotis Koutsourakis, "We are using Open Scene Graph for - an application and we need COLLADA - support. While testing the pluggin we found a small bug and we - are - submitting a patch. - - The first attachment is a small program that creates a scene with - two - pyramids, transformed by two instances of - osg::PositionAttitudeTransform. One of them is rotated 90 degrees - in - the X axis, and the scene is exported both in the native OSG - (.osg) - and COLLADA (.dae) formats. In the first case the rotated pyramid - is - displayed correctly whereas in the second the pyramid seems not - to be - rotated. - - In the COLLADA 1.4.1 specification (found at - http://www.khronos.org/collada/) it is specified that - "The element contains a list of four floating-point - values - [...] followed by an angle in degrees" but the plugin seems to - write - the value in radians. - - The problem seems to be in the method daeWriter::apply() that - seems to - be writing the angle value in radians to the COLLADA file. The - patch - can be found in the second attachment and is simply a call to - RadiansToDegrees wrapped around the angle. - " +Wed, 28 May 2008 14:11:22 +0000 +Checked in by : Robert Osfield +From Adrian Egli, improvements to ParallelSplitShadowMap implementation -2008-10-21 16:32 robert +Wed, 28 May 2008 13:51:56 +0000 +Checked in by : Robert Osfield +From Thibault Genessay, "The PNG plugin crashes when you try to read a malformed file (attached is an example). This can happen in circumstances that are not manageable by the OSG itself (e.g. 3rd party buggy program) but one would expect the plugin to be able to recover by returning ReadResult::ERROR_IN_READING_FILE.libpng provides two callbacks for warnings and errors - those are +currently unused. By default, they point to function that call exit() +or something similar (the default error callback never returns). This +patch registers the callbacks using libpng's mechanisms, makes the +warning callback emit an osg::notify(osg::WARN) message and the error +callback throw an error. The reading process is enclosed in a +try...catch block. Upon error, the memory is freed and +ReadResult::ERROR_IN_READING_FILE is returned. +" - * From Wojciech Lewandowski, "I made a minor tweak in - StandardShadowMap.cpp. As agreed with J-S I have added - AlphaFunc/AlphaTest to shadow camera stateset to make sure - transparent objects will not cast blocky solid shadows." -2008-10-21 16:31 robert - * From Chris Denham, "However, just spotted another inconsistency - between UFOManipulator::getMatrix() and - UFOManipulator::getInverseMatrix() - It assumes that inverse(_inverseMatrix * _offset) = _offset * - _matrix - This is only true when _offset=identity, so I think it should be - inverse(_offset) * _matrix - This inconsistency can cause problems when switching from UFO to - other manipulators, because the UFO:Manipulator::getMatrix - function is not necessarily returning a correct inverse of the - currently set ModelViewTransform. - It was tempting to change the name of the _offset member to - _inverseOffset, or to maintain both variables, but in the end - went for the minimal change." +Wed, 28 May 2008 13:45:40 +0000 +Checked in by : Robert Osfield +From Thibault Genessay, "On Windows, when setting a cursor through osgViewer::GraphicsWindow::setCursor() the new cursor type is recorded but not applied until windows sends another WM_SETCURSOR message. This delays the application of the cursor to the next mouse event.The attached file fixes this by setting the new cursor with a call to +::SetCursor() immediately. +" -2008-10-21 16:27 robert - * From Per Fahlberg, "I ran into a problem when using another - library that implemented the same functions as the osg jpeg - plugin, i guess they both originated from the same example code - :) As a solution I added a namespace in ReaderWriterJPEG.cpp - around the functions. - " -2008-10-21 15:51 robert +Wed, 28 May 2008 13:01:44 +0000 +Checked in by : Robert Osfield +From Michael Platings, "Yes it's definitely a driver problem - I submitted a bug report to nvidia 6 months ago and the issue is still "in progress". I've given up waiting for them!Platform - various Intel Windows XP SP2 PCs with various nvidia cards +including GeForce 8800 GTS and Quadro FX 4500, and various driver +versions including the latest WHQL 175.16. - * #if'd out an premature StateSet optimization that was causing - problems with datasets that mixed multi-texture coord geometry - with single texture coord geometries in a single scene graph. +I investigated your concerns about glGenerateMipmapEXT being slower than +GL_GENERATE_MIPMAP_SGIS, and for power-of-two textures, to my surprise +it is. For a 512*512 texture, glGenerateMipmapEXT takes on average 10ms, +while GL_GENERATE_MIPMAP_SGIS takes on average 6ms. Therefore I have +modified the code to only use glGenerateMipmapEXT if the texture has a +non-power-of-two width or height. I am resubmitting all the files +previously submitted (only "Texture.cpp" has significant changes since +my previous submission, I've also replaced tabs with spaces in +"Texture"). +" -2008-10-21 09:50 robert - * Updated wrappers -2008-10-20 16:24 robert +Wed, 28 May 2008 12:49:47 +0000 +Checked in by : Robert Osfield +From Mathieu Marache,first post: - * Introduce osgDB::FileCache, and updated osgfilecache and - DatabasePager to use it. +"I had the problem that debug and release version of the plugins had the same name under linux. These minors modification to Registry and the CMake support files enable to have both Release and Debug version of the plugins to coexist and be found by there respective runtimes." -2008-10-20 08:43 robert +follow up post: - * Introduced support for controlling mipmapping of - osgTerrain::ImageLayer and compression of - osgTerrain::HeightFieldLayer. +"I've gone ahead and added a preprocessor directive with the editable CMAKE_DEBUG_POSTFIX. I modified Registry.cpp to take this new preprocessor directive called OSG_DEBUG_POSTFIX while looking for libraries in Debug mode for the windows (msvc) and the linux platforms. -2008-10-17 09:16 robert +MinGW, cygwin and Apple are still left out this proposal." - * From Paul Melis, fixed typo -2008-10-15 10:07 robert +Notes from Robert Osfield, completed the work in change d entries to use OSG_DEBUG_POSTFIX - * From Chris Denham, "I noticed that UFOManipulator _matrix and - _inverseMatrix may be inconsistently set due to typo in - UFOManipulator::home(). - I assume the intention is that _matrix and _inverseMatrix are - kept consistent, so corrected file attached. - - ///////////// OSG 2.6 ////////////////// - _inverseMatrix.makeLookAt( _homeEye, _homeCenter, _homeUp ); - _matrix.invert( _matrix ); - ///////////// after typo correction ///////////////// - _inverseMatrix.makeLookAt( _homeEye, _homeCenter, _homeUp ); - _matrix.invert( _inverseMatrix ); - ///////////////////////////////////////" -2008-10-14 17:20 robert - * Changed erroneous ZLIB_INCLUDE_DIRS to ZLIB_INCLUDE_DIR -2008-10-14 16:57 robert +Wed, 28 May 2008 11:58:46 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Jason Beverage, "Here is a small change to the CURL plugin - to distinguish between a 400 level error and a 500 level error. - - If a 400 level error occurs, a FILE_NOT_FOUND ReadResult is - appropriate. - - If a 500 level error occurs (such a 503, Service unavailable), - the application might want to try to load the file again in a few - seconds/minutes. This submission returns ERROR_IN_READING_FILE if - a 500 level error occurs so that clients can easily distinguish - between the errors. - - The actual error code is also added to the "message" of the - ReadResult so if a client needs more information, they can just - parse the message to retrieve the error code." +Wed, 28 May 2008 11:19:41 +0000 +Checked in by : Robert Osfield +From Michael Platings, "On nvidia cards mipmap generation for non-power-of-two textures with GL_GENERATE_MIPMAP_SGIS is very slow (over half a second for a 720*576 texture). However, glGenerateMipmapEXT() performs well (16ms for the same texture), so I have modified the attached files to use Texture::generateMipmap() if glGenerateMipmapEXT is supported, instead of enabling & disabling GL_GENERATE_MIPMAP_SGIS."Notes, from Robert Osfield, I've tested the out of the previous path using +GL_GENERATE_MIPMAP_SGIS and non power of two textures on NVidia 7800GT and +Nvidia linux drivers with the image size 720x576 and only get compile times +of 56ms, so the above half second speed looks to be a driver bug. With +Muchael's changes the cost goes done to less than 5ms, so it's certainly +an effective change, even given that Michael's poor expereiences with +GL_GENERATE_MIP_SGIS do look to be a driver bug. -2008-10-14 16:44 robert - * Converted M_PI* usage across to osg::PI -2008-10-14 16:35 robert - * From Ricard Schmidt, dot writer plugin. +Tue, 27 May 2008 20:53:43 +0000 +Checked in by : Robert Osfield +From Brad Anderegg, "This submission fixes two bugs and helps some performance problems we have been having with txp databases.The first bug is that the terrain tiles will page out to a lower LOD when they are right in front of you. The issue appears to be with the blacklisting heuristic which forces a tile to LOD 1, commenting out the usage of blacklisting with the LOD Nodes fixes our problem. This code change was made to line 29 of TXPPageLOD.cpp. -2008-10-14 15:24 robert + - * From James Moliere, - " The code below is to show how a heirarchy of objects can be - made within a scenegraph. - In other words, how there can be a parent/child relationship - between objects such - that when a parent is rotated or translated, the children move is - respect to it's - parent movement. A robotic arm is used in this example because - this is what I'm - using OSG for." +The second bug we were experiencing is that the database reader options never make it through to the archive loader. The use case for us appeared when the FID codes for the terrain were no longer on the materials. As it turns out the archive was being created twice, once by TXPNode and once by the ReaderWriterTXP on getArchive() so the options never actually got set on the archive that was being loaded. The fix is to first create the archive by calling getArchive on the ReaderWriterTXP, which stores it in a map for reference later, and then passing that archive into the TXPNode for it to set its internal member. With this code change we only create one archive (not sure what creating two did) and our options flags get set properly on the database. -2008-10-14 15:10 robert + - * Removed geomoflife_frag.cpp experiement from CMakeList.txt file +The changes made are in TXPNode.h line 72 where the TXPArchive is now passed in. In the TXPNode.cpp the loadArchive(TXPArchive*) was changed to have the default behavior if NULL is passed in, if an archive is passed in then it does not load it since all the loading is done in the ReaderWriterTXP::getArchive(). The only other place that loadArchive is called is in TXPIO.cpp where a modification was made to pass in NULL which will have the same behavior as it used to. The last change is the little block of code starting on line 57 of ReaderWriterTXP.cpp, this was changed so that it first calls getArchive() which caches the archives in a map does some loading stuff and returns a pointer to it which is then passed in as a parameter to TXPNode::loadArchive(). -2008-10-14 14:58 robert + - * From J.P Delport, game of life example that demonstrates ping - pong render to texture rendering +The performance changes were made to TXPParser.cpp line 163 where we use to osgUtil::Optimizer on the node before passing it off, and on line 1456 we changed the geometry to use display lists. These small changes actually made drastic performance increases for us, as much as 1000% on certain laptops. -2008-10-14 14:37 robert + - * Added zlib support to curl and ive plugins +As far as testing goes, we have tested these changes with at least 5 txp databases on a variety of different computers including Mac OS and Linux. The base version used is 2.4." -2008-10-14 14:36 robert - * Added debug timing code -2008-10-14 14:27 robert +Tue, 27 May 2008 17:42:56 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "By default it's the normal behaviour, it means it's "d" extension for debug library and executable. But if you want to change that you can. The reason is if you want to build an application that use a library that use openscenegraph you have to build the full chain in debug or in release. On windows you have no choice, but on linux you can link with both version without rebuilding everything ...The patch consist only to change the line on one line +SET(CMAKE_DEBUG_POSTFIX "d") +with +SET(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "add a postfix, usually d on windows")" - * Added a Refrenced::getGlobalReferencedMutex, and - OpenThreads::ScopedPointerLock() and use of this in - add/removeParent() codes - to avoid threading problems when using atomic ref counting. -2008-10-14 14:25 robert - * UPdated version numbers +Tue, 27 May 2008 17:32:26 +0000 +Checked in by : Robert Osfield +From Lars Nilson, bug fix to Sector::computeMatrix() -2008-10-10 12:01 robert +Tue, 27 May 2008 16:32:17 +0000 +Checked in by : Robert Osfield +Added handling of \ within srings by using \\ - * Moved compress/uncompress code across to using gzip compatible - methods +Tue, 27 May 2008 15:42:40 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-10-09 18:46 robert +Tue, 27 May 2008 15:30:20 +0000 +Checked in by : Robert Osfield +Reorginized the TerrainTile/TerrainTechnique dirty mechanism so that TerrainTile now holds the dirty flag and enables/disables event traversal in response dirty being set/unset. This allows terrain to be automatically updated in response to Terrain scale and sample ratio changes. - * Added initial cut of gz compress/uncompress plugin +Tue, 27 May 2008 15:28:39 +0000 +Checked in by : Robert Osfield +Introduced a TerrainHandler that adjust the sameple ratio and vertical scale of terrain interactively using the 'r','R' and 'v','V' keys respecitvely. -2008-10-09 17:02 robert +Tue, 27 May 2008 13:11:47 +0000 +Checked in by : Robert Osfield +From John Vidar Larring, "Added vertical scale as a property of osgTerrain::Terrain. Lets you configure vertical scale when initializing the terrain model. E.g: osgTerrain::Terrain* terrain = findTopMostNodeOfType(model.get()); + if (!terrain) + { + terrain = new osgTerrain::Terrain; + terrain->addChild(model.get()); + terrain->setVerticalScale(2.0f); + model = terrain; + } + viewerWindow->setSceneData(model.get()); +" - * Initial cut of zlib based compress/uncompress plugin -2008-10-09 13:16 shuber - * From Stephan Huber: updated XCode-project, added osgVolume-lib +Tue, 27 May 2008 12:07:58 +0000 +Checked in by : Robert Osfield +Updated version numbers in prep for 2.5.1 release -2008-10-09 08:52 robert +Tue, 27 May 2008 12:06:50 +0000 +Checked in by : Robert Osfield +From Gino van den Bergen, "I've refactored the single ReadedWriterVRML2.cpp into multiple files. The reason for doing this was to break up the horribly long functionosg::ref_ptr ReaderWriterVRML2::convertFromVRML(openvrml::node *obj) + +The fixes are: + +* Added the source's parent directory as search directory for image files. +* The material properties are now set in the stateset of the Geode rather than the Geometry. This will allow geometries to be reused with different material properties in future updates. + +NB: I planned for a caching scheme in which multiple occurences of the same primitive (e.g., Cylinders with radius 0.8 and height 1.2), would use the same Geometry object. Unfortunately, my planning moved me to other areas, but I might still finish the caching scheme in a quiet hour. For the time being I decided it would be a good thing to already submit my current changes. + " - * Fixed the frame rate reporting so that it handles the case when - animation is slowed or speeded up -2008-10-08 13:19 robert - * Updated date +Tue, 27 May 2008 11:13:16 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Included a fix for my past pbuffer change. The version test fo 'need at least glx 1.1' was broken, even if no implementation had yet a chance to trigger that :)Attached a fix for that broken test. +Based on rev 8358" -2008-10-08 13:18 robert - * Updated ChangeLog and AUTHORS.txt for 2.7.3 dev release -2008-10-08 12:54 robert +Tue, 27 May 2008 11:07:52 +0000 +Checked in by : Robert Osfield +From Andrew Bettison, "Problem: the LineStipple pattern when read from an OSG node file is always 0xFFFF, even though specified otherwise in the OSG file.Cause: possibly a copy/paste typo in src/osgPlugins/osg/LineStipple.cc, line 61: + if (fr[0].matchWord("functionMask") && fr[1].getUInt(mask)) - * Updated wrappers +Solution: change to: + if (fr[0].matchWord("pattern") && fr[1].getUInt(mask))" -2008-10-08 12:29 robert - * Added friend struct ViewData to try and avoid compile issues - under HP-UX -2008-10-08 11:30 robert +Tue, 27 May 2008 11:04:52 +0000 +Checked in by : Robert Osfield +From Stephane Lamoliatte, "Here is a patch that fix the strange bug describe on the osg-user group. Finally it seems to not come from the empty geode. The origin of the problem seems to be the uniform initialization during the building of the program which call a glUseProgram. If your scene never display the node that contains the shader and if there is no other shader on the scene, this "glUseProgram" is the only one that is called during your simulation. So, this shader is applied on all the scene.I fix this bug by switching off the shader (by calling glUseProgram(0) ) during the compilation of a state which does not contain the shader. +" - * Added Texture1D(Image*) and Texture3D(Image*) constructors -2008-10-08 10:55 robert - * Replaced std::vector::insert with std::copy + back_inserter to - avoid member template problems with sunos. +Tue, 27 May 2008 10:50:26 +0000 +Checked in by : Robert Osfield +From Wang Rui, "I have just done some changes on the classic osgdb_gif plugin (based on OSG 2.5.0). I wish our developers may use the newly written GIF reading plugin to attach animate GIF files as textures now! In my opinion, a GIF is much smaller than AVI and MOVs, and much more efficient sometimes.Changes includes: +1. A new GifImageStream class (inherit from osg::ImageStream and OpenThreads::Thread) have already been added to implement different operations of a GIF movie, such like playing, pausing, rewinding, setting time and so on. +2. Some small changes to decode_row() and gif_read_stream(), which make the transparency of GIF images correctly. +3. Just a few changes to the ReaderWriterGIF::readGIFStream() function, which ensure that animate GIFs are loaded by GifImageStream (and the function returns GifImageStream objects) and static GIFs unchanged (still use the old method and returns osg::Image objects!). + +Attachments are the cpp file and an animate GIF file for further test. Just rebuild the osgdb_gif project and use osgviewer or osgmovie to view it. +The plugin has been tested on Windows and Arch Linux." -2008-10-08 10:10 robert - * From Mathias Froehlich, fixes for HP-UX, SGI and Solaris build -2008-10-07 15:59 robert +Mon, 26 May 2008 22:36:58 +0000 +Checked in by : Robert Osfield +From Philip Lowman, post 1:"Here is a collection of changes which should fix issues building the OSG with CMake 2.6.0 (along with some other changes) - * Moved OSG_FORCE_QUERY_RESULT_AVAILABLE_BEFORE_RETRIEVAL into - src/osg/CMakeLists.txt +CMakeLists.txt: +* Set CMP0003 to supress warning about linking against -lpthread (which is a + non-absolute library location). (CMake 2.6.x fix) +* Modified the WIN32_USE_MP and a couple of other Visual Studio specific flags + to be in an IF(MSVC) block (minor tweak to reduce exposing this stuff on MinGW builds) +* Includes my second set of glu tesselator autodetection changes that you +seemed to want but haven't committed yet. -2008-10-07 15:58 robert +src/OpenThreads/pthreads/CMakeLists.txt: +* Eliminates warning when compiling on Linux about spaces in link line (CMake 2.6.x fix) - * Made line graph solid (alpha = 1.0) +CMakeModules/OsgMacroUtils.cmake: +* Tweaks to make the macros behave properly under CMake 2.6.0 (doesn't change behavior under CMake 2.4.x) -2008-10-07 15:41 robert +CMakeModules/Find3rdPartyDependencies.cmake: +* Adds the NO_DEFAULT_PATH option to all of the search options so that things in C:\Program Files\OpenSceneGraph aren't accidently picked up during configure time and instead only things in the "3rdParty" folder are discovered. (general bugfix) +" - * From Jean-Sebastien Guay and Robert Osfield, added - setDataVariance(osg::DYNAMIC) to avoid problems to optimization. +post 2: +"Ok, hold the presses. I just discovered that for some odd reason the osgdb_* plugins under Linux aren't getting put under the osgPlugins-2.5.0 folder. Not exactly sure why this broke, the folder was there, just empty. I'll have to look into it this evening." -2008-10-07 15:21 robert +post 3: - * Added osgText to link line +"Fixed, was caused by the switch to CMAKE_LIBRARY_OUTPUT_DIRECTORY and some code in osgPlugins/CMakeLists.txt that effectively overrides LIBRARY_OUTPUT_PATH on non-MSVC compilers to dump the plugins in the plugins folder. I tweaked it to override CMAKE_LIBRARY_OUTPUT_DIRECTORY as well. Seems to work fine." -2008-10-07 15:19 robert - * Restoring Roger's original 2.0 factor as on review the later - orthographic projection code - doesn't require the position to be far out from the center to - simulate an infinite light. -2008-10-07 15:16 robert - * From Roger James, "The light position is incorrectly calculated - for shadow casting scenes whose bounding box centre is not the - origin. This is a one line fix. - " -2008-10-07 14:36 robert +Mon, 26 May 2008 22:34:06 +0000 +Checked in by : Robert Osfield +From Paul Martz, "When exporting a DrawArrays PrimitiveSet, the DAE plugin computes an incorrect nbVerticesPerPoly if the first index is not zero. The issue can be reproduced easily with: osgconv cessna.osg cessna.daeExamination of the resulting .dae file reveals several out-of-range tristrip indices; viewing the .dae file in osgviewer causes a crash when OSG tries to lookup those indices. + +Attached resolves this issue." - * From Wojciech Lewandowski and Robert Osfield, add CMake build - option for controlling the Windows/NVidia multi-monitor - workaround. -2008-10-07 14:25 robert - * Updated wrappers +Mon, 26 May 2008 21:53:57 +0000 +Checked in by : Robert Osfield +From Art Tevs, "I've attached a patch for the Texture2DArray which solves problems of loading image data into the texture array. So here are a small description:- Solves issues of loading image data into the texture memory +- Print a warning if images are of different dimensions or have different internal formats (GL specification requires images to be the same) -2008-10-07 14:19 robert - * Replaced IntersectVisitor usage with IntersectionVisitor +Patch is tested and seems to work fine. It shouldn't break any other functionality. It should go into include/osg and src/osg +" -2008-10-07 14:01 robert - * Replaced usage of depreacted IntersectVisitor with - IntersectionVisitor -2008-10-07 13:37 robert +Mon, 26 May 2008 21:44:14 +0000 +Checked in by : Robert Osfield +Fixed copyright notice typo - * From Jean-Sebastirn Guay, "Inspired by the latest additions to - the StatsHandler, here is my own addition. It's a graph that - helps show the variation of the various stats over time. It's - clearer than just having bars for the last 10 frames or so, IMHO, - since 10 frames go by pretty fast... - - The graph is displayed "under" (behind) the normal bar chart you - get when you press 's' twice. It doesn't hide the normal stats, - you can still read them without any trouble, and that way, it - doesn't take any more screen space. It starts from the left, and - will scroll left when there is enough data to fill the screen - width. The graph lines have the same colors we're used to (except - I made the event color a bit bluer, so it's not exactly the same - as the update color). A screen shot is attached. - - The lines get a bit confused when they're all overlapping at the - bottom of the graph, but I think that's the least of our concerns - (if they're all at the bottom of the graph - except FPS of course - - then great!). - - The only thing I'm not very keen about is that to make things - simple, I clamp the values to a given maximum. Right now, the - maximums I have set are: - - * Frame rate: 100 fps (people have 60, 75, 85Hz refresh rates, so - there's no one right value, but I think 100 is OK) - * Stats: 0.016 seconds (what you need to get 60Hz minimum) - - This could be changed so that the scale of the graph changes - according to the maximum value in the last screenful of the graph - instead of clamping values. We would then need to display the - scale for each value on the side of the graph, because if the - scale changes, you need to know what it is at this moment. - - I tried to make things easy to change, so for example if you - don't like that the graph is in the same space as the normal - stats bars, it's easy to move it anywhere else, and make it have - other dimensions. The maximums and colors are also easy to - change. - - The impact on performance should be minimal, since it's one - vertex per graph line that's added per frame, and vertices are - removed when they scroll off the screen, so you'll never have - more than say 1280 * (3 + ncameras) vertices on the screen at one - time. No polygons, I used line strips. The scrolling is done with - a MatrixTransform." +Mon, 26 May 2008 21:33:41 +0000 +Checked in by : Robert Osfield +From Paul Martz, "The attached code changes StateSet::merge() so that it copies RenderBin data such as the rendering hint and RenderBin details from rhs into "this", only if "this" has RenderBin mode set to INHERIT.It replaces a comment by you indicating something along these lines should be done. To me, this seems like the right thing to do." -2008-10-07 13:06 robert - * From Colin McDonald, "Attached is an update to the dxf plugin - which adds rudimentary support for - text entities. - " -2008-10-07 12:31 robert +Mon, 26 May 2008 21:32:05 +0000 +Checked in by : Robert Osfield +From Gino, "According to the 1.4.1 COLLADA spec (2nd ed) the standard behavior for fx_sampler_wrap_common is as followsCLAMP ->GL_CLAMP_TO_EDGE +NONE->GL_CLAMP_TO_BORDER - * From Mathias Froehlich, build fixes +The current 2.5.0 daePlugin assumes the following binding -2008-10-07 11:35 robert +CLAMP ->GL_CLAMP +NONE->GL_REPEAT - * Added the ability to release OpenGL objects in PagedLOD subgrphs - that are no longer being rendered. +Notably the GL_CLAMP binding will result in visible black seams on input files that use otherwise matching textures. Replacing GL_CLAMP by GL_CLAMP_TO_EDGE solves this problem. I've updated both the read and write functions. +" -2008-10-06 17:15 robert - * Updated wrappers -2008-10-06 17:03 robert +Mon, 26 May 2008 21:18:41 +0000 +Checked in by : Robert Osfield +From Philip Lowman, "I changed the test name to be a little easier to understand and defaulted Linux & Windows builds to false and to skip the compile check as you desired. " - * Improved the ImageSequence::setLength() settting. +Mon, 26 May 2008 21:10:10 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-10-06 17:02 robert +Mon, 26 May 2008 21:09:54 +0000 +Checked in by : Robert Osfield +From Paul Melis, "Here is an update to the osgviewerWX example. Keyboard events were not always received because the GraphicsWindowWX wasn't receiving focus. It now receives focus when the mouse enters the window. * I split the mouse handling from a monolithic method to separate ones, slightly cleaner than a whole bunch of if()'s, especially with another case of the mouse entering the canvas. * I changed the EVT_KEY_DOWN handler to an EVT_CHAR handler, although that now makes the up and down handler assymetric. The new down-handler returns translated key codes, so when you press the S key (without anything else), it actually returns 's' and not 'S' as the EVT_KEY_DOWN did. This means that statistics can be called up in the viewer window, while the example previously only printed a "Stats output:" line to the console. I'm not truly happy that the up handler returns _untranslated_ key codes. But solving this completely would probably mean adding some table that translated from wxWidgets' untranslated key codes to OSG's internal ones. This might be interesting to add, as anyone using OSG + wxWidgets in any serious manner would also have to add this. * I commented out the evt.Skip()'s in the keyboard handlers as these would only be necessary if there were some key events that are not handled. But currently all key events are simply forwarded. * I changed the handling of a mouse drag to a more general mouse move" - * Updated to reflect changes in NodeVistor::ImageRequestHandler. +Mon, 26 May 2008 21:04:47 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "I had to tighten a declaration in OpenFlight/FltWriteResult.h, as the Solaris SunStudio 11 compiler was being picky and wouldn't compile." -2008-10-06 17:02 robert +Mon, 26 May 2008 20:46:21 +0000 +Checked in by : Robert Osfield +Added debug block to output the location of the master camera for each View in a Viewer. - * Refactored ImageSequence to provided a cleaner and more robust - implementation +Mon, 26 May 2008 17:30:43 +0000 +Checked in by : Robert Osfield +Added continuous recording of the animation path to the RecordAnimationPathHandler -2008-10-06 14:18 robert +Mon, 26 May 2008 16:25:31 +0000 +Checked in by : Robert Osfield +Introduce --pbuffer-only width height option, and added fps reporting to stats output - * From Wojciech Lewandowski, build fixes for handling - Matrix::value_type == float +Mon, 26 May 2008 15:41:54 +0000 +Checked in by : Robert Osfield +Added basic --pbuffer width height support -2008-10-06 14:15 robert +Mon, 26 May 2008 14:30:48 +0000 +Checked in by : Robert Osfield +Added better stats reporting - * Ran dos2unix +Mon, 26 May 2008 12:01:24 +0000 +Checked in by : Robert Osfield +Added feedback of pixel format chosen for read back -2008-10-06 09:39 robert +Mon, 26 May 2008 11:59:25 +0000 +Checked in by : Robert Osfield +Added automatic selection of the pixel type according to the window type - * From Glenn Waldron, "osgTerrain::Locator::setTransformAsExtents() - does not update the _inverse member. Fix attached. - " +Mon, 26 May 2008 11:53:51 +0000 +Checked in by : Robert Osfield +Added option for doing triple buffering, and set the default read format to GL_RGBA -2008-10-06 08:58 robert +Sun, 25 May 2008 22:06:41 +0000 +Checked in by : Robert Osfield +Switch to using an inital draw callback when use --start-frame - * Converted tabs to four spaces +Sun, 25 May 2008 21:52:32 +0000 +Checked in by : Robert Osfield +Added option for setting whether the front or back buffer should be read using --front and --back command line options. -2008-10-06 08:53 robert +Sun, 25 May 2008 21:35:39 +0000 +Checked in by : Robert Osfield +Added option for controlling whether the front buffer is read at the start of the frame or the back buffer at the end of the frame. - * Ran dos2unix on headers +Sun, 25 May 2008 11:21:40 +0000 +Checked in by : Robert Osfield +Added check for pkg-config so that build only use related package checks when it's supported -2008-10-06 08:53 robert +Sat, 24 May 2008 11:05:10 +0000 +Checked in by : Robert Osfield +Added #define's for PixelBufferObject extensions.Added docs for Camera::DrawCallback - * Ran dos2unix on new shadow implemenations -2008-10-06 08:48 robert - * From Jason Beverage, "Attached is a fix for getTile in the - Terrain class. It should be checking for itr == - _terrainTileMap.end() instead of itr != _terrainTileMap.end()." +Sat, 24 May 2008 09:24:37 +0000 +Checked in by : Robert Osfield +Added RenderStage::setClear*() methods from Camera::getClear*() sources -2008-10-03 16:57 robert +Sat, 24 May 2008 08:13:55 +0000 +Checked in by : Robert Osfield +Changed default format to GL_BGR - * Added include to take advantage of - OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION +Fri, 23 May 2008 16:26:03 +0000 +Checked in by : Robert Osfield +Added single buffered and double buffered PBO support, and --no-pbo, --single-pbo and --double-pbo command line parameters -2008-10-03 15:36 robert +Thu, 22 May 2008 17:50:22 +0000 +Checked in by : Robert Osfield +Added basic glReadPixels code - * Moved the OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION definition - into the Config.in rather use of -D define +Thu, 22 May 2008 15:43:01 +0000 +Checked in by : Robert Osfield +Added camera final callback attachment code. -2008-10-03 15:15 robert +Thu, 22 May 2008 13:11:23 +0000 +Checked in by : Robert Osfield +Fixed name of source file - * Updated wrappers +Thu, 22 May 2008 13:10:40 +0000 +Checked in by : Robert Osfield +Added new osgscreencapture example folder, implementation to follow -2008-10-03 15:15 robert +Thu, 22 May 2008 12:38:36 +0000 +Checked in by : Robert Osfield +Reorginaized the DatabaseQueue's to avoid warnings under Windows - * Added optional compile of the new ref_ptr<>:T* operator() output - conversion operator, controlled via a CMake option - OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION. +Thu, 22 May 2008 11:21:04 +0000 +Checked in by : Robert Osfield +Fixed warning by adding in missing return -2008-10-03 15:13 robert +Thu, 22 May 2008 08:31:56 +0000 +Checked in by : Robert Osfield +Checking in missed header - * From Neil Groves, addition on a T* implicit output conversion - method and removal of comparison methods that are replaced by the - single conversion method. - - From Robert Osfield, optional compilation of above. +Wed, 21 May 2008 21:09:45 +0000 +Checked in by : Robert Osfield +Refactored DatabasePager and related classes to introduce support for multi-threaded paging, where the Pager manages threads of reading local and http files via seperate threads. This makes it possible to smoothly browse large databases where parts of the data are locally cached while others are on a remote server. Previously with this type of dataset the pager would stall all paging while http requests were being served, even when parts of the models are still loadable virtue of being in the local cache.Also as part of the refactoring the DatabaseRequest are now stored in the +ProxyNode/PagedLOD nodes to facilitate quite updating in the cull traversal, +with the new code avoiding mutex locks and searches. Previous on big +databases the overhead involved in make database requests could accumulate +to a point where it'd cause the cull traversal to break frame. The overhead +now is negligable. -2008-10-03 13:38 robert +Finally OSG_FILE_CACHE support has been moved from the curl plugin into +the DatabasePager. Eventually this functionality will be moved out into +osgDB for more general usage. - * Compile fix required when using ref_ptr<> implicit output - conversion -2008-10-03 13:34 robert - * From Neil Groves, added intrusive_ptr_add_ref and - intrusive_ptr_release methods to enable - usage of boost::intrusive_ptr<> with osg::Referenced objects. -2008-10-03 11:04 robert +Tue, 20 May 2008 09:28:44 +0000 +Checked in by : Robert Osfield +Moved the compile to after the updateSceneView - * From Bryan Thrall, fixed typos in exception strings. +Wed, 14 May 2008 20:22:01 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-10-03 11:02 robert +Wed, 14 May 2008 17:03:57 +0000 +Checked in by : Robert Osfield +Introduced preliminary support for asynchronous file read requests, ReaderWriter::ReadResult now has a FILE_REQUEST enum. + ReaderWriter::Options now has a s/getAsynchronousFileReadHint() parameter methods. - * From Paul Martz, "I had to make Yet Another tweak to the - workaround for the occlusion query issue on NVIDIA cards. Testing - indicates that this produces stable results. I checked this in to - the 2.6 branch as revision 8965. Please include this on the - trunk" + libcurl based plugin now detects enabing of the AsynchronousFileReadHint, but + as yet does not handle async requests - handling everything syncronously. + + DatabasePager now by default will enable AsynchronousFileReadHint for http + based file requests + -2008-10-03 09:55 robert - * From Neil Groves, "Frequently I would like code that has a - signature like: void foo(osg::ref_ptr node) to work - for osg::ref_ptr, osg::ref_ptr etc. The - behaviour of osg::ref_ptr does not mimic the behaviour of a raw - pointer in this regard. - - To facilitate this possibility I have added a template copy - constructor and a template assignment operator. These work for - safe conversions like those in my previous example, but fail as - desired for non-safe conversions since the template instantiation - fails during the raw pointer copy/assignment. - - The lack of this facility has appreciably handicapped development - of generic algorithms applied to the scene graph, and I believe - that this alteration will be welcomed by most of the community. - If there are issues with antiquated compilers not supporting - template member functions then perhaps a small piece of - conditional compilation is in order. - - I have made the change using the latest release version (2.6) as - the base. The full file is attached. - - I have not tested building the osg wrappers and the script - binding code. I have tested the legal and illegal conversions of - both copying and assignment to ensure that behave as expected on - MSVC7.1, MSVC8, MSVC9, GCC 4.3." -2008-10-03 09:22 robert +Wed, 14 May 2008 14:59:50 +0000 +Checked in by : Robert Osfield +Moved the cache file writing into StreamObject so that the cache file is only created once data is being read. - * From Tatsuhiro Nishioka, submissions posted by Stephan Huber, - "attached you'll find a modified ReaderWriterQT.cpp-file where I - removed the support for rgb(a)-files. - Quicktime supports only files with 3/4-channels rgba-files and - not 1/2-channels rgb-files. - - This submission is from Tatsuhiro Nishioka, here's his original - quote: - - When FlightGear crashes, the error message - "GraphicsImportGetNaturalBounds failed" shows up. By adding - printf - debug, I found the error was -8969: codecBadDataErr when loading - a - gray-scaled (2 channels) rgba files even though the file can be - loaded - with Gimp and osgViewer properly. - - So I made an investigation on this problem and found an - interesting - thing. This error occurs only when non-rgb files are loaded - before rgb - files. The reason is that rgba files can be handled by both - osgdb_rgb.so and osgdb_qt.so, but the error happens only when - osgdb_qt.so try to load a gray-scaled rgba file. - - When a program is about to load an rgba file, osgdb_rgb.so is - loaded - and it handles the rgba file properly. In contrast, when a - gray-scaled - rgb file is being loaded after a non-rgb file (say png) is - already - loaded by osgdb_qt.so, osgdb_qt.so tries to load the file instead - of - osgdb_rgb, which causes the error above. - - Anyway, the bad thing is that QuickTime cannot handle gray-scaled - rgb - files properly. The solution for this is not to let osgdb_qt - handle - rgb files since osgdb_rgb can handle these properly. - - " +Wed, 14 May 2008 13:16:36 +0000 +Checked in by : Robert Osfield +Introduced a thread safe map which manages a single EasyCurl object per thread. -2008-10-03 09:19 robert +Wed, 14 May 2008 12:47:26 +0000 +Checked in by : Robert Osfield +Refactor curl usage so that a new EasyCurl class wraps up the curl handle and reading from curl. - * From Stephan Huber, removed now redundent setEventQueue method +Tue, 13 May 2008 18:28:26 +0000 +Checked in by : Robert Osfield +Fixed lat/long ordering -2008-10-03 09:02 robert +Tue, 13 May 2008 17:27:29 +0000 +Checked in by : Robert Osfield +Added support for -e level minX minY maxX maxY extents controls - * From Roland Smeenk, A year ago Stephan Maximilian Huber sent in a - submission with enhanced statistics. Because I was interested in - the scene statistics of his submission I tried to merge his - changes with the current CVS head. I made a few changes to the - way the statistics are displayed. Attached you will find the new - StatsHandler and a screenshot of the statistics in the - compositeviewer example. - - This code will add two extra statistics options: - -Camera scene statistics, stats for the scene after culling - (updated at 10 Hz) - -View scene statistics, stats for the complete scene (updated at - 5 Hz) - - Each camera and each view will expand the statistics to the - right. - - I also added the requests and objects to compile of the - databasepager to the databasepager statistics."" +Tue, 13 May 2008 14:08:32 +0000 +Checked in by : Robert Osfield +Added --file-cache directoryname command line option support to readNodeFiles(ArgumentParser&) to make it easier to specify a local file cache, in place of the default OSG_FILE_CACHE env var. -2008-10-03 08:35 robert +Tue, 13 May 2008 12:36:39 +0000 +Checked in by : Robert Osfield +Further work on computing of lat/long range of PagedLOD subgraphs - * From Mathias Froehlich, Wr.t AC3D Texture clamping "I had a quick - look at the problem. - Attached is a change that is able to provide shared textures for - the clamp and - the repeat case. - So this appears to be the best fix I guess ... - - Also it additionaly shares the TexEnv StateAttribute in a whole - ac3d model." +Tue, 13 May 2008 10:56:10 +0000 +Checked in by : Robert Osfield +From Steven Thomas, "Subject: Collada fix There was a problem converting a file to Collada by using osgconv like this:osgconv file.osg file.dae -2008-10-03 08:33 robert +You would get an error message: - * Added missing dirtyBound() calls +I/O error : Permission denied +I/O error : Permission denied +error : xmlNewTextWriterFilename : out of memory! +Error: daeLIBXMLPlugin::write(file://cessna.dae) failed +Warning: Error in writing to "cessna.dae". -2008-10-02 15:45 robert +This was due to some bad URI processing code in the Collada plugin. The attached file fixes this by using the Collada DOM's URI processing functions. After this change the file will convert successfully in the local directory. +" - * Various improvements to the dicom loader to be able to handle a - broader range of dicom files -2008-09-29 18:30 robert - * Updated shaders +Mon, 12 May 2008 16:59:04 +0000 +Checked in by : Robert Osfield +Added signal handling code, and prelimary lat/long computation -2008-09-29 17:00 robert +Mon, 12 May 2008 15:42:20 +0000 +Checked in by : Robert Osfield +Added missing getBound() method - * Improved the dicom plugins handling of different slice positions +Mon, 12 May 2008 12:16:58 +0000 +Checked in by : Robert Osfield +Update ChangeLog and wrappers for 2.5.0 dev release -2008-09-29 13:22 robert +Mon, 12 May 2008 12:16:14 +0000 +Checked in by : Robert Osfield +Updated AUTHORS for 2.5.0 release - * Turned off the yaw mode on the FlightManipilator to make it - easier to navigate in volumes +Mon, 12 May 2008 11:39:02 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, Fixed FrameBufferObject attachement code to handle cases where no texture or image is attached -2008-09-29 11:00 robert +Mon, 12 May 2008 11:01:54 +0000 +Checked in by : Robert Osfield +Updated version number for 2.5.0 dev release - * From Mathieu Marache, support for CDash +Mon, 12 May 2008 10:55:55 +0000 +Checked in by : Robert Osfield +From Eric Sokolowski and Robert Osfield, moved command line option usage setup from osgviewer example into osg::ArgumentParser and osgViewer::Viewer to make them more universally available. -2008-09-29 10:59 robert +Mon, 12 May 2008 10:18:41 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, "* add easy multiple texture targets support for obj by refactoring texture load into it's own method.* use new method from step 1 to load 'map_opacity' textures from .mtl files" - * From Erik den Dekker, "I received a compiler warning in - osgDB::registry::readObjectOfType while compiling SVN trunk with - MSVC 2008. - - ..\..\..\..\src\osgDB\Registry.cpp(910) : warning C4806: '==' : - unsafe operation: no value of type 'bool' promoted to type - 'osgDB::Registry::LoadStatus' can equal the given constant - - A quick review of the code revealed a piece of code that was - clearly wrong, possibly due to a copy-and-paste error. - - " -2008-09-29 10:56 robert - * Added support for using ImageSequence to animate volumes +Mon, 12 May 2008 10:16:40 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, fixed typo -2008-09-28 15:16 robert +Sun, 11 May 2008 14:26:27 +0000 +Checked in by : Robert Osfield +Added CARIO_FOUND into svg plugins checks - * Improved the isosurface shaders, and mde GLSL usage the default +Sun, 11 May 2008 14:23:19 +0000 +Checked in by : Robert Osfield +From Miguel Escriva, Here you will find a SVG Image Reader. It renders a SVG file as an osg::Image using cairo and rsvg. -2008-09-26 15:47 robert +Sat, 10 May 2008 17:25:42 +0000 +Checked in by : Robert Osfield +From Paul Martz, "This change adds support for osg::Billboards to the OpenFlight exporter.It might seem odd that the change actually removes the stub apply(Billboard&) method, but it turns out Billboards are easily supported in subordinate routines of the existing apply(Geode&) method with s dynamic_cast, so there's no need for a separate apply(Billboard&)." - * Improved GLSL isosurface support when using a transfer function -2008-09-26 14:50 robert - * Added setting of various filters and - setResizeNonPowerOfTwoHint(false) on normals maps etc. +Sat, 10 May 2008 17:23:12 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Another round of plugin enhancements.3DC: Output now uses osg::notify. +JPEG: Now returns correct error code for empty input file. +FreeType: Prevent possible crash if Options is NULL." -2008-09-26 13:51 robert - * Added docs for read-threads command line options -2008-09-26 13:51 robert +Sat, 10 May 2008 17:04:02 +0000 +Checked in by : Robert Osfield +Moved compile setup from osgViewer::ViewerBase into osgViewer::Renderer to avoid threading issues associated with compile running in a parallel with update/cull on the first frame.Also added automatic recompile when a new SceneData is applied to a View. - * Changed loadLibrary so that it retusn a LoadStatus variable to - enable calling - codes to differentiate between whether a library is already - loaded, or is newly loaded -2008-09-26 11:29 robert - * Added --isosurface and --mip paths into osgvolume example, and - added associted shaders +Fri, 9 May 2008 17:22:49 +0000 +Checked in by : Robert Osfield +Added --file-cache command line option to compliment -c -2008-09-26 11:19 robert +Fri, 9 May 2008 17:08:31 +0000 +Checked in by : Robert Osfield +Initial cut of file cache population app - * From Mathias Froehlich, "for the rand functions stdlib.h is - required ..." +Fri, 9 May 2008 11:54:24 +0000 +Checked in by : Robert Osfield +From Art Trevs, set the _geometryVerticesOut to default to 1 as a workaround for OpenGL driver bug that incorrectly reports a warning when value is 0. -2008-09-26 10:59 robert +Fri, 9 May 2008 11:27:03 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Attached are some minor plugin fixes. PNM, RGB, and JPEG would all crash if attempting to read an empty file, and FLT would go into an infinite loop. All are fixed with this change.I also fixed some return values for a couple of these, changing FILE_NOT_HANDLED to ERROR_IN_READING_FILE where appropriate." - * From Lionel Lagarde, "Here is a correction on - DatabasePager::FindCompileableGLObjectsVisitor - - The apply(osg::Drawable *) method doesn't update the _drawableSet - and - the isCompiled test was inversed." -2008-09-26 10:43 robert - * From Fabio Mierlo, "n the lines 428 and 430 of obj.cpp file from - release 2.6.0, the parser - use only the first 7 characters to compare the string - "map_opacity " - and to copy the followed parameter, but the string have 12 - characters." +Fri, 9 May 2008 10:27:59 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, fixed window resize problem -2008-09-25 15:20 robert +Thu, 8 May 2008 17:02:08 +0000 +Checked in by : Robert Osfield +Added missing check against handling invalid bounding sphere's - * From Mathieu Marache, added support for CDash +Thu, 8 May 2008 16:48:49 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, "I found one compilation error in OSG 2.4 in the Inventor plugin, where one node (SoTextureCoordinate3) was assumed to be available in all versions of Inventor but is actually only available in Coin. The use of the node is now protected by #ifdef __COIN__ constructs. The attachment is based on OSG 2.4, not SVN." -2008-09-25 15:19 robert +Thu, 8 May 2008 16:45:59 +0000 +Checked in by : Robert Osfield +From Melchior Franz, "In KDE I switch desktops with Super-Tab, and occasionally I get an excess Tab key report when switching back to an OSG application (usually FlightGear :-). Although KDE has consumed the Tab, it's sometimes still in the XKeymapEvent's key_vector, and followed by a Tab KeyRelease event.Avoid this artifact by +- asking for a "fresh" keymap (via XQueryKeymap()), rather than + using the unreliable(?) XKeymapEvent's key_vector, and by +- flushing all key events on focus-in (to avoid the KeyRelease) - * Removed unused methods +After Super-press, Tab-press, Super-release, Tab-release (note +the wrong release order!) I still get an extra Tab event. But +this is not surprising and not exactly wrong either. Also it's +hard to avoid, as we can't see what happened to the keyboard +before we regained focus. -2008-09-25 15:04 robert +Files changed: + src/osgViewer/GraphicsWindowX11.cpp + include/osgViewer/api/X11/GraphicsWindowX11" - * Updated wrappers -2008-09-25 14:41 robert - * Added osg2cpp example into build +Thu, 8 May 2008 16:39:10 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, osgviewerGTK example -2008-09-25 14:41 robert +Thu, 8 May 2008 15:17:53 +0000 +Checked in by : Robert Osfield +From Sebastien Messerschmidt, "attached you'll find a patch for the shp-plugin. I've spotted huge memory leaks int ShapeParser and fixed them. Also, there was a missing destructor (PolygonM) and a missing member initialization (PolygonZ) Would be nice if someone could test the changes.To release the memory just if no reading error happened (and therefore the arrays would be valid) I've added an macro to release and reset the pointers at once. I'm not using macros myself very often as I don't like them, but I think it doesn't hurt in this code. - * Added convinience methods for parse shader source files +" -2008-09-25 14:39 robert - * Created new osg2cpp utility that creates .cpp files from source - shaders that can be included directly in application code, see - osgvolume for an example. -2008-09-25 14:39 robert +Thu, 8 May 2008 15:14:13 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and osgversion to catch Raymond de Vries name correctly - * Moved shaders into .cpp, with the shaders created by the new - osg2cpp utility +Thu, 8 May 2008 14:00:00 +0000 +Checked in by : Robert Osfield +From Raymond de Vries, "This fix tests the right variable before it is allocated. Fortunately, until now it tested another variable (_particleSizeUniform, which is, at that moment, not allocated as well) and everything went ok. So it does not fix a crash or so, it is a matter of correct code.Line 353 is changed from -2008-09-25 10:21 robert +if (!_particleSizeUniform) - * Added .vert and .frag to list of accepted extension in the GLSL - plugin +to -2008-09-24 16:03 robert +if (!_particleColorUniform) +" - * From Jean-Sebastian Guay, fixed windows build -2008-09-24 16:00 robert - * From Riccardo Corsi, Added 3gp file extension to supported list - in quicktime plugin +Thu, 8 May 2008 13:56:28 +0000 +Checked in by : Robert Osfield +From Paul Martz, "As I discovered prior to the 2.4 release, the FLT export geometry backend was using some old turn-on code, originally written just to enable other development but not intended for actual release. Sadly, my OSG training commitments prevented me from fixing this prior to 2.4.In essence, the FLT exporter was emitting a full set of Mesh records each time it encountered a PrimitiveSet. + +Attached is a fix. The code now emits the Mesh set up records, then iterates over all PrimitiveSets and emits a Mesh Primitive record per PrimitiveSet. + +It also loops over PrimitiveSets twice, first writing Face records according to the mode, the writing Mesh records (again according to the mode). + +The final change included here is support for GL_POINTS as single-vertex Face records. + +Billboards are still to come." -2008-09-24 15:59 robert - * Added 3gp extension alias for quicktime -2008-09-24 10:45 robert +Thu, 8 May 2008 13:46:58 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added shader based transfer function, enabled via --gpu-tf +Thu, 8 May 2008 13:22:52 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "Small typo and implementation fix for setInitialDrawCallback." -2008-09-24 10:20 robert +Thu, 8 May 2008 12:55:01 +0000 +Checked in by : Robert Osfield +From Philip Lowman, "Attached is a patch to the toplevel CMakeLists.txt which adds an automated test for OSG_GLU_TESS_CALLBACK_TRIPLEDOT. This should help ease initial configuration on OS X systems." - * Fixed transfer function parsing +Thu, 8 May 2008 12:36:07 +0000 +Checked in by : Robert Osfield +From Garrett Potts and Robert Osfield, changes to build against Collada DOM 2.x -2008-09-23 17:29 robert +Thu, 8 May 2008 09:16:24 +0000 +Checked in by : Robert Osfield +Updated the doxygen docs to explain the deprecated status of SceneView - * Added mutex usage to protect access to plugin and readerwriter - containers +Wed, 7 May 2008 17:06:36 +0000 +Checked in by : Robert Osfield +Commented out checking of DISPLAY env var -2008-09-23 15:41 robert +Wed, 7 May 2008 14:32:39 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added "serialize" and plugin "preload" options in the - "read-threads" code path. +Wed, 7 May 2008 14:30:58 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, Added doxygen docs clarification of ReadResult enum values -2008-09-23 13:58 robert +Wed, 7 May 2008 14:24:14 +0000 +Checked in by : Robert Osfield +From Donald Cipperly, "This is a fix to eliminate >> errors in VS 7.1" - * Added read-threads command line and read thread test - back end +Wed, 7 May 2008 14:17:15 +0000 +Checked in by : Robert Osfield +From Miguel Escriva, "Attached to this mail you will find some files to work with the Philips WOWvx displays.It's implemented in the same way that 3D Spherical Display and Panoramic Spherical Display. -2008-09-23 09:59 robert +You can test it running: + osgviewer --wowvx-20 cow.osg + osgviewer --wowvx-42 cow.osg +depending on the size of your Philips WOWvx display (20" or 42") - * From Wojciech Lweandowski, added support for noew LispSM shadow - technique (use --lispsm on CmdLine) and added IslandScene - database (use -4 on CmdLine). +Other arguments you can use to control the 3D effect are: -2008-09-22 17:24 robert +--wow-content + This value defines the kind of content that can be: + 0: No depth + 1: Signage + 2: Movie + 3: CGI + 4: Still - * Added support for reading raw data and transfer function from a - volume header +--wow-factor + Percentage of the display recommended depth value. Default 64, Range [0-255] -2008-09-22 16:18 robert +--wow-offset + Amount of range behind the screen. Default 128, Range [0-255] + 0: Range is shifted in the direction of the viewer. + 128: Range is equally divided in front and behind the screen. + 255: Range is shifted away from the viewer. + " - * Added --page-and-discard, --page-and-retain, --preload and - --length command line options -2008-09-22 16:17 robert - * Fixed typo +Wed, 7 May 2008 13:49:32 +0000 +Checked in by : Robert Osfield +From Terry Welsh, fixed typo of getEnd() -2008-09-22 15:56 robert +Wed, 7 May 2008 13:46:24 +0000 +Checked in by : Robert Osfield +From Jeremy Moles,"Here's a small example I us to test text rendering in osgWidget; I figured it might be helpful to folks in OSG who need to do the same. " - * Added stats handler +Wed, 7 May 2008 13:42:29 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've added hardware mipmap support to Texture3D." -2008-09-22 15:01 robert +Wed, 7 May 2008 11:59:15 +0000 +Checked in by : Robert Osfield +Added doxygen comments for attach - * From Ulrich Hertlein, fixes for OSX build +Sat, 26 Apr 2008 11:13:08 +0000 +Checked in by : Robert Osfield +Updated package numbers for OSG-2.4, OT-2.2.1 release -2008-09-22 14:58 robert +Fri, 25 Apr 2008 13:10:05 +0000 +Checked in by : Robert Osfield +Update AUTHORS file for 2.4 release - * Changed OSG_DEBUG_POSTFIX to use ADDQUOTES in the .cpp rather - than trying to add quotes via CMakeLists.txt +Fri, 25 Apr 2008 12:58:07 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 2.4 release -2008-09-22 14:55 robert +Fri, 25 Apr 2008 12:40:14 +0000 +Checked in by : Robert Osfield +Update NEWS and README to 2.4 stable release - * From Ralf Habacker and Robert Osfield, added search for plugins - with OS specific file plugin extensions +Fri, 25 Apr 2008 09:46:25 +0000 +Checked in by : Robert Osfield +Updated Version number for 2.4 stable release -2008-09-22 14:46 robert +Fri, 25 Apr 2008 09:35:51 +0000 +Checked in by : Robert Osfield +From Stephane Lamoliatte, "Here is the fix of a very little typed error in BoundingBox : I replace "doulbe" by "double"." - * Added getExtensionIncludingDot to provide more efficient handling - of extensions +Fri, 25 Apr 2008 08:34:54 +0000 +Checked in by : Robert Osfield +Added cast to avoid warning -2008-09-22 13:16 robert +Thu, 24 Apr 2008 16:50:17 +0000 +Checked in by : Robert Osfield +Updated date of 2.4 release - * Changed the macro usage so that the quotes are now added inside - the .cpp +Thu, 24 Apr 2008 16:49:52 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file for release -2008-09-22 11:13 robert +Thu, 24 Apr 2008 16:48:59 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 2.3.11 release - * Added readNode implementation that creates an osgVolume::Volume - for the specified dicom file. +Thu, 24 Apr 2008 16:24:16 +0000 +Checked in by : Robert Osfield +From Wojchiech Lewandowski, add missing setDataVariance(DYNAMIC) and extra event handlers -2008-09-21 11:12 robert +Thu, 24 Apr 2008 14:46:21 +0000 +Checked in by : Robert Osfield +From Colin Dunlop, added alias for .live to quicktime plugin mapping. - * Added Volume wrappers, and updated terrain wrappers +Thu, 24 Apr 2008 11:34:43 +0000 +Checked in by : Robert Osfield +Reverted the changes for ill fated tweaks for Apple build -2008-09-21 11:05 robert +Thu, 24 Apr 2008 10:09:04 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "I just made Find3rdPartyDependencies search for curllib if it can't find libcurl. Mike's 3rdParty only has curllib.I realize now that the in appended file I have earlier removed +searching for freetype219 since I have it but it will break the build +of osg." - * Create initial class placeholders for main volume rendering - classes -2008-09-20 15:43 robert - * Change TileID::layer to TileID::level +Wed, 23 Apr 2008 21:07:54 +0000 +Checked in by : Robert Osfield +Updated authors file for 2.3.11 release -2008-09-20 10:34 robert +Wed, 23 Apr 2008 21:07:16 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * From Chris Denham, changed gluGetErrorString to using - osg::State::checkGLErrors() to avoid null pointer dereference +Wed, 23 Apr 2008 20:54:28 +0000 +Checked in by : Robert Osfield +Updated version number 2.3.11 -2008-09-20 10:09 robert +Wed, 23 Apr 2008 20:50:53 +0000 +Checked in by : Robert Osfield +Refactored the inclusion of the headers in the ADD_LIBRARY so that they aren't added under OSX. - * From Mathias Froehlich, added catch for GL_COLOR_MATERIAL mode - being set. +Wed, 23 Apr 2008 20:49:19 +0000 +Checked in by : Robert Osfield +Removed the mutable from the _image variable -2008-09-20 10:05 robert +Wed, 23 Apr 2008 14:10:41 +0000 +Checked in by : Robert Osfield +Added mutex to object creation to avoid a race condition when using threaded multiple graphics context - * From John Vida Larring, "If an application initializes - osgViewer::GraphicsWindowEmbedded() but never gets around to do - any rendering before the application is closed, the result with - be a crash (SIGABRT/std::logic_error) in - osg::getGLVersionNumber(). - - The fix was to check whether glGetString( GL_VERSION ) returned a - null pointer (Ref. svn diff below). The altered - src/osg/GLExtensions.cpp is zipped and attached to this email." +Tue, 22 Apr 2008 14:31:30 +0000 +Checked in by : Robert Osfield +Added return. -2008-09-19 19:51 robert +Tue, 22 Apr 2008 14:15:24 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "the support for the new mightymouse and new touchpads was incomplete in GraphicsWindowCarbon. Attached is a fixed version." - * Added wrapper support for new osgShadow classes +Tue, 22 Apr 2008 13:00:52 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file -2008-09-19 19:51 robert +Tue, 22 Apr 2008 12:52:35 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, NEWS and READE for 2.3.10 pre release of 2.4. - * From Wojciech Lewandowski, a range of new ShadowMap - implementations include View Dependent Shadow Maps - LispSM - - From Robert Osfield, refactored Wojciech's submission to - integrated with osgShadow and use coding sytle more consistent - with rest of OSG. +Tue, 22 Apr 2008 11:47:17 +0000 +Checked in by : Robert Osfield +Updated version number for 2.3.10 dev release -2008-09-19 12:49 robert +Tue, 22 Apr 2008 11:41:03 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Mathias Froehlich, added support for search in the installed - directories for plugins +Tue, 22 Apr 2008 11:39:47 +0000 +Checked in by : Robert Osfield +Removed hardware down sampling hack from GeoemtryTechnique and replaced with Terrain::g/setSampleRatio() usage. -2008-09-19 08:16 robert +Tue, 22 Apr 2008 10:10:24 +0000 +Checked in by : Robert Osfield +Updated authors - * From Richard Schmidt, fixed the handling of user data so that it - uses ref_ptr<> to avoid data getting deleted. +Tue, 22 Apr 2008 09:43:55 +0000 +Checked in by : Robert Osfield +Fixed name -2008-09-18 16:48 robert +Mon, 21 Apr 2008 16:31:54 +0000 +Checked in by : Robert Osfield +Updated NEWS for 2.4 release - * Updated ChangeLog +Mon, 21 Apr 2008 14:51:47 +0000 +Checked in by : Robert Osfield +From Luigi Calori, Added CURL_IS_STATIC option to help hint to the libcurl's plugin build so that it can be select as static build -2008-09-18 16:03 robert +Fri, 18 Apr 2008 16:21:12 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file for release - * Added Serializer wrappers +Fri, 18 Apr 2008 16:20:08 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2008-09-18 15:50 robert +Fri, 18 Apr 2008 15:52:14 +0000 +Checked in by : Robert Osfield +Updated date on readem - * Moved Serializer header from VPB into osgDB. +Fri, 18 Apr 2008 15:01:49 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-09-18 15:44 robert +Fri, 18 Apr 2008 14:57:43 +0000 +Checked in by : Robert Osfield +Added support for COLOR_BUFFER entries up to 15 - * Updated wrappers +Fri, 18 Apr 2008 14:51:21 +0000 +Checked in by : Robert Osfield +Updated BufferComponent enum to list COLOR_BUFFERi entries up to 15. -2008-09-18 15:18 robert +Fri, 18 Apr 2008 14:33:14 +0000 +Checked in by : Robert Osfield +Fixed bug in FBO colour attachement code - * refactored the getWindows(..) and getContexts(..) methods so that - they produce - consistent ordering based on the order Camera/slave camera - ordering. +Fri, 18 Apr 2008 14:14:33 +0000 +Checked in by : Robert Osfield +Added optional compiled in debugging output to CullVisitor::apply(osg::Camera&) -2008-09-18 15:16 robert +Fri, 18 Apr 2008 13:57:08 +0000 +Checked in by : Robert Osfield +Added write(ostream&) method to allow one to print out the current state - * From Mathias Froehlich, "Attached one namespace/scope lookup - problem which shows up on irix." +Fri, 18 Apr 2008 13:25:14 +0000 +Checked in by : Robert Osfield +Changed the FrameBufferObject::setAttachment() methods so it now use osg::Camera::BufferComponent to enable it to distinguish between MRT and non MRT paths -2008-09-18 14:48 robert +Fri, 18 Apr 2008 11:09:54 +0000 +Checked in by : Robert Osfield +Introduce OSG_GL_ERROR_CHECKING env var checking to osg::State constructor so that you can enable fine grained check via env vars o.e. export OSG_GL_ERROR_CHECKING=ONCE_PER_ATTRIBUTE + + - * From Christopher Blaesius, - "Soft shadow mapping is basically the same as hard shadow mapping - beside that - it uses a different fragment shader. - So for me it makes sense that osgShadow::SoftShadowMap is derived - from - osgShadow::ShadowMap, this makes it easier to maintain the two - classes. - Additional SoftShadowMap also provides the same Debug methods as - ShadowMap." -2008-09-18 13:54 robert - * Updated wrappers +Thu, 17 Apr 2008 15:30:35 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a refactored and improved quicktime-plugin. I moved all code related to the image-loading, swizzling etc into an extra class. The quicktime plugin supports now reading and writing images from/to streams and the code is less cluttered than previous versions.I removed QTtexture.h/.cpp and added QTImportExport.h/.cpp. I updated the CMake-files, I hope they are alright. I used the submitted code in my own apps since two months or so and it seems pretty stable, but as always the migration to the osg-quicktime plugin may have introduced new bugs, so perfect for developer release :)" -2008-09-18 13:54 robert - * From Alan Dickinson, change methods to virtual. -2008-09-18 13:18 robert +Thu, 17 Apr 2008 11:12:21 +0000 +Checked in by : Robert Osfield +From John Shue, build fix for QT 3.x - * From John Argentieri, added missing _stripTextureFilePath( false - ) initializer. +Thu, 17 Apr 2008 09:04:29 +0000 +Checked in by : Stephan Maximilian HUBER +updated XCode project -2008-09-18 13:09 robert +Wed, 16 Apr 2008 18:13:41 +0000 +Checked in by : Robert Osfield +Added new computation of time to allocate to flushing deleted and compiling OpenGL objects per frame. - * From Chris Denham, added missing ccopy of polyOffset in copy - constructor +Wed, 16 Apr 2008 15:23:12 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, "he attached are conversions of the 3 main places i found in osg where tokens are used to represent bitmasks with 'magic' numbers, like 32. i've changed these to a more representative bitshift representation, showing clearly in which bit you can expect this token to manifest. ie, converted things like:from: DEEP_COPY_STATESETS = 8, +to: DEEP_COPY_STATESETS = 1<<3, -2008-09-18 13:05 robert +showing clearly that this isn't the _value_ 8, but the _bit_ 8. this is an old pattern i see (and like to promulgate) to make code a bit more readable and maintainable. +" - * From Chris Denham, " - I think I may have discovered a bug in osgShadow/ShadowMap.cpp - that results in incomplete shadows being generated. - The problem seems to caused by an incorrect interpretation of the - spot light cutoff angle. The valid ranges for spot cutoff are - 0-90 and 180, i.e half the 'field of view' for the spotlight. - Whereas the shadow map code seems to assume the the spot cutoff - is equal to the field of view. This results in the shadows - generated by the spotlight getting clipped at half the spot - cutoff angle. - - I have fixed this in my copy of ShadowMap.cpp: - =============================== - //Original code from OSG 2.6: - if(selectLight->getSpotCutoff() < 180.0f) // spotlight, then we - don't need the bounding box - { - osg::Vec3 position(lightpos.x(), lightpos.y(), lightpos.z()); - float spotAngle = selectLight->getSpotCutoff(); - _camera->setProjectionMatrixAsPerspective(spotAngle, 1.0, 0.1, - 1000.0); - - _camera->setViewMatrixAsLookAt(position,position+lightDir,osg::Vec3(0.0f,1.0f,0.0f)); - } - =============================== - // My modifications: - float fov = selectLight->getSpotCutoff() * 2; - if(fov < 180.0f) // spotlight, then we don't need the bounding - box - { - osg::Vec3 position(lightpos.x(), lightpos.y(), lightpos.z()); - _camera->setProjectionMatrixAsPerspective(fov, 1.0, 0.1, 1000.0); - - _camera->setViewMatrixAsLookAt(position,position+lightDir,osg::Vec3(0.0f,1.0f,0.0f)); - } - - This change seems correct for spot cutoff in the range 0, 90, but - since OpenGL doesn't claim to support cutoffs >90 && <180, I'm - not sure how shadow map should deal with those cases, but - ignoring spot cut off greater than 90 here seems reasonable to - me. - " -2008-09-18 12:57 robert - * From Ralf Habacker, "the appended patch fixes the problem - reported on - http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2008-January/006110.html. - " - - - > Using QOSGWidget - QWidget + osgViewer creating the graphics - context. - > - > Windows Error #2000: [Screen #0] - GraphicsWindowWin32::setWindow() - Unable - > to create OpenGL rendering context. Reason: The pixel format is - invalid. - > - > - > - > And then the following fate error pops up: - > - > - > - > The instruction at "0x014c7ef1" referenced memory at - "0x000000a4", The - > memory could not be "read". - > - > Click on Ok to terminate the program - > - > Click on CANCEL to debug the program - > - > +Wed, 16 Apr 2008 15:22:03 +0000 +Checked in by : Robert Osfield +Updated version number for nex dev release -2008-09-18 12:50 robert +Wed, 16 Apr 2008 10:01:16 +0000 +Checked in by : Robert Osfield +From Jason Beverage, cursor inheritance support - * From Robert Osfield and Christophe Loustaunau, fixes for support - for 16bit and 32bit tiff images +Tue, 15 Apr 2008 20:27:49 +0000 +Checked in by : Robert Osfield +Updated AUTHORS.txt for release -2008-09-18 10:52 robert +Tue, 15 Apr 2008 20:16:57 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * From Mathias Froehlich, "I did some performance test runs with - the development gcc-4.4 version. - To make it compiel with future gcc's we sppear to need the - attached missing - includes ..." +Tue, 15 Apr 2008 19:46:29 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "The following changes fix the flickering issue I'm seeing when trying to externally manage my cursor in Win32. If you set the cursor to InheritCursor, GraphicsWindowWin32 ignores WM_SETCURSOR and assumes you will set the cursor yourself." -2008-09-18 10:49 robert +Tue, 15 Apr 2008 19:36:40 +0000 +Checked in by : Robert Osfield +From Art Trevs, moved multile render targets support from RenderStage into FrameBufferObject.From Robert Osfield, refactored the FrameBufferObejcts::_drawBuffers set up so that its done +within the setAttachment method to avoid potential threading/execution order issues. - * From Mathieu Marache, "This is an addition for osgSim - reader/writer for the osg ascii file format adding - osgSim::OverlayNode support. " -2008-09-18 10:39 robert - * From Tim Moore, "his submission fixes a bug when the - ModularEmitter and ParticleSystem are in different frames of - reference. Specifically, it supports the case where the - ParticleSystem is not in the world frame. One way this can come - up is if your world coordinate system is Earth-centric; the float - coordinates of particles don't have enough precision to avoid - terrible jitter and other rendering artifacts, so it's convenient - to root the particle systems in a local Z-up coordinate system - that gets moved around from time to time. - " - - Tweak from Robert Osfield, converted code to use new - Drawable::getWorldMatrices method +Tue, 15 Apr 2008 12:52:47 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-09-18 10:38 robert +Tue, 15 Apr 2008 11:50:34 +0000 +Checked in by : Robert Osfield +From Tim Moore, compile fix for gcc 4.3 - * Improved the constness of parameters the - Node::getWorldMatrices(..) method. - - Added Drawable::getWorldMatrices(const Node*) method. +Mon, 14 Apr 2008 10:38:37 +0000 +Checked in by : Robert Osfield +Added docs explaining units -2008-09-17 20:02 robert +Sun, 13 Apr 2008 19:31:09 +0000 +Checked in by : Robert Osfield +Added subdivision of Goedes - * From Rob Bloemkool, "This is a submission for - src/osgPlugins/ogr/ReaderWriterOGR.cpp - - adds display of options when using osgconv --formats. - - adds useGroupPerFeature option to have each feature in a - separate group. Usage: OSG_OPTIMIZER=OFF osgconv -e ogr -O - addGroupPerFeature - " +Sun, 13 Apr 2008 14:32:13 +0000 +Checked in by : Robert Osfield +From Christian Kaser, "I discovered a bug that lead to a space being displayed at the start of the new line after an automatic line break (through setMaximumWidth()). The fix simply skips all spaces at the end of the line, before skipping a line break which was done already.osgText/Text.cpp: Line 502 + ... + else + { + ++itr; + } -2008-09-17 19:51 robert + if (itr!=_text.end()) + { + // skip over spaces and return. + while (*itr==' ') ++itr; // New + if (*itr=='\n') ++itr; + } - * From Ewe Woessner, "I looked at the Anaglyphic stereo - implementation in SceneView.cpp and think I spotted some - copy-paste bugs. - - osg::ColorMask* leftColorMask = _renderStageLeft->getColorMask(); - if (!leftColorMask) - { - leftColorMask = new osg::ColorMask(); - _renderStageLeft->setColorMask(leftColorMask); - ^^^^ here it said right, I think this should be Left. - } - - - // ensure that right eye color planes are active. - osg::ColorMask* rightColorMask = - _renderStageRight->getColorMask(); - ^^^^ similar here, I think this should be right - if (!rightColorMask) - { - rightColorMask = new osg::ColorMask(); - _renderStageRight->setColorMask(rightColorMask); - } - - and i further removed an unnecessary setColorMask." + // move to new line. + switch(_layout) + { + .." -2008-09-17 19:25 robert - * From Mattias Helsing, - - CMakeLists.txt changes: "I installed latest Cmake(2.6.1) on a new - machine and got a CMP008 - warning from cmake. This fix set up osg to use the old behaviour - which - have worked before. We might set this to NEW but I need to do - more - testing first. I'l be able to test this on winxp with msvc80/90 - and - ubuntu hardy with gcc-4.2. - - quote from cmake cvs log - policy CMP0008 to decides how to treat full path libraries that - do not - appear to be valid library file names. Such libraries worked by - accident in the VS IDE and Xcode generators with CMake 2.4 and - below." - - - OsgMarcroUtils.cmake changes: "On Philips suggestion truncated a - redundant if/else construction in - OsgMacroUtils to avoid developer warnings in cmake-2.6.1 - concerning - cmake policy CMP0008 which allows full paths to libraries only - with - valid library names - " -2008-09-17 18:56 robert +Sun, 13 Apr 2008 14:29:22 +0000 +Checked in by : Robert Osfield +From Paul Martz, added osgocclussionquery and osgthirdpersonview examples - * From Alberto Luaces, "Cygwin's cmake build adds a "d" postfix to - the plugins installed in debug - mode. Nevertheless, the code doesn't acknowledge that, so I had - problems with - debug versions of the library not being able to open their - plugins whereas - the release versions worked fine. - - I have made the same changes in Registry.cpp that are available - for the rest - of platforms appending that "d" to their plugins. I have also - updated the - CMakeLists.txt file to get "_DEBUG" defined at compilation time. - I have - copied the already existent conditional block because of cmake's - bizarre - operator precedence. Since Cygwin defines both CYGWIN and WIN32, - the - following would suffice: - - IF(CYGWIN OR UNIX AND NOT WIN32 AND NOT APPLE) - - Sadly, it actually doesn't work, so I wrote a new conditional - block just for - Cygwin. I could join the two blocks when the parentheses support - is added in - newer versions of cmake." +Sat, 12 Apr 2008 10:02:28 +0000 +Checked in by : Robert Osfield +Changed bias parameter to scale -2008-09-17 18:54 robert +Fri, 11 Apr 2008 14:52:35 +0000 +Checked in by : Robert Osfield +Updadated authors file for dev release - * From Adrian Egli, "i came around reviewing my code, and found now - finally a solution to remove the polygon offset issue. as we all - know the polygon offset has a different behaviour on different - GPU system (ATI, NVidia) and this make the use of - polygon offset complicate. so i looked for a solution to remove - this offset. - - i changed the shader, also the filtering (default: on) use now a - correct 3x3 filter: - 1 0 1 - 0 2 0 - 1 0 1 - - div: 6 - - of course a better one would be - 1 2 1 - 2 4 2 - 1 2 1 - - div: 16 - but this isn't as performant as the simple filter above is. - because we need only 5 texture lookups instead of 9, and the - result is still good, if you wish we can add a enum to change the - pcf filter type once, if there is a need. - - - testet on NVidia Quatro 570M and on ATI Radeon X1600 - - " +Fri, 11 Apr 2008 14:43:22 +0000 +Checked in by : Robert Osfield +Updated wrappers, and version numbers in prep for next release -2008-09-17 18:51 robert +Fri, 11 Apr 2008 14:33:24 +0000 +Checked in by : Robert Osfield +Fixed J.P. Delports name - * From Adrian Egli, "I changed the PSSM shadow map implementation, - if we have filtered turned on, it should be now correct. The - implementation is more robut on different scene. i tested it on - NVIDIA card against a park scene, a chess board and a terrain. - unfort. i couldn't test it on any ATI system. may there will be - still another problem there. if there are still some artefacts. - we should try out better fZOffSet value - " +Fri, 11 Apr 2008 14:14:28 +0000 +Checked in by : Robert Osfield +Added --unit entry for controlling which texture unit the overlay works on. -2008-09-17 18:42 robert +Fri, 11 Apr 2008 13:43:11 +0000 +Checked in by : Robert Osfield +From Paul Martz,"Several misc changes, but the major fixes include: * Support for Vec4ubArray for color data + * Support for material transparency + +Thanks to Neil Hughes, Jason Daly, yourself, and others for testing and reporting issues." - * From Bill Prendergast, "Found a typo in CameraRenderOrderSortOp - in osg/GraphicsContext.cpp - (V2.6.0 and prior) as noted below: - - struct CameraRenderOrderSortOp - { - inline bool operator() (const Camera* lhs,const Camera* rhs) - const - { - if (lhs->getRenderOrder()getRenderOrder()) return true; - if (rhs->getRenderOrder()getRenderOrder()) return false; - ---> return lhs->getRenderOrderNum()getRenderOrderNum(); - ^^^ ^^^ - } - }; - - Corrected code attached." -2008-09-17 17:25 robert - * From Christophe Loustaunau," - I have found some errors on the example osgGeometryShaders. It's - about the varying in the geometry shader. - take a look at the varying vec4 v_color. - In the vertex shader, v_color is initialized to gl_vertex - then in the geometry shader v_color is initialized to - gl_PositionIn[0] - and in the fragment shader v_color is used as the fragment color. - - Try to initialized v_color to vec4(1.0, 0.0, 0.0, 1.0) in the - vertex shader and comment the line : - " v_color = v;\n" in the geometry shader, and you will see the - lines as black ! - - It's because you have to use keywords in and out. - - extract from : - http://www.opengl.org/registry/specs/EXT/geometry_shader4.txt : - - in - for function parameters passed into a function or for input - varying - variables (geometry only) - - out - for function parameters passed back out of a function, but - not - initialized for use when passed in. Also for output varying - variables - (geometry only). - - Then for a geometry shader, a varying must be an array : - extract from : - http://www.opengl.org/registry/specs/EXT/geometry_shader4.txt : - - Since a geometry shader operates on primitives, each input - varying variable needs to be - declared as an array. Each element of such an array corresponds - to a - vertex of the primitive being processed. If the varying variable - is - declared as a scalar or matrix in the vertex shader, it will be a - one-dimensional array in the geometry shader. Each array can - optionally - have a size declared. If a size is not specified, it inferred by - the - linker and depends on the value of the input primitive type. - - - Here is a patch based on the svn version of osg that correct - that. - " +Fri, 11 Apr 2008 13:28:09 +0000 +Checked in by : Robert Osfield +From Philipp Machler, "We have extended the support for Wacom Tablet devices:- Mac OS X + - not only pressure, but tilt and z-rotation is supported now +" -2008-09-17 17:13 robert - * From Max Bandazian, "Lines 302-305 of WindowManager.cpp seem to - have a parenthesizing error - the code is - if( - (!win || win->getVisibilityMode() == Window::VM_PARTIAL) && - !win->isPointerXYWithinVisible(x, y) - ) continue; - - But it probably should be - - if (!win || (win->getVisibilityMode() == Window::VM_PARTIAL) && - !win->isPointerXYWithinVisible(x, y))) - continue; - - The effect of the bug is to segfault if a non-osgWidgets::Window - node hasn't been excluded from picking via NodeMask." -2008-09-17 17:07 robert +Fri, 11 Apr 2008 13:04:21 +0000 +Checked in by : Robert Osfield +Added reference to osgstereomatch example to osgmultiplerendertargets.Added usage example use OpenSceneGraph-Data/Images examples - * Updated wrappers -2008-09-17 16:14 robert - * From Mathias Froehlich, "This is a generic optimization that does - not depend on any cpu or instruction - set. - - The optimization is based on the observation that matrix matrix - multiplication - with a dense matrix 4x4 is 4^3 Operations whereas multiplication - with a - transform, or scale matrix is only 4^2 operations. Which is a - gain of a - *FACTOR*4* for these special cases. - The change implements these special cases, provides a unit test - for these - implementation and converts uses of the expensiver dense matrix - matrix - routine with the specialized versions. - - Depending on the transform nodes in the scenegraph this change - gives a - noticable improovement. - For example the osgforest code using the MatrixTransform is about - 20% slower - than the same codepath using the PositionAttitudeTransform - instead of the - MatrixTransform with this patch applied. - - If I remember right, the sse type optimizations did *not* provide - a factor 4 - improovement. Also these changes are totally independent of any - cpu or - instruction set architecture. So I would prefer to have this - current kind of - change instead of some hand coded and cpu dependent assembly - stuff. If we - need that hand tuned stuff, these can go on top of this changes - which must - provide than hand optimized additional variants for the - specialized versions - to give a even better result in the end. - - An other change included here is a change to rotation matrix from - quaterion - code. There is a sqrt call which couold be optimized away. Since - we divide in - effect by sqrt(length)*sqrt(length) which is just length ... - " +Fri, 11 Apr 2008 13:03:02 +0000 +Checked in by : Robert Osfield +From Sherman Wilcox, "Here is a patch for cmakelists.txt to add support for the /MP option in Microsoft compilers as discussed in osg-users. There is now an advanced option called WIN32_USE_MP (which defaults to OFF) that will enable the /MP switch for all builds. I tucked this code block safely within a IF(WIN32) branch." -2008-09-17 14:23 robert +Fri, 11 Apr 2008 11:58:27 +0000 +Checked in by : Robert Osfield +From Jose Delport, a MRT example implementing stereo matching. - * Updated osgwidget examples to use the new osg::clone() methods +Fri, 11 Apr 2008 11:19:58 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-09-17 14:23 robert +Fri, 11 Apr 2008 11:10:12 +0000 +Checked in by : Robert Osfield +From Melchior Franz, "The GUIEventAdapter header file had KeySymbols for the super and hyper keys defined already, but these modifiers were missing in GUIEventAdapter::ModKeyMask, and the EventQueue ingored them as well.The attached diff/archive adds the missing parts for Super/Hyper +modifier key support. - * Updated wrappers of osgWidget -2008-09-17 14:21 robert +I'm aware that this might not be supported on all systems/keyboards +out of the box, but decided to submit it anyway because: - * Tweaks to facilitate osgWrapper build +- developers are aware of differences between input devices + (Some mice have scroll wheels, others don't. Some have five or + more buttons, some have only one. Some keyboards don't have + numpads, some have AltGr, some don't etc.) -2008-09-17 14:21 robert +- even if someone relies on Hyper/Super in distributed software, + this is easy to fix and doesn't create lock-in conditions - * Introduce new templated clone(..) methods that return the correct - type of object cloned. +- while the names Hyper/Super may only be common on X11, they are + just symbol names and not OS-specific -2008-09-17 11:43 robert +- even though some systems might not offer these additional modifiers + by default, it's likely that all of them have at least 8 modifier + levels internally, so it should only be a matter of OS configuration + to make them work - * Added support for finding DCMTK-3.5.4 installed lib/include - placement +- having super/hyper available is useful to offer a user ways + to define local key definitions that are safe from collisions with + predefined "official" key assignments" -2008-09-16 18:41 robert - * Added osgVolume to docs and wrappers -2008-09-16 15:32 robert +Fri, 11 Apr 2008 10:58:28 +0000 +Checked in by : Robert Osfield +From Sherman Wilcox, "Modified the cmakelists.txt file for the curl plugin so the proper linker directories are set in Win32. The old cmakelists.txt would set the lib release folder for debug builds as well. This should correct that." - * Introduced beginings of osgVolume NodeKit. +Fri, 11 Apr 2008 10:31:49 +0000 +Checked in by : Robert Osfield +From Colin McDonald, fixed typo. -2008-09-16 15:31 robert +Fri, 11 Apr 2008 10:30:00 +0000 +Checked in by : Robert Osfield +From Benoit Laniel, "I use mingw to cross-compile openscenegraph to win32. However, linux filesystem is case-sensitive. Here are the modifications needed to make the compiler happy. These are only some include lines rewritten (Io.h to io.h, Windows.h to windows.h etc.) for version 2.3.7." - * Complted the first pass at the DCMTK based dicom loader +Fri, 11 Apr 2008 10:16:38 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, "1) add simplifier command "--simplifier .5" to reduce complexity 2) complementarily add a "--overallNormal" to replace per-vert/per-facet normals with an overall. simplifier doesn't work in certain cases without less complex normals. this gets that done. 3) add env var output with full verbose output so people realize it's active when the app is run - i see this all the time in training where people run osgconv, with unintended data transformations due to osgUtil:;Optimzer, for example" -2008-09-16 09:31 robert +Fri, 11 Apr 2008 10:10:40 +0000 +Checked in by : Robert Osfield +Added --mouse option to enable mouse tracking, and fixed bug in assumption that nv is not null. - * Change the GLSL textureRec and texture2D parameters to use .st to - make sure they only use 2D coords. - - Add setResizeNonPowerOfTwoHint to false for Texture2D. +Thu, 3 Apr 2008 18:36:50 +0000 +Checked in by : Robert Osfield +Introduced CMake build option for compiling double or float versions of osg::BoundingSphere and osg::BoundingBox.Introduced code in BoundgingSphere, BoundingBox, ProxyNode and LOD to utilise the above settings. -2008-09-15 19:59 robert +Added Matrix::value_type, Plane::value_type, BoundingSphere::value_type and BoundingBox::value_type command line +options that report where the types of floats or doubles. - * Added optional usage of DCMTK in the dicom plugin -2008-09-15 11:27 robert - * From Ralf Habacker, removed redundent SwitchLayer::clear() -2008-09-14 10:31 robert - * Introduced Geometry::containsSharedArrays() and - Geometry::duplicateSharedArrays() to - support a fix to the osgUtil::Simplifier that couldn't handle - shared arrays +Thu, 3 Apr 2008 18:06:09 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "The X11WindowingSystemInterface in osgViewer/GraphicsWindowX11.cpp unconditionally sets the X11 error handler routine, replacing anything that was previously set. This is a bit unfriendly, as the X11 error handler is a global attribute which the application, or the GUI toolkit being used, may well have set itself.So I have modified X11WindowingSystemInterface to only replace the error +handler if it is the default i.e. if the application has not set it." -2008-09-13 13:38 robert - * Added reading of whole directories of images -2008-09-13 09:09 robert +Thu, 3 Apr 2008 10:26:18 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "While using the dds plugin (via osgdem) it was able to write 24bit images with BGR order but not read them. My 2-liner fixed it for me but it may be that someone with more knowledge of the plugin want to insert more pixel formats in the reading part of the plugin." - * Introduced TransferFunction1D::assign(ValueMap&). +Wed, 2 Apr 2008 17:08:40 +0000 +Checked in by : Robert Osfield +From Jose Delport, added support for MRT via glDrawBuffers -2008-09-12 15:41 robert +Wed, 2 Apr 2008 13:57:26 +0000 +Checked in by : Robert Osfield +From Mattias Helsing, "Subject: osga reading slash mismatch requests for files in a archive are made with unix style paths. So to be able to match an entry in map(_indexMap) it's keys needs to be stored in unix style even on Win32"Note from Robert Osfied, simplified this submission so that the added conversion to +unix slahes is done on all platforms as this should be safe and simpler to maintain. - * Removed use of ints and reading from gl_FragColor in shader -2008-09-11 16:11 robert - * Updated version numbers in prep for up comming dev release -2008-09-11 16:06 robert +Wed, 2 Apr 2008 13:55:50 +0000 +Checked in by : Robert Osfield +Updated to reflect new COLOR_BUFFER0 value - * Added an svn update into the make ChangeLog entry. +Wed, 2 Apr 2008 13:48:41 +0000 +Checked in by : Robert Osfield +From Jose Delport, introduced osgmultiplerendertargets example -2008-09-11 16:01 robert +Wed, 2 Apr 2008 13:47:45 +0000 +Checked in by : Robert Osfield +Changed the Camera::BufferComponent::COLOR_BUFFER0 from being equal to COLOR_BUFFER to being COLOR_BUFFER+1 to enable differentation between non MRT and MRT paths. - * Updated wrappers +Wed, 2 Apr 2008 11:28:10 +0000 +Checked in by : Robert Osfield +From Jose Delport, typo fixes -2008-09-11 14:28 robert +Tue, 1 Apr 2008 17:22:08 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, osgversion and AUTHOR.txt for 2.3.7 dev release - * Refinements to SwitchLayer and WhiteListTileLoadedCallback +Tue, 1 Apr 2008 14:52:49 +0000 +Checked in by : Robert Osfield +Removed svn:externals property -2008-09-11 14:27 robert +Tue, 1 Apr 2008 14:28:55 +0000 +Checked in by : Robert Osfield +Updated data for 2.3.7 dev release - * Added support for SwitchLayer into GeometryTechnique +Tue, 1 Apr 2008 11:03:45 +0000 +Checked in by : Robert Osfield +Updated OpenThreads version to 2.2.1 with the switch of sources/svn:externals from OpenThreads to OpenSceneGraph. -2008-09-11 13:21 robert +Tue, 1 Apr 2008 10:49:53 +0000 +Checked in by : Robert Osfield +Moved OpenThreads directly into OpenSceneGraph/trunk rather than being introduced via svn:externals.This change has been done to make it easier for OpenSceneGraph users to check out the svn via https +without any conflicts introduced with a http externals. - * Introduced osgTerrain::WhiteListTileLoadedCallback for the - management of options terrain layers -2008-09-11 10:40 robert - * First cut of WhiteListTileLoadedCallback -2008-09-11 09:26 robert +Tue, 1 Apr 2008 10:33:01 +0000 +Checked in by : Robert Osfield +Updated version numbers for 2.3.7 dev release - * Changed the createGeodeFromImage code to use the non power of two - extension, and disabled mipmapping +Tue, 1 Apr 2008 10:11:22 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Two changes: - Handle DrawArrays first/count correctly (fixes problem reported by Jason Daly) - Display warning if non-Geometry Drawable is encountered." -2008-09-11 09:05 robert +Tue, 1 Apr 2008 10:00:39 +0000 +Checked in by : Robert Osfield +From Tatsuhiro Nishioka and Stephan Huber, bug fixes and enhancement of cursor suppoort. - * Added support for reading source image file names from the - command line. +Mon, 31 Mar 2008 16:23:52 +0000 +Checked in by : Robert Osfield +Added checks for a valid scene graph before doing various ops on it. -2008-09-10 18:11 robert +Mon, 31 Mar 2008 14:00:42 +0000 +Checked in by : Robert Osfield +From Andy Skinner, build fix for Solaris - * Introduced TerrainTile::TileLoadedCallback +Mon, 31 Mar 2008 11:44:31 +0000 +Checked in by : Robert Osfield +Added Camera::s/getClearAccum, s/getClearStencil and s/getClearDepth. -2008-09-10 16:17 robert +Mon, 31 Mar 2008 09:43:14 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Removed unneccessary compound name usage +Sat, 29 Mar 2008 09:59:23 +0000 +Checked in by : Robert Osfield +From Sherman Wilcox with a little reorganisation from Robert Osfield, added test for 0 sized subloads, ignoring them to prevent a divide by zero error occuring on some buggy drivers. -2008-09-10 11:38 robert +Fri, 28 Mar 2008 19:56:25 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Some small changes and code cleanup. Biggest change is an improvement to the WriteResult return." - * Removed debugging output +Fri, 28 Mar 2008 18:42:03 +0000 +Checked in by : Robert Osfield +Set Texture::setMaxAnisotropy() to 16.0f for better quality terrain when looking at shallow angle. -2008-09-10 11:28 robert +Fri, 28 Mar 2008 17:53:58 +0000 +Checked in by : Robert Osfield +Improved the error capture and reporting - * Changed the image reading so that it leverages the - osgDB::Input::readImage() method - to ensure that it picks up on any local paths set on the Input - object. +Fri, 28 Mar 2008 15:52:10 +0000 +Checked in by : Robert Osfield +Rewrote the DatabasePager::removeExpiredSubgraphs(double) routine as it as not expiring subgraphs quick enough to enable reasonable load balancing.New version isn't perfect and will need further work, but does at least reduce +the memory footprint by as much as half on test paths on big databases. -2008-09-10 11:27 robert +The rewritten method no longer uses the the MaximumNumOfRemovedChildPagedLODs +and MinimumNumOfInactivePagedLODs variables so these and associated methods +for accessing them have been removed. - * Changed the path management so that the node path is prepended on - the database path list, rather than replacing it. +- /** Set the maximum number of PagedLOD child to remove per frame */ +- void setMaximumNumOfRemovedChildPagedLODs(unsigned int number) { _maximumNumOfRemovedChildPagedLODs = number; } +- +- /** Get the maximum number of PagedLOD child to remove per frame */ +- unsigned int getMaximumNumOfRemovedChildPagedLODs() const { return _maximumNumOfRemovedChildPagedLODs; } +- +- /** Set the minimum number of inactive PagedLOD child to keep */ +- void setMinimumNumOfInactivePagedLODs(unsigned int number) { _minimumNumOfInactivePagedLODs = number; } +- +- /** Get the minimum number of inactive PagedLOD child to keep */ +- unsigned int getMinimumNumOfInactivePagedLODs() const { return _minimumNumOfInactivePagedLODs; } -2008-09-10 11:27 robert - * Added playing of the imagesequence on creation of the - imagesequence -2008-09-10 11:26 robert - * Added osg::Image::set/getWriteHint() that allows images - themselves to control how - they are written to disk, either inline or as an external file. - Added support for - this in the .ive plugin. Default of WriteHint is NO_PREFERNCE, in - which case it's - up to the reader/writer to decide. +Fri, 28 Mar 2008 15:31:46 +0000 +Checked in by : Robert Osfield +Introduced mutex into Terrain node to manage the tile system data structures -2008-09-04 17:30 robert +Fri, 28 Mar 2008 15:28:03 +0000 +Checked in by : Robert Osfield +Reordered set up of scene and event handlers to prevent warning - * Fix for when looping is is disabled +Fri, 28 Mar 2008 13:22:30 +0000 +Checked in by : Robert Osfield +Removed old lower case versions -2008-09-04 14:23 shuber +Fri, 28 Mar 2008 12:44:33 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Here's the mods to the OpenFlight plugin to support FLT export. The ZIP file contains the new .cpp/h files as well as existing files that I modified.Changes to existing files: + ReaderWriter.cpp -- to support writeNode() of course. + ReaderWriterATTR.cpp -- to support writeObject -- we write .attr files for textures, if they don't already exist. + AttrData.cpp/.h -- Minor fixes. + CMakeLists.txt -- to include the new files in the build." + +From Robert Osfield, port to non Windows platforms just required fixing of header capitilization errors +that windows lets through the net due to having a case insensitive file system. + - * From Stephan Huber: updated XCode-project -2008-09-02 16:13 robert - * Added acceptance of .ogv extensions in xine-lib plugin +Thu, 27 Mar 2008 13:21:36 +0000 +Checked in by : Robert Osfield +Removed TileSystem class, and added support for TerrainTile's automatically registering and unregistering themseles with the enclosing Terrain node. -2008-09-02 12:55 robert +Thu, 27 Mar 2008 11:56:35 +0000 +Checked in by : Robert Osfield +Added wrapper for TerrainTile - * Added setSetName/getSetName() methods +Thu, 27 Mar 2008 11:55:03 +0000 +Checked in by : Robert Osfield +Renamed osgTerrain::TerrainSystem to osgTerrain::Terrain -2008-09-01 16:28 robert +Thu, 27 Mar 2008 10:55:39 +0000 +Checked in by : Robert Osfield +Renamed Terrain to TerrainTile - * Update ChangeLog +Wed, 26 Mar 2008 20:06:54 +0000 +Checked in by : Robert Osfield +Introduce TerrainSystem node which decorates a complete terrain model made up of Terrain tiles. -2008-09-01 15:29 robert +Wed, 26 Mar 2008 20:03:53 +0000 +Checked in by : Robert Osfield +From Carlo Camporesi, "I have made some changes in order to allow the using of proxies via env variables and options. I have modified also the cmakelist. In this way osg is able to find the library in 3rdParty directory." - * Replaced uint with unsigned int +Wed, 26 Mar 2008 20:01:45 +0000 +Checked in by : Robert Osfield +From Carlo Comporesi, adding support of finding libcurl in 3rd party dependencies -2008-09-01 15:27 robert +Tue, 25 Mar 2008 15:21:14 +0000 +Checked in by : Robert Osfield +From Tomas Hnilica, " Attached is modified source of AdapterWidget.cpp file from osgviewerQT example. Original was token today from SVN - trunk. (2.3.6). --mdi option needs to be set to run MDI version.Few notes: +- tested on Windows box (Win XP) +- using QT4 +- I was not able to execute the example with QOSGWidget - had same +error like described in [osg-users] "fate error using QOSGWidget in +develop release +2.3.0" thread from Shuxing Xiao, 2008-01-08. +- problems are described in source - * Introduced a OSG_MAINTAINER section of cmake build to help - support making tags and branches +-- -2008-09-01 14:05 robert +And Later post: - * Updated wrappers +The problem of keypress events was solved by QT community, attached is +repaired AdapterWidget.cpp file. +In the AdapterWidget class constructor following line was added: +setFocusPolicy(Qt::ClickFocus); +Scene disappearing by resizing to minimum still needs to be fixed..." -2008-09-01 14:03 robert - * Changed curr and min to current and minimum respectively, to - avoid compile problems under Windows -2008-09-01 12:40 robert +Tue, 25 Mar 2008 13:14:14 +0000 +Checked in by : Robert Osfield +Moved include of c headers to top, and remove using std::strlen in an attempt to solve gcc4.3 compile problems - * Implemented support for ShapeAttributeList, used John Vidar - Larring's initial - submission as a base, but implementing the user data - functionality in a different - way to facilitate more flexible user data support +Tue, 25 Mar 2008 13:06:57 +0000 +Checked in by : Robert Osfield +Added limits.h to try and avoid gcc 4.3 compile problems -2008-09-01 12:39 robert +Tue, 25 Mar 2008 13:01:40 +0000 +Checked in by : Robert Osfield +Added #include to fix gcc 4.3 build problem - * From John Vidar Larring, initial cut of .ive support for - ShapeAttributeList user data +Tue, 25 Mar 2008 12:26:43 +0000 +Checked in by : Robert Osfield +Fixed LessGeode operator. -2008-09-01 11:09 robert +Tue, 25 Mar 2008 11:50:28 +0000 +Checked in by : Robert Osfield +From Wojciech Leandowski, "I removed few lines of code that were setting Threading mode and Screen mode. I believe they are now not neccessary because the same does osgViewer::Viewer argument parser. In fact argument list does not contain these args after they were parsed by osgViewer::Viewer constructor.I also allowed myself to add ThreadingHandler to the example." - * Updated version for 2.7.2 dev release -2008-09-01 10:49 robert - * Updated wrappers +Mon, 24 Mar 2008 18:06:40 +0000 +Checked in by : Robert Osfield +Added sampling down to 32x32 mesh for 64x64 height fields as a workaround to memory consumption issues with high res whole earth paged databases. -2008-09-01 10:48 robert +Mon, 24 Mar 2008 18:03:19 +0000 +Checked in by : Robert Osfield +Added mutex to prevent multiple cull threads changing the MultiTextureControl at one time. - * Added call to free in setValue methods to prevent potential - memory leak +Mon, 24 Mar 2008 10:53:14 +0000 +Checked in by : Robert Osfield +Added full range of cameras manipulators to osgmultitexturecontrol example -2008-09-01 10:46 robert +Sun, 23 Mar 2008 18:28:49 +0000 +Checked in by : Robert Osfield +Added < and > key bindings to allow the speed to be animation speed to be increased or decreased. - * From Mathias Froehilch,"Current include/osgSim/ShapeAttribute - also misses string.h include because of - strdup. - Attached is the changed file." +Fri, 21 Mar 2008 18:35:29 +0000 +Checked in by : Robert Osfield +Added preliminary file cache support. Enabled by setting the OSG_FILE_CACHE variable. -2008-09-01 10:22 robert +Fri, 21 Mar 2008 18:31:56 +0000 +Checked in by : Robert Osfield +Added missing break; at end of each case entry. - * From He Sicong, "I found a bug here in VERTICAL_SPLIT stereo - type: - The vertical separation not actually displayed as it is set. So - some - display the up and down stereo images style will not be correct. - Someone may forget to change the "Horizontal" to "Vertical" after - copying and pasting the code from above HORIZONTAL_SPLIT code - segment. - I've attached the file. By replacing the incorrect "Horizontal" - to - "Vertical", the bug is gone. - " +Fri, 21 Mar 2008 15:43:53 +0000 +Checked in by : Robert Osfield +Fixed push/popping of filepath, removed verbose debug messages -2008-09-01 10:19 robert +Fri, 21 Mar 2008 13:20:07 +0000 +Checked in by : Robert Osfield +Added better detection and error reporting of files without proper server address - * Removed std:: from in front of strcmp and added a string.h +Fri, 21 Mar 2008 13:08:02 +0000 +Checked in by : Robert Osfield +Added initial cut of libcurl based plugin -2008-09-01 10:06 robert +Thu, 20 Mar 2008 10:24:26 +0000 +Checked in by : Robert Osfield +Updated date for 2.4.6 release - * From Wojciech Lewandowski, "Most recent changes to - CameraPathEventHandler change path writing method. Now control - points are written on the fly. But default stream precision is - not adjusted as it used to and remains set to 6 digits (at least - with VS 2008) so larger coordinates like positions on Earth - Ellipsoid loose lots of fidelity. This patch fixes this issue. - " +Wed, 19 Mar 2008 21:05:38 +0000 +Checked in by : Robert Osfield +From Melchoir Franz, "osgViewer toggled the NumLock state correctly when pressing the NumLock key, but it didn't pick up the initial state. So, if NumLock was on for the OS at startup (LED on), it was still off for OSG. And the first keypress turned the LED off, and NumLock on for OSG. The attached fix picks up the state on every FocusIn, just like it was done in the last commits for CapsLock. The difference is, that the NumLock mask isn't standardized (e.g. 0x10 for Linux, and 0x80 for AIX), so we have to do a reverse lookup (::rescanModifierMapping()).Note that I could not reproduce the problem on my system, but someone +else confirmed it twice on his, and the patch fixed it for him. -2008-09-01 09:57 robert +Changed files: + ./include/osgViewer/api/X11/GraphicsWindowX11 + ./src/osgViewer/GraphicsWindowX11.cpp - * Build fixes for Windows +" -2008-08-29 09:28 robert - * Added CompositeLayer::addLayer(setname,filename) convinience - function -2008-08-29 09:26 robert +Wed, 19 Mar 2008 17:11:20 +0000 +Checked in by : Robert Osfield +Update AUTHOR file - * From Michael Guerrero, "I've attached the files with the new - addition of the "registered = true" - flag set." +Wed, 19 Mar 2008 17:10:38 +0000 +Checked in by : Robert Osfield +Updated version and ChangeLog for 2.3.6 dev release. -2008-08-28 16:15 robert +Wed, 19 Mar 2008 12:30:50 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Introduce the concept of layer set name, using the - osg::Object::s/getName() to store - the setname, and using a compound string (set:setname:filename) - in place of standard filename when reading and writing - files. +Wed, 19 Mar 2008 12:09:20 +0000 +Checked in by : Robert Osfield +From Sebastian Messerschimdt, Added polygon offset controls -2008-08-28 09:43 robert +Wed, 19 Mar 2008 11:41:37 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Converted AutoTransform to use doubles. +Wed, 19 Mar 2008 11:41:21 +0000 +Checked in by : Robert Osfield +Revert the Camera::setInheritanceMask(0x) calls that were added as workaround to a bug introduced by a bug fix to the way the inhertiance mask was handled in CullVisito::apply(Camera&) -2008-08-27 10:13 robert +Wed, 19 Mar 2008 11:40:08 +0000 +Checked in by : Robert Osfield +Introduced InheritanceMaskActionOnAttributeSetting member to CullSettings, and associated applyMaskAction method that is now used in all CullSettings::set*() methods, which by default helps disable the inheritance mask associated with settings that are made locally. - * Introduced SwitchLayer which will form the basis of provided - support for varients +Tue, 18 Mar 2008 17:44:21 +0000 +Checked in by : Robert Osfield +Set the CullSettings::InhertianceMask to 0x0 as temporary measure till we work out the best scheme to use w.r.t inhertiance of CullSettins. -2008-08-26 17:40 robert +Tue, 18 Mar 2008 15:48:48 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Improved the GLSL implementation. +Tue, 18 Mar 2008 15:37:38 +0000 +Checked in by : Robert Osfield +To osg::AutoTransform added support for MinimumScale, MaximumScale and AutoScaleTransitionWidth parameters and a new scheme for computing the scaling when using autoscale that introduces smooth transitions to the scaling of the subgraph so that it looks more natural. -2008-08-26 12:55 robert +Tue, 18 Mar 2008 10:45:47 +0000 +Checked in by : Robert Osfield +Added example code showing how to set the minimum and maximum scales - * Added ChangeLog target for updating the ChangeLog, and updated - the ChangeLog and AUTHORS files +Tue, 18 Mar 2008 09:17:52 +0000 +Checked in by : Robert Osfield +Added ObjectRecordData to include list -2008-08-26 12:05 robert +Mon, 17 Mar 2008 15:22:03 +0000 +Checked in by : Robert Osfield +Added minimum and maximum scale support to osg::AutoTransform - * Added wrapper build target for generating the osgWrappers +Mon, 17 Mar 2008 12:23:06 +0000 +Checked in by : Robert Osfield +Fixed moving model bug where the moving model code was looking for a transform with DataVariance set to DYNAMIC, but the scene graph set up code was leaving the setting to default to STATIC. Fix involved setting DataVariance on moving transoforms to DYNAMIC. -2008-08-26 09:39 robert +Mon, 17 Mar 2008 12:13:20 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added provisional block in computePositions() +Mon, 17 Mar 2008 12:11:39 +0000 +Checked in by : Robert Osfield +Added doxygen docs -2008-08-26 08:41 robert +Mon, 17 Mar 2008 12:09:05 +0000 +Checked in by : Robert Osfield +Introduce osgParticle::ParticleSystem::s/getParticleScaleReferenceFrame() to help manage the scaling of particles, whether they should be relative to the local coordiante frame of the particle system, or be in world coordinates. - * From Ulrich Hertlein, attached is a small fix for a mismatched - function signature +Mon, 17 Mar 2008 10:29:23 +0000 +Checked in by : Robert Osfield +Added fire effect, enabled by --fire command line option. The new fire effect has been introduced to reproduce the scaling of paricle effects -2008-08-25 16:44 robert +Sat, 15 Mar 2008 19:27:35 +0000 +Checked in by : Robert Osfield +Added better error reporting - * Updated version number for 2.7.1 release, and added - OSG_FORCE_QUERY_RESULT_AVAILABLE_BEFORE_RETRIEVAL Cmake option - that enables the occlusion query workaround for an OpenGL driver - crash +Fri, 14 Mar 2008 16:51:39 +0000 +Checked in by : Robert Osfield +From Paul Melis, "typo fix : NVidea -> NVidia (including option --Nvidea)" -2008-08-25 16:43 robert +Fri, 14 Mar 2008 16:24:36 +0000 +Checked in by : Robert Osfield +Update ChangeLog and AUTHORS.txt file for 2.3.5 release - * From Doug McCorkle, via Paul Martz who writes : "Summary: Some - platforms/configurations cause application crashes if the - occlusion query result is not ready for retrieval when the app - tries to - retrieve it. This fix adds an application-level wait loop to - ensure the - result is ready for retrieval. This code is not compiled by - default; add "-D - FORCE_QUERY_RESULT_AVAILABLE_BEFORE_RETRIEVAL" to get this code. - - Full, gory details, to the best of my recollection: - - The conditions under which we encountered this issue are as - follows: 64-bit - processor, Mac/Linux OS, multiple NVIDIA GPUs, multiple - concurrent draw - threads, VRJuggler/SceneView-based viewer, and a scene graph - containing - OcclusionQueryNodes. Todd wrote a small test program that - produces an almost - instant crash in this environment. We verified the crash does not - occur in a - similar environment with a 32-bit processor, but we have not yet - tested on - Windows and have not yet tested with osgViewer. - - The OpenGL spec states clearly that, if an occlusion query result - is not yet - ready, an app can go ahead and attempt to retrieve it, and OpenGL - will - simply block until the result is ready. Indeed, this is how - OcclusionQueryNode is written, and this has worked fine on - several platforms - and configurations until Todd's test program. - - By trial and error and dumb luck, we were able to workaround the - crash by - inserting a wait loop that forces the app to only retrieve the - query after - OpenGL says it is available. As this should not be required - (OpenGL should - do this implicitly, and more efficiently), the wait loop code is - not - compiled by default. Developers requiring this work around must - explicitly - add "-D FORCE_QUERY_RESULT_AVAILABLE_BEFORE_RETRIEVAL" to the - compile - options to include the wait loop." +Fri, 14 Mar 2008 15:33:59 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-08-25 15:57 robert +Fri, 14 Mar 2008 15:33:47 +0000 +Checked in by : Robert Osfield +Added utilty script for cleaning up build files/directories. - * From Liang Aibin, added support for : - osgFX::Effect - osgFX::AnisotropicLighting - osgFX::BumpMapping - osgFX::Cartoon - osgFX::Scribe - osgFX::SpecularHighlights. +Fri, 14 Mar 2008 15:32:56 +0000 +Checked in by : Robert Osfield +Fixed indenting -2008-08-25 15:37 robert +Fri, 14 Mar 2008 15:13:08 +0000 +Checked in by : Robert Osfield +From Melchior Franz, "Attached is a fix for remaining problems in capslock handling: It sets osgGA's keymask when restoring keys on FocusIn, according to the state values of XKeyEvent and XCrossingEvent. (These are the only source for X11's current capslock state that avoids pulling in the XKB extension.) " - * From Liang Aibin, removed redundent spaces +Fri, 14 Mar 2008 15:00:37 +0000 +Checked in by : Robert Osfield +Missing checkin -2008-08-25 15:20 robert +Fri, 14 Mar 2008 14:35:15 +0000 +Checked in by : Robert Osfield +Added iostream include - * From Michael Guerrero, Fixed crash that occurred when openning an - new movie file after all previous movie ImageStream had been - closed. Also add a missing close of the movie file. +Fri, 14 Mar 2008 13:21:35 +0000 +Checked in by : Robert Osfield +Added cloning of the StateSet before modification to work around threading issue relating to the StateSet being modified by the event/update thread and read from the draw thread at the same time. -2008-08-25 15:03 robert +Fri, 14 Mar 2008 12:03:11 +0000 +Checked in by : Robert Osfield +Converted static const unsigned int definitio to enum. - * From Paul Martz, "This change fixes a problem with PAT nodes - during FLT export." - - Note, Paul Martz has merged this patch into OpenSceneGraph-2.6. +Fri, 14 Mar 2008 11:53:44 +0000 +Checked in by : Robert Osfield +Updated version/author type fixes, authors, readme and changelog for 2.3.5 dev release -2008-08-25 14:59 robert +Fri, 14 Mar 2008 11:07:03 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Guillaume Chouvenc, "I have added the file - StateAttribute.cpp in src/osgPlugins/osg - to support the reading and writing of StateAttribute Callback - in osg files. - " +Fri, 14 Mar 2008 11:06:54 +0000 +Checked in by : Robert Osfield +Improved the indenting -2008-08-25 14:54 robert +Fri, 14 Mar 2008 11:06:35 +0000 +Checked in by : Robert Osfield +Changed the const get(), operator*() and operator->() methods to return non const T versions - * From Guillaume Chouvenc, "I have modified Uniform.cpp and - StateSet.cpp in src/osgPlugins/osg - to support the reading and writing of Uniform Callback and - StateSet Callback in osg files." +Fri, 14 Mar 2008 11:01:54 +0000 +Checked in by : Robert Osfield +From Andy Skinner, build fix for Solaris -2008-08-25 11:37 robert +Thu, 13 Mar 2008 19:48:16 +0000 +Checked in by : Robert Osfield +Fixed doc comment - * Added testing of max texture size using a realize operation +Thu, 13 Mar 2008 19:44:10 +0000 +Checked in by : Robert Osfield +Removed gl and glu prefixes from SceneGraphBuilder methods to avoid problems under Solaris -2008-08-25 10:38 robert +Thu, 13 Mar 2008 16:40:45 +0000 +Checked in by : Robert Osfield +From Gino van den Bergen, "I've added a few fixes to the VRML 2.0 plugin:1) Full DOS paths are now correctly opened by OpenVRML. A URL containing +a DOS path should be "file:///C:data/blah" rather than "file://C:data/blah". - * Added support for event handler for non shader path, enable alpha - func +2) The last primitive defined in "coordIndex" is now added if the +"coordIndex" is not terminated by -1. -2008-08-25 10:38 robert +3) Smoothed normals are computed if no normal field is provided. +Currently, there is no support for "creaseAngle", so all edges (even the +ones sharper than the creaseAngle) are smoothed. I might add this in the +future if demand rises. - * Removed debug info +4) If an IndexedFaceSet contains only triangles or quads then the +primitive type is set to TRIANGLES or QUADS, and the primset becomes +DrawArrays rather than DrawArrayLengths. -2008-08-25 10:20 robert +Question: I noticed that for DrawArrays you can still provide an index +array. Would the rendering be faster if I'd create DrawElements primsets +rather than DrawArrays? Phrased differently, what is the benefit of +using DrawElements over DrawArrays, as there is clearly not a one-to-one +mapping of these concepts to their OpenGL counterparts? - * Moved _stateset = new StateSet instances to setStateSet(new - StateSet) to make - sure the wiring up of the StateSet parents is done consistently +5) Objects are added to the transparent bin and blend mode is enabled +only if the transparency is nonzero. Rendered transparent objects no +longer write the depth buffer." -2008-08-25 09:53 robert - * Added command line arguments to Viewer constructor, and added - meaningful error message when no 3d image is provided -2008-08-22 16:39 robert +Thu, 13 Mar 2008 16:38:05 +0000 +Checked in by : Robert Osfield +From Jose Delport, "attached is a version of osgunittests that does not give false alarms for the case where q1 = -q2. The output of 'osgunittests quat' is now much cleaner. " - * Introduced initial cut of a dicom loader, which uses ITK to do - the loading. +Thu, 13 Mar 2008 16:22:07 +0000 +Checked in by : Robert Osfield +From Paul Melis, "Here is an updated osgviewerWX example to bring it more in line with the other GUI toolkit examples. It now takes a model file as command-line argument (complaining if there isn't one), and its startup window size is now actually applied (it used to be too small). I tested this with a unicode-build of wxWidgets, as that is the recommended build type on Linux with GTK. I'm pretty sure this version of the example will work for the ANSI build as well, but I have no way of testing." -2008-08-22 16:37 robert +Thu, 13 Mar 2008 16:18:03 +0000 +Checked in by : Robert Osfield +From Melchoir Franz, "ac3d.cpp does currently strip everything but the file name in "texture" paths. This is to drop absolute paths that some 3d editors export (even AC3D itself!). But this also strips directories of relative paths, which is wrong and contradicts the ac3d reference implementation. (The reference implementation doesn't strip anything, though, and so takes the absolute paths as they are. Definitely not what we want.)The attached solution checks absolute paths and only strips +those: - * Added warning message + (1) A:\\foo\\bar.png -> bar.png (as before) + (2) /foo/bar.png -> bar.png (as before) -2008-08-22 16:35 robert + (3) foo/bar.png -> foo/bar.png (new) + (4) ../foo/bar.png -> ../foo/bar.png (new) - * Added support for reading the image transform from UserData in - the form of a Matrix. +" -2008-08-19 17:41 robert - * Added checked against an empty _kdNodes list before commensing - with intersection -2008-08-18 15:08 robert +Thu, 13 Mar 2008 16:12:46 +0000 +Checked in by : Robert Osfield +From Melchoir Franz, Caps lock support under X11 - * Added --mip command line option which enables Maximum Intensity - Projection filtering +Thu, 13 Mar 2008 16:05:40 +0000 +Checked in by : Robert Osfield +Added double versions of intersect methods -2008-08-18 15:06 robert +Thu, 13 Mar 2008 16:05:20 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added .ive support for BlendEquation +Thu, 13 Mar 2008 15:23:24 +0000 +Checked in by : Robert Osfield +From Andy Skinner, "I've taken this another step, to use value_type inside the intersect calls. I did choose to use sqrt() instead of sqrtf()." -2008-08-18 14:49 robert +Thu, 13 Mar 2008 15:21:34 +0000 +Checked in by : Robert Osfield +From Paul Martz, files for adding ObjectRecordData support into OpenFlight - * Added BlendEquation .osg support +Thu, 13 Mar 2008 14:09:11 +0000 +Checked in by : Robert Osfield +From Paul Martz, "The attached preserves OpenFlight Object record data as UserData in the osg::Group corresponding to the Object record.The files are: + include/osgSim/ObjectRecordData -- The new class. Derives from Object to support .osg IO. + src/osgPlugins/OpenFlight/PrimaryRecords.cpp -- Reads data into that class. + src/osgPlugins/osgSim/IO_ObjectRecordData.cpp -- .osg IO support." -2008-08-18 12:39 robert +From Robert Osfield, made the OpenFlight read object record data optional via the -O readObjectRecordData ReaderWriter option. - * Updated AUTHORS file for 2.7.0 release -2008-08-18 11:55 robert - * Updated ChangeLog for 2.7.0 release +Thu, 13 Mar 2008 13:44:34 +0000 +Checked in by : Robert Osfield +Added support for assigning state to created drawables, implemented gluDisk. -2008-08-18 11:48 robert +Thu, 13 Mar 2008 13:43:22 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, "Here I send minor corrections to the text output by the osgforest example when building its graphs. The message "Creating billboard based forest" appears four times regardless of the actual type of the graph being built. " - * Updated wrappers +Wed, 12 Mar 2008 20:20:55 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-08-18 11:21 robert +Wed, 12 Mar 2008 20:15:45 +0000 +Checked in by : Robert Osfield +Added extra constructors - * From Sergey Leontyev, "1. In StyleManager - - - - when applying styles to a Label element the code below runs in a - infinite loop. - - The reason for this is that nothing increments the Reader "r" in - the case when applying a style to label, - - so I advance the reader when no match was found. - - ( To replicate the error apply style to any label) - - - - replaced this: - - while(!r.eof()) if(_styles[style]->applyStyle(t, r)) inc = true; - - - - with this: - - while(!r.eof()) - - { - - if(_styles[style]->applyStyle(t, r)) - - inc = true; - - else - - r.advanceOverCurrentFieldOrBlock(); - - } - - - - - - I tested it and it works well for me, I did not find any problems - with it. - - - - - - 2. Added style support for Canvas element, event though there is - no styles to apply yet. - - It is usefull for someone who inherits from Canvas class to - develop another element. - - If applyStyle(Canvas) does not exist - - there is no way to apply style to the element that inherited from - Canvas element. - - - - Added virtual - - bool applyStyle(Canvas). - - - - and in added call to apply style if the Object is of type Canvas: - - StyleManager::_applyStyleToObject(osg::Object* obj, const - std::string& style) { - - ... - - - - else if(!std::string("Canvas").compare(c)) - - return _coerceAndApply(obj,style,c); - - " +Wed, 12 Mar 2008 20:15:28 +0000 +Checked in by : Robert Osfield +Added proper implementations of OpenGL 1.0 calls to OSG object representation methods in SceneGraphBuilder. -2008-08-18 11:17 robert +Wed, 12 Mar 2008 15:28:26 +0000 +Checked in by : Robert Osfield +Fixed bug in output of ProxyLayer's MinLevel/MaxLevel - * Ran fixtabs to enforce four space tabs +Tue, 11 Mar 2008 13:29:12 +0000 +Checked in by : Robert Osfield +Added default implementations of new SceneGraphBuilder class -2008-08-18 11:00 robert +Tue, 11 Mar 2008 13:23:49 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "it appears to me that sun CC cannot use static functions from template functions. The attached change is required to make it compile with sun CC." - * From Erik van Dekker, - - "I made several modifications: - - - - * The cause of my errors was that my OSG source directory path - contains spaces. To fix this issue I wrapped all paths with - quotes, as stated in doxygen documentation. - - - - * I also received some warning messages about deprecated doxygen - settings, which I fixed by updating the doxygen file, i.e. - running \u2018doxygen \u2013u doxygen.cmake\u2018. By running - this command deprecated doxygen options are removed, some option - comments have changed and quite some options have been added (I - kept their default settings unless mentioned). - - - - * I was surprised to find that the doxygen OUTPUT_DIRECTORY was - set to \u201c${OpenSceneGraph_SOURCE_DIR}/doc\u201d, which does - not seem appropriate for out of source builds; I changed this to - \u201c${OpenSceneGraph_BINARY_DIR}/doc\u201d. (On the other hand, - maybe a cmake selectable option should be given to the user?) - - - - * Fixed two warnings I received about unexpected - end-of-list-markers in \u2018osg\AnimationPath and - \u2018osgUtil\CullVisitor due to excess trailing points in - comments. - - - - * Fixed a warning in osgWidget\StyleInterface due to an #include - directive (strangely) placed inside a namespace. - - - - * Fixed a warning in osg\Camera due to the META_Object macro that - confused doxygen. Adding a semi-colon fixed this. - - - - * Removed auto_Mainpage from the INCLUDE option, because I am - positive that this file does not belong there; It never generated - useful documentation anyway. - - - - * I added the OSG version number environment variable to the - PROJECT_NUMBER option so that the version number is now shown on - the main page of generated documentation (e.g. index.html). - - - - * Changed option FULL_PATH_NAMES to YES, but made sure - STRIP_FROM_PATH stripped the absolute path until the include dir. - This fixed an issue that created mangled names for identical - filenames in different directories. E.g. osg/Export and - osgDB/Export are now correctly named. - - - - * Changed option SHOW_DIRECTORIES to yes, which is a case of - preference I guess. - - " +Tue, 11 Mar 2008 13:19:08 +0000 +Checked in by : Robert Osfield +From Jose Delport, added support for finding and using GDAL 1.5 -2008-08-18 10:47 robert +Tue, 11 Mar 2008 12:10:09 +0000 +Checked in by : Robert Osfield +Added extra event handlers to make viewer more functional - * Removed todo entry +Mon, 10 Mar 2008 20:30:56 +0000 +Checked in by : Robert Osfield +Added commandline help options -2008-08-17 16:52 robert +Wed, 5 Mar 2008 13:54:52 +0000 +Checked in by : Robert Osfield +From Andreas Ekstrand and Lars Nilsson, fix for reading Texture Attribute file - * From Maceij Krol, "I have implement frame based expiration of - PagedLOD children. - - New attribute DatabasePager::_expiryFrames sets number of frames - a PagedLOD child is kept in memory. The attribute is set with - DatabasePager::setExpiryFrames method or OSG_EXPIRY_FRAMES - environmental variable. - - New attribute PagedLOD::PerRangeData::_ - frameNumber contains frame number of last cull traversal. - - Children of PagedLOD are expired when time _AND_ number of frames - since last cull traversal exceed OSG_EXPIRY_DELAY _AND_ - OSG_EXPIRY_FRAMES respectively. By default OSG_EXPIRY_FRAMES = 1 - which means that nodes from last cull/rendering - traversal will not be expired even if last cull time exceeds - OSG_EXPIRY_DELAY. Setting OSG_EXPIRY_FRAMES = 0 revokes previous - behaviour of PagedLOD. - - Setting OSG_EXPIRY_FRAMES > 0 fixes problems of children - reloading in lazy rendering applications. Required behaviour is - achieved by manipulating OSG_EXPIRY_DELAY and OSG_EXPIRY_FRAMES - together. - - Two interface changes are made: - - DatabasePager::updateSceneGraph(double currentFrameTime) is - replaced by DatabasePager::updateSceneGraph(const osg::FrameStamp - &frameStamp). The previous method is in #if 0 clause in the - header file. Robert, decide if You want to include it. - - PagedLOD::removeExpiredChildren(double expiryTime, NodeList - &removedChildren) is deprecated (warning is printed), when - subclassing use PagedLOD::removeExpiredChildren(double - expiryTime, int expiryFrame, NodeList &removedChildren) instead. - " +Wed, 5 Mar 2008 12:05:55 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-08-17 16:45 robert +Wed, 5 Mar 2008 11:52:56 +0000 +Checked in by : Robert Osfield +From Atr Trevs, added missinging initializers - * From Jason Beverage, "I've got a few machines that OSG - incorrectly believes support FRAME_BUFFER_OBJECTS so I am - manually trying to set the renderTargetImplementation to - PIXEL_BUFFER or PIXEL_BUFFER_RTT. I noticed that this call wasn't - setting the camera's overlay data properly because the - setRenderTargetImplementation simply calls init() which only does - anything for OBJECT_DEPENDENT_WITH_ORTHOGRAPHIC_OVERLAY. Any - subsequent calls to getOverlayData will simply return the cached - OverlayData instead of setting it up. - - My fix updates the camera's render target implementation for all - OverlayData objects in the OverlayDataMap." +Wed, 5 Mar 2008 11:33:55 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "I changed osgGA::StateSetManipulator to mirror the osgViewer::StatsHandler and other handlers which allow you to change the key(s) you would press to get them to do something. Pretty simple change but useful in our context and possibly in others too." -2008-08-15 17:35 robert +Tue, 4 Mar 2008 17:57:06 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, " The problem can be reproduced by simply changing the osgpick example to use a CompositeViewer with a single view initialized using setUpViewAcrossAllScreens(). I have attached a modified osgpick.cpp so you can test it out quickly (please don't check this file in though :-) ) The eventState is then incorrect and picking does not work. The only changes are in CompositeViewer.cpp (eventTraversal() method), and fix the problem for me. " - * From Paul Palumbo, "Fixes a typo in coverage antialiasing code... - Without this fix, get incorrect antialiasing results. " +Tue, 4 Mar 2008 16:39:44 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "Attached is an updated to osgViewer::PixelBufferWin32.The win32 pbuffer implementation returned an error unless both the +WGL_ARB_pbuffer and the WGL_ARB_render_texture functions were present. +This was too restrictive, as a pbuffer can usefully be created without +render-to-texture, e.g. for use with glReadPixels. The osg 1.2/Producer +pbuffers worked without RTT, and osgUtil::RenderStage has all the code to +handle both RTT and non-RTT pbuffers, doing a read and copy in the +latter case. -2008-08-15 17:32 robert +With these changes I have successfully tested the osgprerender example +on a graphics card which supports RTT, and one which doesn't. Plus +tested in my own application. - * From Jutta Sauer, "We added a raise window method to - GraphicsWindow. And added two - implementations for Win32 and X11. - - " +In order to aid diagnostics I have also added more function status +return checks, and associated error messages. I have included the win32 +error text in all error messages output. And there were some errors +with multi-threaded handling of "bind to texture" and a temporary window +context which I have corrected. -2008-08-15 17:26 robert +These is one (pre-existing) problem with multi-threaded use of pbuffers +in osgViewer & osgprerender, which I have not been able to fix. A win32 +device context (HDC) can only be destroyed from the thread that created +it. The pbuffers for pre-render cameras are created in +osgUtil::RenderStage::runCameraSetUp, from the draw thread. But +closeImplementation is normally invoked from the destructor in the main +application thread. With the additional error messages I have added, +osgprerender will now output a couple of warnings from +osgViewer::PixelBufferWin32::closeImplementation() at exit, after +running multi-threaded on windows. I think that is a good thing, to +highlight the problem. I looked into fixing it in osgViewer::Renderer & +osgUtil::RenderStage, but it was too involved for me. My own +application requirements are only single-threaded. - * Updated version numbers in prep for next dev release +Unrelated fix - an uninitialised variable in +osg::GraphicsThread::FlushDeletedGLObjectsOperation(). +" -2008-08-15 17:25 robert - * From Frashid Larshkari, "I modified the vertical/horizontal - interlace stereo modes so that they - use the osg::State::applyMode for enabling/disabling certain - while - rendering the stencil mask. Previously some of these calls were - overriding the scene graph states because the global state was - not - aware of this change. - - " -2008-08-15 17:18 robert +Tue, 4 Mar 2008 16:22:47 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "Attached is modified osgShadow::ShadowMap. I changed following things:1: +Shadow map camera sets ABSOLUTE_RF_INHERIT_VIEWPOINT refernce frame. + +2: +Light Direction by matrix multiplications replaced with transform3x3 multiplication. + +3: +I made DebugingHUD functional by adding special draw callback. Former version was simply drawing pale square. + +4: +I was tempted to make 4 th change but decided to not do it. Instead I put it whith #if VIEW_DEPNDENT_TEXGEN. If you decide you may let it go. + +When objects are not centered at 0,0,0 coord but in some distant location (for example at surface of earth ellipsoid) shadow texgen suffers from inadequate precision of float matrices. I changed that by premultiplying Texgen matrix (using OSG double matrices) with inverse modelview and applying it later with ModelView identity matrix. This tweak may be appropriate for OverlayNode texgen as well. + +I left former version because I suspect that this change will make osgShadow::ShadowMap view dependant. Currently texgen matrix remains the same no matter what View displays it. With my change it wuld be different for each view. This touches the subject of View Dependent Shadow Techniques that J-S asked recently." - * Added support for geometry shader attributes -2008-08-15 16:43 robert - * From Stephane Lamoliatte, "I added the osg::Program parameters - support for the osg plug'in. - Now we could correctly configure geometry shaders in osg files." - - Notes from Robert Osfield, renamed the names of the parameters to - be less GL centric and more human readable. +Tue, 4 Mar 2008 16:03:37 +0000 +Checked in by : Robert Osfield +Refactored the way that the camera settings are inhertied -2008-08-15 16:21 robert +Tue, 4 Mar 2008 15:29:47 +0000 +Checked in by : Robert Osfield +From Art Trevs, "in the current implementation of the FrameBufferObject there is a bug. The header file do specify something like this:FrameBufferAttachment(Texture3D* target, int zoffset, +int level = 0); - * Changed osg::ImageSequence::set/getDuration to set/getLength() to - be in keeping with the - osg::ImageStream's getLength(). +However in the .cpp file we have: -2008-08-15 13:07 robert +FrameBufferAttachment::FrameBufferAttachment(Texture3D* +target, int level, int zoffset) - * Fixed the name of _playToggle -2008-08-15 13:06 robert +Which means that the meaning of level and zoffset is +interchanged. - * Updated wrappers +The file with the corrected line is attached. Should +go into src/osg/ +" -2008-08-15 12:45 robert - * Further work on osg::ImageSequence, improving pause - functionality, and introducing new seek(double time) method -2008-08-14 16:29 robert +Tue, 4 Mar 2008 15:10:22 +0000 +Checked in by : Robert Osfield +From Philip Lowman, "A missing _WIN32_WINNT declaration causes MinGW compilation to fail when reaching FileNameUtils.cpp and the Windows 2000 function GetLongPathName() is called." - * Added initial looping and pause play support +Tue, 4 Mar 2008 14:19:03 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay and Robert Osfield, added optional --CompositeViewer path into osgpick to illustrate how to do picking in both viewers and as unit test for picking. -2008-08-14 16:28 robert +Tue, 4 Mar 2008 14:04:48 +0000 +Checked in by : Robert Osfield +From Art Trevs, add support for saving external shader files. From Robert Osfield, adding missing member variable initializes and Output::getShaderFileNameForOutput() implementation - * Added event handler to toggling looping and play/pause +Tue, 4 Mar 2008 13:30:41 +0000 +Checked in by : Robert Osfield +From Paul Martz, a third person view CompositeViewer example -2008-08-14 14:22 robert +Tue, 4 Mar 2008 11:53:09 +0000 +Checked in by : Robert Osfield +Change the setViewAsLookAt method to use Vec3d rather than Vec3 for better precision - * Implemented a reference eye point and associated methods in - support of intersecting billboards +Tue, 4 Mar 2008 11:52:21 +0000 +Checked in by : Robert Osfield +Changed the updateStateSet code so that it creates a new StateSet each update rather than clear and reuse the existing one, this change fixes a threading issue that occured when the viewer is in DrawThreadPerContext. -2008-08-05 20:05 robert +Tue, 4 Mar 2008 11:50:35 +0000 +Checked in by : Robert Osfield +Removed single threaded setting - * From Eric Sokolowski, added OSX release notes to READEME +Mon, 3 Mar 2008 18:12:21 +0000 +Checked in by : Robert Osfield +Implemented fade between layers using MultiTextureControl node -2008-08-05 20:05 robert +Mon, 3 Mar 2008 14:17:56 +0000 +Checked in by : Robert Osfield +Added beginings of new osgmultitexturecontrol example - * Added osgWidget to doc building +Sat, 1 Mar 2008 13:42:07 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-08-05 19:17 robert +Sat, 1 Mar 2008 13:40:57 +0000 +Checked in by : Robert Osfield +Added OSG_EXPORT - * Improved the doxygen docs over the various namespaces +Sat, 1 Mar 2008 12:50:54 +0000 +Checked in by : Robert Osfield +Fixed typo -2008-08-05 16:05 robert +Sat, 1 Mar 2008 12:29:49 +0000 +Checked in by : Robert Osfield +Fixed naming - * From Eric Sokolowki, disabled default build of 64bit under OSX to - prevent build problems +Fri, 29 Feb 2008 16:09:48 +0000 +Checked in by : Robert Osfield +Disabled the resizing of Camera's with FBO's -2008-08-05 15:27 robert +Fri, 29 Feb 2008 15:25:57 +0000 +Checked in by : Robert Osfield +Added Camera::g/setIntialDrawCallback and g/setFinalDrawCallback(), and added screen snapshot example code to osghud. - * Merged from OpenSceneGraph-2.6 branch +Thu, 28 Feb 2008 20:02:43 +0000 +Checked in by : Robert Osfield +Added LODScaleHandler -2008-08-05 15:11 robert +Thu, 28 Feb 2008 18:08:32 +0000 +Checked in by : Robert Osfield +Added OSG_EXPIRY_DELAY env var option. - * Added NullStream class that automatically creates and delete the - NullStreamBuffer, thus fixing a memory leak +Thu, 28 Feb 2008 17:59:44 +0000 +Checked in by : Robert Osfield +Moved the delete operations to before of the compile operations to ensure that delete operations don't get pushed out by allocations -2008-08-05 15:06 robert +Thu, 28 Feb 2008 10:56:03 +0000 +Checked in by : Robert Osfield +From He Sicong, "fixed shader calculation of ray tracing" - * From Eric Sokolowski, "Fixed the build of the osgViewer library - to get GL/glx.h from the right place, when building on OSX with - X11" +Wed, 27 Feb 2008 12:11:02 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski and Robert Osfield, Support from LightPointNode::s/getPointSprite parameter. -2008-08-05 11:17 robert +Wed, 27 Feb 2008 11:46:05 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Per the discussion in osg-users, this change adds code comments to the Matrix* headers to document assumptions in the getRotate() method." - * Merged changes to OpenSceneGraph-2.6 into trunk using : - - svn merge -r 8729:8734 - http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.6 - . +Wed, 27 Feb 2008 11:43:58 +0000 +Checked in by : Robert Osfield +From Paul Martz, fixed get/set methods API -2008-08-04 20:48 robert +Wed, 27 Feb 2008 11:43:06 +0000 +Checked in by : Robert Osfield +Added debug message to track cache usage - * Added -losgWidget to the list of libs +Mon, 25 Feb 2008 17:30:30 +0000 +Checked in by : Robert Osfield +From Melchior Franz, fixed handling of modified keys when entering/leaving window -2008-08-04 17:08 robert +Mon, 25 Feb 2008 16:50:28 +0000 +Checked in by : Robert Osfield +From Franz Melchior, "When switching virtual desktops or minimizing a window, keys remain in pressed state after revealing, even if they are no longer pressed on the keyboard. This can have bad effects, especially if the stuck keys are modifier keys. One has to press and release the stuck keys again to reset the wrong state.The fix keeps track of all key presses and releases. On FocusOut +and UnmapNotify it releases all keys that are in pressed state, +and on KeymapNotify (following a FocusIn), it sets the currently +pressed keys again. To avoid confusion in the OSG-using application +normal keys are always reported released /before/ and pressed +/after/ modifier keys. - * From Sherman Wilcox, "Minor change to bool - setGLExtensionFuncPtr(T& t, const char* str1) and - setGLExtensionFuncPtr(T& t, const char* str1, const char* str2) - - functions returned false even on success." +As current key states are returned as char[32] keymap by +XQueryKeymap and XKeymapEvent, this format is also used to +recognize modifier keys and for maintaining the current +internal key state. Functions to set/clear/query bits in +such a keymap are added. -2008-08-04 15:09 robert +The patch was extensively tested with osgkeyboard and +FlightGear under KDE and fvwm2. It was not tested on a +Xinerama setup or with multiple windows, but as _eventDisplay +is used throughout, there should be no problems. The patch also +makes the following changes: - * Updated AUTHORS file +- removes old and obsolete handling of modifier keys in ::adaptKey(). + This wasn't only unused, but also wrong (and for that reason commented + out in revision 7066). The modifier states are actually handled + in ./src/osgGA/EventQueue.cpp (EventQueue::keyPress/keyRelease). +- fixes some spelling" -2008-08-04 15:08 robert - * Updated ChangeLog -2008-08-04 15:08 robert +Mon, 25 Feb 2008 16:26:30 +0000 +Checked in by : Robert Osfield +From Emmanuel Roche, "I'm joining two zip files to this mail for the modified sources and include files of osgIntrospection.The modifications I made are very small but they are absolutely usefull to use osgIntrospection with visual studio 7.1 or 8 in debug modes. +This should also solve other minor common problems (converter memory leak, virtual destructor for PropertyInfo, etc...). - * Updated news for 2.6.0 release rc2 +I choosed two function names : Reflection::uninitialize() and Type::reset(), this can of course be changed if someone has a better idea... -2008-08-04 14:01 robert +I made the changes against OSG 2.2.0 public release. I tested the result with VS 7.1, VS 7.1 SP1, VS 8.0 SP1 and AQTime 5.0 on Windows XP SP2... All 4 seem to agree : they detected memory leaks before and don't anymore. - * From Philip Lowman, workaround of Centos 5's missing definition - of GL_MAX_SAMPLES_EXT. +Sorry I haven't take the time to test that on linux but the changes are so small I doubt there could be a problem... I let you check that on your side :-). -2008-08-04 12:47 robert +I hope this will help making OSG an even more wonderfull library." - * Moved initial drawable setup to within the mutex locked section - to avoid multi-threaded crash on startup. -2008-08-04 12:27 robert - * Removed debug info +Mon, 25 Feb 2008 16:05:53 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "I missed a refactoring of the handling of modifier-keys, so they did not work on OS X. Attached you'll find the missing implementation for OS X." -2008-08-04 09:05 robert +Mon, 25 Feb 2008 15:09:56 +0000 +Checked in by : Robert Osfield +From Paul Martz, "This change adds "GL_NORMALIZE" and "GL_RESCALE_NORMAL" to .osg IO in place of the hex equivalents." - * From Ulrich Hertlien, "attached is a patch to - src/osgPlugins/quicktime/QTImportExport.cpp that fixes loading - images using the quicktime loader. Also fixes some minor bugs - like uninitialized variables and incorrect deletes. - - I'm a bit puzzled why this didn't pop up for more people as it's - quite severe: basically the filename was never set!"" +Mon, 25 Feb 2008 15:08:45 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-08-04 08:45 robert +Mon, 25 Feb 2008 15:07:35 +0000 +Checked in by : Robert Osfield +From Robert Osfield and Carlo Camporesi, took submission from Carlo for adding LoadingExternalReferenceMode to ProxyNode and extended it to include a wider range of options, also completed implementation - * Added a small epsilon expansion of the bounding box being - clipped/intersected against, to avoid numberic errors causing - problems. +Mon, 25 Feb 2008 14:27:57 +0000 +Checked in by : Robert Osfield +Changed method parameter to use const & -2008-08-03 20:35 robert +Mon, 25 Feb 2008 14:15:27 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "----1----Attached is a fixed version of OverlayNode.cpp. I fixed CustomPolytope::cut( osg::Plane ) method. Bug was apparent in such scenario: + +Let P1 be some random frustum polytope +Let P2 be the polytope that was created from P1 bounding box (P2 contains P1 entirely) + +Then ignoring precision errors: P1.cut( P2 ) == P2.cut( P1 ) == P1. But this condition was not always met. Cut failed when some of the polytope reference points happened to lie exactly on some intersecting planes in both P1 & P2 (plane distance was = 0). + +I only use CustomPolytope for my shadowing stuff so I did not test how this affects rest of OverlayNode.cpp. + +----2---- + +Also attached is a minor precision improvement for osg::Plane intersect method (double version). + +----3---- + +I have also one observation regarding osg::Plane - There are two intersect vertices methods (float and double flavour): + +inline int intersect(const std::vector& vertices) const +inline int intersect(const std::vector& vertices) const + +I guess osg::Plane won't compile when someone changes default vec3 typedef to vec3d. Shouldn't the first method be changed to use vec3f explicitly ? Ie: + +inline int intersect(const std::vector& vertices) const" - * Improved the terrain intersection code so that it produces more - stable terrain movements. -2008-08-03 16:57 robert - * merged 2.6 branch changes back into trunk using : svn merge -r - 8699:8706 - http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.6 - . +Mon, 25 Feb 2008 13:25:42 +0000 +Checked in by : Robert Osfield +From Glenn Waldron, "As you may recall, we discussed adding ReaderWriter::readObject() overrides to all the image plugins in order to facilitate future archive support. Attached are the necessary modifications. I tested JPEG, but not all the others... the code is identical though. Note that the DDS plugin already contained the readObject() implementations." -2008-08-03 16:48 robert +Mon, 25 Feb 2008 13:17:30 +0000 +Checked in by : Robert Osfield +From Wojciech Lawandowski, "Fixed EllipsoidModel::computeLocalUpVector to use Vec3d instead of Vec3 for normal computation. Its really small issue, maybe not even worth submitting ;-). But one never knows when inadequate precision hits him. " - * Moved bb expansion out of loop. +Mon, 25 Feb 2008 13:16:36 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-07-25 21:09 robert +Mon, 25 Feb 2008 13:07:37 +0000 +Checked in by : Robert Osfield +Reverted back to previous version of osgtext - * Updated ChangeLog and AUTHORS.txt file for relese candidate +Mon, 25 Feb 2008 12:54:54 +0000 +Checked in by : Robert Osfield +Refactored the mutex usage in osgText and freetype plugin to prevent multi-thread crash -2008-07-25 21:01 robert +Fri, 22 Feb 2008 18:38:30 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "I have extended the X11 pbuffer code to use either the complete set of glx 1.3 pbuffer functions or exactly ask for the extensions we need to call the apropriate glx extension functions for and around pbuffers extensions. The glx 1.3 version of this functios are prefered. If this is not pressent we are looking for the glx extensions and check for them. Prevously we just used some mix of the glx 1.3 functions or the extension functions without making sure that this extension is present. " - * Updated version numbers to 2.6.0 +Fri, 22 Feb 2008 11:52:23 +0000 +Checked in by : Robert Osfield +Refactored osgTerrain so that the interface for setting up layer is more straight forward, and added support into GeometryTechnique for handling multiple layers -2008-07-25 21:00 robert +Wed, 20 Feb 2008 12:34:13 +0000 +Checked in by : Robert Osfield +Added TextureUnit entry to osg::TransferFunction and osgTerrain::Layer - * Updated REAME and NEWS for 2.6 branch +Tue, 19 Feb 2008 16:02:03 +0000 +Checked in by : Robert Osfield +Removed erroneous ; -2008-07-25 20:50 robert +Tue, 19 Feb 2008 12:26:19 +0000 +Checked in by : Robert Osfield +Changed the updating of the contextID so that the DisplaySetting::MaxNumberOfGrapicsContexts() is updated on each new graphics context creation, in keeping with how osgProducer used to do things. - * Updated wrappers +Tue, 19 Feb 2008 11:30:39 +0000 +Checked in by : Robert Osfield +Refactor the rendering code to not use iterators, instead using indices as means of avoiding using < and += on STL iterators that have shown to be problematic under Windows -2008-07-25 20:50 robert +Tue, 19 Feb 2008 09:49:12 +0000 +Checked in by : Robert Osfield +From Philip Lowman, workaround for gcc 3.2.3 bug - * Renamed enums in osgWidget from ALLCAPITALS to normal OSG - conventional of AllCapital +Mon, 18 Feb 2008 15:30:55 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "Attached you'll find some enhancements by Adrian Egli and me for the carbon-implementation of GraphicsWindow. Now you can use an AGLDrawable in conjunction with osgViewer/osgCompositeViewer."Changes from Robert Osfield, changed std::cout to osg::notify(osg::INFO) -2008-07-25 20:49 robert - * Added PluginQuery function to wrappers -2008-07-25 20:04 robert - * Added OSGPL Copyright notices +Mon, 18 Feb 2008 15:26:46 +0000 +Checked in by : Robert Osfield +From Rene Molenaar, "Using commandline build system nmake on windows does not work.This is caused by the OSG_MSVC_VERSIONED_DLL hack. +there are hard-coded paths to place the dll's in the bin /dir that normally would go +in the lib/config (release/debug) dirs. Nmake has different locations for the files (no config dir). + + fix: change the macro's in OsgMacroUtils.cmake for the IF(NOT MSVC_IDE) situation. + Libs go in lib/, and DLLs and executables go in bin/ + To accopmplish this for MSVC_IDE the targets get a "../../bin" prefix, + for nmake this should be "../bin" (because there are no config folders). -2008-07-25 19:57 robert + This fix mimics the behaviour of the MSCV_IDE (visual studio) build system when building with nmake. + + Note: + A change in the main CMakeLists.txt creates the needed plugin directory in the binary dir. + + see included files for the changes: + r7885fix-v2/CMakeModules/OsgMacroUtils.cmake + r7885fix-v2/osgWrappers/CMakeLists.txt + r7885fix-v2/CMakeLists.txt + + +The behaviour of visual studio projects (and other build systems) remain unchanged. +Tested building and installing with nmake and visual studio 8 debug and release. + " - * Restructured classes to better fit with style of the rest of the - OSG. -2008-07-25 19:53 robert - * Added include to help wrapper building +Mon, 18 Feb 2008 15:17:42 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, "Subject: obj material parse fix this fix strips whitespace off externally referenced material files. fixes a bug where the obj listed something like: mtllib FR_PARIS_ESPACE_UNESCO_S.MTL -2008-07-25 18:44 robert +and then that caused failures in the load later: - * Improved handling of PAGE_AND_RETAIN_IMAGES + FindFileInPath() : trying /Users/rpk/Downloads/ +FR_PARIS_ESPACE_UNESCO_S.MTL ... -2008-07-25 17:42 robert +this fix simply strips whitespace around that filename before passing +it on to the remainder of the loader." - * Reverted back to using std::list +Changes from Robert Osfield, change std::cout to osg::notify(osg::INFO) -2008-07-25 16:23 robert - * Added Mode support -2008-07-25 16:11 robert +Mon, 18 Feb 2008 15:10:30 +0000 +Checked in by : Robert Osfield +From Thibault Genessay, "On Dec 16 you introduced a fix to remove internal use of ref_ptr<>'s. It contained a bug that would cause freed memory to be written again. Specifically, in FreeTypeLibrary::~FreeTypeLibrary(), calling font->setImplementation(0); deletes the content pointed to by the fontImplementation pointer, while the line the immediately follows tries to access it.My fix is to make the second instruction part of an else clause rather +than always executed. This way, the fontImplementation->_facade = 0 +instruction is only executed when the font implementation is not set +to 0 before (although I have no idea what it is here for and if this +code path is ever followed, since I don't know the plugin's internals +very well). - * Updated wrappers, and further refined the ImageSequence API +Attached is the modified FreeTypeLibrary.cpp file." -2008-07-25 15:45 robert - * From Ulrich Hertlein, "as I hinted at on osg-users in the "obj - loader: map_* only reads last component" thread, this submission - broke material/texture loading for some files I have that specify - texture matrix scaling. - - The following link shows a very comprehensive list of .mtl file - options: - http://local.wasp.uwa.edu.au/~pbourke/dataformats/mtl/ - - Attached is a patch that should fix spacey filenames and optional - texture scale/offset. I have tested it with files I have that I - modified to contain spaces in the texture filenames." -2008-07-25 15:38 shuber +Mon, 18 Feb 2008 15:02:01 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Stephan Huber: updated XCode-project +Mon, 18 Feb 2008 14:51:05 +0000 +Checked in by : Robert Osfield +Introduced typedef vec_type and value_type into LineSemgment class to allow easier switching between double and float versions. -2008-07-25 13:45 robert +Mon, 18 Feb 2008 14:14:08 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, build fix for OSX/gcc 4.0.1 - * Added ImageSequence to .ive plugin, added support for multiple - ImageThreads in osgDB::ImagePager +Mon, 18 Feb 2008 13:52:26 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "Here's a fix to the changes regarding the new dispose() function. The last primary node inside a push-pop level would not get the dispose() call. This would result in information from some ancillary records, like the matrix (transform), being lost.Changes are made to the latest version in the repository. -2008-07-25 10:18 robert +Thanks to Terry for the help to find and fix the bug and test the changes." - * Moved PluginQuery from osgconv into osgDB -2008-07-25 10:18 robert - * Added extension docs +Mon, 18 Feb 2008 13:47:38 +0000 +Checked in by : Robert Osfield +From Bryan Thrall, "moved the prints to a higher notify level (DEBUG_FP) so they are only printed at the most verbose level." -2008-07-25 09:46 robert +Mon, 18 Feb 2008 13:44:30 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Attached is a modification to OcclusionQueryNode. The copy constructor was failing to initialize all member variables. This change resolves the issue. Thanks to Doug McCorkle for testing and finding the bug." - * Added option docs +Fri, 15 Feb 2008 14:09:44 +0000 +Checked in by : Robert Osfield +Changed constructors to take const pointers -2008-07-24 17:38 robert +Tue, 29 Jan 2008 22:14:26 +0000 +Checked in by : Robert Osfield +Update AUTHORS list for release - * Added missing returns +Tue, 29 Jan 2008 21:34:38 +0000 +Checked in by : Robert Osfield +Updated logs for release -2008-07-24 13:25 robert +Tue, 29 Jan 2008 20:45:51 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Paul Martz, "Not sure about the descriptions, so I left - those blank. But at least "osgconv --formats" will display the - .ive options now." +Tue, 29 Jan 2008 12:24:47 +0000 +Checked in by : Robert Osfield +Reorganized the static vector used for buffering extensions to prevent an crash on exit. -2008-07-24 12:48 robert +Tue, 29 Jan 2008 10:28:56 +0000 +Checked in by : Robert Osfield +Updated versions for OSG-2.3.4 release - * Updated wrappers +Mon, 28 Jan 2008 20:54:14 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, "1) best practices suggest that values passed by-reference should be initialized. 2) explanatory comments are handy when available as notify() messages." -2008-07-24 12:47 robert +Mon, 28 Jan 2008 20:52:31 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, "an aesthetic enhancement for displaying important version information." - * Added getCurrentCamera/getCurrentRenderStage methods +Mon, 28 Jan 2008 20:31:48 +0000 +Checked in by : Robert Osfield +From Roger James, "A small fix for compiling with OSG_USE_FLOAT_MATRIX" -2008-07-24 12:18 robert +Mon, 28 Jan 2008 20:27:33 +0000 +Checked in by : Robert Osfield +From Rainer Oder, removed duplicate conditional - * Added a getCurrentRenderStage() and getCurrentCamera() - convninience methods, and - converted the CullVisitor::apply(OcclusionQueryNode&) - implementation to use the - new getCurrentCamera method. +Mon, 28 Jan 2008 19:54:27 +0000 +Checked in by : Robert Osfield +Fixed BUILD_REF_DOCS_SEARCHENGINE conditional -2008-07-24 12:06 robert +Mon, 28 Jan 2008 19:42:16 +0000 +Checked in by : Robert Osfield +Added explict casts to double to prevent VS compiler error - * Improved the feedback for when a plugin isn't available. +Mon, 28 Jan 2008 18:29:38 +0000 +Checked in by : Robert Osfield +From Jean-Christophe Lombardo and Robert Osfield, added BUILD_REF_DOCS_SEARCHENGINE and BUILD_REF_DOCS_TAGFILE options for being doxygen docs. -2008-07-24 12:01 robert +Mon, 28 Jan 2008 17:00:19 +0000 +Checked in by : Robert Osfield +From Glen Waldon, "This change patches ReaderWriterOSGA.cpp so that it passes along the ReaderWriter::Options to files loaded from inside the archive. Previously it was discarding them.example: +osgviewer -O noLoadExternalReferenceFiles archive.osga" - * Added supportOptions() entry docs -2008-07-24 12:01 robert - * Added --format extname and --plugin pluginname extensions, and - improved formating -2008-07-24 11:22 robert +Mon, 28 Jan 2008 16:38:39 +0000 +Checked in by : Robert Osfield +From Stephan Huber, added support for double click event for OSX. - * From Bob Kuehne, "fix for filenames that have spaces within their - name." - - Note form Robert, changed std::cout to osg::notify(osg::INFO) +Mon, 28 Jan 2008 16:13:42 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "default white behaviour : osgviewerd -e ogr yourFile randomize color by feature: osgviewerd -e ogr -O UseRandomColorByFeature yourFile" -2008-07-23 22:19 robert +Mon, 28 Jan 2008 15:41:42 +0000 +Checked in by : Robert Osfield +Added projectorMatrix parameter support to *SphericalDisplay setup functions and .view, this allows one to flip, rotate, or turn up side the position of the projector. Note, projector at base of display is the default. - * Updated wrappers +Mon, 28 Jan 2008 15:36:28 +0000 +Checked in by : Robert Osfield +Added include RenderLeaf to make sure #define's are defined correctly -2008-07-23 22:19 robert +Sat, 26 Jan 2008 20:03:12 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updated XCode project - * Refactored OverlayData so that its possible to subclass - OverlayNode/OverlayData. +Thu, 24 Jan 2008 10:04:33 +0000 +Checked in by : Robert Osfield +Removed duplicate declaration of DeleteHandlerPointer -2008-07-23 21:52 robert +Tue, 22 Jan 2008 11:13:07 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, Authors and readme for 2.3.3 release - * Added wrappers +Tue, 22 Jan 2008 10:28:48 +0000 +Checked in by : Robert Osfield +Added missing checks for null pointers -2008-07-23 21:49 robert +Mon, 21 Jan 2008 18:06:47 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, notes on how to enable syntax highlighting in VS. - * Moved helper classes into Protected section +Mon, 21 Jan 2008 17:04:33 +0000 +Checked in by : Robert Osfield +Fixed debug build of Inventor plugin -2008-07-23 21:25 robert +Mon, 21 Jan 2008 14:42:52 +0000 +Checked in by : Robert Osfield +From Drederic Bouvier, "I noticed the AC3D loader resets database path given as Options, preventing users to put textures in another directory. This patch adds the model path to the path list instead of replacing it." - * From Paul Martz, typo fixes +Mon, 21 Jan 2008 14:41:58 +0000 +Checked in by : Robert Osfield +Introduced BUILD_REFERENCE_DOCS option to make it a bit clearer how to enable and build the DoxygenDocs -2008-07-23 19:06 robert +Mon, 21 Jan 2008 12:01:55 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, "you can find as attachement a readerwriter for ogr files (.tab, .gml, .shp ...) ogr is a part of gdal so i added the build of ogr plugin if gdal is found.to test it +osgviewerd -e ogr file.tab +or +osgviewerd -e ogr file.gml +or +osgviewerd -e ogr file.shp +" - * Applied filename fix suggested by Andrew Bettison. -2008-07-23 19:04 robert - * Implemented ImagePager internals +Mon, 21 Jan 2008 12:00:10 +0000 +Checked in by : Robert Osfield +Fixed Geometry::removePrimitiveSet method so that it no longer emits a warning when removing 0 elements form an empty primtive set list. -2008-07-23 15:42 robert +Mon, 21 Jan 2008 11:47:40 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, restructured GL2Extensions so that they now live in their own GL2Extensions.cpp file rather than in Program.cpp - * Fixed unitialized variable +Mon, 21 Jan 2008 11:40:27 +0000 +Checked in by : Robert Osfield +Updated version number for 2.3.3 release -2008-07-22 20:20 robert +Mon, 21 Jan 2008 11:39:00 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Further work on ImageSequence +Mon, 21 Jan 2008 11:37:55 +0000 +Checked in by : Robert Osfield +Fixed debugged code path and set the minimum number of display lists to retain in cache to the same amount as the number of textures -2008-07-22 16:44 robert +Mon, 21 Jan 2008 11:36:54 +0000 +Checked in by : Robert Osfield +Removed redundental vertex buffer object flush methods - * Added support for pruning old images, recording the Duration in - the .osg file, and -o filename output support in - osgimagesequence. +Mon, 21 Jan 2008 11:27:57 +0000 +Checked in by : Robert Osfield +Moved useful elements of the old VisualStudio directory into a new PlatformSpecifics/Windows directory -2008-07-22 15:58 robert +Sat, 19 Jan 2008 18:26:41 +0000 +Checked in by : Robert Osfield +Added thread safe debugging checking of allocation/deallocations - * Improved position when multiple videos are provided +Sat, 19 Jan 2008 18:25:45 +0000 +Checked in by : Robert Osfield +Added use of ref_ptr<> throughout geometry setup code to prevent memory leaks -2008-07-22 15:21 robert +Sat, 19 Jan 2008 13:41:43 +0000 +Checked in by : Robert Osfield +Added debugging messages to help monitor expiry of inactive children. Debug messages current #if 0'd out, but added now for future tests when required. - * Updated wrappers +Sat, 19 Jan 2008 13:31:12 +0000 +Checked in by : Robert Osfield +Disabled the default enabling of update traversal on osgTerrain::Terrain as this was preventing PagedLOD subgraphs from expiring inactive subgraphs -2008-07-22 14:47 robert +Fri, 18 Jan 2008 21:29:00 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Fixed handling of TextureCubeMap's with - mipmapped/ImageSequence/PBO's. +Fri, 18 Jan 2008 21:08:42 +0000 +Checked in by : Robert Osfield +Removed erroneous const in method parameter -2008-07-22 12:40 robert +Fri, 18 Jan 2008 21:07:03 +0000 +Checked in by : Robert Osfield +From Andy Skinner, build fixes for Solaris. - * Added ImageSequence IO support in Texture classes +Fri, 18 Jan 2008 21:01:18 +0000 +Checked in by : Robert Osfield +Moved the setting of _clipPlaneNum from the {} body to the intializer list to avoid reading from an unitialized variable. -2008-07-22 12:28 robert +Fri, 18 Jan 2008 20:55:16 +0000 +Checked in by : Robert Osfield +From Paul Martz, Hi Robert -- "as you and J-S and I have been discussing on osg-users, this submission changes the clamp mode for the fake white texture applied to non-textured geometry. CLAMP_TO_EDGE will keep the geometry a consistent color across the entire texture coordinate range." - * Added support for ImageSequence to all Texture classes +Fri, 18 Jan 2008 16:36:05 +0000 +Checked in by : Robert Osfield +Added support for rendering skirts into osgTerrain::GeometryTechinque -2008-07-22 10:13 robert +Fri, 18 Jan 2008 09:17:32 +0000 +Checked in by : Robert Osfield +Added getNumOperationsInQueue() method - * Disabled the setting of Texture::setUnrefImageOnApply(true) when - the imagery is - an ImageStream. +Thu, 17 Jan 2008 22:26:29 +0000 +Checked in by : Robert Osfield +Commented out debug message -2008-07-22 09:02 robert +Thu, 17 Jan 2008 22:25:41 +0000 +Checked in by : Robert Osfield +Added computation of skirt height for osgTerrain::Terrain height fields. - * From Mario Valle, "The attached osgWidget source solves three - compilation warnings on VC 7.1 on WindowsXP (OSG 2.5.5). - BTW the construct is absolutely legal C++, but VC 7.1 has a - different idea..." +Thu, 17 Jan 2008 17:10:12 +0000 +Checked in by : Robert Osfield +Added call to ClusterCullingCallback to determine if the Terrain node is culled by cluster culling. -2008-07-21 23:42 robert +Thu, 17 Jan 2008 16:41:46 +0000 +Checked in by : Robert Osfield +Added Node to Terrain serialization - * Moved osgViewer::ScreenCaptureHandler's WindowCaptureCallback - from head into .cpp - to clean up headers and avoid wrapper build issues. - - Updated wrappers +Thu, 17 Jan 2008 15:37:35 +0000 +Checked in by : Robert Osfield +Fixed the computation of terrain bounding volume so that it properly accounts for elevation layers -2008-07-21 22:38 robert +Wed, 16 Jan 2008 15:05:04 +0000 +Checked in by : Robert Osfield +Changed the Texture clamp mode to CLAMP_TO_EDGE - * Removed the reducent non const get methods +Mon, 14 Jan 2008 14:53:57 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-07-21 21:28 robert +Mon, 14 Jan 2008 14:53:49 +0000 +Checked in by : Robert Osfield +Refactor osgTerrain::ProxyLayer so that it is now a pure Proxy, defering implementations to an Implementation rather than a subclass of ProxyLayer. Updating the osgTerrain and GDAL plugins to comply with this refactor. - * From Jean-Sebastien Guay, "Changes attached so that the - CaptureOperation is passed in the constructor of the - ScreenCaptureHandler (default 0 = default CaptureOperation). This - way, you can do: - - viewer.addEventHandler(new osgViewer::ScreenCaptureHandler( - new osgViewer::WriteToFileCaptureOperation("filename", "jpg"))); - - and the filename will be what you want. The - WriteToFileCaptureOperation will add the context ID and the file - number (if in SEQUENTIAL_NUMBER mode) to the file name. - - (The attached also clarifies some notify messages, and corrects - the comment when adding the handler in osgviewer.cpp) - - I also remembered, the current architecture could allow a - different CaptureOperation for each context, but currently the - API only allows setting one CaptureOperation for all contexts. - This could be improved if need be. - - " +Mon, 14 Jan 2008 13:14:38 +0000 +Checked in by : Robert Osfield +Added back in checks for various verions of gdal -2008-07-21 21:20 robert +Mon, 14 Jan 2008 12:14:38 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file and osgversion for 2.3.2 release - * From Ruth Lang, "using osg version 2.5.5 and compiling my program - under OpenSUSE 11.0 - with gcc (version 4.3.1) I got the following error message in - include/osgUtil/TriStripVisitor and Tessellator - - error: type qualifiers ignored on function return type - - The errors belong all to a INLINE function definition. Find - attached my - modified version." +Mon, 14 Jan 2008 11:44:04 +0000 +Checked in by : Robert Osfield +Added geometry shader extension supported check to geometry shader parameter calls -2008-07-21 21:17 robert +Mon, 14 Jan 2008 11:30:39 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "Multi-texturing fails with recent osg on older graphics cards, due to use of parameter GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS which is only part of the standard from 2.0 onwards. I've updated src/osg/State.cpp, so that it attempts to be more rigorous regarding OpenGL version and extension checking." - * From Mario Valle, signed/unsgined warning fix +Mon, 14 Jan 2008 11:22:23 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, date and version number for 2.6.2 release -2008-07-21 21:00 robert +Mon, 14 Jan 2008 11:07:30 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Further work on osg::ImageSequence/osgDB::ImagePager +Mon, 14 Jan 2008 10:14:32 +0000 +Checked in by : Robert Osfield +From Daniel Stien, "When removing a child from a osg::Group, childRemoved is called after the node has already been erased from the node list, causing childRemoved to be performed on the consecutive node.Lines 180 and 182 are swapped in the attached Group.cpp. +" -2008-07-21 20:44 robert - * Upated version number for dev release -2008-07-21 19:23 robert +Fri, 11 Jan 2008 12:16:19 +0000 +Checked in by : Robert Osfield +From Adrian Egli, made the getHandled() functionality consistent with the rest of the osgGA::MatrixManipulators - * Moved the ~Record body into the .cpp to avoid a MipsPro compile - error (due to a compiler bug) +Thu, 10 Jan 2008 11:08:11 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, added OSGUTIL_EXPORT for Windows build -2008-07-21 17:45 robert +Thu, 10 Jan 2008 11:02:21 +0000 +Checked in by : Robert Osfield +From Paul Martz, "his pretty much wraps up the OcclusionQueryNode work. I might make some additional modifications if testing reveals any issues, otherwise it's ready for 2.4." - * Added call to OpenThreads::Thread::cancel(); +Wed, 9 Jan 2008 21:17:10 +0000 +Checked in by : Robert Osfield +Indentation/bracket fixes and change of default size -2008-07-21 17:39 robert +Wed, 9 Jan 2008 21:00:38 +0000 +Checked in by : Robert Osfield +Simplified the image reading/writing - * Updated wrappers +Wed, 9 Jan 2008 16:56:31 +0000 +Checked in by : Robert Osfield +Adding missing files -2008-07-21 17:28 robert +Wed, 9 Jan 2008 16:35:55 +0000 +Checked in by : Robert Osfield +Added support for reading and writing osgTerrain objects - * Added basic image sequencing +Wed, 9 Jan 2008 14:22:44 +0000 +Checked in by : Robert Osfield +Added setting of UpdateVisitor's FrameStamp and TraversalNumber in updateTraversal() -2008-07-21 17:27 robert +Wed, 9 Jan 2008 11:42:19 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, build fix for VS8. - * Added non const getAuthenticationMap(). +Tue, 8 Jan 2008 23:20:30 +0000 +Checked in by : Eric WING +Updates to resync Xcode project with current state of repository.Added several missing plugins (e.g. osgdb_osgShadow, osgdb_osgViewer, osgdb_Terrain). -2008-07-21 16:17 robert +Added dependency information hoping that the Xcode 3 parallel target building will work now. - * Moved the if (!buffer) check to infront of the memory - initialization -2008-07-21 15:05 robert +Tue, 8 Jan 2008 18:13:06 +0000 +Checked in by : Robert Osfield +From Colin McDonald, build fixes for Solaris. - * Added --login http authentication. +Tue, 8 Jan 2008 17:18:11 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, Warning fixes -2008-07-21 15:04 robert +Tue, 8 Jan 2008 16:09:01 +0000 +Checked in by : Robert Osfield +Added support for reading and writing the Terrain's Locator - * Added --login url username password http authentication option +Tue, 8 Jan 2008 15:20:02 +0000 +Checked in by : Robert Osfield +Added writing and reading of inlined HeightField -2008-07-21 10:57 robert +Tue, 8 Jan 2008 14:38:58 +0000 +Checked in by : Robert Osfield +Removed non standard and redundent /*EOF*/ - * Initial cut of osgimagesequence example +Tue, 8 Jan 2008 14:37:09 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-07-21 10:48 shuber +Tue, 8 Jan 2008 14:29:44 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, support for geometry shaders, and osgeometryshaders example to demonstrate them. - * From Stephan Huber: updated XCode-project +Tue, 8 Jan 2008 14:22:59 +0000 +Checked in by : Robert Osfield +Fixed warning -2008-07-21 10:10 robert +Tue, 8 Jan 2008 13:56:21 +0000 +Checked in by : Robert Osfield +Added support for MinLevel and MaxLevel for ProxyLayer - * Added ImagePager first cut, and updated wrappers +Tue, 8 Jan 2008 13:24:29 +0000 +Checked in by : Robert Osfield +Introduced new osg::discardDeletedOpenGLObjects() methods, and usage of it in GrpahicsContext::close() to handle cases where deletingOpenGLObjects is no possible, such as when GraphicsWindowEmbedded is used. -2008-07-21 09:55 robert +Tue, 8 Jan 2008 13:22:55 +0000 +Checked in by : Robert Osfield +Removed debug info - * Added first cut of ImageStream IO wrapper +Tue, 8 Jan 2008 13:10:59 +0000 +Checked in by : Robert Osfield +Reorganised the .osg support for osgTerrain NodeKit to make it more extensible -2008-07-21 09:47 robert +Mon, 7 Jan 2008 09:47:36 +0000 +Checked in by : Robert Osfield +Added OSGUTIL_EXPORTs - * First cut of osgDB::ImagePager for updating osg::ImageSequence +Sun, 6 Jan 2008 17:53:21 +0000 +Checked in by : Robert Osfield +Added missing #include -2008-07-21 09:46 robert +Sun, 6 Jan 2008 10:52:23 +0000 +Checked in by : Robert Osfield +Added exports for Windows build - * First cut of osg::ImageSequence class +Fri, 4 Jan 2008 20:03:35 +0000 +Checked in by : Robert Osfield +Fixed date -2008-07-18 21:17 robert +Fri, 4 Jan 2008 20:00:18 +0000 +Checked in by : Robert Osfield +From Eric Wing, "Attached are a few Find modules with updates. Among other things, they contain better support for environmental variables to pre-empt the autodection default search path order which is very helpful for people who do automated builds. (I recommend that the remaining modules consider adding the same system to make things consistent and easier for those people that want to do the automated builds.)The CMAKE_PREFIX_PATH has also been added to help people. I don't +recommend adding this to the other modules because it looks like CMake +agreed with my idea and will be adding the support in 2.6. So when +that ships, people will get it for free. (In the meantime, my modules +that do have it, it can be used.) - * From Adrain Elgi, added osgGA to link list +Finally, I've submitted all of these modules to official CMake plus +more so they will be in the next version of CMake. It looks like I may +need to sort some compatibility issues out with the KDE people who +seem to have conflicting modules, but this is unrelated to the updates +submitted here as OSG already has these conflicts. I figured I would +just sync OSG up with my current/best versions. -2008-07-18 11:39 robert +Also of note, I added the large batch of Findosg*.cmake modules to +CMake so people building against OpenSceneGraph can use these without +writing their own. I wasn't sure if I should submit them here or not +since they are for building against OSG and not for building OSG +itself. So they are not included. +" - * Introduce a custom atof function that always assumes data comes - in form 10.10 with - the full stop used as a decimal place. -2008-07-17 16:12 robert - * From Jean-Sebastien Guay and Robert Osfiled, - osgViewer::ScreenCaptureHandler for - taking screenshots +Fri, 4 Jan 2008 15:33:21 +0000 +Checked in by : Robert Osfield +From Glenn Waldron, "I found that osg::Sequence::setDuration(speed,reps) was not changing the animation speed factor as expected. The one-line fix (line 312) is attached" -2008-07-17 14:25 robert +Fri, 4 Jan 2008 15:30:49 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Correction to size of reserved filed in .attr file, Spec says "149*4" bytes, not "149"" - * Updated version and AUTHORS.txt for 2.5.5 release +Fri, 4 Jan 2008 15:15:48 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-07-17 14:18 robert +Fri, 4 Jan 2008 13:57:36 +0000 +Checked in by : Robert Osfield +Added catch for handling cases where undefined settings for dislayNum and screenNum are used - * Updated ChangeLog for 2.5.5 release +Fri, 4 Jan 2008 12:03:54 +0000 +Checked in by : Robert Osfield +Updated data on readme -2008-07-17 14:13 robert +Fri, 4 Jan 2008 12:03:24 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file for 2.3.1 release - * Updated wrappers +Fri, 4 Jan 2008 11:45:25 +0000 +Checked in by : Robert Osfield +Updated version number for 2.3.1 release -2008-07-17 13:51 robert +Fri, 4 Jan 2008 11:44:35 +0000 +Checked in by : Robert Osfield +Updated logs for 2.3.1 releae - * From Ulrich Hertlein, "attached are some minor tweaks: - - - fixed typos in osgViewer/ViewerBase - - const-ness in include/osg/View findSlaveIndexForCamera - - supported options for STL reader, fixed return values to - reflect proper errors - - supported options for DirectX reader, fixed return values - - normals pseudo-loader: scaling normals to a const (but - variable) fraction of the bounding sphere radius - " +Fri, 4 Jan 2008 11:26:21 +0000 +Checked in by : Robert Osfield +From Brede Johansen, support for contiuation records. -2008-07-17 13:32 robert +Fri, 4 Jan 2008 11:14:11 +0000 +Checked in by : Robert Osfield +From Paul Martz, completion of .ive and .osg support for OcclusionQueryNode - * Updated ChangeLog +Wed, 26 Dec 2007 22:00:28 +0000 +Checked in by : Robert Osfield +From Paul Martz, "The osgocclusionquery example contained some duplicate code that was also in the core OSG occlusion query code. This change removes the need for that." -2008-07-17 13:23 shuber +Wed, 26 Dec 2007 21:43:10 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Stephan Huber: updated XCode project +Wed, 26 Dec 2007 21:39:29 +0000 +Checked in by : Robert Osfield +From David Callu, further work in support of shapefile support in VirtualPlanetBuilder -2008-07-17 12:26 robert +Wed, 26 Dec 2007 21:38:11 +0000 +Checked in by : Robert Osfield +Suppressed reflection of problem templates/typedefs - * Updated wrappers +Tue, 25 Dec 2007 21:11:27 +0000 +Checked in by : Robert Osfield +Replaced values.h with float.h is avoid Windows compile issues -2008-07-17 12:13 robert +Mon, 24 Dec 2007 15:37:15 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Moved AuthenticalMap/AuthenticationDetails out in their own files +Mon, 24 Dec 2007 15:32:15 +0000 +Checked in by : Robert Osfield +Fom Brede Johansen, "I have added the OSGPL license to the OpenFlight source files" -2008-07-17 11:55 robert +Mon, 24 Dec 2007 15:19:52 +0000 +Checked in by : Robert Osfield +From Sid Byce, fixes for compiling with gcc 4.3 - * Added osgDB::AuthenticationMap/Details to osgDB and curl plugin - to add the ability - to authenticate http transfers +Mon, 24 Dec 2007 14:47:49 +0000 +Checked in by : Robert Osfield +From Rafa Gaitan, "I have corrected some includes of the quicktime plugin from Quicktime/Quicktime.h to QuickTime/QuickTime.h. MacOsX filesystem is normally case insensitive, but in my case I changed that option and the quicktime headers were not found. Now compiles fine and on case insesitive file systems should work correctly too. " -2008-07-16 19:07 robert +Mon, 24 Dec 2007 14:45:31 +0000 +Checked in by : Robert Osfield +From Jason Daly, "I'm still having a problem with SWING animations on sequences. Here's the fix again, merged with this morning's svn (including the other Sequence fixes from J-S)." - * Removed net plugin for Xcode projects +Mon, 24 Dec 2007 12:56:19 +0000 +Checked in by : Robert Osfield +Based on Suggestions from "Harald A" fixed CMake setup of Doxygen docs -2008-07-16 16:19 robert +Sun, 23 Dec 2007 18:15:54 +0000 +Checked in by : Robert Osfield +Convert osgText and freetype plugin across to keeping the font size as state that is passed into the getGlyph and getKerning methods rather than a current state of the font itself. - * Moved .net plugin out into Deprecated section of osg svn - repostitory +Sun, 23 Dec 2007 13:45:37 +0000 +Checked in by : Robert Osfield +Moved Font code across to using FontSizePair internally and on Font methods, but still using original implemetations. -2008-07-16 16:19 robert +Sun, 23 Dec 2007 13:18:40 +0000 +Checked in by : Robert Osfield +Renamed osgText::Font::SizePair to osgText::FontSizePair in prep for use this more widely within osgText/freetype plugin.Added support for inserting loading models into --mt multithreaded implementation. - * Fixed path to font -2008-07-16 16:05 robert - * Set the default setting of LineWidth to 2.0 to ensure that old - default behavior - is maintained. +Sun, 23 Dec 2007 13:08:14 +0000 +Checked in by : Robert Osfield +Fixed indentation -2008-07-16 16:04 robert +Fri, 21 Dec 2007 17:56:41 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, added new version of feetype into search list - * From Vincent Bourdier, removed line with setWidth(2.0) as this - code prevents - user settings of line with. +Fri, 21 Dec 2007 17:33:00 +0000 +Checked in by : Robert Osfield +Added copyright notice and tweaked genwrapper -2008-07-16 15:58 robert +Fri, 21 Dec 2007 17:26:19 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Cleaned up the updateStateSet code +Fri, 21 Dec 2007 16:18:54 +0000 +Checked in by : Robert Osfield +From Paul Martz, "added include to prevent VS8 compile error" -2008-07-16 15:58 robert +Fri, 21 Dec 2007 15:54:14 +0000 +Checked in by : Robert Osfield +Removed OperationArrayFunctor for wrappers to avoid compile errors assocaited with them - * Refactored the MultiTextureControl node callback so that the - update is now - done as an update callback, with the elevation aquired via a cull - callback +Fri, 21 Dec 2007 15:46:50 +0000 +Checked in by : Robert Osfield +Removed inappropriate inline -2008-07-16 13:29 robert +Fri, 21 Dec 2007 15:04:56 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated wrappers +Fri, 21 Dec 2007 14:49:49 +0000 +Checked in by : Robert Osfield +From Paul Martz, .osg support for OcclusionQueryNode -2008-07-16 13:26 robert +Fri, 21 Dec 2007 14:45:16 +0000 +Checked in by : Robert Osfield +From Paul Martz, Introduced osg::OcclusionQueryNode with support for OpenGL occlusion query extension - * Changed int's to unsigned int's to avoid warnings +Fri, 21 Dec 2007 14:21:21 +0000 +Checked in by : Robert Osfield +From Bryan Thrall, "UFOManipulator ignores any attached CoordinateFrameCallback; the attached files fix this (based on 2.2 release). " -2008-07-16 13:23 robert +Fri, 21 Dec 2007 14:16:40 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Something to extend the texture subloading blacklist. ... we have problems with that on solaris." - * Moved the _textureObjectBuffer assignment to after the imagery - has been download to avoid crashes under multi-threaded compile - of texture objects (was causing a crash with 3D Textures, but is - something that would happen with other Texture types as well.) +Fri, 21 Dec 2007 14:13:40 +0000 +Checked in by : Robert Osfield +From John Kelso,"Attached is the ive reader/writer for the 2.x version of the osg::Sequence node. " -2008-07-16 12:53 shuber +Fri, 21 Dec 2007 13:32:13 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, "Here is a implementation of setScreeResolution and setScreenRefreshRate for systems support Xrandr. The include CMakeFile makes this optional, and turns it OFF by default, in which case any person trying to use these functions under Linux will be instructed to build osgViewer w/ Xrandr support. " - * From Stephan Huber: updated XCode-project, included - osgWidget-Framework +Fri, 21 Dec 2007 13:31:25 +0000 +Checked in by : Robert Osfield +Added return -2008-07-16 11:40 robert +Fri, 21 Dec 2007 13:18:13 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "When using osg::Sequence you can stop the sequence by setting the mode to STOP. Subsequently, you can restart it from the beginning by setting the mode to START. This does not work as expected. The _now time is not updated while the mode is STOP, which causes the items in the sequence to flash by very quickly when the mode is set to START.For example, if the mode was set to STOP and left that way for 30 +seconds, and there are 10 items in the sequence, when the mode is set +to START all the items will flash by (in 3 loops) while the _now time +catches up with the real time, and then the sequence will go on at the +rate it should. - * Removed a division by precomputing the associated values +This is a simple fix for that, which updates the _now time regardless +of the mode the sequence is in." -2008-07-15 22:30 robert - * From Jeremy Moles, Updated file references to reflect new data in - OpenSceneGraph-Data -2008-07-15 22:13 robert +Fri, 21 Dec 2007 13:07:54 +0000 +Checked in by : Robert Osfield +From David Callu, various classes in support of VirtualPlanetBuilder - * Added osgWidget wrappers +Fri, 21 Dec 2007 12:36:40 +0000 +Checked in by : Robert Osfield +From David Callue, added support for reading/writing Vec*dArray to .ive plugin -2008-07-15 22:03 robert +Thu, 20 Dec 2007 17:30:31 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Converted tabs to four spaces +Thu, 20 Dec 2007 15:51:13 +0000 +Checked in by : Robert Osfield +Added support for min to max level ranges for Layers in support of VirtualPlanetBuilder usage of this. -2008-07-15 21:28 robert +Thu, 20 Dec 2007 15:50:07 +0000 +Checked in by : Robert Osfield +Added an optional use of doubles for computing error metrics to help investigate precision issues seen in VPB when working with small segments of geographic data. - * Fixed typo +Thu, 20 Dec 2007 15:40:14 +0000 +Checked in by : Robert Osfield +Reset the the _lineSpacing to 0.0f to fix the line spacing when word wrapping takes place -2008-07-15 20:30 robert +Thu, 20 Dec 2007 14:40:28 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "By complete coincidence I just have read an old OSG submission mail related to bugfixes in osg::Polytope.setToUnitFrustum and setToBoundingBox It was sent at beginning of december. I read it when purging my Thrash emails and found it there this because it was wrongly classified as SPAM.What stroke me in this email was the fact that there was once an error in +Polytope class. Since I adopted CustomPolytope (osgSim OverlayNode.cpp) for +my minimal shadow area computations I checked my code for this error. And I +found it in CustomPolytope::setToUnitFrustum method. +CustomPolytope::setToBoundingBox seemed OK. - * Moved the private sections int protected to allow subclasses - acces to all methods/members. - Moved public section to top of the class definition to make it - more consistent with the rest of the OSG. +So I went back to the origin and fixed this error in OverlayNode.cpp as +well. I have not tested it in OverlayNode though (I don't know how) so +please look at this carefully. But it seems to work fine with my shadow +calculations." -2008-07-15 19:42 robert - * Fixed name of lib -2008-07-15 19:28 robert +Thu, 20 Dec 2007 10:48:23 +0000 +Checked in by : Robert Osfield +Reorder includes in an attempt to avoid compile problems under Cygwin. - * Changed IMPORT to "Import option", and "EXPORT:" to "Export - option:" in supportsOptions() docs make it a little more friendly - and understandable +Mon, 17 Dec 2007 21:52:29 +0000 +Checked in by : Robert Osfield +Updated AUTHORS files -2008-07-15 19:26 robert +Mon, 17 Dec 2007 21:35:33 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 2.3.0 release - * From Paul Martz, "Here's documentation for the export options of - the FLT plugin. I also labeled the import options as such." +Mon, 17 Dec 2007 21:08:52 +0000 +Checked in by : Robert Osfield +Updated version number for 2.3.0 dev release -2008-07-15 19:24 robert +Mon, 17 Dec 2007 18:38:21 +0000 +Checked in by : Robert Osfield +From Paul Obermeier, "Please find enclosed the following 2 bug fixes:File osgShadow/Version.cpp, Line 25: - * Updated version number to 2.5.5 in prep for dev release +const char* osgShaodowGetLibraryName() -2008-07-15 19:24 robert +should be: - * Changed the version setup code to be consistent with the rest of - the OSG +const char* osgShadowGetLibraryName() -2008-07-15 19:23 robert - * Removed now redundent example +File CMakeModules/OsgMacroUtils.cmake, Line 224: -2008-07-15 19:02 robert +SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) - * From Gino van den Bergen, "The VRML plugin in the current 2.5.4 - release will not compile under VC8.0 when the project file is - generated using CMake 2.6. The attached CMakeLists.txt will fix - this problem. The file replaces the CMakeLists.txt file in - src/osgPlugins/vrml. - NB: It is assumed that the antlr and regex libs are located in - $(OPENVRML_DIR)/lib. - " +should be: -2008-07-15 18:53 robert +SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}") - * From Jean-Sebastian Guay, "Here are the CMakeLists.txt files for - the osgWidget examples, changed to use SETUP_EXAMPLE like the - other examples." +Otherwise setting CMAKE_DEBUG_POSTFIX to an empty string instead of "d" in +the main CMakeLists.txt does not work under Linux. +" -2008-07-15 18:12 robert - * Fixed typo -2008-07-15 17:21 robert +Mon, 17 Dec 2007 17:43:57 +0000 +Checked in by : Robert Osfield +From David Cullu, added various mathematical operators - * From Jeremy Moles, import of the osgWidget NodeKit, sourced from - the original http://osgwidget.googlecode.com/svn/trunk - - Notes from Robert Osfield, I've merged osgWidget trunk, and - added/changed CMakeLists.txt file to make it suitable for - inclusion in the core OSG, and moved imagery/scripts/shaders out - into OpenSceneGraph-Data +Mon, 17 Dec 2007 10:24:20 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find an updated carbon-implementation, which implements the missing functionality for setWindowName and useCursor " -2008-07-15 14:24 robert +Mon, 17 Dec 2007 10:22:41 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated wrappers +Mon, 17 Dec 2007 09:58:55 +0000 +Checked in by : Robert Osfield +From Wojiech Leandowski, "I earlier wrote about my hassles with archives under Windows. I implemented 64 bit binary compatible OSGA archive reader/writer using mixed stdio/iostream calls. But during this work I learned that it can be made in much simpler way.Attached is result of this new attempt. I hope its appropriate for inclusion +into OSG codebase. It was compiled and tested with latest SVN OSG, Windows +XP 32 bit and Windows Vista business 64 bit. OSG was built using VS 2005 +Express SP1 for 32 bit environment and VS 2005 Std for 64 bit. +--- +Solution description (there were two problems involved): +--- +Problem 1: implicit conversions beetween file positions and 32 bit int. This +could be considered a MS compiler bug because this 32 bit int was +additionally implicitly converted to/from 64 bit. As far as I know compiler +is allowed to make only one implict conversion (but maybe this rule does not +refer to simple types). -2008-07-15 14:24 robert +Its actually possible to address OSGA files above 4 GiB range using 32 bit +windows iostreams. MS Iostreams in practice offer the same level of +functionality as stdio functions. There are functions fsetpos and fgetpos in +stdio lib which use 64 bit file pointers (fpos_t). These functions are +internally called by seekp( streampos ), seekg( streampos ), tellp(), and +tellg() methods. So its also possible to change and retrieve file postions +using iostream calls. But the problem lies in implicit handling of streampos +type. - * From Art Trevs, Removed GLeunm version setAttachment() to avoid - ambigiuity with - whether to enable MRT. +streampos type is actually a template class used as seekp, seekg parameter +and returnd from tellp, tellg. Its capable of storing 64 bit file pointers. +But streampos can be also converted to/from simple type streamoff. It has +proper constructor and cast operator. In Win 32 environment streamoff is +defined as long (~32 bit int). So when seekp, and tellp arent used with +exact streampos objects but OSGA_Archive::pos_type complier makes implicit +casts to 32 bit int types loosing important bits of information. -2008-07-15 14:15 robert +So above problem could be easily handled by making conversion calls +explicit. My code defines 2 functions used to convert back and forth beetwen +64 bit OSGA_Archive::pos_type and std::streampos objects: - * Renamed Archive::ArchiveStatus to ReaderWriter::ArchiveStatus + OSGA_Archive::pos_type ARCHIVE_POS( const std::streampos & pos ); + std::streampos STREAM_POS( OSGA_Archive::pos_type & pos ); -2008-07-15 10:45 robert +Rest of the OSGA implementation code was modified to call these conversions +explicitly with seekp, seekg, tellp, tellg. - * Updated wrappers +--- +Problem 2: seekp and seekg have two variants. Only one of these variants is +actually 64 bit proof. -2008-07-15 09:55 robert +When I solved my first problem and made use of explicit streampos conversion +functions, OSGA archive was able to read my example 11 GiB archive. But +there were still problems with write and append. I found that the reason for +this was pair of seekp( 0, std::ios_base::end ) and tellp() calls. It turned +out that use of seekp, seekg( offset, direction ) function variants was +setting file pos pointer to EOF when file was larger than 4GiB. But I +noticed that one arg seekp, seekg ( streampos ) versions worked correctly. +So the solution was to change OSGA write logic a little, and replace +seekp( offset, direction ) with seekp( absolute_pos ) calls. +I achieved this by modifing IndexBlock write method to record and restore +file pos after IndexBlock was written. This modification has the effect that +put pointer is generally kept at the end of file, so there is no need to +repostion to the end before writing the files. This allowed me to get rid of +those problematic seekp( 0, std::ios_base::end ) calls. - * Missing check-ins +There was one place where I could not easily get rid of seekp( 0, +std::ios_base::end ). It was situation where existing OSGA was opened for +appending. I resolved this by computing file length by finding max position +from index block and file block endings. Then I replaced former seekp( 0, +std::ios_base::end ) with seekp( STREAM_POS( found_file_length ). +--- -2008-07-14 20:22 robert +Description of these changes may sound bit hacky but in practice these were +fairly simple and straightforward modifications. I hope they pass your +review. There is one complex preprocessor condition which I based on few +lines taken from boost positioning.hpp. Boost licence does allow such +reproduction. In case of problems this condition may be easily simplified to +windows only implementation. +" - * Added --plugins and --formats query support into osgconv to help - with querying the - available plugins and the file formats/protocols they support -2008-07-14 20:11 robert - * Added missing ac3d supportsExtensions() constructor +Sun, 16 Dec 2007 17:57:19 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "Some clients at my new job noticed that picking did not work with the osg::Capsule subclass of osg::Shape in an osg::ShapeDrawable. Other shapes worked fine. So I have fixed this. Code attached.My modification is in the PrimitiveShapeVisitor, and is based on the +DrawShapeVisitor - I added methods called createCylinderBody and +createHalfSphere, and used them in apply(Cylinder&) and +apply(Capsule&). In my testing they work fine, tested even with +transforms and moving around the scene. +" -2008-07-14 08:48 robert - * Added initial cut at plugin query code -2008-07-13 22:18 robert +Sun, 16 Dec 2007 17:53:16 +0000 +Checked in by : Robert Osfield +Added check to make set up a sequencegroup only happen when required. - * Converted plugins to use the new - supportsExtension()/supportsOptions/supportsProtocl() methods - to help enable better querying of supported features +Sun, 16 Dec 2007 17:46:57 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "osgSim::BlinkSequence has sequenceGroup unitialized by default (=NULL ref_ptr). By looking at the code I figured out that unset sequenceGroup is completely correct and thus allowed.But writing BlinkSequence with empty sequence group caused a crash when IVE was accessing baseTime from NULL address. + +Atttached is a fix for this situation. +" -2008-07-13 15:24 robert - * Added new ReaderWriter methods for recording what protocols, - extensions and options are - support by ReaderWriters -2008-07-13 12:34 robert +Sun, 16 Dec 2007 17:41:46 +0000 +Checked in by : Robert Osfield +From Wojiech Lewandowski, "There was a bug in ShadowMap camera view matrix computation. View matrix was wrong when light was directional and shadowed scene was not centered at zero coord. I fixed that and also modified cast distance to much smaller value. With former range it was possible to generate shadows with lowest LODs. " - * From Paul Martz, removed uneccessary libraries from link line +Sun, 16 Dec 2007 17:33:05 +0000 +Checked in by : Robert Osfield +Fixed HeightField coordinates set up -2008-07-12 17:44 robert +Sun, 16 Dec 2007 17:01:40 +0000 +Checked in by : Robert Osfield +Added intializers. - * Updated date for 2.5.4 release +Sun, 16 Dec 2007 16:18:58 +0000 +Checked in by : Robert Osfield +Added support for automatically setting the coordinate system of a shapefile by reading associate .prj file -2008-07-12 17:30 robert +Sun, 16 Dec 2007 13:29:02 +0000 +Checked in by : Robert Osfield +Added parsing of parameters to Viewer constructor. - * Added an OSG_EXPORT +Sun, 16 Dec 2007 13:25:40 +0000 +Checked in by : Robert Osfield +Added StateSetManipulator for testing purposes, and fixed typo -2008-07-12 16:11 robert +Sun, 16 Dec 2007 13:20:38 +0000 +Checked in by : Robert Osfield +Removed used of ref_ptr<>'s internally to avoid ciricular calls on destruction. - * Updated Authors for dev release +Sun, 16 Dec 2007 12:36:52 +0000 +Checked in by : Robert Osfield +Added initilizers of variables to FreeTypeFont3D constructors.Removed unused FreeTypeFontBase class -2008-07-12 15:29 robert - * Updated ChangeLog for dev release -2008-07-12 12:00 robert +Sat, 15 Dec 2007 17:16:11 +0000 +Checked in by : Robert Osfield +Fixed handling of DISPLAY variable, and mapped the rest of Producer config settings - * From Doug McCorkle, "Attached is patch that corrects/improves the - following issues with the OBJ loader: - - 1. Added options to control wether the osgUtil::Tessellator or - osgUtil::TriStripVisitor are run. By default they still run just - as before. - 2. Added support for the Emissive material. The data was being - read from the mtl file but was never being applied to the model. - 3. This is the main bug addressed, when a model is read in with - an alpha value specified like: - - newmtl Material__8 - Ns 24 - d 0.33 - illum 2 - Kd 0.204 0.204 0.204 - Ks 0 0 0 - Ka 0.153 0.153 0.153 - - where the alpha value is d. The loader would then overwrite the - alpha value when reading the diffuse, specular, and ambient - colors. I have changed all the material color readers to only set - the values they read and to use the default colors specified in - the constructor of the obj class. With these changes, the obj - reader now handles opacity correctly if the alpha value is - specified before the material colo" +Sat, 15 Dec 2007 17:15:19 +0000 +Checked in by : Robert Osfield +Commented out rendendent warnings -2008-07-12 11:19 robert +Sat, 15 Dec 2007 17:15:05 +0000 +Checked in by : Robert Osfield +commented out rendudent warning - * Cleaned up osgkdtree example +Sat, 15 Dec 2007 15:22:00 +0000 +Checked in by : Robert Osfield +Added setting of ambient bias uniform -2008-07-11 20:01 robert +Sat, 15 Dec 2007 15:19:18 +0000 +Checked in by : Robert Osfield +Added separate unform variable to keep track of abmient contribution. - * Updated version numbers for dev release +Sat, 15 Dec 2007 15:17:51 +0000 +Checked in by : Robert Osfield +Tweaked the abmient lighting contribution so that the OpenGL vertex lighting has the ambient light source switched off, and use the fragment shader to add this contribution back in. -2008-07-11 19:52 robert +Fri, 14 Dec 2007 17:40:11 +0000 +Checked in by : Robert Osfield +Refectored the loading of Locator out into its own separate file - * From Adrain Egli, "i added a default scene with 7 different - draggers attached. it's more easy to test the draggers." +Thu, 13 Dec 2007 17:51:43 +0000 +Checked in by : Robert Osfield +Added Locator::s/getTransformScaledByResolution(bool) to assist with VPB integration -2008-07-11 19:43 robert +Thu, 13 Dec 2007 16:06:02 +0000 +Checked in by : Robert Osfield +Warning fixes - * From Christophe Loustaunau, "For our application, we need to - write tiff file in floats. I have change a little bit the - readerWritterTiff : - It check the data type of the image ( img.getDataType() ) and if - it's GL_FLOAT :It save the tiff with float values. - Otherwise it does the same thing as before." +Thu, 13 Dec 2007 15:24:42 +0000 +Checked in by : Robert Osfield +From Andy Skinner, build fixes for Solaris -2008-07-11 19:23 robert +Thu, 13 Dec 2007 15:23:21 +0000 +Checked in by : Robert Osfield +Convert tabs to four spaces - * From Liang Aibin, " In lastest svn version of OSG, the .ive - plugin missing osg::Light, it - does not process I/O for osg::Light. Now I have fixed it as - follows: - - 2. In DataInputStream.cpp, I add support code in - DataInputStream::readStateAttribute - for osg::Light. - - 3. In DataOutputStream.cpp, I add support code in - DataOutputStream::writeStateAttribute - for osg::Light. - " +Thu, 13 Dec 2007 14:26:03 +0000 +Checked in by : Robert Osfield +Fixed memory leak -2008-07-11 17:46 robert +Thu, 13 Dec 2007 14:16:51 +0000 +Checked in by : Robert Osfield +Updated the shapefile attribute IO so that its more streamlined. - * From Joakim Simmonson, - "Opcodes.h: - * Added INVALID_OP as -1 in the Opcodes enum. Note that - INVALID_OP is not an actual opcode defined in the OpenFlight - format. The purpose of INVALID_OP is to mark an opcode variable - as invalid or uninitialized. - - ReaderWriterFLT.cpp: - * The header node is returned if it exists, even if the file does - not contain a node hierarchy. The old behaviour returned a - ERROR_IN_READING_FILE error. - * Changed opcodes initialized to -1 to the new enum value - INVALID_OP." +Thu, 13 Dec 2007 12:30:31 +0000 +Checked in by : Robert Osfield +Added copy operator to ShapeAttribute to prevent problems when assigned them or use within a vector -2008-07-11 17:41 robert +Wed, 12 Dec 2007 17:59:06 +0000 +Checked in by : Robert Osfield +Added a osgViewer::setSceneData(ref_ptr) method. - * From Joakim Simmonsson, fixed various spelling typos in comments +Wed, 12 Dec 2007 17:48:20 +0000 +Checked in by : Robert Osfield +Added new setFont(ref_ptr<>) variants to Text and Text3D -2008-07-11 17:35 robert +Wed, 12 Dec 2007 17:04:48 +0000 +Checked in by : Robert Osfield +From Serge Lages, introduce readRef*File() methods which pass back ref_ptr<> rather than C pointers. - * From Mathias Froehlich, "Due to the recent data variance - changes/discussion: - Change the ac3d loader that can as such only deliver static - models to set the - data variance to static for the returned model. - " +Wed, 12 Dec 2007 16:56:28 +0000 +Checked in by : Robert Osfield +Updated copyright notices -2008-07-11 17:07 robert +Wed, 12 Dec 2007 16:55:13 +0000 +Checked in by : Robert Osfield +From Andy Skinner, build fixes for Solaris. - * Increased the buffer and fixed the buffer calculation when moving - backwards into objects +Wed, 12 Dec 2007 11:57:03 +0000 +Checked in by : Robert Osfield +Added std:: infront of sort call -2008-07-11 16:51 robert +Wed, 12 Dec 2007 10:47:58 +0000 +Checked in by : Robert Osfield +Added const to operators. - * Updated KdTree code to refect new cleaned up API +Wed, 12 Dec 2007 10:35:47 +0000 +Checked in by : Robert Osfield +Added std:: in front of find enties -2008-07-11 16:50 robert +Wed, 12 Dec 2007 09:48:39 +0000 +Checked in by : Robert Osfield +From Serge Lages, "Here is a new modification to CMake adding an option (OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS) to specify if we want to generate or not the manifest files under VS8 for the plugins and the wrappers. It seems that the manifests are needed if we try to load dynamically a core OSG dll." - * Tweaked the KdTree intersection performance testing code block +Wed, 12 Dec 2007 09:45:29 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Function declaration returns a bool, function body was returning a pointer. Changed body to return (pointer != NULL)." -2008-07-11 16:48 robert +Tue, 11 Dec 2007 17:19:40 +0000 +Checked in by : Robert Osfield +From Cyril Brulebois, removed redundent typedef. - * Updated wrappers +Tue, 11 Dec 2007 17:01:53 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-07-11 16:48 robert +Tue, 11 Dec 2007 16:42:10 +0000 +Checked in by : Robert Osfield +From Brede Johnansen, support for continuation records. - * Moved the building and intersecting of the KdTree into the .cpp, - and cleaned up - the header to ready it for wider usage +Tue, 11 Dec 2007 16:34:37 +0000 +Checked in by : Robert Osfield +From Karl Heijdenberg, moved set/getFrameStamp() from osgViewer::View to osg::View. -2008-07-10 15:50 robert +Tue, 11 Dec 2007 15:55:02 +0000 +Checked in by : Robert Osfield +From Mike Garrity, "There was an on again/off again thread on OSG users about creating subclasses of osg::Array that referenced data stored an application's internal data structures. I took a stab at implementing that and ran into a couple of downcasts in Geometry.cpp. Enclosed is my take at fixing those along with a simple example of how to do this." - * Streamlined KdTree implementation +Tue, 11 Dec 2007 14:48:51 +0000 +Checked in by : Robert Osfield +Added missing copyright notices -2008-07-09 19:43 robert +Tue, 11 Dec 2007 14:39:15 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Attached is a change to the PBuffer initialsation code that checks for the GLX version before issuing commands that require GLX-1.3.This prevents a crash with open source drivers on linux. +" - * Updated wrappers -2008-07-09 19:42 robert - * Cleaned up KdTree implementation +Tue, 11 Dec 2007 14:06:45 +0000 +Checked in by : Robert Osfield +From Roger James, "The changes are as follows:-1. DAE object no longer held onto by plugin. +2. Filename to URI conversion now handled internally by plugin. +2. User can supply an external DAE object for use by the plugin. +3. User can supply a std:string object for the plugin to return the URI of +the document just processed. +4. User can supply a std::string to receive the unit name information from +the document just read in. (e.g. meters, inches, etc.) +5. User can supply a float to receive the metric conversion factor from the +document just read in. +6. User can supply an enum to receive the up axis orientation information +from the document just read in. +7. Material transparency can be both read and written. +8. User can supply an experimental GoogleMode option on output. The plugin +will try to emulate the way Sketchup specifies transparency (i.e. the +inverse of what it should be!). I am still struggling to get GE to +understand transparency, anyone know what it expects? +9. Rudimentary support for Collada effect parameters (newparam, setparam, +param) on input. Basic nVidia FX Composer dae documents can now be read. -2008-07-09 19:41 robert +" - * Reordered KdLeaf/KdNode so that the first element to be accessed - is first in the data structure -2008-07-09 19:40 robert - * Introduced code for doing dummy test traversals - used for - benchmarking KdTree code. +Tue, 11 Dec 2007 12:35:10 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-07-09 19:28 robert +Tue, 11 Dec 2007 12:32:31 +0000 +Checked in by : Robert Osfield +From Tim More, "This submission tries to optimize redundant compilation of StateSets and Drawables in the DatabasePager. The practical effects of these are to greatly reduce startup time and the time to load an individual scenery tile in FlightGear.- From my log message: - * Added range of camera manipulators and a center of screen test - intersection that - is insticated by pressing 'c' key + Minimize the number of StateSets and drawables that are compiled by checking + if they have already been compiled or will be elminated by the + SharedStateManager. -2008-07-09 19:26 robert + Move the sorting of the dataToCompile queue out of compileGLObjects + into the man pager run function. - * Introduce a intersecion performance testing code path, #if def'd - out for now. + Change the SharedStateManager to use maps instead of vectors." + -2008-07-09 12:37 robert - * Updated wrappers -2008-07-08 18:02 robert +Tue, 11 Dec 2007 11:57:32 +0000 +Checked in by : Robert Osfield +From Joseph Steel, "he change is to initializeExtensionProcs() to verify the version of the OpenGL implementation before attempting to get the MaxTextureCoords parameter." - * Fixed set method +Tue, 11 Dec 2007 11:55:15 +0000 +Checked in by : Robert Osfield +From Mathias Froelich, "I have cleaned up the state set handling of the osg::ClipNode. Previously the complete StateSet was cleared, even the non clipping releted state attributes and modes in this stateset on a call to setLocalSetateSetModes. With this change only those modes/attributes are changed that need to be changed. That is, if a clip plane is removed from the ClipNode, only this assiciated mode is removed from the state set, instead of throwing away the whole state set.In this way we have less surprising results if the state set of a clip node is +used for more state than just the clip state. +" -2008-07-08 17:35 robert - * Added optional control of whether to use KdTrees for - intersections -2008-07-07 20:27 robert +Tue, 11 Dec 2007 11:42:02 +0000 +Checked in by : Robert Osfield +From Mathias Froechlich, "I have extended the StateSet api with aStateSet::removeAssociatedModes(const StateAttribute*) - * Implement hierachy culling in KdTree::intersect(..) +and a -2008-07-07 14:27 robert +StateSet::removeAssociatedTextureModes(unsigned, const StateAttribute*) - * Improved the handling of KdTree intersections +call. These funktions are just missing for a complete api IMO." -2008-07-07 13:21 robert - * Implemented intial KdTree triangle intersection code, but without - culling implemented -2008-07-07 10:46 robert +Tue, 11 Dec 2007 11:37:03 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, "it seems that include/osgParticle/BoxPlacer was created from the SectorPlacer file. The code works well but the SectorPlacer comments stayed in the new file. I have altered those comments so they now contain valid information for the BoxPlacer class and the doxygen generated documentation is correct." - * Added KdTreeBuilder calls into FindCompileableGLObjectsVisitor, - and an alternative - path that explictly calls the KdTreeBuilde when required in cases - when no pre compile of GL objects is required. -2008-07-07 09:40 robert - * Changed types to avoid warnings under Windows +Tue, 11 Dec 2007 11:21:13 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, "Attached is a fix allowing removal of shaders from a program after it is first compiled. It will also allow new shaders to be attached after the program is first compiled." -2008-07-06 18:27 robert +Mon, 10 Dec 2007 20:56:26 +0000 +Checked in by : Robert Osfield +From Sherman Wilcox, "In ESRIShapeParser.cpp, wasn't closing the file handle. Added: if(fd) + { + close(fd); + fd = 0; + } - * Changed the DatabasePager so that it bypasses the - Registry::readNode() method and calls - readNodeImplementation() directly to avoid calling the - KdTreeBuilder. - - Updated wrappers. -2008-07-06 12:14 robert +to the constructor." - * Moved KdTree build code into osg::KdTree -2008-07-05 17:29 robert - * Added handling of co-incident start and end points. -2008-07-05 16:39 robert +Mon, 10 Dec 2007 20:36:34 +0000 +Checked in by : Robert Osfield +From Eric Wing, "For osgviewerCocoa, a very simple change to allow toggling between fullscreen mode and back between views. (To activate, double click on the view to toggle.) It demonstrates/uses the new one-liner fullscreen method introduced in Leopard. Code will still compile and run in pre-Leopard (thanks to Obj-C dynamic/late binding), but code path is treated as a no-op in those cases." - * Ported intersection code to use new - osgUtil::LineSegmentIntersector/IntersectionVisitor. +Mon, 10 Dec 2007 20:35:50 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-07-04 19:16 robert +Mon, 10 Dec 2007 20:33:22 +0000 +Checked in by : Robert Osfield +From Richard Schmidt, fix on ordering to be standard OpenGL way. - * Converted TerrainManipulator to use osgUtil::InterectionVisitor - rather than the - old IntersectVisitor +Mon, 10 Dec 2007 20:30:05 +0000 +Checked in by : Robert Osfield +From Richard Schmidt, "attached you will find a set of small fixes and features.CullVisitor/SceneView: -2008-07-04 17:02 robert +*Feature: This version supports multiple clearnodes in the graph, one per renderstage. - * Added KdTree intersection support into LineSegmentIntersector + -2008-07-04 15:57 robert +Text: - * Added prelimnary KdTree data structure and automatic kdtree build - support - into osgDB::Registry/osgTerrain so that newly created subgraphs - can have - KdTree built on all osg::Geometry automatically on load/creation. +*Feature: Performance Enhancement when calling SetBackdropColor -2008-07-04 11:51 robert + - * Moved vertex indicies method into a single block with deprecated - doc lines +Material: -2008-07-03 17:18 robert +*Fix: OpenGL calls are now made according to the OpenGL Standard - * Introduced bounding boxes to KDLeaf and KDNode structs +" -2008-07-03 15:49 robert - * Added new data structure + build algorithm that places triangles - into leaves - without being shared, but with varying the boundaries of leaves - so that they - may overlap. -2008-07-03 15:01 robert +Mon, 10 Dec 2007 20:27:06 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "attached are some fixes and tweaks I made to the .obj loader: - Material class contained both 'shininess' and 'Ns' member variables - 'Ns' and 'Ni' are initialized to 0 ('Ni' is unused at the moment) - only 'Ns' was read from .mtl file but 'shininess' was used for osg::Material - 'illum' was read from .mtl file but never used; it is now used as follows -- illum==0 -> no osg::Material created/attached therefore no lighting -- illum==1 -> osg::Material specular is set to black -- illum==2 (default) -> specular read from .mtl file is used - 'map_Kd' and 'map_Ks' may contain additional arguments (e.g. '-s 1 1 1'), these are now skipped over and the texture filename is properly extracted " - * From Mario Valle, "xed the following warning on Linux 64 bits - Athlon: - - /users/mvalle/OSG/OpenSceneGraph/src/osg/BufferObject.cpp: In - member function `virtual void - osg::ElementBufferObject::compileBuffer(osg::State&) const': - /users/mvalle/OSG/OpenSceneGraph/src/osg/BufferObject.cpp:600: - warning: cast to pointer from integer of different size" +Mon, 10 Dec 2007 19:51:33 +0000 +Checked in by : Robert Osfield +From David Callu, IO support for Text3D -2008-07-03 14:59 robert +Mon, 10 Dec 2007 19:49:17 +0000 +Checked in by : Robert Osfield +From David Callu, Text3D - * From Mario Valle, removed extraneous spaces +Mon, 10 Dec 2007 17:30:18 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." -2008-07-03 11:23 robert +Mon, 10 Dec 2007 16:21:13 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added header guards +Mon, 10 Dec 2007 16:14:21 +0000 +Checked in by : Robert Osfield +Added osgViewerGetVersion() usage to force Windows to link osgViewer. -2008-07-03 11:22 robert +Mon, 10 Dec 2007 15:15:56 +0000 +Checked in by : Robert Osfield +From David Callu, added support of 3D text to osgText and associated plugins. - * Refactored example so that the example will be able to run - different kdtree data strucutres/algorithms. +Mon, 10 Dec 2007 12:45:16 +0000 +Checked in by : Robert Osfield +From David Callu, added support for automatically reading associate dbase files -2008-07-03 11:07 robert +Mon, 10 Dec 2007 12:00:09 +0000 +Checked in by : Robert Osfield +Char char[] to char* with new allocation. - * From Eric Sokolowsky, "The check for Leopard to build 4-way - binaries by default was broken. Here is an updated CMakeLists.txt - file to fix the problem." +Mon, 10 Dec 2007 11:34:00 +0000 +Checked in by : Robert Osfield +Refactored record allocation to fix build errors under Windows. -2008-07-03 10:24 robert +Mon, 10 Dec 2007 11:20:22 +0000 +Checked in by : Robert Osfield +Added export macro for windows build - * Implement an experiemental triangle kdtree building support +Mon, 10 Dec 2007 10:16:13 +0000 +Checked in by : Robert Osfield +Added include to fix compile errors under gcc 4.3 -2008-07-03 10:03 robert +Sun, 9 Dec 2007 16:38:33 +0000 +Checked in by : Robert Osfield +From Gustavo Wagner, fixed bugs in reading M records from shapefile - * Set the DataVariance on FadeText to DYNAMIC to reflect their - nature +Sun, 9 Dec 2007 16:29:18 +0000 +Checked in by : Robert Osfield +From Gino van den Bergen, "I've added the following features to the OSG VRML plugin: * Support for Box, Sphere, Cone, and Cylinder. These nodes are converted to osg::Geometry conform the VRML97 spec. * Backface culling is enabled/disabled according to the "solid" flag for geometries that are converted from IndexFaceSets. * PROTO instances can now be used for "appearance" and "geometry" fields in a Shape node.The file ReaderWriterVRML2.cpp is adapted for the latest stable public +release: -2008-07-02 10:00 robert +http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.2.0 - * Updated wrappers +The changes where needed for being able to read VRML file which are +output by VMD (http://www.ks.uiuc.edu/Research/vmd/). A sample VRML file +is enclosed in this submission. -2008-07-02 09:25 robert +The plugin has been tested against a number of VRML samples that include +texturing. The texturing is found to be VRML97 compliant for all added +geometry nodes. +" - * Introduced support for UNSCPECIFIED and STATIC DataVariance of - StateSet/Textures -2008-07-01 19:04 robert - * From Colin McDonald, "There is a problem reading bmp files - containing a colour palette, - due to an incorrect scan line length calculation. Attached is a - fix, - and a little bmp file which demonstrates the problem." +Sun, 9 Dec 2007 16:23:19 +0000 +Checked in by : Robert Osfield +Removed redundent OpenFlightOptimizer -2008-07-01 18:37 robert +Sun, 9 Dec 2007 16:14:07 +0000 +Checked in by : Robert Osfield +From Ralf Karn, fixed "invalid enumerant" warning on TEXTURE_2D_ARRAY_EXT initialization - * From Lilin Xiong, "I change ive plugin a little for osgText - inout, so the ive plugin supports backdrop setting, - and Text3D, FadeText inout : - - 1. in DataInputStream.cpp, add 1286--1293 lines; - 2. in Text.cpp, add some code for text's Backdrop setting; - 3. in IveVersion.h, add line 39, increase the VERSION to - VERSION_028(line 41) - 4. in ReadWrite.h, add line 146,147 - 5. add file FadeText.h, FadeText.cpp, Text3D.h, Text3D.cpp." +Sun, 9 Dec 2007 16:06:14 +0000 +Checked in by : Robert Osfield +From Mihai Radu, "After someone asked for a fix for non-textured object appearing black with the shader for textured objects. This works very well in cases where there could be a mix of textured and non-textured objects in the scene, and it makes the initialization more robust. The idea is from PSSM, to add a 1pixel texture to the main rendering as to provide white for any objects missing textures." -2008-07-01 13:56 robert +Sun, 9 Dec 2007 16:01:29 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added Vec3Array arrange pointer to avoid dynamic cast +Sun, 9 Dec 2007 15:43:49 +0000 +Checked in by : Robert Osfield +From David Callu, added DBase attribute support for shapefiles -2008-07-01 09:40 robert +Sun, 9 Dec 2007 14:54:02 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Mathias Froehlich, "It appears not to be sufficient to set a - cmake variable to get a define in - such a config file. Instead set that variable to 1. Also included - a small compile fix, that appears to be required than ..." +Sun, 9 Dec 2007 12:19:06 +0000 +Checked in by : Robert Osfield +From Aderian Egli, changed the window dimension clamping code to work independantly for width and height. -2008-06-30 16:53 robert +Sat, 8 Dec 2007 17:10:07 +0000 +Checked in by : Robert Osfield +From Mario Guimaraes, "Currently, in the StateSet::merge method, the rhs state attributes and modes are not merged into the lhs state when the rhs is PROTECTED. The changes I'm providing here address this problem." - * Added guards against FBO not being supported/setup +Sat, 8 Dec 2007 17:04:52 +0000 +Checked in by : Robert Osfield +From Serge Lages, "Hi Robert,You were right about the CMAKE_MODULE_LINKER_FLAGS option for CMake, so here is a modification allowing to not generate the manifest files for the plugins making them a lot more easy to redistribute. I have also made the same modification to the wrappers as they are also put into the osgPlugin folder when generated. +" -2008-06-29 13:41 robert - * Updated README date for 2.5.3 dev release -2008-06-29 12:22 robert +Sat, 8 Dec 2007 17:00:38 +0000 +Checked in by : Robert Osfield +from Paul Matz, "Understood. Well, I think it's reasonable to assume that the non-env var case is the more tested case, and therefore it is correct to set _supportsVertexBufferObjects to the same value as _fastPath. So here's a change that does the same thing for the env var case." - * Changed the Optimizer::StateVisitor so that it can individually - decide whether - to optimize away duplicate state with dynamic, static and - unspecified DataVarience. By default - the code now optimizes away duplicate state with either static - and unspecied state, previously - it was just handling static state. +Sat, 8 Dec 2007 16:52:27 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, Anders Backman and Robert Osfield,both Jeremy and Anders added static build support as an option, but one was +for Unix and one for Windowsm, but the two mods were also inconsitent in naming +and implementation. I have had a bash at merging them both, but don't know yet +if these changes will work yet on either configuration... user testing will tell... -2008-06-28 16:59 robert - * Added realize of new graphics contexts to handle new views being - added with - unrealized windows -2008-06-27 19:40 robert - * Changed back to use an std::vector<> rather than a std::list for - RequestQueue to - avoid member template problems under Solaris. +Sat, 8 Dec 2007 16:37:05 +0000 +Checked in by : Robert Osfield +From Peter Hrenka, "Due to popular demand I would like to submit this enhanced version of PolytopeIntersector.New features of PolytopeIntersector : -2008-06-27 18:59 robert +* Dimension mask: The user may specify the dimensions of the + primitives to be tested. Checking polytope-triangle and + polytope-quad intersections is rather slow so this can + be turned off. +* Reference plane: The resulting intersections are sorted + by the distance to this plane. - * Refactored the sort of the requestQueue so that there is single - code path for doing the sort. +New memebers of PolytopeIntersector::Intersection : -2008-06-27 16:47 robert +* distance: Distance of localIntersectionPoint to the reference plane +* maxDistance: Maximum distance of all intersectionPoints to the + reference plane. +* intersectionPoints: The points intersecting the planes of the polytope + or points completely inside the polytope. +* localIntersectionPoint: arithmetic mean of all intersection points +* primitiveIndex: Index of the primitive that intersected - * From Mathias Froehlich, "Update to the configure check for msvc - 7.1. - MemoryBarrier() is used in the implementation, so it should be - checked. - This in effect disables the faster atomic ops on msvc 7.1 and - older, even if - only the MemoryBarrier() call is missing. But it ensures for the - fist cut - that it will build everywhere. If somebody cares for msvc 7.1 - enough and has - one for testing installed, he might provide the apropriate - defines to guard - that MemoryBarrier() call. - - I tested that msvc8 32/64bit still passes the configure tests and - compiles. - " -2008-06-27 12:44 robert +I added some more output to the example osgkeyboardmouse." - * Simplified the MixinVector class so that it no longer supports - custom allocators, - instead just uses std::vector<>'s default allocators. -2008-06-27 12:35 robert - * Moved the apply(&) default implementations from the header into - the NodeVisitor.cpp, - and changed the casts to use static_cast<>. +Sat, 8 Dec 2007 15:46:19 +0000 +Checked in by : Robert Osfield +From David Cullu and Robert Osfield, David addded a new style of OSG integration with QT by sublcassing from QTWidget and using osgViewer to create the graphics context, Robert added integration of this codes with the original AdapterWidget implementation still available by default. The new implementation can be accessed by running: osgviewerQT cow.osg --QOSGWidget + -2008-06-27 11:47 shuber - * from Stephan Huber: updated XCode project -2008-06-27 10:17 robert - * From Andre Normann, "with version 8504, I am not able to compile - osgwrappers under Windows, because there are some DLL export - macros missing. I fixed it and put the files in the attached zip - file. - " +Sat, 8 Dec 2007 15:32:16 +0000 +Checked in by : Robert Osfield +From Daniel Larimer, "There was a error with QTUtils.h when compiling on HFS case-sensitive file system. The #include line needs to be replaced with #include to avoid compile problems on some systems. -2008-06-26 18:34 robert +Fri, 7 Dec 2007 13:28:02 +0000 +Checked in by : Robert Osfield +From Tony Horrobin, "Attached is a small fix for the openflight loader with regard to road segment and construction records.It just uses the id field to set the name of the osg node as with other +types." - * From Paul Martz, "The method - IntersectionVisitor::apply(osg::PagedLOD&) appears to attempt to - identify a "highest res" child of the PagedLOD and only allow - intersection on that child. The implementation appears to be - flawed in two cases: - - 1) The "highest res" child is assumed to be the child with index - "getNumFileNames()-1" or "getNumChildren()-1". As a result, - PagedLODs that do not sort children from furthest to nearest will - intersect with the wrong child. (see attached "case1.osg" to - reproduce this problem.) - - 2) The code assumes there is only one highest res child. As a - result. PagedLODs with multiple children at the same highest res - range can only intersect one of those children. ("case2.osg" - demonstrates this issue; you can only pick the quad on the - right.) - - I've attached a modified IntersectionVisitor.cpp that attempts to - resolve these issues. It identifies a highest res range based on - the range mode, then continues traversal on all valid children - corresponding to that range description. Only in the case of a - malformed PagedLOD does the code fall back to getting the last - child in the list. - " -2008-06-26 18:06 robert - * From Morten Haukness, "When cloning effects osg crashes because - the copy constructur tries to run av pure virtual method - (setUpEmitterAndProgram). The right thing to do when cloning an - effect is to run the inherited version og buildEffect and - setUpEmitterAndProgram. - - " +Fri, 7 Dec 2007 13:19:53 +0000 +Checked in by : Robert Osfield +From Paul Martz, minor typo fixes in notify messages -2008-06-26 16:45 robert +Thu, 6 Dec 2007 17:53:22 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, added extra event handlers - * Changed the removeCamera() method so that it now actively calls - releaseGLObjects() - on all children of a camera that aren't shared with other cameras - on that context. - - This change fixes problems with allocating and deleting views. +Thu, 6 Dec 2007 17:44:56 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "The bmp writer crashes in certain cases. It happens when the computed size of the image data is greater than the actual image size. This causes the memcpy call to go out of the array bounds. I modified the code so that it copies the data during the iteration, instead of memcpy'ing. This fixes the problems i was having.If you are curious, the writer was crashing when trying to write an +RGB image that was 2050 x 1280. You might be able to reproduce it by +allocating an empty image of that size and writing it to a file." -2008-06-26 15:06 robert - * From Mathias Froehlich, updated CMakeLists.txt to build the - Atomic.cpp -2008-06-26 13:09 robert +Thu, 6 Dec 2007 17:41:20 +0000 +Checked in by : Robert Osfield +From Hautio Jari, "Current version of GraphicsWindowWin32 allows resize to zero height window. This breaks rendering in for example MFC SDI applications and in MFC MDI applications if user resizes the window so that client area has zero height. Current safeguard for minimized window:LRESULT GraphicsWindowWin32::handleNativeWindowingEvent( HWND hwnd, UINT +uMsg, WPARAM wParam, LPARAM lParam ) +... + ///////////////// + case WM_MOVE : + case WM_SIZE : + ///////////////// +... + if (clientRect.bottom==0 && clientRect.right==0) +... - * From Eric Sokolowski, added enforcement of CMake 2.6.0 under OSX. +does not cover this situation. In these situations clientRect.bottom = 0 +and clientRect.right > 0. -2008-06-26 13:08 robert +Quick fix to this is relax condition: + if (clientRect.bottom==0 || clientRect.right==0) - * From Eric Sokolowski, Cmake support for osgviewerCocoa +Modified file is attached. -2008-06-26 12:08 robert +Tested with osgviewerMFC from 2.2.0 release (Windows XP sp2) - * From Mathias Froehlich, build fixes for various unices +Before fix: + - execute from command line osgviewerMFC.exe cow.osg. + - the cow is rendered nicely. + - resize window to zero height by dragging from bottom border upwards. + - resize window back to original height + - just blue screen, no cow -2008-06-26 10:33 robert +After fix: + - execute from command line osgviewerMFC.exe cow.osg. + - the cow is rendered nicely. + - resize window to zero height by dragging from bottom border upwards. + - resize window back to original height + - the cow is where it is supposed to be. +" - * From Mathias Froehlich, added do not edit comments to Config.in - so that the autogenerated - Config files have an appropriate warning notice -2008-06-26 10:27 robert - * From Mathias Froechlich, "Attached is a change to that atomic - stuff to move the win32, msvc - implementation of the atomic increment and decrement into a - implementation - file. - This way inlining and compiler optimization can no longer happen - for these - implementations, but it fixes compilation on win32 msvc targets. - I expect - that this is still faster than with with mutexes. - - Also the i386 gcc target gets atomic operations with this patch. - By using an - implementation file we can guarantee that we have the right - compiler flags - available." +Thu, 6 Dec 2007 17:31:00 +0000 +Checked in by : Robert Osfield +From Serge Lages, "Here are some modifications to the DatabasePager, with the possibility to :- Get or set the target number of PagedLOD children to remove per frame. +- Get or set the minimum number of inactive PagedLOD to keep. -2008-06-23 15:11 robert +Corresponding environment variables have been added too. +The default values reproduce the previous DatabasePager behavior." - * Fixed pedantic warning -2008-06-23 14:51 robert - * From Mathias Froehlich, "fixed win32/win64 configure check and - win32/win64 - atomic related compile failures with msvs2005. Attached changes - to make win32 - really use the atomic stuff. There are pointer typecast problems - and some - historic alignment restrictions that I just took from a previous - similar - implementation of mine without looking deep enough. " -2008-06-23 11:14 robert +Thu, 6 Dec 2007 17:28:29 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, fixes for toggle fullscreen on gnome desktop - * From Mathieu Marache, "Suibject: CMakeList ADD_DEFINITION for - CMAKE_DEBUG_POSTFIX broken - I needed a -DCMAKE_DEBUG_POSTFIX="d" not a - -D"CMAKE_DEBUG_POSTFIX=d". - - This corrects the build for the CMake 2.4 and 2.6 series - - The error was in compiling osgDB/Registry.cpp - " +Thu, 6 Dec 2007 17:07:04 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "n examples/osgfadetext/CMakeLists.txt osgSim as dependency is missing." -2008-06-23 10:18 robert +Thu, 6 Dec 2007 17:03:47 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Add missing includes. Fails on hp-ux." - * Commented out the explict install of the Config files as - including these files into - the header list allows the normal Cmake install support to - install them. +Thu, 6 Dec 2007 17:01:22 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Attached is a changed version of osgunittests.cpp. The __FUNCTION__ macro/string value is not portable. Instead the functions name is just put into the string." -2008-06-23 09:57 robert +Thu, 6 Dec 2007 16:50:43 +0000 +Checked in by : Robert Osfield +From Wojiech Leandowski, fixed the hardwiring of archive extensions to 4 charaters - * From Eric Sokolowsky, "I have made a number of changes intended - to get a few things working better on OSX. However, since I'm - still pretty new at Mac development and cmake I'm not entirely - certain that the changes I have made are benign on other - platforms. I have tested these changes on Leopard with CMake 2.6 - generating Xcode 3.0 projects, compiling on ppc and i386 for 10.5 - and 10.4, and on Linux (CentOS) and everything still seems to - work ok. Here are the changes I made (against OSG svn as of this - afternoon): - - - Added osgviewerCocoa example to APPLE builds - - Fixed corrupt Xcode project generation with CMake 2.6 dealing - with ADD_DEFINITIONS and CMake Policy CMP0005 on Leopard - - Resolved CMP0006 warning for examples and programs by setting - BUNDLE DESTINATION to same as RUNTIME DESTINATION with CMake 2.6 - - Fixed freetype plugin on Leopard to avoid OpenGL linking - problem - - Figured out how to use a custom Info.plist included in the - project (see osgviewerCocoa application CMakeLists.txt)" +Thu, 6 Dec 2007 10:04:25 +0000 +Checked in by : Robert Osfield +Fixed crash in cfg by rearranging the code blocks so the codes that use the graphics context are only called when a graphics context is successfully aquired. -2008-06-23 08:06 shuber +Thu, 6 Dec 2007 09:22:41 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, added osgViewer dependency for OSX build - * From Stephan Huber: added missing config files and updated - xcode-project +Wed, 5 Dec 2007 18:32:15 +0000 +Checked in by : Robert Osfield +Changed WIN32 guard to _WIN32_IMPLEMENTATION to attempt to avoid Win32 build error -2008-06-21 17:56 robert +Wed, 5 Dec 2007 11:29:58 +0000 +Checked in by : Robert Osfield +Removed debugging line. - * Quietened down debug info +Wed, 5 Dec 2007 11:23:27 +0000 +Checked in by : Robert Osfield +From Cedric Pinson, first cut at Producer .cfg camera configuration file support. -2008-06-21 17:50 robert +Tue, 4 Dec 2007 14:46:46 +0000 +Checked in by : Robert Osfield +Added support for new double Vec*Array classes in various functors. - * Added support for X11's overrideRedirect functionality +Tue, 4 Dec 2007 14:46:08 +0000 +Checked in by : Robert Osfield +Added optional double support via new Vec3dArray support in osg::Geometry.To enable double usage set the option string "double" i.e. -2008-06-21 11:34 robert + osgviewer myshapefile.shf -O "double" + - * Converted tabs to four spaces -2008-06-20 19:52 robert - * Changed the include/osg/Config and include/OpenThreads/Config - references to use the assocaited CMake variable for these headers +Tue, 4 Dec 2007 14:44:49 +0000 +Checked in by : Robert Osfield +Added support for double Vec*Array objects -2008-06-20 19:51 robert +Tue, 4 Dec 2007 14:44:21 +0000 +Checked in by : Robert Osfield +Added double Vec*Array support - * Updated ChangeLog +Tue, 4 Dec 2007 14:43:14 +0000 +Checked in by : Robert Osfield +Added testPolytope entry -2008-06-20 17:32 robert +Sat, 1 Dec 2007 15:30:35 +0000 +Checked in by : Robert Osfield +Fixed the Polytop::setFrustum and setBoundingBox method - * From Terry Welsh, added missing MixinVector header +Wed, 21 Nov 2007 10:18:10 +0000 +Checked in by : Robert Osfield +Added a check against the makeCurrent() return type to make sure that OpenGL calls are only made if the makeCurrent() is successful. -2008-06-20 16:57 robert +Sat, 17 Nov 2007 11:50:13 +0000 +Checked in by : Robert Osfield +From Colin Dunlop, add --devices support. - * Added OSG_WINDOWING_SYSTEM cmake option string to allow toggling - between X11 and Carbon under OSX. +Tue, 13 Nov 2007 17:03:36 +0000 +Checked in by : Robert Osfield +Added support for filename only setup of CompositeLayer on reading/writing. -2008-06-20 15:50 robert +Sat, 10 Nov 2007 03:43:23 +0000 +Checked in by : Eric WING +Added missing files for qt plugin - * From Mathias Froehlich, moved optional config variables into - include/osg/Config file that - is automatically created by cmake according to its own settings. +Fri, 9 Nov 2007 20:04:08 +0000 +Checked in by : Eric WING +For osgdb_freetype: Ugh. Another fix for the cycle problem. It seems that the SDKROOT didn't necessarily solve the problem, but there were some unneeded library dependencies that weren't in my test fork which allowed my test to work, but caused SVN to fail. I have removed some of the excess libraries and it seems to build without the Q&A fix. -2008-06-20 15:49 robert +Fri, 9 Nov 2007 13:16:32 +0000 +Checked in by : Eric WING +OpenThreads Version header was mistakenly in Resources.osg Texture2DArray header was mistakenly in Resources. - * Updated ChangeLog -2008-06-20 15:28 robert +Fri, 9 Nov 2007 02:21:16 +0000 +Checked in by : Eric WING +Lots of Leopard information added. - * Changed const double* to const Matrix::value_type* to ensure - changes in Matrix type don't break the build +Thu, 8 Nov 2007 10:30:23 +0000 +Checked in by : Robert Osfield +From Colin Dunlop, added missing header (note from Robert Osfield, this submission was extracted from an inline submission so may be prone to errors). -2008-06-20 13:16 robert +Thu, 8 Nov 2007 10:30:06 +0000 +Checked in by : Eric WING +For Leopard freetype, path is $(SDKROOT)/usr/X11/lib not X11R6. - * From Terry Welsh, new flatten static transforms visitor that - duplicates subgraphs that are shared beneath differnt static - transforms - - From Robert Osfield, made a range of changes to Terry's visitor - integrating it into osgUtil::Optimizer and - changing the code to use a style more like the rest of the OSG. +Tue, 6 Nov 2007 12:07:23 +0000 +Checked in by : Robert Osfield +From Colin Dunlop, add live video stream support -2008-06-20 11:16 robert +Sun, 4 Nov 2007 16:08:05 +0000 +Checked in by : Robert Osfield +Added support for setting volume in xine plugin, manual adjustment of volume in osgmove example, and clamping to 0 to 1.0 range in quicktime plugin - * From Mathias Froehlich, made the include of bin directory for - include/OpenThreads/Config only used when doing out of source - builds +Sun, 4 Nov 2007 15:21:48 +0000 +Checked in by : Robert Osfield +Changed the include definition so that it works under Cygwin. -2008-06-20 11:11 robert +Sat, 3 Nov 2007 10:32:18 +0000 +Checked in by : Robert Osfield +Fixed bug in addSlave - * Updated version numbers for dev releases +Wed, 31 Oct 2007 12:55:59 +0000 +Checked in by : Robert Osfield +Changed the spherical display intensity map set up to use colours rather than a second texture unit. -2008-06-20 10:46 robert +Wed, 31 Oct 2007 12:55:15 +0000 +Checked in by : Robert Osfield +Added getColor method to allow easy reading of individual pixels. - * From Mathias Froehlich, "Fixes a compile of - src/osgSim/ShapeAttribute.cpp on suse 10.2." +Wed, 31 Oct 2007 11:06:33 +0000 +Checked in by : Robert Osfield +Fixed wrap mode for panoramic display. -2008-06-20 09:46 robert +Tue, 30 Oct 2007 14:17:34 +0000 +Checked in by : Robert Osfield +Changed debug message from NOTICE to INFO. - * From Melchior Franz, fixed typo on variable name +Mon, 29 Oct 2007 00:36:47 +0000 +Checked in by : Eric WING +Fix for freetype plugin to be aware of SDKs (i.e. use SDKROOT). -2008-06-20 09:42 robert +Thu, 25 Oct 2007 09:00:25 +0000 +Checked in by : Robert Osfield +Fixed the capitilization of the osgdb_osgfx plugin - * From Mathias Froehlich, add search path to enable out of source - builds to find include/OpenThreads/Config. +Fri, 19 Oct 2007 09:58:11 +0000 +Checked in by : Robert Osfield +Fixed errors is setup of VBO/EBO's. -2008-06-19 20:42 robert +Fri, 19 Oct 2007 08:42:44 +0000 +Checked in by : Robert Osfield +Fix for setting scene data after slaves have been added. - * Updated wrappers +Fri, 19 Oct 2007 08:39:07 +0000 +Checked in by : Robert Osfield +Fixed getOrCreateVertexBufferObject(). -2008-06-19 20:38 robert +Wed, 17 Oct 2007 19:01:18 +0000 +Checked in by : Robert Osfield +Removed redundent X11/Intrinsic include - * From Neil Groves, - - "I have taken the liberty of updating a few files so that there - is no longer any derivation from std::vector. I have done this by - adding a new file osg/MixinVector and by updating only two - others: osg/PrimitiveSet and osg/Array. You will notice that this - actually removes what is acknowledged as a \u2018hack\u2019 in - osg/PrimitiveSet. - - With the original code I did manage to find memory leaks with - some compiler options on VC 8 and 9, as well as Intel compiler. I - determined the leak existence by instrumenting the destructor - code, and by use of a garbage collector as a leak detector (in a - similar manner to the Firefox project). Hence in contrast to what - I said originally, it is exhibiting symptoms on at least some - platforms. - - Since I am trying to be a good OSG citizen I got out my editor - and started hacking! I have built and tested on Linux (Ubuntu) - with GCC 4.x and Windows VC 8 SP1. It appears that nothing is - broken, and that I\u2019m using less memory J" +Tue, 16 Oct 2007 19:04:10 +0000 +Checked in by : Robert Osfield +Added flv to accepted list video format for the quicktime and xine-lib plugins -2008-06-19 17:35 robert +Tue, 16 Oct 2007 19:03:43 +0000 +Checked in by : Robert Osfield +Added flv to accepted list of formats - * From Mathieu Marache, "submission for inclusion to support mpg - and avi files when using the quicktime plugin on windows" +Tue, 16 Oct 2007 19:01:25 +0000 +Checked in by : Robert Osfield +Added flv to the list of accepted movie types -2008-06-19 17:30 robert +Fri, 5 Oct 2007 11:48:41 +0000 +Checked in by : Eric WING +Forgot to bump version numbers to 2.2.0. - * From Mathias Froehlich, added support for using - OpenThreads::Atomic for thread safe ref/unref. +Fri, 5 Oct 2007 11:28:49 +0000 +Checked in by : Eric WING +Needed to remove dead header from precompiled header file. Minor fixes to readme. -2008-06-19 14:57 robert +Fri, 5 Oct 2007 10:46:46 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "since we patched our hp to an other patchlevel, I need the following to include/osg/Texture" - * from Andrew Bettison, LineStipple support for .ive +Fri, 5 Oct 2007 09:10:04 +0000 +Checked in by : Robert Osfield +From Andy Skinner, build fixes for Solaris. -2008-06-19 14:45 robert +Fri, 5 Oct 2007 09:03:51 +0000 +Checked in by : Robert Osfield +Changed the threading model to single threaded. - * From Adrian Egli, "Improvements to the PSSM implementation" +Thu, 4 Oct 2007 11:24:09 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 2.2 release -2008-06-19 14:35 robert +Thu, 4 Oct 2007 11:20:18 +0000 +Checked in by : Robert Osfield +Added asView() method to GUIActionAdapter to help out with .NET wrappers. Updated wrappers - * From Rudolf Weidemann, "in the OpenFlight format materials can - have editable names. - In the OSG OpenFlight plugin these names are ignored when - reading, and - empty strings are written. - - As we need these names in the OSG scene graph by our application, - I - changed the plugin code, so the names are now stored in class - "osg::Material" (derived from "osg::Object") by - material->setName(); - (see "PaletteRecords.cpp, line 195) when reading the file, and - written - to file by - dos.writeString( m.Material->getName(), 12 ); - (see MaterialPaletteManager.cpp, line 80). - - As these names otherwise get lost when reading an OpenFlight file - and - writing it again e.g. by - osgconv example.flt converted_example.flt - these changes make the plugin more complete. - - The changes were made to OSG revision 8425, and were tested by - osgconv example.flt converted_example.flt - comparing the material palettes of both files inside Multigen - Creator." +Thu, 4 Oct 2007 10:05:20 +0000 +Checked in by : Robert Osfield +Updated version for 2.2 release -2008-06-19 14:29 robert +Thu, 4 Oct 2007 08:54:41 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov, added support for extract a region for geospatial imagery - * From Farshid Lashkari, "I noticed some problems when setting up - CameraNodes that inherit - viewport settings in stereo mode. It seems that the - SceneView::cull() - method will pass the full size viewport to the left/right - cullvisitors, instead of the modified stereo viewport. I made - quite a - few changes to SceneView to fix the issue. The - SceneView::cullStage() - method will now receive the viewport as an argument, instead of - using - the global viewport. The SceneView::cull() method will pass the - modifed viewport to cullStage when rendering in stereo. - - There are 2 new private methods computeLeftEyeViewport() and - computeRightEyeViewport() that will compute the stereo viewports. - I - also modified the draw() function so it applies the correct - viewport - to the prerender stages. These changes are only necessary for - horizontal/vertical split stereo." +Wed, 3 Oct 2007 23:44:24 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, NEWS and AUTHORS file for 2.1.15 release -2008-06-19 14:14 robert +Wed, 3 Oct 2007 23:27:59 +0000 +Checked in by : Robert Osfield +Updated version for 2.1.15 dev release - * From Andrew Bettison, "Attached are changes for - src/osgPlugins/ive (version 2.4.0) that implement LineStipple - read/write support for the ive file format." +Wed, 3 Oct 2007 23:03:13 +0000 +Checked in by : Robert Osfield +From Panagiotis Papadakos, "Setting the maximum height of osgText doen't seem to work. If the text is big enough, it exceeds the height that I gave as input to setMaximumHeight. So check if cursor is out of -_maximumHeight." -2008-06-19 13:49 robert +Wed, 3 Oct 2007 23:01:33 +0000 +Checked in by : Robert Osfield +Added support for defining an option OSG_GLU_TESS_CALLBACK_TRIPLEDOT within the CMake build system, enabling this option will build the OSG against the (...) version of the tesselation callback functions.One can also set the default value of this option via the DEFAULT_GLU_TESS_CALLBACK_TRIPLEDOT +variable that is set locally to OFF for all platforms except AIX and OSX, but can +be overriden by setting it via command line option i.e. - * From Paul Melis, "Here is a reworked version of the osgviewerWX - example. It changes the GraphicsWindowWX to only inherit from - osgViewer::GraphicsWindow and adds a standalone widget, called - OSGCanvas, that derives from wxGLCanvas. This solves a problem - with the GraphicsWindowWX instance being destructed twice (see - "Crash in osgviewerWX" of June 12th on osg-users). At program - exit, the main frame deletes all of its children widgets and - therefore calls GraphicsWindowWX's destructor, bypassing OSG's - reference counting. The GraphicsWindowWX instance is then later - destructed a second time when the reference held by osg::Camera - goes to zero. This bug isn't exposed by the example directly, but - if people are going to use the example as a basis (like the - poster in the mentioned thread) they very likely will run into - this problem. - " + cmake . -DDDEFAULT_GLU_TESS_CALLBACK_TRIPLEDOT=ON + -2008-06-19 13:28 robert - * Updated wrappers to fix OpenThreads::Atomic build issues. -2008-06-19 12:02 robert +Wed, 3 Oct 2007 21:12:32 +0000 +Checked in by : Stephan Maximilian HUBER +updated XCode projects - * From Michael Platings, fixed typo error in renderbin assignment +Wed, 3 Oct 2007 20:21:01 +0000 +Checked in by : Robert Osfield +Added GLU_TESS_CALLBACK_TRIPLEDOT path into include/osg/GLU and enabled this for AIX as reading the old paths this was required. This looks like it is needed under Xcode build as well. -2008-06-19 11:58 robert +Wed, 3 Oct 2007 19:54:30 +0000 +Checked in by : Robert Osfield +Removed double return error - * In Program::PerContextProgram changed const Uniform* to - osg::ref_ptr to avoid the possibility of a - uniform being deleted - and another being created and assigned at the same address which - previously confused the uniform tracking code and introduced a - bug. +Wed, 3 Oct 2007 12:49:02 +0000 +Checked in by : Robert Osfield +Updated version, authors and change log for the 2.1.14 release -2008-06-19 11:09 robert +Wed, 3 Oct 2007 12:48:23 +0000 +Checked in by : Robert Osfield +From Mahai Radu, improvements to handling of spotlights - * From Michael Platings and Robert Osfield, added support for - controlling, - via StateSet::setNestedRenderBin(bool) whether the new RenderBin - should be nested - with the existing RenderBin, or be nested with the enclosing - RenderStage. +Wed, 3 Oct 2007 12:04:47 +0000 +Checked in by : Robert Osfield +Refactored the plugin and library naming to fix Cygwin plugin loaded issues. -2008-06-18 20:27 robert +Wed, 3 Oct 2007 10:38:26 +0000 +Checked in by : Robert Osfield +Added preliminary press release - * Updated wrappers +Wed, 3 Oct 2007 10:36:59 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, build fix for Cygwin. -2008-06-18 20:24 robert +Wed, 3 Oct 2007 08:34:51 +0000 +Checked in by : Robert Osfield +Added return 0 to fix warning - * From Michael Platings, implemented check against max number of - supported samples to ensure that the number of samples is safely - capped to what the hardware is capable of, avoiding GL errors and - graceful fallback +Tue, 2 Oct 2007 21:45:55 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-06-18 20:17 robert +Tue, 2 Oct 2007 21:45:09 +0000 +Checked in by : Robert Osfield +From Mihair Radu, "Most of the additions are small utility methods: - set the resolution of the shadow map; it calls dirty() to re-initialize at next update - keep a list of Shader objects to use instead of the default ones, if the list is empty, the default shaders are used - explicitly create the Uniform variables, so that subsequent additions that require more Uniforms can put them in a central place - set a Light or LightSource to use explicitly for shadow casting, allows multiple lights in the scene, with one casting shadowsThere are two additions that do not ( yet ) function correctly, but in +the present usage they do not interfere with the regular usage of the +techique: +- support for using spotlights, it's using Light.spotCutoff to determine +if it's a spot-light and not point-light, + there is an error in the setup of either the shadow camera or the +texgen, most likely due to the direction of the spotlight, since the +position is being used just like in point or directional lights. +- creation of a debugHUD + the hud is created properly, ( the example included shows it ), but +it displays only white, there has been some discussion of displaying the +shadow map, but I could not find it, the addition of a simple fragment +shader with the appropriate color transform should get this going." - * From Liang Aibin: - - "1. Location: \src\osgPlugins\osg\Fog.cpp - Reason: ".osg" writter plugins output incorrected string for - osg::Fog's Mode. - How to Fix: - Line 138 in Fog.cpp: case(Fog::LINEAR): return "NERVER"; - Change to: case(Fog::LINEAR): return "LINEAR"; - 2. Location: \src\osgPlugins\ive\ - Reason: ".ive" writter plugins missing to process "osg::Fog". - How to Fix: - (1). Line 86 in ReadWrite.h: - Add: #define IVEFOG 0x00001133 - (2). In CMakeLists.txt - "SET(TARGET_SRC" section Add: Fog.cpp - "SET(TARGET_H" section Add: Fog.h - (3). In DataInputStream.cpp - Line 54,Add: #include "Fog.h" - Line 1185,Add: else if(attributeID == IVEFOG){ - attribute = new osg::Fog(); - ((ive::Fog*)(attribute))->read(this); - } - (4). In DataOutputStream.cpp - Line 57,Add: #include "Fog.h" - Line 832,Add: // This is a Fog - else if(dynamic_cast(attribute)){ - ((ive::Fog*)(attribute))->write(this); - } - (5). Add newly created ive::Fog Object in Fog.h and Fog.cpp. - " -2008-06-18 16:46 robert - * Updated wrappers -2008-06-18 16:45 robert +Tue, 2 Oct 2007 21:28:27 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added a wrapString(const char*) which automatically handles null - strings. +Tue, 2 Oct 2007 21:26:22 +0000 +Checked in by : Robert Osfield +Introduced a OSG_PLUGIN_PREFIX variable into CMake build system with it set to "" for all platforms except Cygwin where its set to "cygwin_" and Mingw where it is set to "mingw_". Updated osgDB::Registry to look for these for the plugins. Updated the osgintrospection example to search for these names as well. -2008-06-18 16:28 robert +Tue, 2 Oct 2007 21:24:23 +0000 +Checked in by : Robert Osfield +Updated to reflect new CompositeViewer threading models - * Convert string handling to use strdup and free rather then - awkward new char[] - code paths +Tue, 2 Oct 2007 21:23:58 +0000 +Checked in by : Robert Osfield +Merged the threading set up and rendering code from Viewer and CompositeViewer into ViewerBase to allow CompositeViewer to inherit the same theading models previously just supported by osgViewer::Viewer -2008-06-18 14:21 robert +Tue, 2 Oct 2007 20:56:56 +0000 +Checked in by : Robert Osfield +Changed the search for Qt version to prevent problems when having both Qt3 and Qt4 installed on one machine. - * Added --fbo-samples value and --color-samples value command line - paramters for enabling fbo multisampling +Tue, 2 Oct 2007 20:55:33 +0000 +Checked in by : Robert Osfield +Added a #ifdef 0 code block to test setting of the StateSetManipulator's DataVariance to DYNAMIC to solve a threading issue relating to mixing of StateSetManipulator and DrawThreadPerContext. -2008-06-18 14:09 robert +Tue, 2 Oct 2007 20:54:12 +0000 +Checked in by : Robert Osfield +Changed the GLU_TESS_CALLBACK in an attempt to avoid compile problems under OSX. - * From Michael Platings and Paul Palumbo, multi-sample FBO support +Tue, 2 Oct 2007 20:45:44 +0000 +Checked in by : Robert Osfield +From Andy Skinner, changes the library linkage to just include osg and OpenThreads -2008-06-18 12:01 robert +Mon, 1 Oct 2007 15:11:54 +0000 +Checked in by : Robert Osfield +Removed redundent malloc. - * From Jean-Sebastien Guay, "When copying a node that had uniforms - on it, the copy constructor of osg::Uniform would not copy the - array of the original uniform (either _intArray or _floatArray) - because none had been allocated and the copy constructor checks - that *both* this's array and rhs's array are valid. - - I added a call to allocateDataArray() if rhs has (at least) one - valid array, which should allocate the right array according to - the type. Since the type was copied from rhs, it should create - the same array as rhs has, so then it should copy the data in the - following lines. - " +Mon, 1 Oct 2007 11:02:02 +0000 +Checked in by : Robert Osfield +From David Callu, various fixes for window inheritance -2008-06-18 11:56 robert +Mon, 1 Oct 2007 10:23:11 +0000 +Checked in by : Robert Osfield +Updated AUTHORS for 2.1.13 release - * From Bob Kuehne, "added multi-texture support (alpha/trans - images)" +Mon, 1 Oct 2007 10:21:52 +0000 +Checked in by : Robert Osfield +Updated Version number for 2.1.13 and updated ChangeLog. -2008-06-18 11:51 robert +Mon, 1 Oct 2007 09:41:05 +0000 +Checked in by : Robert Osfield +Changed requestWarpPointer to use _eventDislay to avoid crash in osghanglide example due to async usage. - * Updated wrappers +Mon, 1 Oct 2007 08:50:58 +0000 +Checked in by : Robert Osfield +Removed log2 and replaced the places where is was used with a new Image::computeNumberOfMipmapLevels method. -2008-06-18 11:13 robert +Sun, 30 Sep 2007 20:16:49 +0000 +Checked in by : Stephan Maximilian HUBER +updated XCode-projects - * From Bob Kuehne, "this submission extends the - osgViewer::RecordCameraPathHandler to have an optionally-enabled - auto-incrementing filename. default behavior is still the same, - but there's one new method to enable autoincrementing filenames." - - From Robert Osfield, modified the above so that the number - increments come after the filename rather than before. +Sun, 30 Sep 2007 19:56:46 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-06-18 10:51 robert +Sun, 30 Sep 2007 19:53:02 +0000 +Checked in by : Robert Osfield +From Paul Martz, "here's the osgDB::Registry changes to add Options to the read*File() interface. As we discussed, this preserves the old interface for backwards compatibility.osgconv also changed to use the new Registry::writeNode() interface. No other applications or examples were affected." - * From Gino van den Bergen, "Added support for vrml primitive - caching" -2008-06-18 10:46 robert - * From David Callu, "fixed bounding box bug" -2008-06-17 17:43 robert +Sun, 30 Sep 2007 19:39:36 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Mathias Froehlich, OpenThreads::Atomic support +Sun, 30 Sep 2007 19:27:31 +0000 +Checked in by : Robert Osfield +Added support for CompositeViewer to WindowSizeHandler, ThreadingHandler, RecordCameraPathManipulator and HelpHandler. -2008-06-16 20:22 robert +Sun, 30 Sep 2007 19:15:32 +0000 +Checked in by : Robert Osfield +Changed HelpHandler so it supports use with CompositeViewer and Viewer - * Added overriding of CullSettings::inheritCullSettings() into - osg::Camera to - properly inherit the clear colour. +Sun, 30 Sep 2007 18:43:42 +0000 +Checked in by : Robert Osfield +Added hdwriter to CMake build -2008-06-16 16:06 robert +Sun, 30 Sep 2007 18:42:20 +0000 +Checked in by : Robert Osfield +From David Spilling, "Please find attached an extension of the Radiance HDR (RGBE) image reader to support writing.The options are intended to match the existing read options. By default it will only write RGB32F format; if the "RAW" option is selected, it will output 8 bit RGBA as "raw" RGBE. Note also that the writer inserts a flipVertical(); although the RGBE format, according to spec, should support top-to-bottom or bottom-to-top ordering, no software I've found, including that from the formats originator, actually respects this." - * Changed class to struct -2008-06-16 13:20 robert - * Added mutex to serialize access to the trpager -2008-06-16 09:32 robert +Sun, 30 Sep 2007 18:33:57 +0000 +Checked in by : Robert Osfield +From Jan Peciva, "I am submitting improved Inventor (iv) writer.List of changes: +- added support for Billboards and LOD +- improved Material handling +" - * Checking in missing header changes -2008-06-12 16:33 robert - * Refactored the management of the request queues so that the - appropraite mutex is locked when DatabaseRequest objects are - modified -2008-06-06 19:57 robert +Sun, 30 Sep 2007 16:24:00 +0000 +Checked in by : Stephan Maximilian HUBER +updated xcode-projects - * Updated wrappers, authors and readme for 2.5.2 dev release +Sun, 30 Sep 2007 15:24:43 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-06-06 19:41 robert +Sun, 30 Sep 2007 15:07:17 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated ChangeLog +Sun, 30 Sep 2007 15:06:59 +0000 +Checked in by : Robert Osfield +From Dan Minor, "osgText::Text does not currently have a getAxisAlignment method. The attached code adds this, along with a member variable to keep track of the setting. It is based on the latest subversion version, and was tested by creating a new text object with the same axis alignment as an existing one (e.g. new_text->setAxisAlignment(old_text->getAxisAlignment()); )."From Robert Osfield, " I originally didn't add a getAxisAlignment() +as all setAxisAlignment does is set the Rotation member variable, and +potentially one could apply user defined Rotation setting after the +setAxisAlignment() which would bring it out of sync with the +setAxisAlignment. -2008-06-06 17:45 robert +Rather than reject your submission on the ground of potentially +getting out of sync and therefore misleading users I've added a +USED_DEFINED_ROTATION to AxisAlignment enum, and set this in the +serRotation and then override this setting of _axisAlignment in the +setAxisAlingment method. I've also removed the lazy updating +optimization you've added to the top of setAxisAlignment to avoid +potential problems as well." - * Updated versions for 2.5.2 dev release -2008-06-06 16:45 robert - * From Jean-Sebastien Guay, "The new osgscreencapture example was - being installed to bin instead of to share/OpenSceneGraph/bin, - this is because the CMakeLists.txt used SETUP_APPLICATION instead - of SETUP_EXAMPLE. Corrected CMakeLists.txt attached. - " -2008-06-06 16:41 robert +Sun, 30 Sep 2007 11:37:00 +0000 +Checked in by : Robert Osfield +Moved ViewerBase class out into its own header and source file.Improved the support for stats collection in CompositeViewer/StatsHandler. - * From Stephane Lamoliatte, "fix to reading of DatabasePath - property" -2008-06-06 16:28 robert - * From Glenn Waldron, "I'm using an IntersectionVisitor with a - PagedLOD database, employing a ReadCallback to allow the - intersector to traverse the paged nodes. I discovered that if the - visitor is unable (for any reason) to load a subtile via the - ReadCallback, the intersection fails. However, I had the - requirement to "fall back" on the lower-resolution parent tile - and settle for that intersection. - - This was easy to implement simply by overriding - IntersectionVisitor::apply(PagedLOD). My question is: Are there - any opinions on whether this should be the default behavior? If - it makes sense, I will submit the change; if not, no worries." +Sat, 29 Sep 2007 16:46:08 +0000 +Checked in by : Robert Osfield +Refactor Viewer/CompositeViewer so the both inherit from the a ViewerBase class -2008-06-06 16:25 robert +Sat, 29 Sep 2007 11:41:57 +0000 +Checked in by : Robert Osfield +From Stephan Huber, add basic support for CompositeViewer in StatsHandler - * From Paul Melis, "Here's an updated include/osgText/Text3D that - forces recomputation of the glyph repr when the character depth - is updated, also when the rendering mode is set. - This caused a Text3D object read from a .osg file to not have the - correct depth." +Sat, 29 Sep 2007 11:12:38 +0000 +Checked in by : Robert Osfield +From Mattias Linde, "Nice, this almost gets the job done, one way communication into the plugin is possible. I've done some additional small modification regarding constness in ReaderWriter and added mutable on _pluginData so passing data back would be possible too.Have updated the collada plugin (ReaderWriterDAE.cpp) to use the map to handle options and +have attached the changes. -2008-06-06 14:59 robert +The stuff in daeReader.h and daeWriter.h are just cosmetic changes to get rid of a warning." - * From Mathieu Marache, "I have made the logo plugin work again (a - simple copy and paste problem) and added the path of the logo - file (if not empty) to the data file path in order to be able to - find images relatively." -2008-06-06 14:10 robert - * Cleaned up implementation to only use simple structure -2008-06-06 13:21 robert +Fri, 28 Sep 2007 13:42:41 +0000 +Checked in by : Robert Osfield +Fixed SphericalDisplay set up codes to properly manage display host/num - * Renamed _rendergraph to _stateGraph to better reflect its - function +Fri, 28 Sep 2007 13:38:32 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "I had a chance to look into the remote display problems. The screen resolution was queried for the wrong display." -2008-06-06 13:21 robert +Fri, 28 Sep 2007 13:35:51 +0000 +Checked in by : Robert Osfield +From Mattias Linde, "I've attached a modified ReaderWriter header which has some additions to osgDB::ReaderWriter::Options to handle PluginData." - * Introduce a lower overhead data structure for leaves. +Fri, 28 Sep 2007 08:53:34 +0000 +Checked in by : Robert Osfield +Andre Garneau, three fixes in one submissions:"This is a fix for the issue reported by Anders a week ago (see \u201c[osg-users] BUG?: mouse coordinate changes after window move\u201d discussion thread on Sept. 20). The issue was that the initial implementation added a few months back was not converting the window coordinates to client-area coordinates resulting in a slight offset each time a decorated window was moved (caused by the window border). This was also causing windows to move out of their assigned screen." -2008-06-06 10:51 robert +and - * Added update traversal to run prior to doing kdtree build to make - sure that - costs in build osgTerrain databases isn't incurred during the - build traversal. +"Attached is a fix for the taskbar repaint issue that occurs when a graphics window is toggled from full-screen mode to windowed mode (as identified by Gert van Maren a couple of weeks ago). +Also included is a fix derived from the \u201cEvents from the past\u201d discussion thread that took place on July 11." -2008-06-06 09:08 robert - * Quitened down the release context message -2008-06-06 08:42 robert - * Added OSGDB_EXPORT -2008-06-05 18:52 robert - * Added timing code -2008-06-05 17:28 robert +Fri, 28 Sep 2007 08:52:00 +0000 +Checked in by : Robert Osfield +Added record path manipulator - * Basic implementation of kdtree generation based on vertices +Thu, 27 Sep 2007 13:49:56 +0000 +Checked in by : Robert Osfield +Changed across to using a GraphicsOperation as the base class for the RealizeOperation. -2008-06-05 13:46 robert +Thu, 27 Sep 2007 12:47:34 +0000 +Checked in by : Robert Osfield +From Adrian Egli, "update the PSSM, i did some bug fixes and added new features to move the camera virtual against the view direction by applaying a simple distance factor (a), which is calculated camera eye - camera center distance. and we can move the "light camera" against the light direction (b).(a) some objects behind the camera can cast shadow +(b) object aboive the camera can cast shadow - * Added accep(Shape&) +then i fixed the shadow map orientation, now screen x coordinate alinged which improve the quality" -2008-06-04 17:59 robert - * Further work on fleshing out basic classes -2008-06-04 16:53 robert - * Updated wrappers +Thu, 27 Sep 2007 12:15:39 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, compile fix for HP-UX without large file support -2008-06-04 16:46 robert +Thu, 27 Sep 2007 10:47:15 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Some more file that needs some adjustment because of missing member templates in suns stl." - * Added support for optionally calling releaseContext at the end of - each - renderinTraversals() to help with cases where uses are driving - multiple - contexts from mulitple viewers in a single threaded frame loop. +Thu, 27 Sep 2007 10:42:56 +0000 +Checked in by : Robert Osfield +Changed copy constrcutor to a default constrcutor and std::copy to avoid problems with dodge Sun compiler. -2008-06-03 17:29 robert +Thu, 27 Sep 2007 10:22:09 +0000 +Checked in by : Robert Osfield +Added support for selecting internal texture format via the internalFormat entry in the .osg file - * Fleshed out some basic kd-tree data structures. +Wed, 26 Sep 2007 16:17:46 +0000 +Checked in by : Stephan Maximilian HUBER +updated XCode project-files -2008-06-03 16:13 robert +Wed, 26 Sep 2007 14:44:22 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "Attached you will find an expanded FindOpenVRML.cmake file, as well as a fixed CMakeLists.txt file for the VRML plugin ." - * First cut of osgkdtree example, this will be used as a base of - the development of - native kdtree support to help speed up intersection testing. +Wed, 26 Sep 2007 14:31:10 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-06-03 15:49 robert +Wed, 26 Sep 2007 14:02:40 +0000 +Checked in by : Robert Osfield +Added IntensityMap reading in .view files - * Added missing updateBlock() +Wed, 26 Sep 2007 11:32:51 +0000 +Checked in by : Robert Osfield +Tweaked the wrapping of osgViewer::Scene to fix build problems -2008-06-03 13:07 robert +Wed, 26 Sep 2007 10:58:29 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a first implementation for the obj-plugin to write obj-files. It is not feature complete but usable.Known issues: +* not all materials are handled correctly (especially when using +osg::StateAttribute::OVERRIDE), not all properties are supported +* could not test point and lines, all of my programs which are capable +to read obj-files only import triangle-meshes. +* only simple texture-handling" - * From Mario Valle, fixed warnings -2008-06-03 13:06 robert - * Ran merge to get rid of tabs -2008-06-03 11:31 robert +Wed, 26 Sep 2007 10:46:30 +0000 +Checked in by : Robert Osfield +Added suprression of the reflection of osgViewer::Scene to avoid build issues associated with the class. - * From Marco Lehmann and Robert Osfield, this fix was implemented - by Robert but - is based on suggested fix from Marco for fixing a crash due to - lack of - thread safety in std::ofstream("/dev/null"); The fix is to use a - custom stream - buffer that just discards all data. The implementation is also - twice as fast - as the old /dev/null based approach. +Wed, 26 Sep 2007 09:59:59 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-06-03 11:28 robert +Wed, 26 Sep 2007 09:50:32 +0000 +Checked in by : Robert Osfield +From David Callu, adding support for GraphicsWindowX11 window inhertance and setWindowName() method. - * Added unit test to smoke out a thread issue with using - ofstream("/dev/null") inside - osg::notify() +Tue, 25 Sep 2007 19:14:29 +0000 +Checked in by : Robert Osfield +Added support for intensityMap and fix naming of --panoramic-sd and --3d-sd command line arguments -2008-06-02 17:34 robert +Tue, 25 Sep 2007 17:02:22 +0000 +Checked in by : Robert Osfield +Added --flip argument docs. - * Added support for assigning GraphicsContext to individual - GUIEventAdapter events, - and use of this within osgViewer::View to better track the - sources of events. +Tue, 25 Sep 2007 17:01:16 +0000 +Checked in by : Robert Osfield +Added --flip option to allow one to flip the source data about the x axis. -2008-05-31 08:47 robert +Tue, 25 Sep 2007 15:01:11 +0000 +Checked in by : Robert Osfield +Removed all dome distortion correction code as this is now part of the core osgViewer.Added viewer mode where movies are made fullscreen. One can use the old interactive +camera mode by using --interactive parameter on the command line. - * Changed FIND_PACKAGE(PkgConfig) to INCLUDE(FindPkgConfig - OPTIONAL) as per - suggestion from Philip Lowman. -2008-05-30 21:23 robert - * Updated authors and version file for 2.5.1 dev release +Tue, 25 Sep 2007 13:51:03 +0000 +Checked in by : Robert Osfield +Preliminary PanoramicSphericalScreen support -2008-05-30 21:12 robert +Tue, 25 Sep 2007 12:34:01 +0000 +Checked in by : Robert Osfield +Added --major/minor/path-number support - * Updated ChangeLog +Tue, 25 Sep 2007 11:26:16 +0000 +Checked in by : Robert Osfield +Fixed version number -2008-05-30 21:08 robert +Tue, 25 Sep 2007 10:18:50 +0000 +Checked in by : Robert Osfield +Added thread unit test to test the create, start and destruction of threads - * Added version check on FIND_PACKAGE(PkgConfig) to attempt to fix - build with older versions of CMake +Mon, 24 Sep 2007 16:34:28 +0000 +Checked in by : Robert Osfield +Updated Version and AUTHORS for 2.1.12 dev release -2008-05-30 20:15 robert +Mon, 24 Sep 2007 16:30:59 +0000 +Checked in by : Robert Osfield +Renamed packaging directory to pkgconfig - * Added applyMaskAction(CLEAR_COLOR) to Camera::setClearColor() to - enable proper inheritance +Mon, 24 Sep 2007 16:28:58 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for release -2008-05-30 17:03 robert +Mon, 24 Sep 2007 16:25:55 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated ChangeLog +Mon, 24 Sep 2007 15:24:23 +0000 +Checked in by : Robert Osfield +From Adrian Egli, further work on PSSM implementation. -2008-05-30 16:53 robert +Mon, 24 Sep 2007 10:36:39 +0000 +Checked in by : Robert Osfield +From Alberto Luaces, fixed typo of valid() in warning message - * From Jean-Sebastien Guay, "This is a fix for the warning we've - been discussing on osg-users. CMake 2.6.0 allows quotes to be - unescaped in strings in ADD_DEFINITIONS statements, where we had - to escape them before (CMake 2.4.x). Setting CMake policy CMP0005 - to OLD removes the warning for 2.6.0, and the quotes are still - escaped, so it still works with 2.4.x. - " +Mon, 24 Sep 2007 10:31:35 +0000 +Checked in by : Robert Osfield +Changed iterator name to avoid warning -2008-05-30 12:59 robert +Mon, 24 Sep 2007 09:39:30 +0000 +Checked in by : Robert Osfield +From Mirko Viviani, "attacched you'll find the updated xcode project for OpenSceneGraph 2.1.11. The one supplied in the archive does not build due to some missing file references." - * From Luc Frauciel, Added support for - osgTerrain::ValidDataOperator. - - From Robert Osfield, added versioning to the above. +Mon, 24 Sep 2007 09:35:59 +0000 +Checked in by : Robert Osfield +From Jose Delport: "have been using the new VIEW_DEPENDENT_WITH_ORTHOGRAPHIC_OVERLAY mode of the OverlayNode.I change the overlay subgraph dynamically and when I remove all the +subgraph nodes that is inside the current main camera FOV (others +outside still exist), the overlay texture does not update because of the +early return in the traversal. I then get a kind of ghost texture moving +around the terrain. -2008-05-30 11:44 robert +The attached file fixed the problem for me, but I'm not sure if it is +the best way to address the problem." - * Updated packgage number for 2.5.1 developer release -2008-05-30 11:43 robert - * Fixed cirular reference in DatabaseRequest +Mon, 24 Sep 2007 09:26:21 +0000 +Checked in by : Robert Osfield +From Art Tevs, "Following two lines has to be included into the Image.cpp in the computeNumComponents(...) method:case(GL_RGBA16F_ARB): return 4; +case(GL_RGBA32F_ARB): return 4;" -2008-05-29 13:54 robert - * Moved enum to public scope and rebuilt wrappers to fix wrapper - build error -2008-05-29 11:45 robert +Mon, 24 Sep 2007 09:05:42 +0000 +Checked in by : Robert Osfield +Made ReaderWriter and ReaderWriter::Options use thread safe ref counting. - * Added code to catch erroneous Dof axis settings +Sat, 22 Sep 2007 17:39:15 +0000 +Checked in by : Robert Osfield +Improved the handling of OSG_CONFIG_FILE support. -2008-05-29 11:13 robert +Sat, 22 Sep 2007 16:50:45 +0000 +Checked in by : Robert Osfield +From David Callu, added getOrCreateScene method, made contractors protected.From Robert Osfield, made getOrCreateScene protected and made View a friend +of Scene to all it to construct Scene objects itself. - * Improved the NaN depth detection within CullVisitor and debug - output. -2008-05-29 11:09 robert - * Improved the NaN error detection and reporting. +Sat, 22 Sep 2007 16:46:38 +0000 +Checked in by : Robert Osfield +From Adrian Egli, update to ParallelSplitShadowMap. -2008-05-28 17:56 robert +Sat, 22 Sep 2007 13:06:07 +0000 +Checked in by : Robert Osfield +Added EXPORT - * Added catch for NaN depth values +Fri, 21 Sep 2007 19:43:06 +0000 +Checked in by : Robert Osfield +From David Callu, added findSlaveIndexForCamera method -2008-05-28 16:14 robert +Fri, 21 Sep 2007 19:04:02 +0000 +Checked in by : Robert Osfield +Added return - * From Wojiech Lewandowski, Workaround for wglMakeCurrent bug in - NVidia drivers by - calling wglMakeCurrent twice. - - This bug has been reported to NVidia, confirmed and fixed by - NVidia but awaits verifiaction and release if a driver which - fixes this bug. +Fri, 21 Sep 2007 15:34:25 +0000 +Checked in by : Robert Osfield +Added support for basic viewer configuration files -2008-05-28 14:37 robert +Fri, 21 Sep 2007 13:30:33 +0000 +Checked in by : Robert Osfield +Further steps towards reading coniguration files. - * Updated wrappers +Fri, 21 Sep 2007 09:02:03 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, "A few improvements to osgstereoimage: - When using a large numbrer of files, the command line was too long; Added a -files option that allow to store filenames in a file (one file per line) - Added some more intuitive key bindings for controls (left, right, + , -) - Set the texture wrapping to CLAMP_TO_EDGE (it's cleaner now) " -2008-05-28 14:11 robert +Thu, 20 Sep 2007 10:14:08 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Adrian Egli, improvements to ParallelSplitShadowMap - implementation +Thu, 20 Sep 2007 10:12:58 +0000 +Checked in by : Robert Osfield +From Anders Backman, added bias and texture size methods.From Robert Osfield, tweaks to the above for method parameters and indenting. -2008-05-28 13:51 robert - * From Thibault Genessay, "The PNG plugin crashes when you try to - read a malformed file (attached - is an example). This can happen in circumstances that are not - manageable by the OSG itself (e.g. 3rd party buggy program) but - one - would expect the plugin to be able to recover by returning - ReadResult::ERROR_IN_READING_FILE. - - libpng provides two callbacks for warnings and errors - those are - currently unused. By default, they point to function that call - exit() - or something similar (the default error callback never returns). - This - patch registers the callbacks using libpng's mechanisms, makes - the - warning callback emit an osg::notify(osg::WARN) message and the - error - callback throw an error. The reading process is enclosed in a - try...catch block. Upon error, the memory is freed and - ReadResult::ERROR_IN_READING_FILE is returned. - " -2008-05-28 13:45 robert +Wed, 19 Sep 2007 16:53:40 +0000 +Checked in by : Robert Osfield +Added supoort for OSG_WRITE_OUT_DEFAULT_VALUES env var - * From Thibault Genessay, "On Windows, when setting a cursor - through - osgViewer::GraphicsWindow::setCursor() the new cursor type is - recorded - but not applied until windows sends another WM_SETCURSOR message. - This - delays the application of the cursor to the next mouse event. - - The attached file fixes this by setting the new cursor with a - call to - ::SetCursor() immediately. - " +Wed, 19 Sep 2007 15:29:57 +0000 +Checked in by : Robert Osfield +Added support for bool in ArgumentParser::Parameter.Added support for using Input::read(...) methods using ArgumentParser::Paramter +to adapter to multiple paramter types. -2008-05-28 13:01 robert - * From Michael Platings, "Yes it's definitely a driver problem - I - submitted a bug report to - nvidia 6 months ago and the issue is still "in progress". I've - given up - waiting for them! - - Platform - various Intel Windows XP SP2 PCs with various nvidia - cards - including GeForce 8800 GTS and Quadro FX 4500, and various driver - versions including the latest WHQL 175.16. - - I investigated your concerns about glGenerateMipmapEXT being - slower than - GL_GENERATE_MIPMAP_SGIS, and for power-of-two textures, to my - surprise - it is. For a 512*512 texture, glGenerateMipmapEXT takes on - average 10ms, - while GL_GENERATE_MIPMAP_SGIS takes on average 6ms. Therefore I - have - modified the code to only use glGenerateMipmapEXT if the texture - has a - non-power-of-two width or height. I am resubmitting all the files - previously submitted (only "Texture.cpp" has significant changes - since - my previous submission, I've also replaced tabs with spaces in - "Texture"). - " -2008-05-28 12:49 robert +Wed, 19 Sep 2007 11:56:44 +0000 +Checked in by : Robert Osfield +From Adrian Egli, ParallelSplitShadowMap implmentation.Changes by Robert Osfield - CMakeLists.txt and name change to ParallelSplitShadowMap. - * From Mathieu Marache, - - first post: - - "I had the problem that debug and release version of the plugins - had the same name under linux. These minors modification to - Registry and the CMake support files enable to have both Release - and Debug version of the plugins to coexist and be found by there - respective runtimes." - - follow up post: - - "I've gone ahead and added a preprocessor directive with the - editable CMAKE_DEBUG_POSTFIX. I modified Registry.cpp to take - this new preprocessor directive called OSG_DEBUG_POSTFIX while - looking for libraries in Debug mode for the windows (msvc) and - the linux platforms. - - MinGW, cygwin and Apple are still left out this proposal." - - - Notes from Robert Osfield, completed the work in change d entries - to use OSG_DEBUG_POSTFIX -2008-05-28 11:58 robert - * Updated wrappers +Wed, 19 Sep 2007 10:14:52 +0000 +Checked in by : Robert Osfield +Changed the simplifier so that it produces deterministic results, no longer using memory pointers for sorting. -2008-05-28 11:19 robert +Wed, 19 Sep 2007 09:00:05 +0000 +Checked in by : Robert Osfield +Removed check for shaders/overlay_perspective_main.vert - * From Michael Platings, "On nvidia cards mipmap generation for - non-power-of-two textures with - GL_GENERATE_MIPMAP_SGIS is very slow (over half a second for a - 720*576 - texture). However, glGenerateMipmapEXT() performs well (16ms for - the - same texture), so I have modified the attached files to use - Texture::generateMipmap() if glGenerateMipmapEXT is supported, - instead - of enabling & disabling GL_GENERATE_MIPMAP_SGIS." - - Notes, from Robert Osfield, I've tested the out of the previous - path using - GL_GENERATE_MIPMAP_SGIS and non power of two textures on NVidia - 7800GT and - Nvidia linux drivers with the image size 720x576 and only get - compile times - of 56ms, so the above half second speed looks to be a driver bug. - With - Muchael's changes the cost goes done to less than 5ms, so it's - certainly - an effective change, even given that Michael's poor expereiences - with - GL_GENERATE_MIP_SGIS do look to be a driver bug. +Tue, 18 Sep 2007 16:00:21 +0000 +Checked in by : Robert Osfield +Commented out herror() as its not called anywhere in the code. -2008-05-27 20:53 robert +Mon, 17 Sep 2007 09:33:00 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, AUTHORS and README for 2.1.11 release - * From Brad Anderegg, "This submission fixes two bugs and helps - some performance problems we have been having with txp databases. - - - - The first bug is that the terrain tiles will page out to a lower - LOD when they are right in front of you. The issue appears to be - with the blacklisting heuristic which forces a tile to LOD 1, - commenting out the usage of blacklisting with the LOD Nodes fixes - our problem. This code change was made to line 29 of - TXPPageLOD.cpp. - - - - The second bug we were experiencing is that the database reader - options never make it through to the archive loader. The use case - for us appeared when the FID codes for the terrain were no longer - on the materials. As it turns out the archive was being created - twice, once by TXPNode and once by the ReaderWriterTXP on - getArchive() so the options never actually got set on the archive - that was being loaded. The fix is to first create the archive by - calling getArchive on the ReaderWriterTXP, which stores it in a - map for reference later, and then passing that archive into the - TXPNode for it to set its internal member. With this code change - we only create one archive (not sure what creating two did) and - our options flags get set properly on the database. - - - - The changes made are in TXPNode.h line 72 where the TXPArchive is - now passed in. In the TXPNode.cpp the loadArchive(TXPArchive*) - was changed to have the default behavior if NULL is passed in, if - an archive is passed in then it does not load it since all the - loading is done in the ReaderWriterTXP::getArchive(). The only - other place that loadArchive is called is in TXPIO.cpp where a - modification was made to pass in NULL which will have the same - behavior as it used to. The last change is the little block of - code starting on line 57 of ReaderWriterTXP.cpp, this was changed - so that it first calls getArchive() which caches the archives in - a map does some loading stuff and returns a pointer to it which - is then passed in as a parameter to TXPNode::loadArchive(). - - - - The performance changes were made to TXPParser.cpp line 163 where - we use to osgUtil::Optimizer on the node before passing it off, - and on line 1456 we changed the geometry to use display lists. - These small changes actually made drastic performance increases - for us, as much as 1000% on certain laptops. - - - - As far as testing goes, we have tested these changes with at - least 5 txp databases on a variety of different computers - including Mac OS and Linux. The base version used is 2.4." +Mon, 17 Sep 2007 09:26:02 +0000 +Checked in by : Robert Osfield +Updated version numbers for 2.1.11 dev release -2008-05-27 17:42 robert +Sun, 16 Sep 2007 17:48:07 +0000 +Checked in by : Robert Osfield +Fixed Locator::setTransform method so it takes a const Matrixd&, and improved the setting of Locator in the gdal plugin. - * From Cedric Pinson, "By default it's the normal behaviour, it - means it's "d" extension for debug library and executable. But if - you want to change that you can. - The reason is if you want to build an application that use a - library that use openscenegraph you have to build the full chain - in debug or in release. - On windows you have no choice, but on linux you can link with - both version without rebuilding everything ... - - The patch consist only to change the line on one line - SET(CMAKE_DEBUG_POSTFIX "d") - with - SET(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "add a postfix, usually - d on windows")" +Sun, 16 Sep 2007 17:46:33 +0000 +Checked in by : Robert Osfield +Setting for new option for hinting whether to write out default values -2008-05-27 17:32 robert +Sun, 16 Sep 2007 17:45:53 +0000 +Checked in by : Robert Osfield +Added option for controlling whether output code should write out default values - * From Lars Nilson, bug fix to Sector::computeMatrix() +Sun, 16 Sep 2007 17:43:00 +0000 +Checked in by : Robert Osfield +Fixed warning -2008-05-27 16:32 robert +Sun, 16 Sep 2007 07:55:58 +0000 +Checked in by : Robert Osfield +From Loic Dachary, pkg_config files - * Added handling of \ within srings by using \\ +Sat, 15 Sep 2007 17:40:08 +0000 +Checked in by : Robert Osfield +Introduced the use of a ReentrantMutex to avoid problems with findFontFile. -2008-05-27 15:42 robert +Sat, 15 Sep 2007 17:36:03 +0000 +Checked in by : Robert Osfield +From David Spilling, "Given no replies to my recent "does anybody use the DDS writer" query, I was emboldened to submit this very small patch. The bitmasks for RGBA and RGB have been modified in the writer portion of the code (line 765 onwards). This is now consistent with what the DDS plugin reads. In terms of testing, note that many 3rd party applications erroneously ignore the bitmasks in the file, and assume a BGRA order." - * Updated wrappers +Fri, 14 Sep 2007 11:26:23 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-05-27 15:30 robert +Fri, 14 Sep 2007 11:06:12 +0000 +Checked in by : Robert Osfield +From Andy Skinner, added support for ot-soversion-OpenThreads.dll dll naming under Windows - * Reorginized the TerrainTile/TerrainTechnique dirty mechanism so - that TerrainTile - now holds the dirty flag and enables/disables event traversal in - response dirty - being set/unset. This allows terrain to be automatically updated - in response - to Terrain scale and sample ratio changes. +Fri, 14 Sep 2007 11:02:06 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-05-27 15:28 robert +Fri, 14 Sep 2007 11:01:48 +0000 +Checked in by : Robert Osfield +Added TemplateRegisterDotOsgWrapperProxy. - * Introduced a TerrainHandler that adjust the sameple ratio and - vertical scale - of terrain interactively using the 'r','R' and 'v','V' keys - respecitvely. +Fri, 14 Sep 2007 11:00:32 +0000 +Checked in by : Robert Osfield +Ran conversion of tabs to four spaces -2008-05-27 13:11 robert +Fri, 14 Sep 2007 10:44:46 +0000 +Checked in by : Robert Osfield +Introduce GUIEventHandler::handleWithCheckAgainstIgnoreHandledEventsMask() methods to help make it easier to get event handles to ingore events that have already been handled. - * From John Vidar Larring, "Added vertical scale as a property of - osgTerrain::Terrain. Lets you configure vertical scale when - initializing the terrain model. E.g: - - osgTerrain::Terrain* terrain = - findTopMostNodeOfType(model.get()); - if (!terrain) - { - terrain = new osgTerrain::Terrain; - terrain->addChild(model.get()); - terrain->setVerticalScale(2.0f); - model = terrain; - } - viewerWindow->setSceneData(model.get()); - " +Fri, 14 Sep 2007 10:26:14 +0000 +Checked in by : Robert Osfield +From Ole-Morten Duesund, added IgnoreUsedEventsMask. -2008-05-27 12:07 robert +Fri, 14 Sep 2007 10:00:28 +0000 +Checked in by : Robert Osfield +Added _hudText->setDataVariance(osg::Object::DYNAMIC); to prevent from the text being updated at the same time as being rendered. - * Updated version numbers in prep for 2.5.1 release +Thu, 13 Sep 2007 11:00:12 +0000 +Checked in by : Robert Osfield +Fix for build error during aggressive warning build -2008-05-27 12:06 robert +Thu, 13 Sep 2007 10:42:26 +0000 +Checked in by : Robert Osfield +Fixed warning in wrappers - * From Gino van den Bergen, "I've refactored the single - ReadedWriterVRML2.cpp into multiple files. The reason for doing - this was to break up the horribly long function - - osg::ref_ptr - ReaderWriterVRML2::convertFromVRML(openvrml::node *obj) - - The fixes are: - - * Added the source's parent directory as search directory for - image files. - * The material properties are now set in the stateset of the - Geode rather than the Geometry. This will allow geometries to be - reused with different material properties in future updates. - - NB: I planned for a caching scheme in which multiple occurences - of the same primitive (e.g., Cylinders with radius 0.8 and height - 1.2), would use the same Geometry object. Unfortunately, my - planning moved me to other areas, but I might still finish the - caching scheme in a quiet hour. For the time being I decided it - would be a good thing to already submit my current changes. - " +Thu, 13 Sep 2007 10:38:38 +0000 +Checked in by : Robert Osfield +Fixed warnigns -2008-05-27 11:13 robert +Thu, 13 Sep 2007 10:33:10 +0000 +Checked in by : Robert Osfield +Updated wrappers and READEME - * From Mathias Froehlich, "Included a fix for my past pbuffer - change. The version test fo 'need at least - glx 1.1' was broken, even if no implementation had yet a chance - to trigger - that :) - - Attached a fix for that broken test. - Based on rev 8358" +Thu, 13 Sep 2007 10:32:05 +0000 +Checked in by : Robert Osfield +From Paul Martsz, changed the Texture clamping mode to CLAMP_TO_EDGE -2008-05-27 11:07 robert +Thu, 13 Sep 2007 10:21:47 +0000 +Checked in by : Robert Osfield +From Blake Williams, warning fixes - * From Andrew Bettison, "Problem: the LineStipple pattern when read - from an OSG node file is always 0xFFFF, even though specified - otherwise in the OSG file. - - Cause: possibly a copy/paste typo in - src/osgPlugins/osg/LineStipple.cc, line 61: - if (fr[0].matchWord("functionMask") && fr[1].getUInt(mask)) - - Solution: change to: - if (fr[0].matchWord("pattern") && fr[1].getUInt(mask))" +Thu, 13 Sep 2007 10:21:18 +0000 +Checked in by : Robert Osfield +Add static_cast to fix warning. -2008-05-27 11:04 robert +Thu, 13 Sep 2007 10:16:19 +0000 +Checked in by : Robert Osfield +Removed unncessary typedefs - * From Stephane Lamoliatte, "Here is a patch that fix the strange - bug describe on the osg-user group. - Finally it seems to not come from the empty geode. The origin of - the problem seems to be the uniform initialization during the - building of the program which call a glUseProgram. - If your scene never display the node that contains the shader and - if there is no other shader on the scene, this "glUseProgram" is - the only one that is called during your simulation. So, this - shader is applied on all the scene. - - I fix this bug by switching off the shader (by calling - glUseProgram(0) ) during the compilation of a state which does - not contain the shader. - " +Thu, 13 Sep 2007 10:15:48 +0000 +Checked in by : Robert Osfield +Fixed warnings of casting void* by refactoring the type and extensiosn setup. -2008-05-27 10:50 robert +Thu, 13 Sep 2007 10:10:35 +0000 +Checked in by : Robert Osfield +Fixed uint/int comparison warning. - * From Wang Rui, "I have just done some changes on the classic - osgdb_gif plugin (based on OSG 2.5.0). I wish our developers may - use the newly written GIF reading plugin to attach animate GIF - files as textures now! In my opinion, a GIF is much smaller than - AVI and MOVs, and much more efficient sometimes. - - Changes includes: - 1. A new GifImageStream class (inherit from osg::ImageStream and - OpenThreads::Thread) have already been added to implement - different operations of a GIF movie, such like playing, pausing, - rewinding, setting time and so on. - 2. Some small changes to decode_row() and gif_read_stream(), - which make the transparency of GIF images correctly. - 3. Just a few changes to the ReaderWriterGIF::readGIFStream() - function, which ensure that animate GIFs are loaded by - GifImageStream (and the function returns GifImageStream objects) - and static GIFs unchanged (still use the old method and returns - osg::Image objects!). - - Attachments are the cpp file and an animate GIF file for further - test. Just rebuild the osgdb_gif project and use osgviewer or - osgmovie to view it. - The plugin has been tested on Windows and Arch Linux." +Thu, 13 Sep 2007 09:30:30 +0000 +Checked in by : Robert Osfield +Created two PixelBufferX11::closeImplementation() one the real implementation and a second non op one for GLX <1.3. -2008-05-26 22:36 robert +Wed, 12 Sep 2007 17:01:47 +0000 +Checked in by : Robert Osfield +Added preliminary handling of cases where GLX version < 1.3 - * From Philip Lowman, post 1: - - "Here is a collection of changes which should fix issues building - the OSG with CMake 2.6.0 (along with some other changes) - - CMakeLists.txt: - * Set CMP0003 to supress warning about linking against -lpthread - (which is a - non-absolute library location). (CMake 2.6.x fix) - * Modified the WIN32_USE_MP and a couple of other Visual Studio - specific flags - to be in an IF(MSVC) block (minor tweak to reduce exposing this - stuff on MinGW builds) - * Includes my second set of glu tesselator autodetection changes - that you - seemed to want but haven't committed yet. - - src/OpenThreads/pthreads/CMakeLists.txt: - * Eliminates warning when compiling on Linux about spaces in link - line (CMake 2.6.x fix) - - CMakeModules/OsgMacroUtils.cmake: - * Tweaks to make the macros behave properly under CMake 2.6.0 - (doesn't change behavior under CMake 2.4.x) - - CMakeModules/Find3rdPartyDependencies.cmake: - * Adds the NO_DEFAULT_PATH option to all of the search options so - that things in C:\Program Files\OpenSceneGraph aren't accidently - picked up during configure time and instead only things in the - "3rdParty" folder are discovered. (general bugfix) - " - - post 2: - "Ok, hold the presses. I just discovered that for some odd reason - the osgdb_* plugins under Linux aren't getting put under the - osgPlugins-2.5.0 folder. Not exactly sure why this broke, the - folder was there, just empty. I'll have to look into it this - evening." - - post 3: - - "Fixed, was caused by the switch to - CMAKE_LIBRARY_OUTPUT_DIRECTORY and some code in - osgPlugins/CMakeLists.txt that effectively overrides - LIBRARY_OUTPUT_PATH on non-MSVC compilers to dump the plugins in - the plugins folder. I tweaked it to override - CMAKE_LIBRARY_OUTPUT_DIRECTORY as well. Seems to work fine." +Wed, 12 Sep 2007 17:01:09 +0000 +Checked in by : Robert Osfield +Removed debug messages -2008-05-26 22:34 robert +Wed, 12 Sep 2007 16:28:50 +0000 +Checked in by : Robert Osfield +Moved the linking of OpenThreads from osgversion/CMakeLists.txt into applications/CMakeLists.txt - * From Paul Martz, "When exporting a DrawArrays PrimitiveSet, the - DAE plugin computes an incorrect nbVerticesPerPoly if the first - index is not zero. The issue can be reproduced easily with: - osgconv cessna.osg cessna.dae - - Examination of the resulting .dae file reveals several - out-of-range tristrip indices; viewing the .dae file in osgviewer - causes a crash when OSG tries to lookup those indices. - - Attached resolves this issue." +Wed, 12 Sep 2007 16:20:40 +0000 +Checked in by : Robert Osfield +Rejigged the casting to avoid warnings under Windows -2008-05-26 21:53 robert +Wed, 12 Sep 2007 10:43:49 +0000 +Checked in by : Robert Osfield +Updated version, ChangeLog and AUTHORS file for 2.1.10 release - * From Art Tevs, "I've attached a patch for the Texture2DArray - which solves problems of loading image data into the texture - array. So here are a small description: - - - Solves issues of loading image data into the texture memory - - Print a warning if images are of different dimensions or have - different internal formats (GL specification requires images to - be the same) - - - Patch is tested and seems to work fine. It shouldn't break any - other functionality. It should go into include/osg and src/osg - " +Wed, 12 Sep 2007 10:04:36 +0000 +Checked in by : Robert Osfield +From Jan Peciva, build fix -2008-05-26 21:44 robert +Tue, 11 Sep 2007 20:54:39 +0000 +Checked in by : Robert Osfield +Added log2(int) and log2(uint) methods - * Fixed copyright notice typo +Tue, 11 Sep 2007 20:24:48 +0000 +Checked in by : Robert Osfield +Removed int version of log2 to avoid possible errors in assuming log2(10) should ~= log2(10.0) -2008-05-26 21:33 robert +Tue, 11 Sep 2007 17:10:24 +0000 +Checked in by : Robert Osfield +Added OpenThreads to target libraries - * From Paul Martz, "The attached code changes StateSet::merge() so - that it copies RenderBin data such as the rendering hint and - RenderBin details from rhs into "this", only if "this" has - RenderBin mode set to INHERIT. - - It replaces a comment by you indicating something along these - lines should be done. To me, this seems like the right thing to - do." +Tue, 11 Sep 2007 17:08:06 +0000 +Checked in by : Robert Osfield +From Art Tevs, Added log2 function. -2008-05-26 21:32 robert +Tue, 11 Sep 2007 16:59:19 +0000 +Checked in by : Robert Osfield +From Art Tevs, build fix. - * From Gino, "According to the 1.4.1 COLLADA spec (2nd ed) the - standard behavior for fx_sampler_wrap_common is as follows - - CLAMP ->GL_CLAMP_TO_EDGE - NONE->GL_CLAMP_TO_BORDER - - The current 2.5.0 daePlugin assumes the following binding - - CLAMP ->GL_CLAMP - NONE->GL_REPEAT - - Notably the GL_CLAMP binding will result in visible black seams - on input files that use otherwise matching textures. Replacing - GL_CLAMP by GL_CLAMP_TO_EDGE solves this problem. I've updated - both the read and write functions. - " +Tue, 11 Sep 2007 16:56:21 +0000 +Checked in by : Robert Osfield +Replaced allocateMipmap code with warning message as mipmaps aren't support for TextureRectangle. -2008-05-26 21:18 robert +Tue, 11 Sep 2007 13:47:06 +0000 +Checked in by : Robert Osfield +Removed the output num_children from Group .osg output and removed the output of "DataVaraince UNSPECIFIED" as this is redundent considering the default value is UNSPECIFIED. - * From Philip Lowman, "I changed the test name to be a little - easier to understand and defaulted Linux & Windows builds to - false and to skip the compile check as you desired. - " +Tue, 11 Sep 2007 13:42:23 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-05-26 21:10 robert +Tue, 11 Sep 2007 13:39:55 +0000 +Checked in by : Robert Osfield +From Mathias Froenlich, "have a problem with the SunOS CC. It does not like that the prototype of ClipNode::setStateSetModes() differs from implementation of that function in the constness of the second parameter. On SunOS it compiles fine, but I get link errors when the variant that is declared in the header is referenced.The attached src/osg/ClipNode.cpp file removes the const qualifier from the +implementation to match exactly the prototype in the header file. +The file is based on revision 7386 as of today. +" - * Updated wrappers -2008-05-26 21:09 robert - * From Paul Melis, "Here is an update to the osgviewerWX example. - Keyboard events were not always received because the - GraphicsWindowWX wasn't receiving focus. It now receives focus - when the mouse enters the window. - * I split the mouse handling from a monolithic method to separate - ones, slightly cleaner than a whole bunch of if()'s, especially - with another case of the mouse entering the canvas. - * I changed the EVT_KEY_DOWN handler to an EVT_CHAR handler, - although that now makes the up and down handler assymetric. The - new down-handler returns translated key codes, so when you press - the S key (without anything else), it actually returns 's' and - not 'S' as the EVT_KEY_DOWN did. This means that statistics can - be called up in the viewer window, while the example previously - only printed a "Stats output:" line to the console. I'm not truly - happy that the up handler returns _untranslated_ key codes. But - solving this completely would probably mean adding some table - that translated from wxWidgets' untranslated key codes to OSG's - internal ones. This might be interesting to add, as anyone using - OSG + wxWidgets in any serious manner would also have to add - this. - * I commented out the evt.Skip()'s in the keyboard handlers as - these would only be necessary if there were some key events that - are not handled. But currently all key events are simply - forwarded. - * I changed the handling of a mouse drag to a more general mouse - move" +Tue, 11 Sep 2007 13:34:41 +0000 +Checked in by : Robert Osfield +From Art Trevs, "File Changes: - GL2Extensions, Program and Program.cppFeatures: +- Support for fragment output binding. (e.g. You can now specify in the fragment shader varying out vec3 fragOut; fragOut = vec3(1,0,1); to write to the fragOut variable. In your program you call glBindFragDataLocation(program, 1, "fragOut") to bind the fragOut variable with the MRT 1 - GL_COLOR_ATTACHMENT1_EXT) -2008-05-26 21:04 robert +- new methods Program::add/removeBindFragDataLocation Program::getFragDataBindingList - * From Colin McDonald, "I had to tighten a declaration in - OpenFlight/FltWriteResult.h, as the Solaris SunStudio 11 compiler - was being picky and wouldn't compile." +" -2008-05-26 20:46 robert - * Added debug block to output the location of the master camera for - each View in a Viewer. -2008-05-26 17:30 robert +Tue, 11 Sep 2007 13:32:46 +0000 +Checked in by : Robert Osfield +Seperated out GeometryTechnique .osg support. - * Added continuous recording of the animation path to the - RecordAnimationPathHandler +Tue, 11 Sep 2007 12:28:03 +0000 +Checked in by : Robert Osfield +Changed the isTextureIntegerSupported method so that it no longer has the EXT entry in it for forward compatability reasons. -2008-05-26 16:25 robert +Tue, 11 Sep 2007 12:04:58 +0000 +Checked in by : Robert Osfield +From Art Trevs, "Features of the patch are:- Implementation of integer textures as in EXT_texture_integer - * Introduce --pbuffer-only width height option, and added fps - reporting to stats output +- setBorderColor(Vec4) changed to setBorderColor(Vec4d) to pass double values +as border color. (Probably we have to provide an overloading function to +still support Vec4f ?) -2008-05-26 15:41 robert +- new method Texture::getInternalFormatType() added. Gives information if the +internal format normalized, float, signed integer or unsigned integer. Can +help people to write better code ;-) - * Added basic --pbuffer width height support +" -2008-05-26 14:30 robert +Futher changes to this submission by Robert Osfield, changed the dirty mipmap +flag into a buffer_value<> vector to ensure safe handling of multiple contexts. - * Added better stats reporting -2008-05-26 12:01 robert - * Added feedback of pixel format chosen for read back -2008-05-26 11:59 robert - * Added automatic selection of the pixel type according to the - window type +Tue, 11 Sep 2007 10:16:21 +0000 +Checked in by : Robert Osfield +From Rafa Giatan, "Changed int to GLsizei in the input parameter of the method osg::Texture2DArray::applyTexImage2DArray_subload inside Texture2DArray (lines 214 and 257), Otherwise it gives a compile error on MacOSX." -2008-05-26 11:53 robert +Tue, 11 Sep 2007 10:10:43 +0000 +Checked in by : Robert Osfield +From Mike Wittman and Robert Osfield, added support for SO_VERSION number in runtime version info. Added checks for OpenThreads version. - * Added option for doing triple buffering, and set the default read - format - to GL_RGBA +Mon, 10 Sep 2007 16:06:23 +0000 +Checked in by : Robert Osfield +Maded versioning under Windows the default. -2008-05-25 22:06 robert +Mon, 10 Sep 2007 15:19:23 +0000 +Checked in by : Robert Osfield +Intoduced a new setGLExtensions template method to do a copy of void* pointer to local function pointer to avoid compiler warnings related to case void*.Moved various OSG classes across to using setGLExtensions instead of getGLExtensions, +and changed them to use typedef declarations in the headers rather than casts in +the .cpp. - * Switch to using an inital draw callback when use --start-frame +Updated wrappers -2008-05-25 21:52 robert - * Added option for setting whether the front or back buffer should - be read using - --front and --back command line options. -2008-05-25 21:35 robert +Sat, 8 Sep 2007 07:21:12 +0000 +Checked in by : Robert Osfield +Flesh out a bit more of the view IO support - * Added option for controlling whether the front buffer is read at - the start of the - frame or the back buffer at the end of the frame. +Sat, 8 Sep 2007 07:04:27 +0000 +Checked in by : Robert Osfield +Fixed typo -2008-05-25 11:21 robert +Fri, 7 Sep 2007 15:03:56 +0000 +Checked in by : Robert Osfield +From David Callu, warning fixes - * Added check for pkg-config so that build only use related package - checks when - it's supported +Fri, 7 Sep 2007 13:54:32 +0000 +Checked in by : Robert Osfield +Removed warning type not support by gcc 4.1.x -2008-05-24 11:05 robert +Fri, 7 Sep 2007 13:37:28 +0000 +Checked in by : Robert Osfield +Updated wrappers for new Texture2DArray class - * Added #define's for PixelBufferObject extensions. - - Added docs for Camera::DrawCallback +Fri, 7 Sep 2007 13:25:28 +0000 +Checked in by : Robert Osfield +Moved defined from Texture2DArray into Texture -2008-05-24 09:24 robert +Fri, 7 Sep 2007 11:21:02 +0000 +Checked in by : Robert Osfield +From Art Tevs,"A new texture class Texture2DArray derived from +Texture extends the osg to support the new +EXT_texture_array extensions. Texture arrays provides +a feature for people interesting in GPGPU programming. - * Added RenderStage::setClear*() methods from Camera::getClear*() - sources -2008-05-24 08:13 robert +Faetures and changes: - * Changed default format to GL_BGR +- Full support for layered 2D textures. -2008-05-23 16:26 robert +- New uniform types were added (sampler2DArray) - * Added single buffered and double buffered PBO support, and - --no-pbo, - --single-pbo and --double-pbo command line parameters +- FrameBufferObject implementation were changed to +support attaching of 2D array textures to the +framebuffer -2008-05-22 17:50 robert +- StateSet was slightly changed to support texture +arrays. NOTE: array textures can not be used in fixed +function pipeline. Thus using the layered texture as a +statemode for a Drawable produce invalid enumerant +OpenGL errors. - * Added basic glReadPixels code +- Image class was extended to support handling of +array textures -2008-05-22 15:43 robert +Tests: +I have used this class as a new feature of my +application. It works for me without problems (Note: +Texture arrays were introduced only for shading +languages and not for fixed function pipelines!!!). +RTT with Texture2DArray works, as I have tested them +as texture targets for a camera with 6 layers/faces +(i.e. replacement for cube maps). I am using the array +textures in shader programming. Array textures can be +attached to the FBO and used as input and as output." - * Added camera final callback attachment code. -2008-05-22 13:11 robert - * Fixed name of source file -2008-05-22 13:10 robert +Fri, 7 Sep 2007 10:50:13 +0000 +Checked in by : Robert Osfield +From Daniel Sjolie, "I patched the zip plugin to make use of my favorite zip/pack-application for windows if it is installed in the standard location..." - * Added new osgscreencapture example folder, implementation to - follow +Fri, 7 Sep 2007 10:15:39 +0000 +Checked in by : Robert Osfield +From Guillaume Millet, "Please find in attachment a small improvement to the pfb plugin CmakeLists.txt and to the FindPerformer.cmake module.Under Windows libs are: libpf.lib (we need to add the lib prefix) and +libpfdu-util.lib (libpfdu and libpfutil are compiled into one lib) +We need to add PFROOT to the search path for libs and includes (default +environment variable for Performer path) +And at last we need to put PFROOT/include and PFROOT/include/Performer +as include dir for compiling." -2008-05-22 12:38 robert - * Reorginaized the DatabaseQueue's to avoid warnings under Windows -2008-05-22 11:21 robert +Fri, 7 Sep 2007 09:53:40 +0000 +Checked in by : Robert Osfield +From Maria Ten, fix lat/long usage. - * Fixed warning by adding in missing return +Fri, 7 Sep 2007 09:49:31 +0000 +Checked in by : Robert Osfield +From Mattias Linde, "Have made the updates now. Added a std::map for easy lookup if a visual node is targeted by a rigid body which is the reason why the .h-file was changed too. So now there'll be Group as often as possible, otherwise PostitionAttitudeTransform." -2008-05-22 08:31 robert +Thu, 6 Sep 2007 08:23:21 +0000 +Checked in by : Robert Osfield +Added osg lib - * Checking in missed header +Wed, 5 Sep 2007 17:12:24 +0000 +Checked in by : Robert Osfield +From David Callu, improved consistency of Version strings and add version support for osgIntrospection and osgManipulator. -2008-05-21 21:09 robert +Wed, 5 Sep 2007 17:03:43 +0000 +Checked in by : Robert Osfield +Changed tabs to four spaces to make merges more straight forward - * Refactored DatabasePager and related classes to introduce support - for - multi-threaded paging, where the Pager manages threads of reading - local - and http files via seperate threads. This makes it possible to - smoothly - browse large databases where parts of the data are locally cached - while - others are on a remote server. Previously with this type of - dataset - the pager would stall all paging while http requests were being - served, - even when parts of the models are still loadable virtue of being - in the - local cache. - - Also as part of the refactoring the DatabaseRequest are now - stored in the - ProxyNode/PagedLOD nodes to facilitate quite updating in the cull - traversal, - with the new code avoiding mutex locks and searches. Previous on - big - databases the overhead involved in make database requests could - accumulate - to a point where it'd cause the cull traversal to break frame. - The overhead - now is negligable. - - Finally OSG_FILE_CACHE support has been moved from the curl - plugin into - the DatabasePager. Eventually this functionality will be moved - out into - osgDB for more general usage. +Wed, 5 Sep 2007 16:47:43 +0000 +Checked in by : Robert Osfield +Added automatic removal of .qt extension that allows one to automatically select the quicktime plugin. -2008-05-20 09:28 robert +Wed, 5 Sep 2007 16:36:36 +0000 +Checked in by : Robert Osfield +Added setting of locator source - * Moved the compile to after the updateSceneView +Wed, 5 Sep 2007 14:15:55 +0000 +Checked in by : Robert Osfield +Added option to Locator to help specify here the locator value was defined from.Update wrappers and Gdal plugin to use this new parameter -2008-05-14 20:22 robert - * Updated wrappers -2008-05-14 17:03 robert - * Introduced preliminary support for asynchronous file read - requests, - - ReaderWriter::ReadResult now has a FILE_REQUEST enum. - ReaderWriter::Options now has a s/getAsynchronousFileReadHint() - parameter methods. - - libcurl based plugin now detects enabing of the - AsynchronousFileReadHint, but - as yet does not handle async requests - handling everything - syncronously. - - DatabasePager now by default will enable AsynchronousFileReadHint - for http - based file requests - +Tue, 4 Sep 2007 14:00:27 +0000 +Checked in by : Robert Osfield +Improved Terrain IO -2008-05-14 14:59 robert +Tue, 4 Sep 2007 12:38:42 +0000 +Checked in by : Robert Osfield +Added mutex to DefaultFont::instance(). - * Moved the cache file writing into StreamObject so that the cache - file is only - created once data is being read. +Tue, 4 Sep 2007 12:32:47 +0000 +Checked in by : Robert Osfield +Added mutex into osgText::Font::GlphTexture to marshel adding to and reading from glyph list -2008-05-14 13:16 robert +Tue, 4 Sep 2007 09:00:38 +0000 +Checked in by : Robert Osfield +Rearrange _stateset member variable to avoid compile warning - * Introduced a thread safe map which manages a single EasyCurl - object per thread. +Mon, 3 Sep 2007 16:04:13 +0000 +Checked in by : Robert Osfield +Updated AUTHORS and README to 2.1.9 dev release -2008-05-14 12:47 robert +Mon, 3 Sep 2007 16:02:00 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * Refactor curl usage so that a new EasyCurl class wraps up the - curl handle and - reading from curl. +Mon, 3 Sep 2007 15:47:28 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-05-13 18:28 robert +Mon, 3 Sep 2007 15:43:58 +0000 +Checked in by : Robert Osfield +From Sherman Wilcox, added extension checking support for compressed texture subloading. - * Fixed lat/long ordering +Mon, 3 Sep 2007 15:22:23 +0000 +Checked in by : Robert Osfield +From Jan Peciva, build fix -2008-05-13 17:27 robert +Mon, 3 Sep 2007 14:05:24 +0000 +Checked in by : Robert Osfield +Updated version number for 2.1.9 dev release - * Added support for -e level minX minY maxX maxY extents controls +Mon, 3 Sep 2007 13:59:25 +0000 +Checked in by : Robert Osfield +From Jan Peciva, improvement to the FindInventor. -2008-05-13 14:08 robert +Mon, 3 Sep 2007 13:52:19 +0000 +Checked in by : Robert Osfield +From Jan Peciva, Added write support into Inventor plugin.Note from Robert Osfield. A couple of lines of code in ConvertToInventor.cpp +would not compile under g++ 4.1.2, so rather than hold back the dev release till +this is resolved I've optional compiled out the problem section. +The #define DISABLE_PROBLEM_COMPILE_SECTIONS is used to compile out the problem +section, this define is add via the CMakeLists.txt file. - * Added --file-cache directoryname command line option support to - readNodeFiles(ArgumentParser&) - to make it easier to specify a local file cache, in place of the - default OSG_FILE_CACHE - env var. -2008-05-13 12:36 robert - * Further work on computing of lat/long range of PagedLOD subgraphs -2008-05-13 10:56 robert +Mon, 3 Sep 2007 12:27:37 +0000 +Checked in by : Robert Osfield +Added osgdepthpeeling example - * From Steven Thomas, "Subject: Collada fix - There was a problem converting a file to Collada by using osgconv - like this: - - osgconv file.osg file.dae - - You would get an error message: - - I/O error : Permission denied - I/O error : Permission denied - error : xmlNewTextWriterFilename : out of memory! - Error: daeLIBXMLPlugin::write(file://cessna.dae) failed - Warning: Error in writing to "cessna.dae". - - This was due to some bad URI processing code in the Collada - plugin. The attached file fixes this by using the Collada DOM's - URI processing functions. After this change the file will convert - successfully in the local directory. - " +Mon, 3 Sep 2007 10:12:26 +0000 +Checked in by : Robert Osfield +From Ralf Kern, "the attached color mapped TIFF file klink1_l.tif is incorrectly read as GL_LUMINANCE data instead of GL_RGB data. You can easily check with "osgViewer --image klink1_l.tif".The bug is in ReaderWriterTIFF.cpp function simage_tiff_load, where +numComponents_ret is incorrectly set to 1 instead of 3 for color mapped +data." -2008-05-12 16:59 robert - * Added signal handling code, and prelimary lat/long computation -2008-05-12 15:42 robert +Mon, 3 Sep 2007 10:04:34 +0000 +Checked in by : Robert Osfield +From Almalric Alexandre, "I've noticed that all osgViewerMFC example from osg 2.x.x are flickering when resizing 3D view, to avoid this only add OnEraseBkgnd callback in CMFC_OSG_MDIView class and do nothing in it. Just like the WxWidget example.Attached the modified version of MFC_OSG_MDIView.cpp and MFC_OSG_MDIView.h." - * Added missing getBound() method +Note from Robert Osfield, submission came with wrong header file, so have had +to guess at what it should be, fingers crossed it worn't break windows build... :-) -2008-05-12 12:16 robert - * Update ChangeLog and wrappers for 2.5.0 dev release -2008-05-12 12:16 robert - * Updated AUTHORS for 2.5.0 release -2008-05-12 11:39 robert +Mon, 3 Sep 2007 09:56:30 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "I hit a bug when making a copy of a PagedLOD node, the copy has lost it's _databasePath and can no longer load it's childen. "Added _databasePath(plod._databasePath), in the copy copy construcutor. - * From Mathias Froehlich, Fixed FrameBufferObject attachement code - to handle cases - where no texture or image is attached -2008-05-12 11:01 robert - * Updated version number for 2.5.0 dev release -2008-05-12 10:55 robert - * From Eric Sokolowski and Robert Osfield, moved command line - option usage setup - from osgviewer example into osg::ArgumentParser and - osgViewer::Viewer to make - them more universally available. +Mon, 3 Sep 2007 09:54:24 +0000 +Checked in by : Robert Osfield +Fixed spacing. -2008-05-12 10:18 robert +Mon, 3 Sep 2007 09:50:50 +0000 +Checked in by : Robert Osfield +From Sherman Wilcox, "I modified texturerectangle.cpp to address this issue. I used a DXT5 DDS file to test the change." - * From Bob Kuehne, "* add easy multiple texture targets support for - obj by refactoring texture - load into it's own method. - - * use new method from step 1 to load 'map_opacity' textures from - .mtl files" +Mon, 3 Sep 2007 09:47:43 +0000 +Checked in by : Robert Osfield +Updated wrapper -2008-05-12 10:16 robert +Mon, 3 Sep 2007 09:43:33 +0000 +Checked in by : Robert Osfield +Added default contructors to Operation - * From Mathias Froehlich, fixed typo +Sun, 2 Sep 2007 22:31:09 +0000 +Checked in by : Robert Osfield +Fixed cancel loop. -2008-05-11 14:26 robert +Sat, 1 Sep 2007 16:56:53 +0000 +Checked in by : Robert Osfield +Added convinience methods for setting up 3d spherical displays. - * Added CARIO_FOUND into svg plugins checks +Sat, 1 Sep 2007 15:24:22 +0000 +Checked in by : Robert Osfield +Changed Font's mutex to become a static mutex shared between all instances of Font. This ensures single threaded access of the freetype plugin. -2008-05-11 14:23 robert +Fri, 31 Aug 2007 20:30:45 +0000 +Checked in by : Robert Osfield +Changed mutex reference to a mutex pointer to avoid problems with wrappers - * From Miguel Escriva, Here you will find a SVG Image Reader. It - renders a SVG file as an osg::Image using cairo and rsvg. +Fri, 31 Aug 2007 20:21:45 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-05-10 17:25 robert +Fri, 31 Aug 2007 20:16:02 +0000 +Checked in by : Robert Osfield +To solve creations with multi-threaded creation of text, added mutex to Font, and use of this mutex in Text, and added mutex to the reading of fonts. - * From Paul Martz, "This change adds support for osg::Billboards to - the OpenFlight exporter. - - It might seem odd that the change actually removes the stub - apply(Billboard&) method, but it turns out Billboards are easily - supported in subordinate routines of the existing apply(Geode&) - method with s dynamic_cast, so there's no need for a separate - apply(Billboard&)." +Fri, 31 Aug 2007 20:14:36 +0000 +Checked in by : Robert Osfield +Added mutex locking add addParents/removeParents in Drawable, Node and StateSet. -2008-05-10 17:23 robert +Fri, 31 Aug 2007 18:56:22 +0000 +Checked in by : Robert Osfield +Added mutex to protect the readFontFile calls - * From Paul Martz, "Another round of plugin enhancements. - - 3DC: Output now uses osg::notify. - JPEG: Now returns correct error code for empty input file. - FreeType: Prevent possible crash if Options is NULL." +Fri, 31 Aug 2007 16:59:32 +0000 +Checked in by : Robert Osfield +Added support for running multiple text generation threads -2008-05-10 17:04 robert +Fri, 31 Aug 2007 16:05:24 +0000 +Checked in by : Robert Osfield +Changed RenderLeaf and StateGraph so that they use ref_ptr<> by default for Drawable and StateSet. - * Moved compile setup from osgViewer::ViewerBase into - osgViewer::Renderer to - avoid threading issues associated with compile running in a - parallel with - update/cull on the first frame. - - Also added automatic recompile when a new SceneData is applied to - a View. +Fri, 31 Aug 2007 15:49:17 +0000 +Checked in by : Robert Osfield +From Luigi Calori, fixed Windows install of wrappers -2008-05-09 17:22 robert +Fri, 31 Aug 2007 12:14:39 +0000 +Checked in by : Robert Osfield +Added export for Windows build - * Added --file-cache command line option to compliment -c +Fri, 31 Aug 2007 11:04:06 +0000 +Checked in by : Robert Osfield +From Luigi Calori, added support for Win32 versioning/new buid placement. -2008-05-09 17:08 robert +Thu, 30 Aug 2007 19:26:52 +0000 +Checked in by : Robert Osfield +Further work on osgTerrain::Locator and GDAL plugin - * Initial cut of file cache population app +Thu, 30 Aug 2007 12:18:45 +0000 +Checked in by : Robert Osfield +From Luigi Calori, add osgText to geo plugin build -2008-05-09 11:54 robert +Thu, 30 Aug 2007 10:41:15 +0000 +Checked in by : Robert Osfield +From Luigi Calori, introduction of versioning of dll's and placement of dll and plugins into bin directory during build. - * From Art Trevs, set the _geometryVerticesOut to default to 1 as a - workaround - for OpenGL driver bug that incorrectly reports a warning when - value is 0. +Thu, 30 Aug 2007 10:17:34 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-05-09 11:27 robert +Thu, 30 Aug 2007 10:15:35 +0000 +Checked in by : Robert Osfield +Further refinement of ProxyLayer API - * From Paul Martz, "Attached are some minor plugin fixes. PNM, RGB, - and JPEG would all crash if attempting to read an empty file, and - FLT would go into an infinite loop. All are fixed with this - change. - - I also fixed some return values for a couple of these, changing - FILE_NOT_HANDLED to ERROR_IN_READING_FILE where appropriate." +Wed, 29 Aug 2007 16:29:05 +0000 +Checked in by : Robert Osfield +Further work on new ProxyLayer -2008-05-09 10:27 robert +Wed, 29 Aug 2007 12:18:41 +0000 +Checked in by : Robert Osfield +Added ProxyLayer support into osgTerrain plugin - * From Jeremy Moles, fixed window resize problem +Wed, 29 Aug 2007 11:51:22 +0000 +Checked in by : Robert Osfield +Added support for post fixing filenames with .gdal to force use of gdal plugin. -2008-05-08 17:02 robert +Wed, 29 Aug 2007 10:52:03 +0000 +Checked in by : Robert Osfield +Added preliminary ProxLayer and DataSetLayer in GDAL plugin to aid integration of GDAL reading into osgTerrain. - * Added missing check against handling invalid bounding sphere's +Tue, 28 Aug 2007 16:12:10 +0000 +Checked in by : Robert Osfield +Changed the error code reporting to use hex to match up with freetype headers -2008-05-08 16:48 robert +Tue, 28 Aug 2007 15:35:24 +0000 +Checked in by : Robert Osfield +Improved formatting. - * From Eric Sokolowsky, "I found one compilation error in OSG 2.4 - in the Inventor plugin, where one node (SoTextureCoordinate3) was - assumed to be available in all versions of Inventor but is - actually only available in Coin. The use of the node is now - protected by #ifdef __COIN__ constructs. The attachment is based - on OSG 2.4, not SVN." +Tue, 28 Aug 2007 15:35:09 +0000 +Checked in by : Robert Osfield +Removed the OSG_INCLUDE -2008-05-08 16:45 robert +Tue, 28 Aug 2007 15:31:43 +0000 +Checked in by : Robert Osfield +Tweeked settings - * From Melchior Franz, "In KDE I switch desktops with Super-Tab, - and occasionally I - get an excess Tab key report when switching back to an OSG - application (usually FlightGear :-). Although KDE has consumed - the Tab, it's sometimes still in the XKeymapEvent's key_vector, - and followed by a Tab KeyRelease event. - - Avoid this artifact by - - asking for a "fresh" keymap (via XQueryKeymap()), rather than - using the unreliable(?) XKeymapEvent's key_vector, and by - - flushing all key events on focus-in (to avoid the KeyRelease) - - After Super-press, Tab-press, Super-release, Tab-release (note - the wrong release order!) I still get an extra Tab event. But - this is not surprising and not exactly wrong either. Also it's - hard to avoid, as we can't see what happened to the keyboard - before we regained focus. - - Files changed: - src/osgViewer/GraphicsWindowX11.cpp - include/osgViewer/api/X11/GraphicsWindowX11" +Tue, 28 Aug 2007 14:02:16 +0000 +Checked in by : Robert Osfield +Added multi-threaded test path -2008-05-08 16:39 robert +Mon, 27 Aug 2007 16:59:51 +0000 +Checked in by : Robert Osfield +Replaced CartesianLocator and EllipsoidLocator by a single general purpose Locator class - * From Jeremy Moles, osgviewerGTK example +Mon, 27 Aug 2007 13:33:58 +0000 +Checked in by : Robert Osfield +From Brandon Hamm, changed WxWindows example to use double buffering -2008-05-08 15:17 robert +Mon, 27 Aug 2007 13:29:09 +0000 +Checked in by : Robert Osfield +Added support for controlling the draw order on Cameras on each GraphcisContext via the Camera::setRenderOrder parameters - * From Sebastien Messerschmidt, "attached you'll find a patch for - the shp-plugin. - I've spotted huge memory leaks int ShapeParser and fixed them. - Also, there was a missing destructor (PolygonM) and a missing - member initialization (PolygonZ) - Would be nice if someone could test the changes. - - To release the memory just if no reading error happened (and - therefore the arrays would be valid) I've added an macro to - release and reset the pointers at once. I'm not using macros - myself very often as I don't like them, but I think it doesn't - hurt in this code. - - " +Mon, 27 Aug 2007 10:37:08 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file for release -2008-05-08 15:14 robert +Mon, 27 Aug 2007 10:29:22 +0000 +Checked in by : Robert Osfield +Updated date on READEME - * Updated ChangeLog and osgversion to catch Raymond de Vries name - correctly +Mon, 27 Aug 2007 10:28:47 +0000 +Checked in by : Robert Osfield +Updated version numbers for 2.1.8 dev release -2008-05-08 14:00 robert +Mon, 27 Aug 2007 10:00:09 +0000 +Checked in by : Robert Osfield +Cleaned up the getRotate implementation selection using #defines, and made the COMPILE_getRotate_David_Spillings_Mk1 the default. - * From Raymond de Vries, "This fix tests the right variable before - it is allocated. Fortunately, until now it tested another - variable (_particleSizeUniform, which is, at that moment, not - allocated as well) and everything went ok. So it does not fix a - crash or so, it is a matter of correct code. - - Line 353 is changed from - - if (!_particleSizeUniform) - - to - - if (!_particleColorUniform) - " +Mon, 27 Aug 2007 09:51:24 +0000 +Checked in by : Robert Osfield +From David Spilling, tweaked quat tests to reproduce getRotate errors. -2008-05-08 13:56 robert +Sun, 26 Aug 2007 10:27:31 +0000 +Checked in by : Robert Osfield +From Jan Ciger, warning fixes - * From Paul Martz, "As I discovered prior to the 2.4 release, the - FLT export geometry backend was using some old turn-on code, - originally written just to enable other development but not - intended for actual release. Sadly, my OSG training commitments - prevented me from fixing this prior to 2.4. - - In essence, the FLT exporter was emitting a full set of Mesh - records each time it encountered a PrimitiveSet. - - Attached is a fix. The code now emits the Mesh set up records, - then iterates over all PrimitiveSets and emits a Mesh Primitive - record per PrimitiveSet. - - It also loops over PrimitiveSets twice, first writing Face - records according to the mode, the writing Mesh records (again - according to the mode). - - The final change included here is support for GL_POINTS as - single-vertex Face records. - - Billboards are still to come." +Sun, 26 Aug 2007 10:24:18 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, fixed comment -2008-05-08 13:46 robert +Sun, 26 Aug 2007 10:19:12 +0000 +Checked in by : Robert Osfield +Added dynamic_cast and extra doc commented just to force the use of symbol from osgViewer so that it links properly and pulls in the platform specific GraphcisWindow* implementation. - * Updated wrappers +Sun, 26 Aug 2007 09:59:39 +0000 +Checked in by : Robert Osfield +Change char* to const char* to fix warnings -2008-05-08 13:22 robert +Sun, 26 Aug 2007 09:46:49 +0000 +Checked in by : Robert Osfield +Updated wrappers, and change Renderer so that private: to proteccted:. - * From Roland Smeenk, "Small typo and implementation fix for - setInitialDrawCallback." +Sun, 26 Aug 2007 09:45:35 +0000 +Checked in by : Robert Osfield +Updated links -2008-05-08 12:55 robert +Fri, 24 Aug 2007 19:16:35 +0000 +Checked in by : Robert Osfield +Changed debug comments to output to notify level and tweaked the handling of the .terrain file. - * From Philip Lowman, "Attached is a patch to the toplevel - CMakeLists.txt which adds an automated test for - OSG_GLU_TESS_CALLBACK_TRIPLEDOT. This should help ease initial - configuration on OS X systems." +Fri, 24 Aug 2007 19:16:02 +0000 +Checked in by : Robert Osfield +Added support for reading a .osg style data from a file string when trailed by a .osgs extension i.e. osgviewer "osgTerrain::Terrain { ElevationLayer { CartesianLocator 0 0 1000000 1000000 Image ps_height_512.tif } ColorLayer { CartesianLocator 0 0 1000000 1000000 Image ps_texture_1k.tif } }".osgs -2008-05-08 12:36 robert - * From Garrett Potts and Robert Osfield, changes to build against - Collada DOM 2.x -2008-05-08 09:16 robert - * Updated the doxygen docs to explain the deprecated status of - SceneView -2008-05-07 17:06 robert +Fri, 24 Aug 2007 18:48:26 +0000 +Checked in by : Robert Osfield +Added writing out of Terrain, Layer and Locators, and reading in of .terrain string. - * Commented out checking of DISPLAY env var +Fri, 24 Aug 2007 16:16:08 +0000 +Checked in by : Robert Osfield +Set the debug out to info notification level -2008-05-07 14:32 robert +Fri, 24 Aug 2007 16:12:22 +0000 +Checked in by : Robert Osfield +Added better handling of OSG_TEXT_INCREMENTAL_SUBLOADING env var. - * Updated wrappers +Fri, 24 Aug 2007 16:10:43 +0000 +Checked in by : Robert Osfield +Added default disabling of incremental subload for ATI cards. -2008-05-07 14:30 robert +Fri, 24 Aug 2007 14:00:44 +0000 +Checked in by : Robert Osfield +Added support for setting DatabasePager thread priority via OSG_DATABASE_PAGER_PRIORITY. - * From Bob Kuehne, Added doxygen docs clarification of ReadResult - enum values +Fri, 24 Aug 2007 13:33:35 +0000 +Checked in by : Robert Osfield +Cleaned up the thread priority management in DatabasePager and added support for paging stats. -2008-05-07 14:24 robert +Fri, 24 Aug 2007 10:58:08 +0000 +Checked in by : Robert Osfield +Added setting of block into the ThreadSafeQueue's contructor. - * From Donald Cipperly, "This is a fix to eliminate >> errors in VS - 7.1" +Fri, 24 Aug 2007 09:45:11 +0000 +Checked in by : Robert Osfield +Disable the escape sets done on the viewer -2008-05-07 14:17 robert +Fri, 24 Aug 2007 09:42:11 +0000 +Checked in by : Robert Osfield +From Mario Valle,osgviewerWX: "To make the example compile using a wx build non UNICODE based. +Tested on Linux with wxGTK 2.8.4" - * From Miguel Escriva, "Attached to this mail you will find some - files to work with the Philips WOWvx displays. - - It's implemented in the same way that 3D Spherical Display and - Panoramic Spherical Display. - - You can test it running: - osgviewer --wowvx-20 cow.osg - osgviewer --wowvx-42 cow.osg - depending on the size of your Philips WOWvx display (20" or 42") - - Other arguments you can use to control the 3D effect are: - - --wow-content - This value defines the kind of content that can be: - 0: No depth - 1: Signage - 2: Movie - 3: CGI - 4: Still - - --wow-factor - Percentage of the display recommended depth value. Default 64, - Range [0-255] - - --wow-offset - Amount of range behind the screen. Default 128, Range [0-255] - 0: Range is shifted in the direction of the viewer. - 128: Range is equally divided in front and behind the screen. - 255: Range is shifted away from the viewer. - " +osgviewerFOX: "Added removeChore() call in the FOX_OSG_MDIView destructor to get rid of a Trace/BPT trap +error on exit on Linux. BTW this is suggested also in the FOX documentation." -2008-05-07 13:49 robert - * From Terry Welsh, fixed typo of getEnd() -2008-05-07 13:46 robert - * From Jeremy Moles,"Here's a small example I us to test text - rendering in osgWidget; I - figured it might be helpful to folks in OSG who need to do the - same. - " +Thu, 23 Aug 2007 16:56:06 +0000 +Checked in by : Robert Osfield +Made plugin build names lowercase -2008-05-07 13:42 robert +Thu, 23 Aug 2007 16:33:39 +0000 +Checked in by : Robert Osfield +Changed the plugin name to openflight instead of OpenFlight to avoid problems with osgDB looking for just lower case plugin names - * From Farshid Lashkari, "I've added hardware mipmap support to - Texture3D." +Thu, 23 Aug 2007 15:36:45 +0000 +Checked in by : Robert Osfield +Updated for 2.1.7 dev release -2008-05-07 11:59 robert +Thu, 23 Aug 2007 14:35:04 +0000 +Checked in by : Robert Osfield +From Stephan Huber, fix for crash on exit - * Added doxygen comments for attach +Thu, 23 Aug 2007 14:31:23 +0000 +Checked in by : Robert Osfield +From Galen Faidley," Please find attached the modifications to get the new checkerboard stereo format to work. It's a good thing I tested these on a TV before submitting them since I did indeed have a bug. One thing I did not test was to see how this would work in windowed mode. Does the interlaced stereo code have support for 'absolute' positions? For example a given pixel on the screen is always shown in a given eye no matter where the graphics context is placed? " -2008-04-26 11:13 robert +Thu, 23 Aug 2007 14:10:31 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay,"As discussed yesterday on the osg-users list, I have altered src/osgDB/FileUtils.cpp to implement the official Windows DLL search order as described on the page http://msdn2.microsoft.com/en-us/library/ms682586.aspx . As mentioned, the search order is now: 1. The directory from which the application loaded. 2. The system directory. (C:\Windows\System32 by default, gotten using the GetSystemDirectory function) 3. The 16-bit system directory. (C:\Windows\System by default, gotten by adding "\System" to the path gotten in the next step...) 4. The Windows directory. (C:\Windows by default, gotten using the GetWindowsDirectory function) 5. The current directory. (".") 6. The directories that are listed in the PATH environment variable. (as before)The first four directories are obtained using Win32 API calls, so they +should work correctly even on non-standard Windows installs. - * Updated package numbers for OSG-2.4, OT-2.2.1 release +The changes are well commented and should be clear, even to someone +not familiar with the Win32 API. -2008-04-25 13:10 robert +I have tested in a few scenarios and it works as expected. Serge Lages +has also tested the changes and confirmed they worked as described. I +have not had any other reports though (positive or negative). - * Update AUTHORS file for 2.4 release +I also fixed the issue with a trailing semicolon on the PATH adding an +empty string to the end of the search paths, as this was an +inconsistent side effect rather than a desirable effect. This change +will take effect on other platforms as well, but since it tests for an +empty string in the last item added to the search paths, it should +have no adverse effect. +" -2008-04-25 12:58 robert - * Updated ChangeLog for 2.4 release -2008-04-25 12:40 robert +Thu, 23 Aug 2007 11:06:16 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Update NEWS and README to 2.4 stable release +Thu, 23 Aug 2007 11:00:12 +0000 +Checked in by : Robert Osfield +Addd control for serializing draw dispatch. -2008-04-25 09:46 robert +Wed, 22 Aug 2007 19:31:58 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "After a bit more testing, it was still not 100% robust, so this fix will bring the change in line with what is done on other OSes (Linux) and works in all tested cases.For reference, this was tested with: - * Updated Version number for 2.4 stable release +osgviewer .wrl (file in current directory) +osgviewer \.wrl (file in child directory, relative) +osgviewer .\\.wrl (file in child directory, specify current) +osgviewer :\\.wrl (absolute path) +" -2008-04-25 09:35 robert - * From Stephane Lamoliatte, "Here is the fix of a very little typed - error in BoundingBox : I replace "doulbe" by "double"." -2008-04-25 08:34 robert +Wed, 22 Aug 2007 19:26:25 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added cast to avoid warning +Wed, 22 Aug 2007 17:18:27 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-04-24 16:50 robert +Wed, 22 Aug 2007 17:17:25 +0000 +Checked in by : Robert Osfield +Refactored the implementation of cull/draw for DrawThreadPerContex and CullThreadPerCameraDrawThreadPerContex and added an experimental draw serialization. - * Updated date of 2.4 release +Wed, 22 Aug 2007 14:32:06 +0000 +Checked in by : Eric WING +Documentation updates. -2008-04-24 16:49 robert +Wed, 22 Aug 2007 12:33:39 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated AUTHORS file for release +Wed, 22 Aug 2007 12:21:01 +0000 +Checked in by : Robert Osfield +Cleaned up the thread setup and fixed the CullThreadPerCameraDrawThreadPerContext path -2008-04-24 16:48 robert +Wed, 22 Aug 2007 12:14:15 +0000 +Checked in by : Robert Osfield +Added thread safe ref/unref by default. - * Updated ChangeLog for 2.3.11 release +Wed, 22 Aug 2007 11:04:43 +0000 +Checked in by : Eric WING +Fixes to DMG script to reflect removal of GDAL and external OpenThreads.Support for OpenSceneGraph-Data repo aside OpenSceneGraph repo. -2008-04-24 16:24 robert +Added background image support to DMG. Pre-laid-out .DS_Store included. - * From Wojchiech Lewandowski, add missing setDataVariance(DYNAMIC) - and extra event handlers -2008-04-24 14:46 robert - * From Colin Dunlop, added alias for .live to quicktime plugin - mapping. -2008-04-24 11:34 robert +Wed, 22 Aug 2007 10:56:20 +0000 +Checked in by : Eric WING +Removed missing shadow examples from Xcode project. - * Reverted the changes for ill fated tweaks for Apple build +Wed, 22 Aug 2007 10:34:11 +0000 +Checked in by : Robert Osfield +Set main scene graph elements to use thread safe ref/unref by default -2008-04-24 10:09 robert +Wed, 22 Aug 2007 09:50:09 +0000 +Checked in by : Robert Osfield +Cleaned up copy constructor and switched on thread safe ref/unref. - * From Mattias Helsing, "I just made Find3rdPartyDependencies - search for curllib if it can't - find libcurl. Mike's 3rdParty only has curllib. - - I realize now that the in appended file I have earlier removed - searching for freetype219 since I have it but it will break the - build - of osg." +Wed, 22 Aug 2007 09:48:39 +0000 +Checked in by : Robert Osfield +Added debug ENFORCE_THREADSAFE paths into osg::Referenced, these are off by default. -2008-04-23 21:07 robert +Wed, 22 Aug 2007 09:46:38 +0000 +Checked in by : Robert Osfield +Simplified the thread set up. - * Updated authors file for 2.3.11 release +Wed, 22 Aug 2007 09:45:20 +0000 +Checked in by : Robert Osfield +Added thread safe ref/unref -2008-04-23 21:07 robert +Wed, 22 Aug 2007 09:44:55 +0000 +Checked in by : Robert Osfield +Added debug message to destructor - * Updated ChangeLog +Wed, 22 Aug 2007 09:43:24 +0000 +Checked in by : Robert Osfield +Added setting of thread safe ref/unref. -2008-04-23 20:54 robert +Wed, 22 Aug 2007 09:42:27 +0000 +Checked in by : Robert Osfield +Added default setting of use of thread safe ref/unref. - * Updated version number 2.3.11 +Wed, 22 Aug 2007 09:05:34 +0000 +Checked in by : Robert Osfield +Changed ReadFileCallback and WriteFileCallback to use virtual inhertinace. -2008-04-23 20:50 robert +Tue, 21 Aug 2007 09:32:16 +0000 +Checked in by : Robert Osfield +Added missing clear() implementation - * Refactored the inclusion of the headers in the ADD_LIBRARY so - that they aren't - added under OSX. +Mon, 20 Aug 2007 13:09:10 +0000 +Checked in by : Robert Osfield +Fixed the install path of plugins under Windows. -2008-04-23 20:49 robert +Mon, 20 Aug 2007 10:15:07 +0000 +Checked in by : Robert Osfield +Updated README date - * Removed the mutable from the _image variable +Mon, 20 Aug 2007 10:14:33 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file for 2.1.6 release -2008-04-23 14:10 robert +Mon, 20 Aug 2007 10:06:36 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * Added mutex to object creation to avoid a race condition when - using threaded multiple graphics context +Mon, 20 Aug 2007 09:28:03 +0000 +Checked in by : Robert Osfield +Updated version number for 2.1.6 release and updated wrappers -2008-04-22 14:31 robert +Mon, 20 Aug 2007 09:27:31 +0000 +Checked in by : Robert Osfield +Removed Makefile as this is autogenerated. - * Added return. +Sun, 19 Aug 2007 19:22:14 +0000 +Checked in by : Robert Osfield +From Antione Hue and Robert Osfield, moved prepend in front of lib entry. -2008-04-22 14:15 robert +Fri, 17 Aug 2007 16:10:45 +0000 +Checked in by : Robert Osfield +Fixed zfar setting - * From Stephan Huber, "the support for the new mightymouse and new - touchpads was incomplete in GraphicsWindowCarbon. Attached is a - fixed version." +Fri, 17 Aug 2007 09:37:49 +0000 +Checked in by : Robert Osfield +Changed ++_modifedCount cases to dirty(). -2008-04-22 13:00 robert +Thu, 16 Aug 2007 18:49:46 +0000 +Checked in by : Robert Osfield +Changed the tolower of the file extension into the plugin name construction code.Added support for CompositeLayer. - * Updated AUTHORS file -2008-04-22 12:52 robert - * Updated ChangeLog, NEWS and READE for 2.3.10 pre release of 2.4. +Thu, 16 Aug 2007 15:29:50 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-04-22 11:47 robert +Thu, 16 Aug 2007 14:13:10 +0000 +Checked in by : Robert Osfield +From Maria Ten, "I divide the init method of the geometrytechnique in submethods to made more easy the inheritance between the user and osg-class. This is a first step to add more functions in osgTerrain. Maybe the subdivision of the method have to be in the terraintechnique because is the base class of GeometryTechnique. If Robert or anyone think that this is better i change this class too." - * Updated version number for 2.3.10 dev release +Wed, 15 Aug 2007 15:11:48 +0000 +Checked in by : Robert Osfield +From Jan Ciger, "I am attaching a little hack from Jean-Sebastien Guay which allows absolute paths to work on Windows." -2008-04-22 11:41 robert +Wed, 15 Aug 2007 15:07:56 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "the softshadowmap-implementation does not compile on os x, to be more precise, the shader does not compile on os x because of some type-conflicts ala "can not convert from const int to const float"So I changed the offending lines to force the type of the vars. It works +now on OS X (albeit very slowly, 3fps on a 7300), perhaps you find the +changes useful. Note: perhaps there is a better way in shaders to +cast/convert from int to float and viceversa." - * Updated wrappers -2008-04-22 11:39 robert - * Removed hardware down sampling hack from GeoemtryTechnique and - replaced with Terrain::g/setSampleRatio() - usage. -2008-04-22 10:10 robert +Wed, 15 Aug 2007 15:03:26 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "The attached file updates the framestamp and traversal number of the updatevisitor in osgViewer::Viewer.The bug prevented DOF animations because osgSim::DOFTransform checks +the traversal number before doing any updates." - * Updated authors -2008-04-22 09:43 robert - * Fixed name +Tue, 14 Aug 2007 17:13:54 +0000 +Checked in by : Robert Osfield +Changed the plugin name to lower case to be consistent with the way that osgDB::Registry searches for only lower case plugin names. -2008-04-21 16:31 robert +Tue, 14 Aug 2007 17:04:27 +0000 +Checked in by : Robert Osfield +Added string to keyword map parser. - * Updated NEWS for 2.4 release +Tue, 14 Aug 2007 13:08:15 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber: updating the XCode-project-files -2008-04-21 14:51 robert +Tue, 14 Aug 2007 12:47:26 +0000 +Checked in by : Robert Osfield +Added Ben van Basten to list of authors. - * From Luigi Calori, Added CURL_IS_STATIC option to help hint to - the libcurl's plugin build so that it can be select as static - build +Tue, 14 Aug 2007 08:41:43 +0000 +Checked in by : Robert Osfield +Replaced uint with unsigned int -2008-04-18 16:21 robert +Mon, 13 Aug 2007 14:02:16 +0000 +Checked in by : Robert Osfield +Removed osgdepthshadow and osgshadowtexture from build list - * Updated AUTHORS file for release +Mon, 13 Aug 2007 11:59:19 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, AUTHORS and README files -2008-04-18 16:20 robert +Mon, 13 Aug 2007 11:45:20 +0000 +Checked in by : Robert Osfield +Updated version for 2.1.5 dev release - * Updated ChangeLog +Mon, 13 Aug 2007 10:31:33 +0000 +Checked in by : Robert Osfield +From Luc Frauciel, "I've done 2 main modifications : 1) added texture->setResizeNonPowerOfTwoHint(false); when loading an image. It speeds up by 10 the loading of large images. 2) added a --disk option : only a filelist is read, images are only loaded when needed. It allows to handle very large set of very large images that would not fit in memory. Nothing change when the option is not set." -2008-04-18 15:52 robert +Mon, 13 Aug 2007 10:27:35 +0000 +Checked in by : Robert Osfield +From Jan Ciger, "I am attaching an improved version of the OpenVRML plugin. It still uses OpenVRML 0.14.3 and is without the Boost dependency.The changes: +- - Fixed loading of textures and normals when no corresponding indices +are specified. It uses vertex indices now, compliant with the VRML spec. +- - Added colour per vertex support. +- - Added group node support. +- - Changed the code to use osg::ref_ptr instead of naked pointers to +avoid memory leaks. +- - Fixed breakage for loading files specified by relative path." - * Updated date on readem -2008-04-18 15:01 robert - * Updated wrappers -2008-04-18 14:57 robert - * Added support for COLOR_BUFFER entries up to 15 +Mon, 13 Aug 2007 10:20:14 +0000 +Checked in by : Robert Osfield +From J.P. Delport, fix of GDAL location search -2008-04-18 14:51 robert +Mon, 13 Aug 2007 10:17:18 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, "I added the ability to set the render target implementaion on the osgSim::OverlayNode. The attached changes were made against the 2.0 release." - * Updated BufferComponent enum to list COLOR_BUFFERi entries up to - 15. +Mon, 13 Aug 2007 09:13:01 +0000 +Checked in by : Robert Osfield +Added gdal/gdal.h to header search path, and gdal1.4.1 to the lib search path. -2008-04-18 14:33 robert +Sun, 12 Aug 2007 13:30:00 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Fixed bug in FBO colour attachement code +Sun, 12 Aug 2007 13:18:50 +0000 +Checked in by : Robert Osfield +Added getStart()/getEnd() -2008-04-18 14:14 robert +Sun, 12 Aug 2007 13:17:37 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, "adds osgUtil::LineSegmentIntersector::setStart(osg::Vec3d) and setEnd(osg::Vec3d)." - * Added optional compiled in debugging output to - CullVisitor::apply(osg::Camera&) +Sun, 12 Aug 2007 13:10:07 +0000 +Checked in by : Robert Osfield +Removed now redundent osgshadowtexture and osgdepthshadow examples -2008-04-18 13:57 robert +Sun, 12 Aug 2007 12:15:21 +0000 +Checked in by : Robert Osfield +Added support for SoftShadowMap into osgshadow example - * Added write(ostream&) method to allow one to print out the - current state +Sun, 12 Aug 2007 12:15:01 +0000 +Checked in by : Robert Osfield +Added fix for typo of name in submission -2008-04-18 13:25 robert +Sun, 12 Aug 2007 12:12:55 +0000 +Checked in by : Robert Osfield +From Bruno Hebelin,"I have adapted to osgShadow the soft shadow map technique described in "Efficient Soft-Edged Shadows Using Pixel Shader Branching" by Yury Uralsky, Chapter 17 of GPU Gems 2 (Matt Pharr ed. Addison-Wesley). - * Changed the FrameBufferObject::setAttachment() methods so it now - use osg::Camera::BufferComponent - to enable it to distinguish between MRT and non MRT paths +Here is my code in attachment: basically, it works in the same way as osgShadow/ShadowMap (core code is copied from it) but implements a specific GLSL shader for the soft rendering of penumbra. -2008-04-18 11:09 robert +I have tested it under Linux with a NVidia graphic card, but there should be no dependency on platform nor on the graphics driver (as far as they support GLSL 2). Screenshots attached show the current results (frame rate bound to v-sync, but the shader takes actually not much time)." - * Introduce OSG_GL_ERROR_CHECKING env var checking to osg::State - constructor so that you - can enable fine grained check via env vars o.e. - - export OSG_GL_ERROR_CHECKING=ONCE_PER_ATTRIBUTE - - -2008-04-17 15:30 robert - * From Stephan Huber, "attached you'll find a refactored and - improved quicktime-plugin. I moved all code related to the - image-loading, swizzling etc into an extra class. The quicktime - plugin supports now reading and writing images from/to streams - and the code is less cluttered than previous versions. - - I removed QTtexture.h/.cpp and added QTImportExport.h/.cpp. I - updated the CMake-files, I hope they are alright. I used the - submitted code in my own apps since two months or so and it seems - pretty stable, but as always the migration to the osg-quicktime - plugin may have introduced new bugs, so perfect for developer - release :)" -2008-04-17 11:12 robert - * From John Shue, build fix for QT 3.x +Sat, 11 Aug 2007 17:44:06 +0000 +Checked in by : Robert Osfield +Added preprending of osgPlugins-version to plugin names -2008-04-17 09:04 shuber +Sat, 11 Aug 2007 14:49:14 +0000 +Checked in by : Robert Osfield +Added DisplaySetting::s/getCompileContextHint() and use of this hint in osgViewer::Viewer/CompositeViewer.Removed the CustomViewer in osgterrain example as the above now removes the need for it. - * updated XCode project -2008-04-16 18:13 robert - * Added new computation of time to allocate to flushing deleted and - compiling OpenGL objects per frame. -2008-04-16 15:23 robert - * From Bob Kuehne, "he attached are conversions of the 3 main - places i found in osg where tokens are used to represent bitmasks - with 'magic' numbers, like 32. i've changed these to a more - representative bitshift representation, showing clearly in which - bit you can expect this token to manifest. ie, converted things - like: - - from: DEEP_COPY_STATESETS = 8, - to: DEEP_COPY_STATESETS = 1<<3, - - showing clearly that this isn't the _value_ 8, but the _bit_ 8. - this is an old pattern i see (and like to promulgate) to make - code a bit more readable and maintainable. - " +Sat, 11 Aug 2007 12:43:31 +0000 +Checked in by : Robert Osfield +Refactored the use of the MasterOperation so that it now gets attached to the Viewer via the new Viewer::addUpdateOperation() method, rather than need a custom Viewer::updateTraversal(). -2008-04-16 15:22 robert +Sat, 11 Aug 2007 10:28:14 +0000 +Checked in by : Robert Osfield +Added support for an update OperationQueue to Viewer and CompositeViewer to allow asyncrnous adding of operations to be added to the view to be done during syncronous updateTraversal().This feature can be used for doing things like merging subgraphs that have been loaded +in a background thread. - * Updated version number for nex dev release -2008-04-16 10:01 robert - * From Jason Beverage, cursor inheritance support +Fri, 10 Aug 2007 17:44:54 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-04-15 20:27 robert +Fri, 10 Aug 2007 10:58:25 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated AUTHORS.txt for release +Fri, 10 Aug 2007 10:57:00 +0000 +Checked in by : Robert Osfield +Added View::setDatabasePager(..) -2008-04-15 20:16 robert +Fri, 10 Aug 2007 10:52:35 +0000 +Checked in by : Robert Osfield +Refactored the way the Scene is used in Viewer and CompositeViewer to ensure that only on Scene exists per scene graph. - * Updated ChangeLog +Thu, 9 Aug 2007 08:19:58 +0000 +Checked in by : Robert Osfield +Compile fix -2008-04-15 19:46 robert +Thu, 9 Aug 2007 08:15:38 +0000 +Checked in by : Robert Osfield +Removed now redundent ReaderWriterTerrain.cpp - * From Jason Beverage, "The following changes fix the flickering - issue I'm seeing when trying to externally manage my cursor in - Win32. If you set the cursor to InheritCursor, - GraphicsWindowWin32 ignores WM_SETCURSOR and assumes you will set - the cursor yourself." +Wed, 8 Aug 2007 09:12:02 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-04-15 19:36 robert +Wed, 8 Aug 2007 08:10:38 +0000 +Checked in by : Robert Osfield +Added new statc prototype() and create() methods to CullVisitor and DatabasePager to allow overriding of the default implementations - * From Art Trevs, moved multile render targets support from - RenderStage into FrameBufferObject. - - From Robert Osfield, refactored the - FrameBufferObejcts::_drawBuffers set up so that its done - within the setAttachment method to avoid potential - threading/execution order issues. +Wed, 8 Aug 2007 05:59:01 +0000 +Checked in by : Robert Osfield +Removed unneeeded includes -2008-04-15 12:52 robert +Tue, 7 Aug 2007 22:56:09 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated wrappers +Tue, 7 Aug 2007 22:31:43 +0000 +Checked in by : Robert Osfield +Updated CMakeLists.txt to reflect renaming of TerrainNode. -2008-04-15 11:50 robert +Tue, 7 Aug 2007 19:53:57 +0000 +Checked in by : Robert Osfield +Renamed osgTerrain::TerrainNode to osgTerrain::Terrain and introduced basic .osg read support for osgTerrain::Terrain. - * From Tim Moore, compile fix for gcc 4.3 +Tue, 7 Aug 2007 15:51:49 +0000 +Checked in by : Robert Osfield +Removed TerrainNode.cpp from CMakeLists.txt -2008-04-14 10:38 robert +Tue, 7 Aug 2007 15:30:05 +0000 +Checked in by : Robert Osfield +Added preliminary shell of osgTerrain plugin - * Added docs explaining units +Tue, 7 Aug 2007 14:49:37 +0000 +Checked in by : Robert Osfield +From Luc Fruciel, "Gdal plugins reads lots of information that is not taken into account in ReadHeigthField for example. Attached a modification that read the HeigthField position and X,Yintervals. I also removed the limitation to 1024*1024 to 4096*4096, because when you are preprocessing your data with OSG, it can be useful to read large images/heigthfields. Is there a reason (other than hardware limitations for textures) for this limit ?" -2008-04-13 19:31 robert +Tue, 7 Aug 2007 10:37:42 +0000 +Checked in by : Robert Osfield +Re-introduceed GDAL plugin - * Added subdivision of Goedes +Tue, 7 Aug 2007 10:33:25 +0000 +Checked in by : Robert Osfield +Re-introduced GDAL plugin. -2008-04-13 14:32 robert +Tue, 7 Aug 2007 10:31:24 +0000 +Checked in by : Robert Osfield +Added preliminary code to allow build specification of glu tesscallback with ... parameter - * From Christian Kaser, "I discovered a bug that lead to a space - being displayed at the start of the new line after an automatic - line break (through setMaximumWidth()). The fix simply skips all - spaces at the end of the line, before skipping a line break which - was done already. - - osgText/Text.cpp: Line 502 - ... - else - { - ++itr; - } - - if (itr!=_text.end()) - { - // skip over spaces and return. - while (*itr==' ') ++itr; // New - if (*itr=='\n') ++itr; - } - - // move to new line. - switch(_layout) - { - .." +Tue, 7 Aug 2007 08:18:15 +0000 +Checked in by : Robert Osfield +From Andy Skinner, The attached file adds #include to GraphicsContext.cpp, so that it compiles with the solaris compiler we use. -2008-04-13 14:29 robert +Mon, 6 Aug 2007 11:52:04 +0000 +Checked in by : Robert Osfield +Updated README - * From Paul Martz, added osgocclussionquery and osgthirdpersonview - examples +Mon, 6 Aug 2007 11:50:40 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, and AUTHORS file for release -2008-04-12 10:02 robert +Mon, 6 Aug 2007 11:24:53 +0000 +Checked in by : Robert Osfield +Updated version numbers for release - * Changed bias parameter to scale +Mon, 6 Aug 2007 09:28:28 +0000 +Checked in by : Robert Osfield +Changed debug message to INFO level -2008-04-11 14:52 robert +Sun, 5 Aug 2007 17:06:16 +0000 +Checked in by : Robert Osfield +Added support for enabling the stencil buffer when horizontal and vertical split stereo are used. - * Updadated authors file for dev release +Sun, 5 Aug 2007 14:59:17 +0000 +Checked in by : Robert Osfield +From Tim More, "This patch causes GraphicsWindowX11 to not send key release events when a key press / release is caused by auto-repeat. This is consistent with Windows and Mac behavior, as well as other toolkits such as SDL." -2008-04-11 14:43 robert +Sun, 5 Aug 2007 14:51:56 +0000 +Checked in by : Robert Osfield +From Andy Skinner, fixes for avoiding warnings about mixing c and c++ versions of c libs. - * Updated wrappers, and version numbers in prep for next release +Sat, 4 Aug 2007 17:04:37 +0000 +Checked in by : Robert Osfield +Disable the selection of CullPerCameraDrawPerContext until I am able to fix this threading model -2008-04-11 14:33 robert +Sat, 4 Aug 2007 10:30:04 +0000 +Checked in by : Robert Osfield +From John Shue, "Recent changes to sockstream.cpp and sockinet.cpp to better deal with various operating system differences between socklen_t and int have broken the FreeBSD build. Change was to add __FreeBSD__ to the list of defines that are checked." - * Fixed J.P. Delports name +Fri, 3 Aug 2007 16:08:36 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-04-11 14:14 robert +Fri, 3 Aug 2007 14:50:58 +0000 +Checked in by : Robert Osfield +Added perlimnary support for reading the DISPLAY variable. - * Added --unit entry for controlling which texture unit the overlay - works on. +Thu, 2 Aug 2007 16:23:40 +0000 +Checked in by : Robert Osfield +Changed the projection matrix resize policy. -2008-04-11 13:43 robert +Thu, 2 Aug 2007 12:36:03 +0000 +Checked in by : Robert Osfield +From Martin Lavery, XCode updates for the new Renderer class - * From Paul Martz,"Several misc changes, but the major fixes - include: - - * Support for Vec4ubArray for color data - * Support for material transparency - - Thanks to Neil Hughes, Jason Daly, yourself, and others for - testing and reporting issues." +Thu, 2 Aug 2007 12:27:09 +0000 +Checked in by : Robert Osfield +Added return 0; -2008-04-11 13:28 robert +Thu, 2 Aug 2007 11:02:47 +0000 +Checked in by : Robert Osfield +Introduce new osgViewer::Renderer class for implementing of the rendering of cameras in viewers - * From Philipp Machler, "We have extended the support for Wacom - Tablet devices: - - - Mac OS X - - not only pressure, but tilt and z-rotation is supported now - " +Thu, 2 Aug 2007 08:50:39 +0000 +Checked in by : Robert Osfield +Added save and restoring of the cull mask to Camera handling code -2008-04-11 13:04 robert +Tue, 31 Jul 2007 17:28:09 +0000 +Checked in by : Robert Osfield +From Andy Skinner,adding c includes to avoid problems with mixing c and c++ versions of c functions. - * Added reference to osgstereomatch example to - osgmultiplerendertargets. - - Added usage example use OpenSceneGraph-Data/Images examples +Mon, 30 Jul 2007 16:02:03 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file for release -2008-04-11 13:03 robert +Mon, 30 Jul 2007 15:56:52 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for release - * From Sherman Wilcox, "Here is a patch for cmakelists.txt to add - support for the /MP option - in Microsoft compilers as discussed in osg-users. There is now an - advanced option called WIN32_USE_MP (which defaults to OFF) that - will - enable the /MP switch for all builds. I tucked this code block - safely - within a IF(WIN32) branch." +Mon, 30 Jul 2007 15:25:21 +0000 +Checked in by : Robert Osfield +Updated version number for 2.1.3 dev release -2008-04-11 11:58 robert +Mon, 30 Jul 2007 10:52:37 +0000 +Checked in by : Robert Osfield +Ported across Viewer's to use osgUtil::GLObjectOperation, added second option in GLObjectOperation to handle cases when no subgraph is registered, in these case the code now compile all Camera subgraphs. - * From Jose Delport, a MRT example implementing stereo matching. +Sat, 28 Jul 2007 10:44:03 +0000 +Checked in by : Robert Osfield +From Andy Skinner, adding C includes to avoid issues when mixing C and C++ standard includes -2008-04-11 11:19 robert +Sat, 28 Jul 2007 10:28:40 +0000 +Checked in by : Robert Osfield +Introduce Camera::s/getRenderer(). - * Updated wrappers +Fri, 27 Jul 2007 17:16:18 +0000 +Checked in by : Robert Osfield +From David Callu, "After the mail of Emmanuel Roche to convert a void * in a known pointer (for example osg::Geode *), I has searched an elegant way to introduce this feature. I just add ReinterpretCastConverter in the Reflector to convert void* in T* and T* in void* + -2008-04-11 11:10 robert + files joint : - * From Melchior Franz, "The GUIEventAdapter header file had - KeySymbols for the super and - hyper keys defined already, but these modifiers were missing in - GUIEventAdapter::ModKeyMask, and the EventQueue ingored them as - well. - - The attached diff/archive adds the missing parts for Super/Hyper - modifier key support. - - - I'm aware that this might not be supported on all - systems/keyboards - out of the box, but decided to submit it anyway because: - - - developers are aware of differences between input devices - (Some mice have scroll wheels, others don't. Some have five or - more buttons, some have only one. Some keyboards don't have - numpads, some have AltGr, some don't etc.) - - - even if someone relies on Hyper/Super in distributed software, - this is easy to fix and doesn't create lock-in conditions - - - while the names Hyper/Super may only be common on X11, they are - just symbol names and not OS-specific - - - even though some systems might not offer these additional - modifiers - by default, it's likely that all of them have at least 8 modifier - levels internally, so it should only be a matter of OS - configuration - to make them work - - - having super/hyper available is useful to offer a user ways - to define local key definitions that are safe from collisions - with - predefined "official" key assignments" + OpenSceneGraph/include/osgIntrospection/Reflector // modified file + OpenSceneGraph/src/osgIntrospection/Reflector.cpp // modified file -2008-04-11 10:58 robert +" - * From Sherman Wilcox, "Modified the cmakelists.txt file for the - curl plugin so the proper - linker directories are set in Win32. The old cmakelists.txt would - set - the lib release folder for debug builds as well. This should - correct - that." -2008-04-11 10:31 robert - * From Colin McDonald, fixed typo. +Fri, 27 Jul 2007 17:14:51 +0000 +Checked in by : Robert Osfield +From Bryan Thrall, added copying of boundingbox callback to copy constructor. -2008-04-11 10:30 robert +Fri, 27 Jul 2007 17:07:44 +0000 +Checked in by : Robert Osfield +From Stephan Huber, added reset of _currentContext when graphics context is closed. - * From Benoit Laniel, "I use mingw to cross-compile openscenegraph - to win32. However, linux - filesystem is case-sensitive. Here are the modifications needed - to make - the compiler happy. These are only some include lines rewritten - (Io.h to - io.h, Windows.h to windows.h etc.) for version 2.3.7." +Fri, 27 Jul 2007 16:48:31 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a fix for the dead locks when closing a window under OS X." -2008-04-11 10:16 robert +Fri, 27 Jul 2007 15:26:43 +0000 +Checked in by : Robert Osfield +Updated svn::externals - * From Bob Kuehne, "1) add simplifier command "--simplifier .5" to - reduce complexity - 2) complementarily add a "--overallNormal" to replace - per-vert/per-facet normals with an overall. simplifier doesn't - work - in certain cases without less complex normals. this gets that - done. - 3) add env var output with full verbose output so people realize - it's - active when the app is run - i see this all the time in training - where - people run osgconv, with unintended data transformations due to - osgUtil:;Optimzer, for example" +Thu, 26 Jul 2007 19:31:41 +0000 +Checked in by : Robert Osfield +From Thibault Genessay, "Attached is an unitialized variable fix I spotted with Purify. The _currentCursor (of type HCURSOR) member of the graphics window was not properly initialized, causing potential problems if setCursor() was called before anything else set it." -2008-04-11 10:10 robert +Wed, 25 Jul 2007 10:12:45 +0000 +Checked in by : Robert Osfield +From Parag Chaudhur, "In daeRMaterials.cpp in the COLLADA plugin, in the processTexture function, Lines 519-522 of the source file:The "delete [] path" appears before the "osg::notify", causing the data pointed to by +"filename" to be deleted before access causing an access violation. - * Added --mouse option to enable mouse tracking, and fixed bug in - assumption - that nv is not null. +... -2008-04-03 18:36 robert +I have put a comment on +line 521 where I have moved the "delete []path" below. +" - * Introduced CMake build option for compiling double or float - versions of osg::BoundingSphere and osg::BoundingBox. - - Introduced code in BoundgingSphere, BoundingBox, ProxyNode and - LOD to utilise the above settings. - - Added Matrix::value_type, Plane::value_type, - BoundingSphere::value_type and BoundingBox::value_type command - line - options that report where the types of floats or doubles. -2008-04-03 18:06 robert - * From Colin McDonald, "The X11WindowingSystemInterface in - osgViewer/GraphicsWindowX11.cpp - unconditionally sets the X11 error handler routine, replacing - anything - that was previously set. This is a bit unfriendly, as the X11 - error - handler is a global attribute which the application, or the GUI - toolkit - being used, may well have set itself. - - So I have modified X11WindowingSystemInterface to only replace - the error - handler if it is the default i.e. if the application has not set - it." -2008-04-03 10:26 robert +Tue, 24 Jul 2007 14:52:51 +0000 +Checked in by : Robert Osfield +Updated AUTHORS - * From Mattias Helsing, "While using the dds plugin (via osgdem) it - was able to write 24bit - images with BGR order but not read them. My 2-liner fixed it for - me - but it may be that someone with more knowledge of the plugin want - to - insert more pixel formats in the reading part of the plugin." +Tue, 24 Jul 2007 14:47:41 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2008-04-02 17:08 robert +Tue, 24 Jul 2007 14:43:46 +0000 +Checked in by : Robert Osfield +Updated version for dev release - * From Jose Delport, added support for MRT via glDrawBuffers +Tue, 24 Jul 2007 14:30:31 +0000 +Checked in by : Robert Osfield +Fixed warning -2008-04-02 13:57 robert +Tue, 24 Jul 2007 14:02:53 +0000 +Checked in by : Robert Osfield +From Alexandre Amalric, Fox exampleFrom Robert Osfield, CMake build support for FOX example - * From Mattias Helsing, "Subject: osga reading slash mismatch - requests for files in a archive are made with unix style paths. - So to - be able to match an entry in map(_indexMap) it's keys needs to be - stored in unix style even on Win32" - - Note from Robert Osfied, simplified this submission so that the - added conversion to - unix slahes is done on all platforms as this should be safe and - simpler to maintain. -2008-04-02 13:55 robert - * Updated to reflect new COLOR_BUFFER0 value -2008-04-02 13:48 robert +Mon, 23 Jul 2007 20:37:49 +0000 +Checked in by : Robert Osfield +From Michael Hartman, "Here is an update for the closing issue with the example osgviewerMFC where the MFC rendering thread would not exit before the application and the thread would be left running in the background and the user would have to use TaskManager to kill the process.Changes: - * From Jose Delport, introduced osgmultiplerendertargets example +MFC_OSG.cpp: -2008-04-02 13:47 robert + Removed pixelformatdesciptor from the class initialization. - * Changed the Camera::BufferComponent::COLOR_BUFFER0 from being - equal to COLOR_BUFFER - to being COLOR_BUFFER+1 to enable differentation between non MRT - and MRT paths. + Used setInheritedWindowPixelFormat to true so it will setup the pixelformat for the window. -2008-04-02 11:28 robert + Added class destructor code. - * From Jose Delport, typo fixes +MFC_OSG.h: -2008-04-01 17:22 robert + Removed the ref_ptr on osgViewer::Viewer - * Updated ChangeLog, osgversion and AUTHOR.txt for 2.3.7 dev - release +MFC_OSG_MDIViewer.cpp: -2008-04-01 14:52 robert + Changed the OnDestroy function code. - * Removed svn:externals property + Added WaitforSingleObject with thread handle for the MFC render handle. -2008-04-01 14:28 robert +MFC_OSG_MDIView.h: - * Updated data for 2.3.7 dev release + Added class variable for MFC Render Thread Handle for use with the WaitforSingleObject. +" + -2008-04-01 11:03 robert - * Updated OpenThreads version to 2.2.1 with the switch of - sources/svn:externals from OpenThreads to OpenSceneGraph. -2008-04-01 10:49 robert +Mon, 23 Jul 2007 20:10:13 +0000 +Checked in by : Robert Osfield +From Andy Skinner, addition of standard c library includes to avoid issues with using STLport on some platforms. - * Moved OpenThreads directly into OpenSceneGraph/trunk rather than - being introduced via svn:externals. - - This change has been done to make it easier for OpenSceneGraph - users to check out the svn via https - without any conflicts introduced with a http externals. +Mon, 23 Jul 2007 20:08:16 +0000 +Checked in by : Robert Osfield +Converted tabs to four spaces -2008-04-01 10:33 robert +Mon, 23 Jul 2007 18:19:02 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated version numbers for 2.3.7 dev release +Mon, 23 Jul 2007 18:13:16 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, compile fix for OSX. -2008-04-01 10:11 robert +Mon, 23 Jul 2007 16:42:25 +0000 +Checked in by : Robert Osfield +Added FlushDeletedGLObjectsOperation. - * From Paul Martz, "Two changes: - - Handle DrawArrays first/count correctly (fixes problem reported - by Jason Daly) - - Display warning if non-Geometry Drawable is encountered." +Sun, 22 Jul 2007 20:33:20 +0000 +Checked in by : Robert Osfield +Added support for using the CompileContext to do GL object deletion. -2008-04-01 10:00 robert +Sat, 21 Jul 2007 20:11:16 +0000 +Checked in by : Robert Osfield +Converted usleep call to OpenThreads::Thread::microSleep() to avoid VS build problems - * From Tatsuhiro Nishioka and Stephan Huber, bug fixes and - enhancement of cursor suppoort. +Thu, 19 Jul 2007 18:59:20 +0000 +Checked in by : Robert Osfield +Added reset it to set block correctly before use. -2008-03-31 16:23 robert +Thu, 19 Jul 2007 17:02:37 +0000 +Checked in by : Robert Osfield +Improved the filtering of changes to master file to prevent using reading from files that are still under going changes. - * Added checks for a valid scene graph before doing various ops on - it. +Thu, 19 Jul 2007 16:42:36 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-03-31 14:00 robert +Thu, 19 Jul 2007 15:24:11 +0000 +Checked in by : Robert Osfield +Added osg::RefBlockCount subclassed from the new OpenThreads::BlockCount and used it into osgterrain example - * From Andy Skinner, build fix for Solaris +Thu, 19 Jul 2007 12:09:25 +0000 +Checked in by : Robert Osfield +Added support for using multiple load threads as a thread pool used by the MasterOperation -2008-03-31 11:44 robert +Wed, 18 Jul 2007 16:48:25 +0000 +Checked in by : Robert Osfield +Added setting of ThreadSafeRefUnref to true. - * Added Camera::s/getClearAccum, s/getClearStencil and - s/getClearDepth. +Wed, 18 Jul 2007 16:17:06 +0000 +Checked in by : Robert Osfield +Refactored the viewer setup code to use a CustomViewer subclass of Viewer which wraps up the set up of compile contexts and merging of changes. -2008-03-31 09:43 robert +Wed, 18 Jul 2007 16:14:59 +0000 +Checked in by : Robert Osfield +Commented out debug messages - * Updated wrappers +Wed, 18 Jul 2007 14:54:27 +0000 +Checked in by : Robert Osfield +Added call to State::initializeExtensionsProcs() to prevent crashes before these variables are initialized. -2008-03-29 09:59 robert +Wed, 18 Jul 2007 09:05:11 +0000 +Checked in by : Robert Osfield +Added missing export symbol. - * From Sherman Wilcox with a little reorganisation from Robert - Osfield, added - test for 0 sized subloads, ignoring them to prevent a divide by - zero error occuring on some buggy drivers. +Tue, 17 Jul 2007 17:36:44 +0000 +Checked in by : Robert Osfield +Added traverse method implementation into GeometryTechnique. -2008-03-28 19:56 robert +Tue, 17 Jul 2007 16:18:13 +0000 +Checked in by : Robert Osfield +Merged the new master operation/operation thread code with older standard terrain set up code. - * From Paul Martz, "Some small changes and code cleanup. Biggest - change is an improvement to the WriteResult return." +Tue, 17 Jul 2007 10:54:17 +0000 +Checked in by : Robert Osfield +Fixed GraphcicsContext::getMaxContextID so it properly returns the current max contextID.Fixed the osgviewer's compile context code to account for the above fix. -2008-03-28 18:42 robert +Added compile context support into osgterrain example. - * Set Texture::setMaxAnisotropy() to 16.0f for better quality - terrain when looking at shallow angle. -2008-03-28 17:53 robert - * Improved the error capture and reporting +Tue, 17 Jul 2007 09:15:08 +0000 +Checked in by : Robert Osfield +Fixed typo -2008-03-28 15:52 robert +Mon, 16 Jul 2007 21:39:30 +0000 +Checked in by : Robert Osfield +Work in progress on support for dynamically reading a master file in a background thread - * Rewrote the DatabasePager::removeExpiredSubgraphs(double) routine - as it - as not expiring subgraphs quick enough to enable reasonable load - balancing. - - New version isn't perfect and will need further work, but does at - least reduce - the memory footprint by as much as half on test paths on big - databases. - - The rewritten method no longer uses the the - MaximumNumOfRemovedChildPagedLODs - and MinimumNumOfInactivePagedLODs variables so these and - associated methods - for accessing them have been removed. - - - /** Set the maximum number of PagedLOD child to remove per - frame */ - - void setMaximumNumOfRemovedChildPagedLODs(unsigned int number) - { _maximumNumOfRemovedChildPagedLODs = number; } - - - - /** Get the maximum number of PagedLOD child to remove per - frame */ - - unsigned int getMaximumNumOfRemovedChildPagedLODs() const { - return _maximumNumOfRemovedChildPagedLODs; } - - - - /** Set the minimum number of inactive PagedLOD child to keep - */ - - void setMinimumNumOfInactivePagedLODs(unsigned int number) { - _minimumNumOfInactivePagedLODs = number; } - - - - /** Get the minimum number of inactive PagedLOD child to keep - */ - - unsigned int getMinimumNumOfInactivePagedLODs() const { return - _minimumNumOfInactivePagedLODs; } +Mon, 16 Jul 2007 17:40:38 +0000 +Checked in by : Robert Osfield +Added MasterOperation to do file querry and loading and background thread. -2008-03-28 15:31 robert +Mon, 16 Jul 2007 15:47:42 +0000 +Checked in by : Robert Osfield +Added custom colour support to TransferFunction setup. - * Introduced mutex into Terrain node to manage the tile system data - structures +Mon, 16 Jul 2007 15:13:47 +0000 +Checked in by : Robert Osfield +Improvements to the .terrain file support -2008-03-28 15:28 robert +Mon, 16 Jul 2007 12:37:39 +0000 +Checked in by : Robert Osfield +First steps at provide a .terrain file format to experiment with file definitions of terrain subgraphs - * Reordered set up of scene and event handlers to prevent warning +Sat, 14 Jul 2007 17:16:09 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-03-28 13:22 robert +Sat, 14 Jul 2007 17:07:59 +0000 +Checked in by : Robert Osfield +Added support into osg::RenderInfo for a stack of Cameras that allow querries of which camera is currently active to be querried from within the draw traversal. - * Removed old lower case versions +Sat, 14 Jul 2007 09:17:18 +0000 +Checked in by : Robert Osfield +Changed BarrierOperation so that it isn't limited to jut working within GraphicsContexts. -2008-03-28 12:44 robert +Fri, 13 Jul 2007 19:24:50 +0000 +Checked in by : Robert Osfield +Converted Operations to GraphicsOperations where apporpriate. - * From Paul Martz, "Here's the mods to the OpenFlight plugin to - support FLT export. The ZIP file contains the new .cpp/h files as - well as existing files that I modified. - - Changes to existing files: - ReaderWriter.cpp -- to support writeNode() of course. - ReaderWriterATTR.cpp -- to support writeObject -- we write .attr - files for textures, if they don't already exist. - AttrData.cpp/.h -- Minor fixes. - CMakeLists.txt -- to include the new files in the build." - - From Robert Osfield, port to non Windows platforms just required - fixing of header capitilization errors - that windows lets through the net due to having a case - insensitive file system. - +Fri, 13 Jul 2007 19:22:09 +0000 +Checked in by : Robert Osfield +Removed all the plugins BUILD_OSG_* options as these just get in the way of browsing standard CMake options. -2008-03-27 13:21 robert +Fri, 13 Jul 2007 17:25:35 +0000 +Checked in by : Robert Osfield +Introduce GraphicsOperation subclass from osg::Operation, and osgUtil::GLObjectOperation for compiling subgraphs. - * Removed TileSystem class, and added support for TerrainTile's - automatically - registering and unregistering themseles with the enclosing - Terrain node. +Fri, 13 Jul 2007 11:49:16 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-03-27 11:56 robert +Fri, 13 Jul 2007 11:42:02 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "This patch removes the X11/Xmu/WinUtil.h header from GraphicsWindowX11.cpp. That one is not used and appears not to be present on every platform we compile on." - * Added wrapper for TerrainTile +Fri, 13 Jul 2007 11:39:40 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "This change makes the net plugin compile on hp-ux. It tries to unify some partly ugly ifdefs in the socket classes. The change is also tested on a solaris 8, irix 6.5 and suse 9.0 machine." -2008-03-27 11:55 robert +Fri, 13 Jul 2007 11:31:56 +0000 +Checked in by : Robert Osfield +Added setCurrentEventState method - * Renamed osgTerrain::TerrainSystem to osgTerrain::Terrain +Fri, 13 Jul 2007 11:22:44 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-03-27 10:55 robert +Fri, 13 Jul 2007 11:17:41 +0000 +Checked in by : Robert Osfield +Introduced new GUIEventAdatper singleton for sharing the current state between multiple GraphicsWindows, this singleton is accessable via GUIEventEvent::getAccumulatedEventState().Added use of this new singleton in GraphicsWindow* implementations. - * Renamed Terrain to TerrainTile +Added WindowSizeHandler to osgkeyboard to help with debugging of event state +between windows. -2008-03-26 20:06 robert - * Introduce TerrainSystem node which decorates a complete terrain - model made up of Terrain tiles. -2008-03-26 20:03 robert +Thu, 12 Jul 2007 20:12:38 +0000 +Checked in by : Robert Osfield +Removed redundent TerrainGeometry classes, and adding double buffer of internal data within GeometryTechinque in prep for support multi-threaded set up and rendering of terrain. - * From Carlo Camporesi, "I have made some changes in order to allow - the using of proxies via env variables and options. - I have modified also the cmakelist. In this way osg is able to - find the library in 3rdParty directory." +Thu, 12 Jul 2007 20:10:56 +0000 +Checked in by : Robert Osfield +Fixed spelling of cartesian. -2008-03-26 20:01 robert +Thu, 12 Jul 2007 16:37:06 +0000 +Checked in by : Robert Osfield +From Martin Lavery, updates to Xcode projects - * From Carlo Comporesi, adding support of finding libcurl in 3rd - party dependencies +Thu, 12 Jul 2007 15:54:45 +0000 +Checked in by : Robert Osfield +Renamed include/osg/OperationsThread to OperationThread.Created a new GraphicsThread subclass from OperationThread which allows the +GraphicsContext specific calls to be moved out of the base OperationThread class. -2008-03-25 15:21 robert +Updated the rest of the OSG to respect these changes. - * From Tomas Hnilica, " - Attached is modified source of AdapterWidget.cpp file from - osgviewerQT - example. Original was token today from SVN - trunk. (2.3.6). - --mdi option needs to be set to run MDI version. - - Few notes: - - tested on Windows box (Win XP) - - using QT4 - - I was not able to execute the example with QOSGWidget - had - same - error like described in [osg-users] "fate error using QOSGWidget - in - develop release - 2.3.0" thread from Shuxing Xiao, 2008-01-08. - - problems are described in source - - -- - - And Later post: - - The problem of keypress events was solved by QT community, - attached is - repaired AdapterWidget.cpp file. - In the AdapterWidget class constructor following line was added: - setFocusPolicy(Qt::ClickFocus); - Scene disappearing by resizing to minimum still needs to be - fixed..." -2008-03-25 13:14 robert - * Moved include of c headers to top, and remove using std::strlen - in an attempt to solve gcc4.3 compile problems +Thu, 12 Jul 2007 12:15:42 +0000 +Checked in by : Robert Osfield +Renamed OperationsThread to OperationThread and add two way link between OperationQueue and OperationThread -2008-03-25 13:06 robert +Thu, 12 Jul 2007 09:03:43 +0000 +Checked in by : Robert Osfield +From Martin Lavery, Update to Packaging files for Xcode build - * Added limits.h to try and avoid gcc 4.3 compile problems +Thu, 12 Jul 2007 08:29:39 +0000 +Checked in by : Robert Osfield +Added better description of TransferFunction. -2008-03-25 13:01 robert +Wed, 11 Jul 2007 16:06:24 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added #include to fix gcc 4.3 build problem +Wed, 11 Jul 2007 16:06:04 +0000 +Checked in by : Robert Osfield +Fixed typo -2008-03-25 12:26 robert +Wed, 11 Jul 2007 15:51:17 +0000 +Checked in by : Robert Osfield +From Paul Melis, fixes to spelling mistakes/typos. - * Fixed LessGeode operator. +Wed, 11 Jul 2007 15:50:05 +0000 +Checked in by : Robert Osfield +Updated version number in prep for 2.1.1 dev release -2008-03-25 11:50 robert +Wed, 11 Jul 2007 15:30:14 +0000 +Checked in by : Robert Osfield +From Andre Garneau, minor warning fixes - * From Wojciech Leandowski, "I removed few lines of code that were - setting Threading mode and Screen mode. I believe they are now - not neccessary because the same does osgViewer::Viewer argument - parser. In fact argument list does not contain these args after - they were parsed by osgViewer::Viewer constructor. - - I also allowed myself to add ThreadingHandler to the example." +Wed, 11 Jul 2007 14:16:02 +0000 +Checked in by : Robert Osfield +Added support for --sky-light and headlight with local position at 0,0,0 -2008-03-24 18:06 robert +Wed, 11 Jul 2007 13:48:41 +0000 +Checked in by : Robert Osfield +Added setting of the Scene's FrameStamp on each CompositeViewer::updateTraversal() call to fix animation path issue. - * Added sampling down to 32x32 mesh for 64x64 height fields as a - workaround to - memory consumption issues with high res whole earth paged - databases. +Wed, 11 Jul 2007 09:00:19 +0000 +Checked in by : Robert Osfield +From Martin Lavery, update of Xcode projects to meet the latest SVN revision -2008-03-24 18:03 robert +Tue, 10 Jul 2007 19:29:11 +0000 +Checked in by : Robert Osfield +Added OperationsThread - * Added mutex to prevent multiple cull threads changing the - MultiTextureControl at one time. +Tue, 10 Jul 2007 17:36:33 +0000 +Checked in by : Robert Osfield +Added test code path which stress tests new thread pool support in OperationsThread -2008-03-24 10:53 robert +Tue, 10 Jul 2007 17:36:01 +0000 +Checked in by : Robert Osfield +Wired up OperationsThread to use the new OperationQueue and thereby support thread pooling where multiple OperationsThreads share a single OperationsQueue - * Added full range of cameras manipulators to - osgmultitexturecontrol example +Mon, 9 Jul 2007 19:04:36 +0000 +Checked in by : Robert Osfield +Separated OperationsThread out from the GraphicsThread header and introduced new OperationQueue class. -2008-03-23 18:28 robert +Mon, 9 Jul 2007 15:02:03 +0000 +Checked in by : Robert Osfield +Fixed unitialized variables. - * Added < and > key bindings to allow the speed to be animation - speed to be increased or decreased. +Mon, 9 Jul 2007 11:37:06 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, osgversion and AUTHORS.txt for 2.1 dev release -2008-03-21 18:35 robert +Mon, 9 Jul 2007 11:05:24 +0000 +Checked in by : Robert Osfield +Updated version number for 2.1.0 dev release - * Added preliminary file cache support. Enabled by setting the - OSG_FILE_CACHE variable. +Mon, 9 Jul 2007 11:05:04 +0000 +Checked in by : Robert Osfield +Added OpertionQueue -2008-03-21 18:31 robert +Mon, 9 Jul 2007 11:03:33 +0000 +Checked in by : Robert Osfield +Added OperationQueue class for future work on support thread pools that share a single OpeationQueue. - * Added missing break; at end of each case entry. +Mon, 9 Jul 2007 10:48:32 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-03-21 15:43 robert +Mon, 9 Jul 2007 10:47:06 +0000 +Checked in by : Robert Osfield +Improved the consistency of setting of rotation and auto rotate modes in setAxisAlingment method - * Fixed push/popping of filepath, removed verbose debug messages +Mon, 9 Jul 2007 10:12:37 +0000 +Checked in by : Robert Osfield +Fixed missinged intialization of the _threadsRunning variable. -2008-03-21 13:20 robert +Sat, 7 Jul 2007 16:05:05 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay and Jan Ciger, added search path can improved handling of backslashes/forward slashes - * Added better detection and error reporting of files without - proper server address +Fri, 6 Jul 2007 20:00:11 +0000 +Checked in by : Robert Osfield +Updared wrappers -2008-03-21 13:08 robert +Fri, 6 Jul 2007 16:54:45 +0000 +Checked in by : Robert Osfield +Added include of DeleteHandler - * Added initial cut of libcurl based plugin +Fri, 6 Jul 2007 16:47:08 +0000 +Checked in by : Robert Osfield +Added dirty count support to osgTerrain::Layer clases.Added LayerHandler to osgterrain example that modifies the layers in +response to pressing the 's' and 'q' keys -2008-03-20 10:24 robert - * Updated date for 2.4.6 release -2008-03-19 21:05 robert +Fri, 6 Jul 2007 14:07:59 +0000 +Checked in by : Robert Osfield +From Jea-Sebastien Guay and Robert Osfield, build fixes for Windows - * From Melchoir Franz, "osgViewer toggled the NumLock state - correctly when pressing the NumLock - key, but it didn't pick up the initial state. So, if NumLock was - on for - the OS at startup (LED on), it was still off for OSG. And the - first - keypress turned the LED off, and NumLock on for OSG. The attached - fix - picks up the state on every FocusIn, just like it was done in the - last - commits for CapsLock. The difference is, that the NumLock mask - isn't - standardized (e.g. 0x10 for Linux, and 0x80 for AIX), so we have - to do - a reverse lookup (::rescanModifierMapping()). - - Note that I could not reproduce the problem on my system, but - someone - else confirmed it twice on his, and the patch fixed it for him. - - Changed files: - ./include/osgViewer/api/X11/GraphicsWindowX11 - ./src/osgViewer/GraphicsWindowX11.cpp - - " +Fri, 6 Jul 2007 13:54:26 +0000 +Checked in by : Robert Osfield +From Rudolf Wiedemann, "I need to link OpenSceneGraph statically to my application, so I completed the new registration of the plugin-readerwriters ("REGISTER_OSGPLUGIN") according to your osgstaticviewer-example (see attachment, based on today's svn)." -2008-03-19 17:11 robert +Fri, 6 Jul 2007 13:33:40 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "Attached is a fix that returns a default color (white) if an invalid index to the color palette is used." - * Update AUTHOR file +Fri, 6 Jul 2007 13:08:51 +0000 +Checked in by : Robert Osfield +Added include/osg/GLObjects + .cpp which provide osg::flush*DeletedGLObjects() methods.Added and cleaned up DeleteHandler calls in osgViewer to help avoid crashes on exit. -2008-03-19 17:10 robert +Changed DatabasePager across to dynamically checcking osg::getCompileContext(..) - * Updated version and ChangeLog for 2.3.6 dev release. +Updated wrappers. -2008-03-19 12:30 robert - * Updated wrappers -2008-03-19 12:09 robert +Fri, 6 Jul 2007 09:06:37 +0000 +Checked in by : Robert Osfield +Added #include - * From Sebastian Messerschimdt, Added polygon offset controls +Thu, 5 Jul 2007 18:41:54 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2008-03-19 11:41 robert +Thu, 5 Jul 2007 18:33:20 +0000 +Checked in by : Robert Osfield +Added support for managing a CompileContext. Rearranged the DeleteHandler::flushAll call. - * Updated wrappers +Thu, 5 Jul 2007 18:32:12 +0000 +Checked in by : Robert Osfield +Added debug messages to catch key modified state -2008-03-19 11:41 robert +Thu, 5 Jul 2007 18:30:57 +0000 +Checked in by : Robert Osfield +Improved the computation of the side vector - * Revert the Camera::setInheritanceMask(0x) calls that were added - as workaround to a bug introduced by a bug fix to the way the - inhertiance mask was handled in CullVisito::apply(Camera&) +Thu, 5 Jul 2007 18:30:20 +0000 +Checked in by : Robert Osfield +Improved the mapping of update and cull traversal -2008-03-19 11:40 robert +Thu, 5 Jul 2007 10:57:34 +0000 +Checked in by : Robert Osfield +From Adndre Garneau, "Attached is a fix to prevent a cursor being shown in graphics windows when traits specify that none should be used (a recent change forced a left-pointer cursor as the default). " - * Introduced InheritanceMaskActionOnAttributeSetting member to - CullSettings, and associated applyMaskAction method that is - now used in all CullSettings::set*() methods, which by default - helps disable the inheritance mask associated - with settings that are made locally. +Thu, 5 Jul 2007 10:51:47 +0000 +Checked in by : Robert Osfield +Commented out "fix" that explictly sets the key modifier state as this change actually broke the key modifier state management. -2008-03-18 17:44 robert +Tue, 3 Jul 2007 17:32:19 +0000 +Checked in by : Robert Osfield +From Thibault Genessay, "You'll find attached a fix for the comments of the osgwindows example. It fixes a typo in the comments which is quite disturbing for newbies trying to learn using the source (twice 'left' instead of 'left' and 'right'). I've also added a little offset to the windows' positions so that their decoration falls inside the desktop and we can manipulate them - it looks a bit less "made out of wood"." - * Set the CullSettings::InhertianceMask to 0x0 as temporary measure - till we - work out the best scheme to use w.r.t inhertiance of CullSettins. +Tue, 3 Jul 2007 13:26:48 +0000 +Checked in by : Robert Osfield +Added checking of GUIEventAdpter::getHandled(). -2008-03-18 15:48 robert +Tue, 3 Jul 2007 10:00:41 +0000 +Checked in by : Robert Osfield +From Roger James, added GL_NORMALIZE mode to scaled models - * Updated wrappers +Mon, 2 Jul 2007 13:17:47 +0000 +Checked in by : Robert Osfield +Changed the way that computeNearFar is computed to avoid inconsistencies when in stereo mode -2008-03-18 15:37 robert +Mon, 2 Jul 2007 13:16:54 +0000 +Checked in by : Robert Osfield +Updated wrappers - * To osg::AutoTransform added support for MinimumScale, - MaximumScale and AutoScaleTransitionWidth parameters - and a new scheme for computing the scaling when using autoscale - that introduces smooth - transitions to the scaling of the subgraph so that it looks more - natural. +Mon, 2 Jul 2007 12:43:23 +0000 +Checked in by : Robert Osfield +From Csaba Halasz, support reading "monochrome" option string and use of monocrhome FreetType support -2008-03-18 10:45 robert +Mon, 2 Jul 2007 12:30:14 +0000 +Checked in by : Robert Osfield +From Csaba Halasz and Robert Osfield, support for passing in ReaderWriter::Options object into readFontFile - * Added example code showing how to set the minimum and maximum - scales +Sat, 30 Jun 2007 16:19:56 +0000 +Checked in by : Robert Osfield +From Mike Connell, "This is a tiny fix for win32.The current code takes the mouse cursor position and adds it to the +window (left,top) position, and sends the mouse cursor there. But this +doesn't take into account the window decoration. -2008-03-18 09:17 robert +The new code converts the given (x,y) coordinates from the client area +coordinate system to the screen instead using ClientToScreen. I think +this is the natural windows way to do it. - * Added ObjectRecordData to include list +Tested on XP with osgviewer +" -2008-03-17 15:22 robert +Note from Robet Osfield, made a few changes to layout to make it more consistent +with the rest of the OSG and used #if 0 instead if (0) blocks. - * Added minimum and maximum scale support to osg::AutoTransform -2008-03-17 12:23 robert - * Fixed moving model bug where the moving model code was looking - for a transform with DataVariance set to DYNAMIC, but the scene - graph set up code was leaving the setting to default to STATIC. - Fix involved setting DataVariance on moving transoforms to - DYNAMIC. +Sat, 30 Jun 2007 15:40:23 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a small fix for the 3ds-plugin, so 3ds-files exported from cinema 4d are imported correctly. It's not cinema's fault, because the 3ds-files show up correctly in 3dStudio Max." -2008-03-17 12:13 robert +Sat, 30 Jun 2007 14:30:55 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated wrappers +Sat, 30 Jun 2007 14:30:44 +0000 +Checked in by : Robert Osfield +Added s/getUsage() method -2008-03-17 12:11 robert +Sat, 30 Jun 2007 14:30:12 +0000 +Checked in by : Robert Osfield +Added balancing of stack size on entry/exit from rendering nested camera. - * Added doxygen docs +Sat, 30 Jun 2007 14:28:24 +0000 +Checked in by : Robert Osfield +Added debug path that creates the viewer on the heap. -2008-03-17 12:09 robert +Sat, 30 Jun 2007 14:21:34 +0000 +Checked in by : Robert Osfield +From David Callu," +Found in the join file the fix for the bug found by Rafa. - * Introduce - osgParticle::ParticleSystem::s/getParticleScaleReferenceFrame() - to - help manage the scaling of particles, whether they should be - relative to the - local coordiante frame of the particle system, or be in world - coordinates. -2008-03-17 10:29 robert + Problem : - * Added fire effect, enabled by --fire command line option. The new - fire effect - has been introduced to reproduce the scaling of paricle effects + osgIntrospection::Value grp(new osg::Group); -2008-03-15 19:27 robert + osgIntrospection::ValueList vlcall; + vlcall.push_back(osgIntrospection::Value("toto")); - * Added better error reporting + const osgIntrospection::MethodInfo *m = +grp->getType.getCompatibleMethod("setName", vlcall, true); -2008-03-14 16:51 robert + if (m) + { + m->invoke(grp, vlcall); // ** SEGFAULT here + } - * From Paul Melis, "typo fix : NVidea -> NVidia (including option - --Nvidea)" -2008-03-14 16:24 robert - * Update ChangeLog and AUTHORS.txt file for 2.3.5 release -2008-03-14 15:33 robert - * Updated wrappers + Algorithm explanation : -2008-03-14 15:33 robert + The "invoke" method try to convert "grp", which reflect an +"osg::Group*", in a + "osgIntrospection::Value", which reflect a "osg::Node*". +This because + the "setName(const char *)" method found by +"grp->getType.getCompatibleMethod" + is an "osg::Object" type method. - * Added utilty script for cleaning up build files/directories. + When osgIntrospection do this conversion it try : + - to found a "osgIntrospection::Converter" to convert + from "osg::Group*" to "osg::Node*" + - to found a chain of "osgIntrospection::Converter" to convert + from "osg::Group*" to "one or many type" to "osg::Node*" + - to converte an Enum to int or unsigned int + - to convert the value in its "value string representation", + then converte this string in the destination value -2008-03-14 15:32 robert + Else it throw a "TypeConversionException". - * Fixed indenting -2008-03-14 15:13 robert - * From Melchior Franz, "Attached is a fix for remaining problems in - capslock handling: - It sets osgGA's keymask when restoring keys on FocusIn, according - to the state values of XKeyEvent and XCrossingEvent. (These are - the only source for X11's current capslock state that avoids - pulling in the XKB extension.) - " -2008-03-14 15:00 robert - * Missing checkin -2008-03-14 14:35 robert - * Added iostream include + Bug : -2008-03-14 13:21 robert + 1) + When osgIntrospection try to found a chain of +"osgIntrospection::Converter" + It could do any downcast or (Type to SuperType) or upcast +(SuperType to Type). + This mean the the chain could be : + osg::Group to osg::Transform to osg::Camera to + osg::CullSettings to osg::CullStack to +osg::CollectOccludersVisitor to + osg::NodeVisitor to osg::Referenced to osg::Object - * Added cloning of the StateSet before modification to work around - threading issue - relating to the StateSet being modified by the event/update - thread and read from - the draw thread at the same time. + During the convertion with this chain, A METTRE failed and +the pointer in + "grp" is set NULL. But the "grp" is always a valid +"osgIntrospection::Value" + and so, osgIntrospection accept the conversion. Then it try +to use this pointer + to call the "setName" function. And Bing SEGFAULT. -2008-03-14 12:03 robert - * Converted static const unsigned int definitio to enum. + 2) + In "bool Reflection::accum_conv_path( ... )" + the convection path isn't accumulate in the recursive loop. + this cause multi request of a conversion path, and a +slowdown in the + conversion algorithm. -2008-03-14 11:53 robert + 3) + Use of the last conversion way in a conversion from +pointer to pointer + this mean you can do this : + "osg::Node*" to " value string representation" to "osg::Material*" + What a bad thing !!! - * Updated version/author type fixes, authors, readme and changelog - for 2.3.5 dev release -2008-03-14 11:07 robert - * Updated wrappers -2008-03-14 11:06 robert + Solution : - * Improved the indenting + 1) + Introduce the concept of dynamic_cast and static_cast. + now, to do a conversion, osgIntrospection does this : -2008-03-14 11:06 robert + - to found a "osgIntrospection::Converter" to convert + from "osg::Group*" to "osg::Node*" + - to found a chain of "osgIntrospection::Converter" to convert + from "osg::Group*" to "one or many type" to "osg::Node*" + only with static_cast, downcast (Type to SuperType) - * Changed the const get(), operator*() and operator->() methods to - return non const T versions + - to found, if the source and the destination are two pointer, + a chain of "osgIntrospection::Converter" to convert + from "osg::Group*" to "one or many type" to "osg::Node*" + only with dynamic_cast, upcast (SuperType to Type) -2008-03-14 11:01 robert + - to convert an Enum to int or to unsigned int + - to convert the value in its "value string representation", + then convert this string in the destination value - * From Andy Skinner, build fix for Solaris + Else it throw a "TypeConversionException". -2008-03-13 19:48 robert - * Fixed doc comment + Add the "enum CastType" to distinguish the static_cast or +dynamic_cast converter. + Add file OpenSceneGraph/include/osgIntrospection/CastType -2008-03-13 19:44 robert + 2) + add a line to accumulate converter in converter Path. - * Removed gl and glu prefixes from SceneGraphBuilder methods to - avoid problems under Solaris + 3) + add a line to check if source and destination are pointer. +" -2008-03-13 16:40 robert - * From Gino van den Bergen, "I've added a few fixes to the VRML 2.0 - plugin: - - 1) Full DOS paths are now correctly opened by OpenVRML. A URL - containing - a DOS path should be "file:///C:data/blah" rather than - "file://C:data/blah". - - 2) The last primitive defined in "coordIndex" is now added if the - "coordIndex" is not terminated by -1. - - 3) Smoothed normals are computed if no normal field is provided. - Currently, there is no support for "creaseAngle", so all edges - (even the - ones sharper than the creaseAngle) are smoothed. I might add this - in the - future if demand rises. - - 4) If an IndexedFaceSet contains only triangles or quads then the - primitive type is set to TRIANGLES or QUADS, and the primset - becomes - DrawArrays rather than DrawArrayLengths. - - Question: I noticed that for DrawArrays you can still provide an - index - array. Would the rendering be faster if I'd create DrawElements - primsets - rather than DrawArrays? Phrased differently, what is the benefit - of - using DrawElements over DrawArrays, as there is clearly not a - one-to-one - mapping of these concepts to their OpenGL counterparts? - - 5) Objects are added to the transparent bin and blend mode is - enabled - only if the transparency is nonzero. Rendered transparent objects - no - longer write the depth buffer." -2008-03-13 16:38 robert +Sat, 30 Jun 2007 09:27:11 +0000 +Checked in by : Robert Osfield +From Sherman Wilcox, added check for Drawable cull callbck into apply(Billboard) - * From Jose Delport, "attached is a version of osgunittests that - does not give false alarms - for the case where q1 = -q2. The output of 'osgunittests quat' is - now - much cleaner. - " +Sat, 30 Jun 2007 07:09:30 +0000 +Checked in by : Robert Osfield +Removed the old references to files now removed -2008-03-13 16:22 robert +Fri, 29 Jun 2007 17:01:37 +0000 +Checked in by : Robert Osfield +Added Point::Extension::isPointSpriteCoordOriginSupported() method - * From Paul Melis, "Here is an updated osgviewerWX example to bring - it more in line with the - other GUI toolkit examples. It now takes a model file as - command-line - argument (complaining if there isn't one), and its startup window - size - is now actually applied (it used to be too small). I tested this - with a - unicode-build of wxWidgets, as that is the recommended build type - on - Linux with GTK. I'm pretty sure this version of the example will - work - for the ANSI build as well, but I have no way of testing." +Fri, 29 Jun 2007 16:37:11 +0000 +Checked in by : Robert Osfield +From Sherman Wilcox, added serach for freetype234 -2008-03-13 16:18 robert +Fri, 29 Jun 2007 16:10:24 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Attached is src/osg/CMakeLists.txt. Adding TemplatePrimitiveFunctor to the source code list for the project. This makes this header file show up in the VS IDE as part of this project, and therefore facilitates IDE searching of project-related files, as well as making other tasks easier." - * From Melchoir Franz, "ac3d.cpp does currently strip everything - but the file name in - "texture" paths. This is to drop absolute paths that some - 3d editors export (even AC3D itself!). But this also strips - directories of relative paths, which is wrong and contradicts - the ac3d reference implementation. (The reference implementation - doesn't strip anything, though, and so takes the absolute paths - as they are. Definitely not what we want.) - - The attached solution checks absolute paths and only strips - those: - - (1) A:\\foo\\bar.png -> bar.png (as before) - (2) /foo/bar.png -> bar.png (as before) - - (3) foo/bar.png -> foo/bar.png (new) - (4) ../foo/bar.png -> ../foo/bar.png (new) - - " +Fri, 29 Jun 2007 16:09:12 +0000 +Checked in by : Robert Osfield +Fixed indenting to use 4 spaces instead of tabs -2008-03-13 16:12 robert +Fri, 29 Jun 2007 16:06:52 +0000 +Checked in by : Robert Osfield +From Jan Ciger, "I am attaching a fix for the COLLADA plugin on non-windows systems. The COLLADA modules STLDatabase, LIBXMLPlugin and stdErrPlugin are statically included in the main COLLADA library on Linux and shouldn't be linked separately - those libraries do not exist in the default Linux build and the compilation will fail.Second issue - the current version of the COLLADA plugin (both current +HEAD in Subversion and the one in stable 2.0) do not work right with the +stable COLLADA DOM 1.4.1. I am getting the following error: +" - * From Melchoir Franz, Caps lock support under X11 -2008-03-13 16:05 robert - * Added double versions of intersect methods +Fri, 29 Jun 2007 16:00:53 +0000 +Checked in by : Robert Osfield +From Roger James, bug fix to counting of number geode with drawables -2008-03-13 16:05 robert +Thu, 28 Jun 2007 20:56:56 +0000 +Checked in by : Robert Osfield +From Brad Colbert, get/setVolume methods - * Updated wrappers +Thu, 28 Jun 2007 14:19:30 +0000 +Checked in by : Robert Osfield +From Brad Colbert with ammendments by Robert Osfield, add set/getVolume support -2008-03-13 15:23 robert +Thu, 28 Jun 2007 12:59:04 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov, fixes to pbuffer setup - * From Andy Skinner, "I've taken this another step, to use - value_type inside the intersect calls. I did choose to use sqrt() - instead of sqrtf()." +Thu, 28 Jun 2007 09:51:47 +0000 +Checked in by : Robert Osfield +From Nikolaus Hanekamp, added support for osg::Multisample -2008-03-13 15:21 robert +Wed, 27 Jun 2007 20:44:12 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a first implementation of pbuffer-support for os x.I used osgprerender --pbuffer to test the carbon-implementation, for now +it works :) +" - * From Paul Martz, files for adding ObjectRecordData support into - OpenFlight -2008-03-13 14:09 robert - * From Paul Martz, "The attached preserves OpenFlight Object record - data as UserData in the osg::Group corresponding to the Object - record. - - The files are: - include/osgSim/ObjectRecordData -- The new class. Derives from - Object to support .osg IO. - src/osgPlugins/OpenFlight/PrimaryRecords.cpp -- Reads data into - that class. - src/osgPlugins/osgSim/IO_ObjectRecordData.cpp -- .osg IO - support." - - From Robert Osfield, made the OpenFlight read object record data - optional via the -O readObjectRecordData ReaderWriter option. +Wed, 27 Jun 2007 20:36:16 +0000 +Checked in by : Robert Osfield +From Paul Melis, "Here is a list of fixes to misspelled APIs. Unfortunately, more than one of these are public APIs and therefore will break linkage to existing shared libraries."Note from Robert Osfield, updated wrappers. -2008-03-13 13:44 robert - * Added support for assigning state to created drawables, - implemented gluDisk. -2008-03-13 13:43 robert +Wed, 27 Jun 2007 20:34:29 +0000 +Checked in by : Robert Osfield +Added temporary reset of the RenderLeaf pointer for any internal calls to other graphics contexts. - * From Alberto Luaces, "Here I send minor corrections to the text - output by the osgforest example when - building its graphs. The message "Creating billboard based - forest" appears - four times regardless of the actual type of the graph being - built. - " +Wed, 27 Jun 2007 19:51:06 +0000 +Checked in by : Eric WING +Minor build fixes. Changed/fixed GraphicsWindowCarbon to go into api/Carbon instead of just api/ -2008-03-12 20:20 robert +Wed, 27 Jun 2007 17:01:54 +0000 +Checked in by : Robert Osfield +From Andy Skinner, fixed return value. - * Updated wrappers +Wed, 27 Jun 2007 11:14:40 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-03-12 20:15 robert +Wed, 27 Jun 2007 10:37:30 +0000 +Checked in by : Robert Osfield +From Rajce Nickolov, improvements to PixelBufferWin32 and GraphicsWindowWin32 - * Added extra constructors +Wed, 27 Jun 2007 10:12:10 +0000 +Checked in by : Robert Osfield +Added texture format into Traits. -2008-03-12 20:15 robert +Wed, 27 Jun 2007 09:44:35 +0000 +Checked in by : Robert Osfield +Fixed target setting bug in PixelBuffer RTT set up. - * Added proper implementations of OpenGL 1.0 calls to OSG object - representation methods in SceneGraphBuilder. +Tue, 26 Jun 2007 17:12:48 +0000 +Checked in by : Robert Osfield +Added missing cmake macros -2008-03-12 15:28 robert +Tue, 26 Jun 2007 11:31:39 +0000 +Checked in by : Robert Osfield +Reverted to using non silhouette computation. - * Fixed bug in output of ProxyLayer's MinLevel/MaxLevel +Mon, 25 Jun 2007 13:48:57 +0000 +Checked in by : Robert Osfield +Changed the RTT Camera so that it doesn't automatically recompute the near and far planes -2008-03-11 13:29 robert +Mon, 25 Jun 2007 11:32:19 +0000 +Checked in by : Robert Osfield +From Trajce Nickolov, improvements to PixelBufferWin32. - * Added default implementations of new SceneGraphBuilder class +Mon, 25 Jun 2007 08:35:06 +0000 +Checked in by : Robert Osfield +Set the eol style on CMake .txt files to native -2008-03-11 13:23 robert +Sun, 24 Jun 2007 10:55:43 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Mathias Froehlich, "it appears to me that sun CC cannot use - static functions from template - functions. The attached change is required to make it compile - with sun CC." +Sun, 24 Jun 2007 10:18:54 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov, PixelBufferWin32 implementation -2008-03-11 13:19 robert +Sat, 23 Jun 2007 21:55:35 +0000 +Checked in by : Robert Osfield +Simplified decoration code and added support for reading Traits::supportsResize - * From Jose Delport, added support for finding and using GDAL 1.5 +Sat, 23 Jun 2007 21:54:56 +0000 +Checked in by : Robert Osfield +Set the Traits::supportsResize flag to true in default constructor. -2008-03-11 12:10 robert +Sat, 23 Jun 2007 11:24:00 +0000 +Checked in by : Robert Osfield +Reorder the setProjectionMatrix.. mathod - * Added extra event handlers to make viewer more functional +Sat, 23 Jun 2007 11:21:54 +0000 +Checked in by : Robert Osfield +Added setting of the Camera's projection matrix to fit the windowing aspect ratio. -2008-03-10 20:30 robert +Fri, 22 Jun 2007 14:48:43 +0000 +Checked in by : Robert Osfield +Added optional set up of pbuffers for background compilation of the OpenGL objects when database paging. - * Added commandline help options +Fri, 22 Jun 2007 14:48:18 +0000 +Checked in by : Robert Osfield +Added ability to compile OpenGL objects via pbuffers in the DatabasePager/Viewer -2008-03-05 13:54 robert +Thu, 21 Jun 2007 16:14:54 +0000 +Checked in by : Robert Osfield +Added explicit setting of updateText to have DYNAMIC data variance. - * From Andreas Ekstrand and Lars Nilsson, fix for reading Texture - Attribute file +Thu, 21 Jun 2007 11:20:54 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov, windows build fixes -2008-03-05 12:05 robert +Wed, 20 Jun 2007 12:34:37 +0000 +Checked in by : Robert Osfield +Added dummy init method - * Updated wrappers +Wed, 20 Jun 2007 12:29:19 +0000 +Checked in by : Robert Osfield +Added placeholder for PixelBufferWin32 -2008-03-05 11:52 robert +Wed, 20 Jun 2007 12:01:14 +0000 +Checked in by : Robert Osfield +Corrected graphics context creation message - * From Atr Trevs, added missinging initializers +Wed, 20 Jun 2007 12:00:29 +0000 +Checked in by : Robert Osfield +Added code of support for contouring shaders -2008-03-05 11:33 robert +Wed, 20 Jun 2007 11:59:53 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Jean-Sebastien Guay, "I changed osgGA::StateSetManipulator - to mirror the - osgViewer::StatsHandler and other handlers which allow you to - change the - key(s) you would press to get them to do something. Pretty simple - change - but useful in our context and possibly in others too." +Wed, 20 Jun 2007 11:59:27 +0000 +Checked in by : Robert Osfield +Completed implementation of PixelBufferX11. -2008-03-04 17:57 robert +Tue, 19 Jun 2007 17:12:05 +0000 +Checked in by : Robert Osfield +Added beginnings of osgViewer::PixelBufferX11 - * From Jean-Sebastien Guay, " - The problem can be reproduced by simply changing the osgpick - example to - use a CompositeViewer with a single view initialized using - setUpViewAcrossAllScreens(). I have attached a modified - osgpick.cpp so - you can test it out quickly (please don't check this file in - though :-) - ) The eventState is then incorrect and picking does not work. The - only - changes are in CompositeViewer.cpp (eventTraversal() method), and - fix - the problem for me. - " +Tue, 19 Jun 2007 16:19:34 +0000 +Checked in by : Robert Osfield +Added passing of arguments into constructor. -2008-03-04 16:39 robert +Tue, 19 Jun 2007 09:16:36 +0000 +Checked in by : Robert Osfield +Removed OSGVIEWER_EXPORT - * From Colin McDonald, "Attached is an updated to - osgViewer::PixelBufferWin32. - - The win32 pbuffer implementation returned an error unless both - the - WGL_ARB_pbuffer and the WGL_ARB_render_texture functions were - present. - This was too restrictive, as a pbuffer can usefully be created - without - render-to-texture, e.g. for use with glReadPixels. The osg - 1.2/Producer - pbuffers worked without RTT, and osgUtil::RenderStage has all the - code to - handle both RTT and non-RTT pbuffers, doing a read and copy in - the - latter case. - - With these changes I have successfully tested the osgprerender - example - on a graphics card which supports RTT, and one which doesn't. - Plus - tested in my own application. - - In order to aid diagnostics I have also added more function - status - return checks, and associated error messages. I have included the - win32 - error text in all error messages output. And there were some - errors - with multi-threaded handling of "bind to texture" and a temporary - window - context which I have corrected. - - These is one (pre-existing) problem with multi-threaded use of - pbuffers - in osgViewer & osgprerender, which I have not been able to fix. A - win32 - device context (HDC) can only be destroyed from the thread that - created - it. The pbuffers for pre-render cameras are created in - osgUtil::RenderStage::runCameraSetUp, from the draw thread. But - closeImplementation is normally invoked from the destructor in - the main - application thread. With the additional error messages I have - added, - osgprerender will now output a couple of warnings from - osgViewer::PixelBufferWin32::closeImplementation() at exit, after - running multi-threaded on windows. I think that is a good thing, - to - highlight the problem. I looked into fixing it in - osgViewer::Renderer & - osgUtil::RenderStage, but it was too involved for me. My own - application requirements are only single-threaded. - - Unrelated fix - an uninitialised variable in - osg::GraphicsThread::FlushDeletedGLObjectsOperation(). - " +Mon, 18 Jun 2007 12:10:46 +0000 +Checked in by : Robert Osfield +Added use of GLSL filters -2008-03-04 16:22 robert +Fri, 15 Jun 2007 17:47:16 +0000 +Checked in by : Robert Osfield +From Martin Lavery, Updates to Packages - * From Wojciech Lewandowski, "Attached is modified - osgShadow::ShadowMap. I changed following things: - - 1: - Shadow map camera sets ABSOLUTE_RF_INHERIT_VIEWPOINT refernce - frame. - - 2: - Light Direction by matrix multiplications replaced with - transform3x3 multiplication. - - 3: - I made DebugingHUD functional by adding special draw callback. - Former version was simply drawing pale square. - - 4: - I was tempted to make 4 th change but decided to not do it. - Instead I put it whith #if VIEW_DEPNDENT_TEXGEN. If you decide - you may let it go. - - When objects are not centered at 0,0,0 coord but in some distant - location (for example at surface of earth ellipsoid) shadow - texgen suffers from inadequate precision of float matrices. I - changed that by premultiplying Texgen matrix (using OSG double - matrices) with inverse modelview and applying it later with - ModelView identity matrix. This tweak may be appropriate for - OverlayNode texgen as well. - - I left former version because I suspect that this change will - make osgShadow::ShadowMap view dependant. Currently texgen matrix - remains the same no matter what View displays it. With my change - it wuld be different for each view. This touches the subject of - View Dependent Shadow Techniques that J-S asked recently." +Fri, 15 Jun 2007 16:17:33 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2008-03-04 16:03 robert +Fri, 15 Jun 2007 16:08:33 +0000 +Checked in by : Robert Osfield +Fixed namespace - * Refactored the way that the camera settings are inhertied +Fri, 15 Jun 2007 14:57:17 +0000 +Checked in by : Robert Osfield +Added default values for ambientBias -2008-03-04 15:29 robert +Fri, 15 Jun 2007 14:26:10 +0000 +Checked in by : Robert Osfield +From Martin Lavery, Update to Packaging - * From Art Trevs, "in the current implementation of the - FrameBufferObject - there is a bug. The header file do specify something - like this: - - FrameBufferAttachment(Texture3D* target, int zoffset, - int level = 0); - - However in the .cpp file we have: - - FrameBufferAttachment::FrameBufferAttachment(Texture3D* - target, int level, int zoffset) - - - Which means that the meaning of level and zoffset is - interchanged. - - The file with the corrected line is attached. Should - go into src/osg/ - " +Fri, 15 Jun 2007 14:02:55 +0000 +Checked in by : Robert Osfield +Removed now redundent file -2008-03-04 15:10 robert +Fri, 15 Jun 2007 13:43:49 +0000 +Checked in by : Robert Osfield +For Win32 added BUILD_MFC_EXAMPLE option, default to OFF to try and avoid issues with users without MFC installed. --This line, and - * From Philip Lowman, "A missing _WIN32_WINNT declaration causes - MinGW compilation to fail when reaching FileNameUtils.cpp and the - Windows 2000 function GetLongPathName() is called." +Fri, 15 Jun 2007 13:12:46 +0000 +Checked in by : Robert Osfield +Fixed handling of cases when no matrix is attached to intersections -2008-03-04 14:19 robert +Fri, 15 Jun 2007 12:59:22 +0000 +Checked in by : Robert Osfield +Added ShadowMap::s/getAmbientBias, updated NEWS and wrappers - * From Jean-Sebastien Guay and Robert Osfield, added optional - --CompositeViewer path into osgpick to illustrate how to do - picking in both viewers and as unit test for picking. +Fri, 15 Jun 2007 12:48:31 +0000 +Checked in by : Robert Osfield +Updated README. -2008-03-04 14:04 robert +Fri, 15 Jun 2007 12:41:46 +0000 +Checked in by : Robert Osfield +Changed the version format. - * From Art Trevs, add support for saving external shader files. - From Robert Osfield, adding missing member variable initializes - and Output::getShaderFileNameForOutput() implementation +Fri, 15 Jun 2007 10:15:54 +0000 +Checked in by : Robert Osfield +Updated version numbers for 2.0 release -2008-03-04 13:30 robert +Fri, 15 Jun 2007 10:12:57 +0000 +Checked in by : Robert Osfield +Added handling of when mouse delta is too high, indicating a inconsitency in the the events. These changes prevent irratic high speed spinning when releasing the mouse point in a different screen from when the mouse event started. - * From Paul Martz, a third person view CompositeViewer example +Fri, 15 Jun 2007 09:29:23 +0000 +Checked in by : Robert Osfield +Fixed null pointer derefence bug -2008-03-04 11:53 robert +Fri, 15 Jun 2007 08:36:35 +0000 +Checked in by : Robert Osfield +Addded missing namespace - * Change the setViewAsLookAt method to use Vec3d rather than Vec3 - for better precision +Thu, 14 Jun 2007 22:22:54 +0000 +Checked in by : Robert Osfield +From Martin Lavery, Packaging Update -2008-03-04 11:52 robert +Thu, 14 Jun 2007 21:03:38 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Changed the updateStateSet code so that it creates a new StateSet - each update - rather than clear and reuse the existing one, this change fixes a - threading - issue that occured when the viewer is in DrawThreadPerContext. +Thu, 14 Jun 2007 20:58:43 +0000 +Checked in by : Robert Osfield +Included shaders directly into source, added support for toggle lighting on/off -2008-03-04 11:50 robert +Thu, 14 Jun 2007 20:49:53 +0000 +Checked in by : Robert Osfield +From Martin Lavery, Packaging Updates - * Removed single threaded setting +Thu, 14 Jun 2007 20:48:02 +0000 +Checked in by : Robert Osfield +From Martin Lavery, Packaging Updates -2008-03-03 18:12 robert +Thu, 14 Jun 2007 20:22:52 +0000 +Checked in by : Robert Osfield +From Martin Lavery, Install script for the Xcode build - * Implemented fade between layers using MultiTextureControl node +Thu, 14 Jun 2007 19:17:31 +0000 +Checked in by : Robert Osfield +Fixed typo -2008-03-03 14:17 robert +Thu, 14 Jun 2007 16:09:35 +0000 +Checked in by : Robert Osfield +From Martin Lavery, Fix to packaging - * Added beginings of new osgmultitexturecontrol example +Thu, 14 Jun 2007 15:51:02 +0000 +Checked in by : Robert Osfield +From Martin Lavery, addition of Packaging directory -2008-03-01 13:42 robert +Wed, 13 Jun 2007 21:15:04 +0000 +Checked in by : Robert Osfield +Updated wrapers, changelog, README and AUTHORS files for 1.9.9 release - * Updated wrappers +Wed, 13 Jun 2007 21:00:28 +0000 +Checked in by : Robert Osfield +Updated wrappers and Version numbers for 1.9.9 release -2008-03-01 13:40 robert +Wed, 13 Jun 2007 20:56:36 +0000 +Checked in by : Robert Osfield +From Paul Mellis, "Here's an updated README.txt with a few spelling and grammer mistakes fixed. I changed the wording slightly here and there. Hope you don't mind me fiddling with this one..." - * Added OSG_EXPORT -2008-03-01 12:50 robert - * Fixed typo +Wed, 13 Jun 2007 20:52:07 +0000 +Checked in by : Robert Osfield +Added ability to set the keyboard bindings in the RecordaAnimationPathHandler -2008-03-01 12:29 robert +Wed, 13 Jun 2007 20:34:16 +0000 +Checked in by : Robert Osfield +From Jeremy Moles & Robert Osfield, Added support for playback of animation paths using 'Z' key - * Fixed naming +Wed, 13 Jun 2007 19:54:00 +0000 +Checked in by : Robert Osfield +Added clear() -2008-02-29 16:09 robert +Wed, 13 Jun 2007 19:53:48 +0000 +Checked in by : Robert Osfield +Added new shader support - * Disabled the resizing of Camera's with FBO's +Wed, 13 Jun 2007 19:44:56 +0000 +Checked in by : Robert Osfield +From John Shue, fixed typo in CMakeLists.txt -2008-02-29 15:25 robert +Wed, 13 Jun 2007 15:32:17 +0000 +Checked in by : Robert Osfield +Added passing of arugments into viewer constructor - * Added Camera::g/setIntialDrawCallback and - g/setFinalDrawCallback(), and added - screen snapshot example code to osghud. +Wed, 13 Jun 2007 14:42:35 +0000 +Checked in by : Robert Osfield +Removed SunOS hack as it didn't work.. -2008-02-28 20:02 robert +Wed, 13 Jun 2007 14:05:21 +0000 +Checked in by : Robert Osfield +Wired up new shaders - * Added LODScaleHandler +Wed, 13 Jun 2007 13:41:23 +0000 +Checked in by : Robert Osfield +Added better handling of 0,0,0 values -2008-02-28 18:08 robert +Wed, 13 Jun 2007 11:09:31 +0000 +Checked in by : Robert Osfield +Added OSG_SCREEN and OSG_WINDOW env var checking in the Viewer::realize() - * Added OSG_EXPIRY_DELAY env var option. +Wed, 13 Jun 2007 10:45:36 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-02-28 17:59 robert +Wed, 13 Jun 2007 10:38:40 +0000 +Checked in by : Robert Osfield +Added osgViewer::View::setUpViewInWindow(...) method and command line option into osgViewer::Viewer to allow you to specify the window dimentions and screen for the window on startup. - * Moved the delete operations to before of the compile operations - to ensure that - delete operations don't get pushed out by allocations +Wed, 13 Jun 2007 10:31:32 +0000 +Checked in by : Robert Osfield +From Martin Lavery, osgShadow plugin added to Xcode project. -2008-02-28 10:56 robert +Wed, 13 Jun 2007 10:12:55 +0000 +Checked in by : Robert Osfield +Fixed versioning - * From He Sicong, "fixed shader calculation of ray tracing" +Wed, 13 Jun 2007 09:56:12 +0000 +Checked in by : Robert Osfield +Removed ParallelSplitShadowMap as its currently a non op. -2008-02-27 12:11 robert +Wed, 13 Jun 2007 08:56:29 +0000 +Checked in by : Robert Osfield +Added -lrt in for SunOS build - * From Wojciech Lewandowski and Robert Osfield, Support from - LightPointNode::s/getPointSprite parameter. +Tue, 12 Jun 2007 19:46:56 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-02-27 11:46 robert +Tue, 12 Jun 2007 18:58:32 +0000 +Checked in by : Robert Osfield +Added StatsHandler - * From Paul Martz, "Per the discussion in osg-users, this change - adds code comments to the Matrix* headers to document assumptions - in the getRotate() method." +Tue, 12 Jun 2007 18:56:52 +0000 +Checked in by : Robert Osfield +Refactored the dome correction code to support movie flipping. -2008-02-27 11:43 robert +Tue, 12 Jun 2007 16:55:44 +0000 +Checked in by : Robert Osfield +Added Image::g/setOrigin to help movie plugins tell applications that the imagery is not the usual OpenGL BOTTOM_LEFT orientation, but with the origin TOP_LEFT. This allows geometry setup code to flip the t tex coord to render the movie the correct way up. - * From Paul Martz, fixed get/set methods API +Tue, 12 Jun 2007 15:57:26 +0000 +Checked in by : Robert Osfield +Added in QT4 keyboard event adaption -2008-02-27 11:43 robert +Tue, 12 Jun 2007 15:52:13 +0000 +Checked in by : Robert Osfield +UPdated wrappers - * Added debug message to track cache usage +Tue, 12 Jun 2007 15:38:09 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "while porting my own code to the new osgViewer I discover more and more bugs in the Carbon-implementation of GraphicsWindow, so here's another fix for setWindowDecorationImplementation, now updates the titlebar-height, and fixes some display-issues when switching the decoration on/off. " -2008-02-25 17:30 robert +Tue, 12 Jun 2007 15:32:04 +0000 +Checked in by : Robert Osfield +Moved the className, libraryName and isSameAs into public. - * From Melchior Franz, fixed handling of modified keys when - entering/leaving window +Tue, 12 Jun 2007 14:43:26 +0000 +Checked in by : Robert Osfield +Changed _data to _movieData to avoid possible confusion -2008-02-25 16:50 robert +Tue, 12 Jun 2007 14:20:16 +0000 +Checked in by : Robert Osfield +From Martin Lavery and Robert Osfield, Updated examples to use a variation of the MIT License - * From Franz Melchior, "When switching virtual desktops or - minimizing a window, keys - remain in pressed state after revealing, even if they are no - longer pressed on the keyboard. This can have bad effects, - especially if the stuck keys are modifier keys. One has to - press and release the stuck keys again to reset the wrong state. - - The fix keeps track of all key presses and releases. On FocusOut - and UnmapNotify it releases all keys that are in pressed state, - and on KeymapNotify (following a FocusIn), it sets the currently - pressed keys again. To avoid confusion in the OSG-using - application - normal keys are always reported released /before/ and pressed - /after/ modifier keys. - - As current key states are returned as char[32] keymap by - XQueryKeymap and XKeymapEvent, this format is also used to - recognize modifier keys and for maintaining the current - internal key state. Functions to set/clear/query bits in - such a keymap are added. - - The patch was extensively tested with osgkeyboard and - FlightGear under KDE and fvwm2. It was not tested on a - Xinerama setup or with multiple windows, but as _eventDisplay - is used throughout, there should be no problems. The patch also - makes the following changes: - - - removes old and obsolete handling of modifier keys in - ::adaptKey(). - This wasn't only unused, but also wrong (and for that reason - commented - out in revision 7066). The modifier states are actually handled - in ./src/osgGA/EventQueue.cpp (EventQueue::keyPress/keyRelease). - - fixes some spelling" +Tue, 12 Jun 2007 11:31:21 +0000 +Checked in by : Robert Osfield +From Martin Lavery, fix to Xcode Resources -2008-02-25 16:26 robert +Tue, 12 Jun 2007 10:37:12 +0000 +Checked in by : Robert Osfield +From Martin Lavery, Fix of OpenSceneGraph-Data linking - * From Emmanuel Roche, "I'm joining two zip files to this mail for - the modified sources and include files of osgIntrospection. - - The modifications I made are very small but they are absolutely - usefull to use osgIntrospection with visual studio 7.1 or 8 in - debug modes. - This should also solve other minor common problems (converter - memory leak, virtual destructor for PropertyInfo, etc...). - - I choosed two function names : Reflection::uninitialize() and - Type::reset(), this can of course be changed if someone has a - better idea... - - I made the changes against OSG 2.2.0 public release. I tested the - result with VS 7.1, VS 7.1 SP1, VS 8.0 SP1 and AQTime 5.0 on - Windows XP SP2... All 4 seem to agree : they detected memory - leaks before and don't anymore. - - Sorry I haven't take the time to test that on linux but the - changes are so small I doubt there could be a problem... I let - you check that on your side :-). - - I hope this will help making OSG an even more wonderfull - library." +Tue, 12 Jun 2007 10:19:27 +0000 +Checked in by : Robert Osfield +Build fixes for QT4 -2008-02-25 16:05 robert +Tue, 12 Jun 2007 09:55:40 +0000 +Checked in by : Robert Osfield +Changed the throw dection time to 0.02 - * From Stephan Huber, "I missed a refactoring of the handling of - modifier-keys, so they did not - work on OS X. Attached you'll find the missing implementation for - OS X." +Tue, 12 Jun 2007 08:30:41 +0000 +Checked in by : Robert Osfield +Work in progress on perspective view dependant codes -2008-02-25 15:09 robert +Tue, 12 Jun 2007 08:29:32 +0000 +Checked in by : Robert Osfield +Added screen number, and flip support into dome correction codes. - * From Paul Martz, "This change adds "GL_NORMALIZE" and - "GL_RESCALE_NORMAL" to .osg IO in place of the hex equivalents." +Tue, 12 Jun 2007 08:28:41 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "the computation of the windowtitlebar-height was wrong, attached you'll find a fixed version for GraphicsWindowCarbon.cpp " -2008-02-25 15:08 robert +Sun, 10 Jun 2007 20:46:53 +0000 +Checked in by : Robert Osfield +Added support for specifying external overlay file. - * Updated wrappers +Sun, 10 Jun 2007 20:12:47 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-02-25 15:07 robert +Sun, 10 Jun 2007 19:53:18 +0000 +Checked in by : Robert Osfield +From Stephan Huber and Robert Osfield,Stephan: "attached you'll find some modifications to the GraphicsWindow-class and +their platform-dependant implementations. - * From Robert Osfield and Carlo Camporesi, took submission from - Carlo for adding LoadingExternalReferenceMode to ProxyNode and - extended it - to include a wider range of options, also completed - implementation +The problem: +setWindowRectangle and setWindowDecoration do not update the +traits-object, so, if you call setWindowRectangle on a +not-realized-window it will open with another size when realized later. +getWindowRectangle reports possible wrong sizes if setWindowRectangle +called before. -2008-02-25 14:27 robert +My solution: +split the implementation in two parts: +GraphicsWindow::setWindowRectangle will update its traits-object and +call afterwards the virtual method setWindowRectangleImplementation +(which is implemented by the derived platformspecific classess). For +setWindowDecoration I am useing a similar mechanism. - * Changed method parameter to use const & +I hope you'll find the submission useful, the Win32 and X11 changes are +not tested but should work." -2008-02-25 14:15 robert +Changes to this made by Robert are call of resized in setWindowRectangle +instead of setting of Traits, and use of a bool return type. - * From Wojciech Lewandowski, "----1---- - - Attached is a fixed version of OverlayNode.cpp. I fixed - CustomPolytope::cut( osg::Plane ) method. Bug was apparent in - such scenario: - - Let P1 be some random frustum polytope - Let P2 be the polytope that was created from P1 bounding box (P2 - contains P1 entirely) - - Then ignoring precision errors: P1.cut( P2 ) == P2.cut( P1 ) == - P1. But this condition was not always met. Cut failed when some - of the polytope reference points happened to lie exactly on some - intersecting planes in both P1 & P2 (plane distance was = 0). - - I only use CustomPolytope for my shadowing stuff so I did not - test how this affects rest of OverlayNode.cpp. - - ----2---- - - Also attached is a minor precision improvement for osg::Plane - intersect method (double version). - - ----3---- - - I have also one observation regarding osg::Plane - There are two - intersect vertices methods (float and double flavour): - - inline int intersect(const std::vector& vertices) const - inline int intersect(const std::vector& vertices) const - - I guess osg::Plane won't compile when someone changes default - vec3 typedef to vec3d. Shouldn't the first method be changed to - use vec3f explicitly ? Ie: - - inline int intersect(const std::vector& vertices) const" -2008-02-25 13:25 robert - * From Glenn Waldron, "As you may recall, we discussed adding - ReaderWriter::readObject() overrides to all the image plugins in - order to facilitate future archive support. Attached are the - necessary modifications. I tested JPEG, but not all the others... - the code is identical though. Note that the DDS plugin already - contained the readObject() implementations." -2008-02-25 13:17 robert - * From Wojciech Lawandowski, "Fixed - EllipsoidModel::computeLocalUpVector to use Vec3d instead of Vec3 - for - normal computation. Its really small issue, maybe not even worth - submitting - ;-). But one never knows when inadequate precision hits him. - " +Sun, 10 Jun 2007 19:22:13 +0000 +Checked in by : Robert Osfield +From Vladimir Shabanov, "osg::Image::isImageTranslucent() now handles GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_INT_10_10_10_2, GL_UNSIGNED_INT_2_10_10_10_REV and GL_HALF_FLOAT_NV pixel formats." -2008-02-25 13:16 robert +Sun, 10 Jun 2007 19:18:27 +0000 +Checked in by : Robert Osfield +From Vladimir Shabanov, "DDS plugin now works with these formats: R3G3B2, R5G6B5, A1R5G5B5, X1R5G5B5, A4R4G4B4, X4R4G4B4, R8G8B8 (now without swaping of red and blue), A8R8G8B8 (also w/o swapping), X8R8G8B8, A8B8G8R8, X8B8G8R8, A2R10G10B10, A2B10G10R10, L4A4 (not work on my machine), L16A16, L16, A16B16G16R16, A16B16G16R16F, Q16W16V16U16, R32F, R16F and A32B32G32R32F.And these ones are correctly detected, but prints "unsupported" using +osg::notify(osg::WARN) and are not loaded: +A8R3G3B2, G16R16, G16R16F, G32R32F and CxV8U8. - * Updated wrappers +Also added checking of not supported DDPF_BUMPDUDV (V8U8, V16U16, +Q8W8U8L8, A2W10U10V10 etc.) and DDPF_BUMPLUMINANCE (L6V5U5, X8L8V8U8, +etc.) pixel formats. -2008-02-25 13:07 robert +Mipmap handling is slightly modified and now support all additional formats. +" - * Reverted back to previous version of osgtext -2008-02-25 12:54 robert - * Refactored the mutex usage in osgText and freetype plugin to - prevent multi-thread crash +Sun, 10 Jun 2007 18:17:21 +0000 +Checked in by : Robert Osfield +From Olaf Flebbe, "support current zlib and libpng library names for win32 3rdParty builds." -2008-02-22 18:38 robert +Sun, 10 Jun 2007 09:51:29 +0000 +Checked in by : Robert Osfield +Improved the set up of static build, added freetype plugin to plugins that support static usage - * From Mathias Froehlich, "I have extended the X11 pbuffer code to - use either the complete set of glx 1.3 - pbuffer functions or exactly ask for the extensions we need to - call the - apropriate glx extension functions for and around pbuffers - extensions. - The glx 1.3 version of this functios are prefered. If this is not - pressent we - are looking for the glx extensions and check for them. - Prevously we just used some mix of the glx 1.3 functions or the - extension - functions without making sure that this extension is present. - " +Sat, 9 Jun 2007 19:18:24 +0000 +Checked in by : Robert Osfield +Added default file in case no file arguments are provided. Changed to use standard ThreadingHandler by default. -2008-02-22 11:52 robert +Sat, 9 Jun 2007 17:58:37 +0000 +Checked in by : Robert Osfield +Improved the detection of throwing of the mouse. - * Refactored osgTerrain so that the interface for setting up layer - is more straight forward, and added support into - GeometryTechnique for handling multiple layers +Sat, 9 Jun 2007 10:18:28 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-02-20 12:34 robert +Sat, 9 Jun 2007 10:07:07 +0000 +Checked in by : Robert Osfield +Removed the command line parameters form the examples that now have a default file built into them. - * Added TextureUnit entry to osg::TransferFunction and - osgTerrain::Layer +Sat, 9 Jun 2007 10:06:38 +0000 +Checked in by : Robert Osfield +Added DisplaySettings to osg::Camera, and support into osg::View for initializing the Camera to the DisplaySettings ScreenWidth/Height/Distance. Added support for dual screen horizontal split stereo. -2008-02-19 16:02 robert +Fri, 8 Jun 2007 20:11:50 +0000 +Checked in by : Robert Osfield +Added debug code path that prints out font details. - * Removed erroneous ; +Fri, 8 Jun 2007 16:47:18 +0000 +Checked in by : Robert Osfield +From Eric Wing, interface files -2008-02-19 12:26 robert +Fri, 8 Jun 2007 16:05:30 +0000 +Checked in by : Robert Osfield +Removed empty directory - * Changed the updating of the contextID so that the - DisplaySetting::MaxNumberOfGrapicsContexts() - is updated on each new graphics context creation, in keeping with - how osgProducer used to do things. +Fri, 8 Jun 2007 16:05:13 +0000 +Checked in by : Robert Osfield +Removed empty directory -2008-02-19 11:30 robert +Fri, 8 Jun 2007 15:37:20 +0000 +Checked in by : Robert Osfield +From Martin Lavery and Robert Osfield, added fallbacks for when now command line args are provided. - * Refactor the rendering code to not use iterators, instead using - indices as means of avoiding using < and += on STL iterators that - have shown to be problematic under Windows +Fri, 8 Jun 2007 15:29:04 +0000 +Checked in by : Robert Osfield +Added fallback for when no command line args are provied. -2008-02-19 09:49 robert +Fri, 8 Jun 2007 15:11:04 +0000 +Checked in by : Robert Osfield +Added default file when no command line options are supplied. - * From Philip Lowman, workaround for gcc 3.2.3 bug +Fri, 8 Jun 2007 15:06:08 +0000 +Checked in by : Robert Osfield +Added fallback for when no command line args are passed in. -2008-02-18 15:30 robert +Fri, 8 Jun 2007 15:03:58 +0000 +Checked in by : Robert Osfield +From Martin Lavery, Linking of example Data files for the Xcode Projects - * From Stephan Huber, "Attached you'll find some enhancements by - Adrian Egli and me for the - carbon-implementation of GraphicsWindow. Now you can use an - AGLDrawable - in conjunction with osgViewer/osgCompositeViewer." - - Changes from Robert Osfield, changed std::cout to - osg::notify(osg::INFO) +Fri, 8 Jun 2007 12:16:04 +0000 +Checked in by : Robert Osfield +Removed command line args for examples ported across to not need them. -2008-02-18 15:26 robert +Fri, 8 Jun 2007 12:15:16 +0000 +Checked in by : Robert Osfield +Added default command line arg - * From Rene Molenaar, "Using commandline build system nmake on - windows does not work. - - This is caused by the OSG_MSVC_VERSIONED_DLL hack. - there are hard-coded paths to place the dll's in the bin /dir - that normally would go - in the lib/config (release/debug) dirs. Nmake has different - locations for the files (no config dir). - - fix: change the macro's in OsgMacroUtils.cmake for the IF(NOT - MSVC_IDE) situation. - Libs go in lib/, and DLLs and executables go in bin/ - To accopmplish this for MSVC_IDE the targets get a "../../bin" - prefix, - for nmake this should be "../bin" (because there are no config - folders). - - This fix mimics the behaviour of the MSCV_IDE (visual studio) - build system when building with nmake. - - Note: - A change in the main CMakeLists.txt creates the needed plugin - directory in the binary dir. - - see included files for the changes: - r7885fix-v2/CMakeModules/OsgMacroUtils.cmake - r7885fix-v2/osgWrappers/CMakeLists.txt - r7885fix-v2/CMakeLists.txt - - - The behaviour of visual studio projects (and other build systems) - remain unchanged. - Tested building and installing with nmake and visual studio 8 - debug and release. - " +Fri, 8 Jun 2007 12:13:33 +0000 +Checked in by : Robert Osfield +Added default file load to avoid the need for command line option. -2008-02-18 15:17 robert +Fri, 8 Jun 2007 11:04:30 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find a new GraphicsWindowCarbon-header and .cpp, the changes I made:+ put a warning in the console if a nonexistant screen is requested ++ add getters for the aglcontext and pixelformat -- I need access to +them in my own code. +" - * From Bob Kuehne, "Subject: obj material parse fix - this fix strips whitespace off externally referenced material - files. - fixes a bug where the obj listed something like: - - mtllib FR_PARIS_ESPACE_UNESCO_S.MTL - - and then that caused failures in the load later: - - FindFileInPath() : trying /Users/rpk/Downloads/ - FR_PARIS_ESPACE_UNESCO_S.MTL ... - - this fix simply strips whitespace around that filename before - passing - it on to the remainder of the loader." - - Changes from Robert Osfield, change std::cout to - osg::notify(osg::INFO) -2008-02-18 15:10 robert - * From Thibault Genessay, "On Dec 16 you introduced a fix to remove - internal use of ref_ptr<>'s. - It contained a bug that would cause freed memory to be written - again. - Specifically, in FreeTypeLibrary::~FreeTypeLibrary(), calling - font->setImplementation(0); deletes the content pointed to by the - fontImplementation pointer, while the line the immediately - follows - tries to access it. - - My fix is to make the second instruction part of an else clause - rather - than always executed. This way, the fontImplementation->_facade = - 0 - instruction is only executed when the font implementation is not - set - to 0 before (although I have no idea what it is here for and if - this - code path is ever followed, since I don't know the plugin's - internals - very well). - - Attached is the modified FreeTypeLibrary.cpp file." +Fri, 8 Jun 2007 10:58:22 +0000 +Checked in by : Robert Osfield +From Jason Daly, "We have a few OpenFlight files that used to display properly with the old loader, but appear very, very wrong with the new one. I traced the problem to the handling of the palette override flags in the external reference records. The current behavior for handling the palette override flags for external references has different offsets for different OpenFlight version (2 bytes for 14.2-15.1 and 4 bytes for 15.2 and later). However, I believe this behavior is incorrect.I know that the original 14.2 OpenFlight spec (dated April 1995) +specifies 2 bytes between the filename and the override flags, and the +15.4 and later specs specify 4 bytes. However, I also found a 14.2.4 +OpenFlight spec (dated January 1996) that changes the specification to 4 +bytes. Also, the databases in question were created using an old IRIX +version of MultiGen II, which wrote OpenFlight 14.2 files natively. +These files also have 4 bytes between the filename and flags. +Furthermore, these databases have always worked properly under earlier +versions of OSG, under Performer, and in every MultiGen product we've used. -2008-02-18 15:02 robert +This leads me to believe that the original 14.2 spec was incorrect (the +14.2.4 spec corrected this error), and there should be 4 bytes between +the filename and flags for all OpenFlight files version 14.2 and later. - * Updated wrappers +The attached fix modifies the OpenFlight loader to behave in this way." -2008-02-18 14:51 robert - * Introduced typedef vec_type and value_type into LineSemgment - class to allow easier - switching between double and float versions. -2008-02-18 14:14 robert +Fri, 8 Jun 2007 10:43:26 +0000 +Checked in by : Robert Osfield +From Eric Wing, build fix - * From Bob Kuehne, build fix for OSX/gcc 4.0.1 +Fri, 8 Jun 2007 10:43:01 +0000 +Checked in by : Robert Osfield +From Eric Wing, build fix -2008-02-18 13:52 robert +Fri, 8 Jun 2007 10:42:52 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Brede Johansen, "Here's a fix to the changes regarding the - new dispose() function. The - last primary node inside a push-pop level would not get the - dispose() - call. This would result in information from some ancillary - records, - like the matrix (transform), being lost. - - Changes are made to the latest version in the repository. - - Thanks to Terry for the help to find and fix the bug and test the - changes." +Fri, 8 Jun 2007 10:22:44 +0000 +Checked in by : Robert Osfield +From Jason Daly, "This changes the handling of textures in the OpenFlight loader. Currently, if the texture attribute file doesn't explicitly specify an internal format, the loader will force it to use GL_RGB, which keeps translucent textures (eg. GL_RGBA textures) from showing up properly.This patch changes the default behavior to simply use the image's format +instead of forcing a particular format." -2008-02-18 13:47 robert - * From Bryan Thrall, "moved the prints to a higher notify level - (DEBUG_FP) so they are only printed at the most verbose level." -2008-02-18 13:44 robert +Fri, 8 Jun 2007 10:16:33 +0000 +Checked in by : Robert Osfield +From Eric Wing, "So, something strange happened to the repo and some of this project's files got messed up, most notiably the Nib and also the Localized strings file. I didn't notice the latter until now so Martin is missing this file.Anyway, the attached tar contains all new versions of all the +necessary files. There are cleanups and fixes to a lot of things. +Martin did a good job porting the thing to osg::Viewer so most of the +code changes I made address other areas. - * From Paul Martz, "Attached is a modification to - OcclusionQueryNode. The copy constructor was failing to - initialize all member variables. This change resolves the issue. - Thanks to Doug McCorkle for testing and finding the bug." +Two things I noticed in the new port you might want to consider as +feedback. First, there might be a bug with osgViewer when the view +size goes to 0. If you play with the splitviews in this program and +shrink the view until it is closed, and then re-expand it, the model +doesn't come back, not even after a home() call. SimpleViewer didn't +have this problem. -2008-02-15 14:09 robert +Second, a more minor thing, this program has a +take-screenshot--and-copy-to-clipboard feature via Cmd-C (or Menu +item). I achieve this by using osg::Camera to render to an FBO and +then copy the contents to Cocoa. To insert the camera, I manipulate +the scenegraph so I can get the camera node in and out. I end up +calling setSceneData at the end of eveything to restore everything to +the original state before I started mucking with the scenegraph. This +unfortunately, triggers a home() reset. So in this particular case, it +make Copy look like it's changing the scene. The old SimpleViewer had +the same problem, but I was able to work around it by directly +invoking the underlying SceneView's setSceneData so the home() +mechanism was bypassed. The viewer design seems to protect this data +more carefully so the bypass trick won't work. My feedback is that +maybe a flag or extra parameter can be introduced so a reset is not +triggered if not desired. - * Changed constructors to take const pointers +I have checked in a ton of Xcode fixes for the entire build process in +general so once this piece gets checked in, hopefully everything will +build cleanly." -2008-01-29 22:14 robert - * Update AUTHORS list for release -2008-01-29 21:34 robert - * Updated logs for release +Fri, 8 Jun 2007 10:11:00 +0000 +Checked in by : Robert Osfield +From Mike Wittman, "This change to genwrapper and osgIntrospection gives access to the declaring file for a given type via the new member function osgIntrospection::Type::getDeclaringFile. This information is useful in order to know what header to include when auto-generating wrappers for a given type.During the C# wrapper generator development I've been keeping the +declaring file configuration state up-to-date manually with changes +to OSG, and it's proven to require substantial effort. So it would be +extremely valuable to get this change in before 2.0 to reduce maintenance +during the lifetime of the release. It'll also be equally useful to +others looking to create wrapper generators using osgIntrospection. -2008-01-29 20:45 robert +This is a fairly simple change and was tested with a fresh rebuild of the +entire suite of osgWrapper libraries, so it should be relatively low risk +(fingers crossed)." - * Updated wrappers -2008-01-29 12:24 robert - * Reorganized the static vector used for buffering extensions to - prevent an crash on exit. -2008-01-29 10:28 robert - * Updated versions for OSG-2.3.4 release +Fri, 8 Jun 2007 09:45:11 +0000 +Checked in by : Robert Osfield +Added clean up of the view before destruction of the window -2008-01-28 20:54 robert +Fri, 8 Jun 2007 09:17:42 +0000 +Checked in by : Robert Osfield +Added const get*Matrix() methods - * From Mike Weiblen, "1) best practices suggest that values passed - by-reference should be - initialized. - 2) explanatory comments are handy when available as notify() - messages." +Fri, 8 Jun 2007 05:03:56 +0000 +Checked in by : Eric WING +Changed the version to 2.0.0 in the Info.plist in anticipation of the official release. I don't know what the OpenThreads version number will be, so that has been left alone. -2008-01-28 20:52 robert +Fri, 8 Jun 2007 04:57:00 +0000 +Checked in by : Eric WING +Lots of various fixes to Xcode project.- Adding missing header files and making sure they are marked public. - * From Mike Weiblen, "an aesthetic enhancement for displaying - important version information." +- Support to copy headers in Viewer/api into the proper location in framework -2008-01-28 20:31 robert +- Internalized OpenThreads build so cross-project dependency is not needed. Can now delete copy of OpenThreads project. Frameworks use native Xcode linking mechanism. Plugins/Examples still use explicit -framework OpenThreads. Could potentially be problem is old OpenThreads is on the system. This can be changed to use native mechanism too, but requires some patience because it is tedious to change. - * From Roger James, "A small fix for compiling with - OSG_USE_FLOAT_MATRIX" +- Lots of fixes to osgViewerCocoa (something got messed up pretty badly...files are missing from repo). Another submission will need to readd these files back. -2008-01-28 20:27 robert - * From Rainer Oder, removed duplicate conditional -2008-01-28 19:54 robert - * Fixed BUILD_REF_DOCS_SEARCHENGINE conditional -2008-01-28 19:42 robert - * Added explict casts to double to prevent VS compiler error +Thu, 7 Jun 2007 21:43:27 +0000 +Checked in by : Stephan Maximilian HUBER +Stephan Huber: fixed deploy-build for osgViewer -2008-01-28 18:29 robert +Thu, 7 Jun 2007 21:07:30 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Jean-Christophe Lombardo and Robert Osfield, added - BUILD_REF_DOCS_SEARCHENGINE and BUILD_REF_DOCS_TAGFILE options - for being - doxygen docs. +Thu, 7 Jun 2007 20:26:29 +0000 +Checked in by : Robert Osfield +Commented out the Scene Stats entry as its not implemented yet. -2008-01-28 17:00 robert +Thu, 7 Jun 2007 20:22:45 +0000 +Checked in by : Robert Osfield +From Martin Lavery, StatsHandler added to the ViewerCocoa example - * From Glen Waldon, "This change patches ReaderWriterOSGA.cpp so - that it passes along the ReaderWriter::Options to files loaded - from inside the archive. Previously it was discarding them. - - example: - osgviewer -O noLoadExternalReferenceFiles archive.osga" +Thu, 7 Jun 2007 13:49:30 +0000 +Checked in by : Robert Osfield +From Martin Lavery, update of *.nib files -2008-01-28 16:38 robert +Thu, 7 Jun 2007 13:48:15 +0000 +Checked in by : Robert Osfield +From Martin Lavery, update of *.nib files - * From Stephan Huber, added support for double click event for OSX. +Thu, 7 Jun 2007 13:44:35 +0000 +Checked in by : Robert Osfield +From Martin Lavery, update of *.nib files -2008-01-28 16:13 robert +Thu, 7 Jun 2007 13:31:50 +0000 +Checked in by : Robert Osfield +From Martin Lavery, update of *.nib files - * From Cedric Pinson, "default white behaviour : osgviewerd -e ogr - yourFile - randomize color by feature: osgviewerd -e ogr -O - UseRandomColorByFeature - yourFile" +Thu, 7 Jun 2007 13:25:34 +0000 +Checked in by : Robert Osfield +From Martin Lavery, update of *.nib files -2008-01-28 15:41 robert +Thu, 7 Jun 2007 12:55:19 +0000 +Checked in by : Robert Osfield +From Martin Lavery, port of ViewerCocoa and updates to Xcode projects - * Added projectorMatrix parameter support to *SphericalDisplay - setup functions and .view, this allows one - to flip, rotate, or turn up side the position of the projector. - Note, projector at base of display is the default. +Thu, 7 Jun 2007 12:47:56 +0000 +Checked in by : Robert Osfield +Removed the old SimpleView version of the Cocoa example -2008-01-28 15:36 robert +Thu, 7 Jun 2007 12:46:09 +0000 +Checked in by : Robert Osfield +Removed now not need SimpleViewer - * Added include RenderLeaf to make sure #define's are defined - correctly +Thu, 7 Jun 2007 12:23:21 +0000 +Checked in by : Robert Osfield +Added automatic stopping of animation when home() is called -2008-01-26 20:03 shuber +Thu, 7 Jun 2007 12:05:09 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, "To get the pfb (Performer) plugin to compile I had to remove some of the libraries listed under TARGET_EXTERNAL_LIBRARIES. The removed libraries are not needed when linking the plugin, they are loaded during runtime by Performer. The modified file is attached." - * From Stephan Huber: updated XCode project +Thu, 7 Jun 2007 11:19:02 +0000 +Checked in by : Robert Osfield +Introduced a destruct method to help clean up the Registry. -2008-01-24 10:04 robert +Thu, 7 Jun 2007 11:06:40 +0000 +Checked in by : Robert Osfield +Revert the signOrZero cade path in the getRotate() to fix bugs. - * Removed duplicate declaration of DeleteHandlerPointer +Thu, 7 Jun 2007 11:05:59 +0000 +Checked in by : Robert Osfield +Added support for using quat_scaled sx sy sz for testing getting quats from scaled matrices. Removed broken Matrixd/quat test -2008-01-22 11:13 robert +Thu, 7 Jun 2007 09:58:49 +0000 +Checked in by : Robert Osfield +Added View::home() method and updated wrappers - * Updated ChangeLog, Authors and readme for 2.3.3 release +Thu, 7 Jun 2007 09:24:46 +0000 +Checked in by : Robert Osfield +Removed redundent files -2008-01-22 10:28 robert +Thu, 7 Jun 2007 08:52:51 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added missing checks for null pointers +Wed, 6 Jun 2007 21:57:57 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, AUTHORES and README to 1.9.8 release -2008-01-21 18:06 robert +Wed, 6 Jun 2007 21:43:38 +0000 +Checked in by : Robert Osfield +Updated version numbers for release - * From Jean-Sebastien Guay, notes on how to enable syntax - highlighting in VS. +Wed, 6 Jun 2007 17:01:37 +0000 +Checked in by : Robert Osfield +Revert the setting of SingleThreaded under Windows in suggestBestThreadingModel() -2008-01-21 17:04 robert +Wed, 6 Jun 2007 16:27:00 +0000 +Checked in by : Robert Osfield +Added #include - * Fixed debug build of Inventor plugin +Wed, 6 Jun 2007 16:23:20 +0000 +Checked in by : Robert Osfield +Fixed includes -2008-01-21 14:42 robert +Wed, 6 Jun 2007 15:22:31 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, "on my MacOS X/cmake setup the zlib plugin isn't built by default. This may be because zlib.h is installed in /opt/local/include on my system (courtesy of DarwinPorts). I've added a CMakeModule to look for zlib.h and the library in various places. The files are attached." - * From Drederic Bouvier, "I noticed the AC3D loader resets database - path given as Options, - preventing users to put textures in another directory. This patch - adds - the model path to the path list instead of replacing it." +Wed, 6 Jun 2007 14:51:08 +0000 +Checked in by : Robert Osfield +Fixed includes -2008-01-21 14:41 robert +Wed, 6 Jun 2007 13:45:50 +0000 +Checked in by : Robert Osfield +From Martin Lavery, Updates to Xcode project - * Introduced BUILD_REFERENCE_DOCS option to make it a bit clearer - how to enable and build the DoxygenDocs +Wed, 6 Jun 2007 11:34:19 +0000 +Checked in by : Robert Osfield +From Roger James, "These fix a couple of problems in the ac3d writer.1. Number of child node of the world object set incorrectly in when scene contains shape drawables. -2008-01-21 12:01 robert +2. Incorrect handling of line primitives." - * From Cedric Pinson, "you can find as attachement a readerwriter - for ogr files (.tab, .gml, - .shp ...) ogr is a part of gdal so i added the build of ogr - plugin if - gdal is found. - - to test it - osgviewerd -e ogr file.tab - or - osgviewerd -e ogr file.gml - or - osgviewerd -e ogr file.shp - " -2008-01-21 12:00 robert - * Fixed Geometry::removePrimitiveSet method so that it no longer - emits a warning when - removing 0 elements form an empty primtive set list. +Wed, 6 Jun 2007 11:28:44 +0000 +Checked in by : Robert Osfield +From Olaf Flebbe, "an implementation of GraphicsWindow::setCursor for WIN32." -2008-01-21 11:47 robert +Wed, 6 Jun 2007 11:21:13 +0000 +Checked in by : Robert Osfield +Moved HelpHandler and StatsHandler classes into ViewerEventHandlers header, removed HelpHandler and StatsHandler headers - * From Mike Weiblen, restructured GL2Extensions so that they now - live in their own GL2Extensions.cpp file rather than in - Program.cpp +Wed, 6 Jun 2007 11:10:44 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-01-21 11:40 robert +Wed, 6 Jun 2007 10:58:21 +0000 +Checked in by : Robert Osfield +Moved SimpleViewer from osgViewer into the osgviewerCocoa example directory as this is the only place in the OSG that now relies upon SimpleViewer. - * Updated version number for 2.3.3 release +Wed, 6 Jun 2007 10:57:02 +0000 +Checked in by : Robert Osfield +Added support for passing in ArgumentParser in Viewer and CompositeViewer constructor -2008-01-21 11:39 robert +Wed, 6 Jun 2007 08:59:22 +0000 +Checked in by : Robert Osfield +From Marin Lavery and Robert Osfield, XCode build fixes - * Updated wrappers +Tue, 5 Jun 2007 20:42:43 +0000 +Checked in by : Robert Osfield +From Martin Lavery, XCode build fixes -2008-01-21 11:37 robert +Tue, 5 Jun 2007 19:44:11 +0000 +Checked in by : Robert Osfield +Renamed osgmultiplecameras to osgcompositeviewer - * Fixed debugged code path and set the minimum number of display - lists to retain in cache to the same amount as the number of - textures +Tue, 5 Jun 2007 19:41:22 +0000 +Checked in by : Robert Osfield +Renamed osgmultiplecamrea to osgcompositeviewer -2008-01-21 11:36 robert +Tue, 5 Jun 2007 19:40:07 +0000 +Checked in by : Robert Osfield +Added CompositeViewer support into FLTK example - * Removed redundental vertex buffer object flush methods +Tue, 5 Jun 2007 19:36:49 +0000 +Checked in by : Stephan Maximilian HUBER +from Stephan Huber: fixed build path for OpenThreads, so osg builds cleanly -2008-01-21 11:27 robert +Tue, 5 Jun 2007 19:10:18 +0000 +Checked in by : Robert Osfield +Added support for CompositeViewer - * Moved useful elements of the old VisualStudio directory into a - new PlatformSpecifics/Windows directory +Tue, 5 Jun 2007 17:19:30 +0000 +Checked in by : Robert Osfield +Improved the wording of CMake instructions -2008-01-19 18:26 robert +Tue, 5 Jun 2007 17:18:27 +0000 +Checked in by : Robert Osfield +From Martin Lavery, build fixes fo latest file additions - * Added thread safe debugging checking of allocation/deallocations +Tue, 5 Jun 2007 14:37:55 +0000 +Checked in by : Robert Osfield +Change interator to const_iterator to try and avoid Solaris build failure -2008-01-19 18:25 robert +Tue, 5 Jun 2007 11:18:28 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, "added use of the internal format specified in the OpenFlight format attr files." - * Added use of ref_ptr<> throughout geometry setup code to prevent - memory leaks +Tue, 5 Jun 2007 08:46:32 +0000 +Checked in by : Robert Osfield +Removed const to try and avoid Sun compiler error -2008-01-19 13:41 robert +Tue, 5 Jun 2007 08:30:24 +0000 +Checked in by : Robert Osfield +Removed redundent comma - * Added debugging messages to help monitor expiry of inactive - children. Debug - messages current #if 0'd out, but added now for future tests when - required. +Mon, 4 Jun 2007 21:32:15 +0000 +Checked in by : Robert Osfield +Updated READEME -2008-01-19 13:31 robert +Mon, 4 Jun 2007 21:31:17 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS.txt for 1.9.7 release - * Disabled the default enabling of update traversal on - osgTerrain::Terrain as this was preventing PagedLOD subgraphs - from expiring inactive subgraphs +Mon, 4 Jun 2007 21:02:15 +0000 +Checked in by : Robert Osfield +Introduce OSG_BUILD_APPLICATION_BUNDLES option for OSX, defaulting to OFF. -2008-01-18 21:29 robert +Mon, 4 Jun 2007 20:32:15 +0000 +Checked in by : Robert Osfield +From Jeremy Moles and Rbert Osfeild, added extra details about CMake build options. - * Updated wrappers +Mon, 4 Jun 2007 19:33:59 +0000 +Checked in by : Robert Osfield +Removed setting of font resolutions and added control of threading, with the default theading set to SingleThreading to avoid crashes associated with non thread safe sections of osgFX - the need to be fixed!!! -2008-01-18 21:08 robert +Mon, 4 Jun 2007 17:11:40 +0000 +Checked in by : Robert Osfield +Added control of threading model, setting default to SingleThreaded to avoid crash associated with mixing useCursor(false) and multi-threading. - * Removed erroneous const in method parameter +Mon, 4 Jun 2007 16:20:24 +0000 +Checked in by : Robert Osfield +Updated version for 1.9.7 release -2008-01-18 21:07 robert +Mon, 4 Jun 2007 15:11:46 +0000 +Checked in by : Robert Osfield +Fixed stray control character - * From Andy Skinner, build fixes for Solaris. +Mon, 4 Jun 2007 15:05:59 +0000 +Checked in by : Robert Osfield +Warning fix -2008-01-18 21:01 robert +Mon, 4 Jun 2007 14:47:16 +0000 +Checked in by : Robert Osfield +Cleaned up example - * Moved the setting of _clipPlaneNum from the {} body to the - intializer list to - avoid reading from an unitialized variable. +Mon, 4 Jun 2007 14:46:38 +0000 +Checked in by : Robert Osfield +From Martin Lavery and Robert Osfield, ported fltk example to osgViewer::Viewer -2008-01-18 20:55 robert +Mon, 4 Jun 2007 13:45:58 +0000 +Checked in by : Robert Osfield +Added local FindFLTK.cmake to avoid problems with FLTK no being found by standard CMake FindFLTK.cmake. - * From Paul Martz, Hi Robert -- "as you and J-S and I have been - discussing on osg-users, this submission changes the clamp mode - for the fake white texture applied to non-textured geometry. - CLAMP_TO_EDGE will keep the geometry a consistent color across - the entire texture coordinate range." +Mon, 4 Jun 2007 11:47:05 +0000 +Checked in by : Robert Osfield +From Roger James, "Here are my fixes for transparency in the Collada DAE reader." -2008-01-18 16:36 robert +Mon, 4 Jun 2007 11:14:17 +0000 +Checked in by : Robert Osfield +From Martin Lavery and Robert Osfield, added use of hardwarded value kCGLCEMPEngine to fix build failure on slightly older versions of OSX. - * Added support for rendering skirts into - osgTerrain::GeometryTechinque +Mon, 4 Jun 2007 10:56:01 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-01-18 09:17 robert +Mon, 4 Jun 2007 10:47:15 +0000 +Checked in by : Robert Osfield +Added osg::Hint class - * Added getNumOperationsInQueue() method +Mon, 4 Jun 2007 08:38:11 +0000 +Checked in by : Robert Osfield +Fixed spelling of Receives -2008-01-17 22:26 robert +Sun, 3 Jun 2007 10:00:09 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Commented out debug message +Sun, 3 Jun 2007 09:34:28 +0000 +Checked in by : Robert Osfield +Added Viewer::setUpViewerAsEmbeddedInWindow convinience method -2008-01-17 22:25 robert +Sun, 3 Jun 2007 09:11:41 +0000 +Checked in by : Robert Osfield +Removed osgsimple example - * Added computation of skirt height for osgTerrain::Terrain height - fields. +Sun, 3 Jun 2007 09:09:09 +0000 +Checked in by : Robert Osfield +Merged the osgviewerQT3 and QT4 examples into a single osgviewerQT example, and ported across from SimpleViewer to using Viewer -2008-01-17 17:10 robert +Sun, 3 Jun 2007 08:58:32 +0000 +Checked in by : Robert Osfield +Changed external library specication - * Added call to ClusterCullingCallback to determine if the Terrain - node is culled - by cluster culling. +Sat, 2 Jun 2007 16:23:07 +0000 +Checked in by : Robert Osfield +Ported across from SimpleViewer to using Viewer -2008-01-17 16:41 robert +Sat, 2 Jun 2007 16:01:56 +0000 +Checked in by : Robert Osfield +Ported QT3 example across to use osgViewer::Viewer, and made it possible to use the same source for both QT3 and QT4 - * Added Node to Terrain serialization +Sat, 2 Jun 2007 15:31:21 +0000 +Checked in by : Robert Osfield +Added osgViewer::GraphicsWindowEmbedded and ported GLUT, SDL and WX examples across from SimpleViewer to Viewer. -2008-01-17 15:37 robert +Sat, 2 Jun 2007 12:03:24 +0000 +Checked in by : Robert Osfield +Ported GLUT example to using osgViewer::Viewer rather than SimpleViewer by using a local GraphicsWindowEmbedded class to help the adaption. - * Fixed the computation of terrain bounding volume so that it - properly accounts for - elevation layers +Fri, 1 Jun 2007 22:41:11 +0000 +Checked in by : Robert Osfield +Renamed all osgsimpleviewer* files to osgviewer* -2008-01-16 15:05 robert +Fri, 1 Jun 2007 22:33:05 +0000 +Checked in by : Robert Osfield +Renamed osgsimpleviewer* examples to osgviewer* in prep for replacement of SimpleViewer by Viewer - * Changed the Texture clamp mode to CLAMP_TO_EDGE +Fri, 1 Jun 2007 22:28:03 +0000 +Checked in by : Robert Osfield +updated wrapper -2008-01-14 14:53 robert +Fri, 1 Jun 2007 21:38:53 +0000 +Checked in by : Robert Osfield +From J.P Delport, "attached find an updated osgunittests.cpp that allows for the testing of the matrix.getRotate() function when a matrix contains a scale as well as a rotation.The scale can optionally be switched off, see the top of +testQuatFromMatrix(). - * Updated wrappers +As expected, all the current methods for mat to quat conversion fail +these new tests. When the scale is omitted, mk2 of getRotate with sign +instead of signOrZero passes, as well as mk1. +" -2008-01-14 14:53 robert - * Refactor osgTerrain::ProxyLayer so that it is now a pure Proxy, - defering implementations - to an Implementation rather than a subclass of ProxyLayer. - Updating the osgTerrain and GDAL plugins - to comply with this refactor. -2008-01-14 13:14 robert +Fri, 1 Jun 2007 21:33:29 +0000 +Checked in by : Robert Osfield +From Maria Ten, "The constructor method of the EllipsoidLocator of osgTerrain assumes that the terrain is always the Earth planet. I changed the constructor method to accept the Equator radius and the Polar radius like parameters. By default, it assumes the Earth radius for the EllipsoidLocator. I added a setEllipsoidModel method, too.Now, we are developing some libraries for a GIS applicacion, and our +libraries can visualize terrains of planets like Mars. I think that is +a interesting change." - * Added back in checks for various verions of gdal -2008-01-14 12:14 robert - * Updated AUTHORS file and osgversion for 2.3.2 release +Fri, 1 Jun 2007 21:28:18 +0000 +Checked in by : Robert Osfield +From Michael Hartman, "CMakeLists.txt: Changed this back to setup_example since WIN32 flag is now supported. -2008-01-14 11:44 robert + - * Added geometry shader extension supported check to geometry - shader parameter calls +MFC_OSG.h: -2008-01-14 11:30 robert + Added flag to indicate when the rendering thread has exited. - * From Colin McDonald, "Multi-texturing fails with recent osg on - older graphics cards, due to - use of parameter GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS which is - only part - of the standard from 2.0 onwards. I've updated src/osg/State.cpp, - so - that it attempts to be more rigorous regarding OpenGL version and - extension checking." + -2008-01-14 11:22 robert +MFC_OSG.cpp: - * Updated ChangeLog, date and version number for 2.6.2 release + Code modifications to support rendering flag thread exit. -2008-01-14 11:07 robert + - * Updated wrappers +MFC_OSG_MDIView.cpp: -2008-01-14 10:14 robert + Change to OnDestroy function to wait until we get render thread exit flag is true before we close the window. - * From Daniel Stien, "When removing a child from a osg::Group, - childRemoved is called after the - node has already been erased from the node list, causing - childRemoved to be - performed on the consecutive node. - - Lines 180 and 182 are swapped in the attached Group.cpp. - " + -2008-01-11 12:16 robert + - * From Adrian Egli, made the getHandled() functionality consistent - with the rest of the osgGA::MatrixManipulators +Main Exit Process: -2008-01-10 11:08 robert + User presses escape button - * From Jean-Sebastien Guay, added OSGUTIL_EXPORT for Windows build + Viewer captures escape button and stops threading etc. -2008-01-10 11:02 robert + Viewer sets Done when shutdown is complete - * From Paul Martz, "his pretty much wraps up the OcclusionQueryNode - work. I might make some additional modifications if testing - reveals any issues, otherwise it's ready for 2.4." + MFC Render Thread monitors viewer->done for true -2008-01-09 21:17 robert + MFC Render Thread exits while loop and sets MFC Done flag - * Indentation/bracket fixes and change of default size + MFC View Window monitors MFC Done flag and then closes/destroys the window -2008-01-09 21:00 robert +" - * Simplified the image reading/writing -2008-01-09 16:56 robert - * Adding missing files +Fri, 1 Jun 2007 19:53:14 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-01-09 16:35 robert +Fri, 1 Jun 2007 19:45:24 +0000 +Checked in by : Robert Osfield +From Wojciech Lewandowski, "I did few tests to see whether adding PreDraw callback would help us with SPI problems when using Viewer. Results were positive so I decided to give it a try and ask you to verify and maybe merge with existing codebase.I added _preDrawCallback member and neccessary access methods plus modified osgUtil RenderStage.cpp to invoke it before all drawInner calls are made. I tried to maintain symmetry with postDrawCallback but you know better where is a proper place for this call ;-) +" - * Added support for reading and writing osgTerrain objects -2008-01-09 14:22 robert - * Added setting of UpdateVisitor's FrameStamp and TraversalNumber - in updateTraversal() +Fri, 1 Jun 2007 19:44:09 +0000 +Checked in by : Robert Osfield +Updates to OverlayData -2008-01-09 11:42 robert +Fri, 1 Jun 2007 19:43:28 +0000 +Checked in by : Robert Osfield +From Mathias Froelich, "have done an interface to change the mouse cursor in the X11 graphics window. The win32 implementation is still in its original shape since I have no win32 implementation available.I have chosen the enum approach for the first cut. That is benefitial since +the user does not need to track creation of mouse cursors for different +windows and displays in presence of multiple viewer windows. - * From Mike Weiblen, build fix for VS8. +The default set of available mouse shapes is the same set that was available +with glut. That set served many OpenGL applications well, so the hope is that +this is enough. -2008-01-08 23:20 ewing +Even though, that implementation is still extensible: +I have digged out the way SDL defines new mouse cursors and added a still +documented out function prototype in the GraphicsWindow that can be used to +extend the current implemtation for arbitrary mouse shapes. That is not +implemented yet. - * Updates to resync Xcode project with current state of repository. - - Added several missing plugins (e.g. osgdb_osgShadow, - osgdb_osgViewer, osgdb_Terrain). - - Added dependency information hoping that the Xcode 3 parallel - target building will work now. +I hope that somebody with a win32 test system can catch up that implementation +on win32." -2008-01-08 18:13 robert - * From Colin McDonald, build fixes for Solaris. -2008-01-08 17:18 robert +Fri, 1 Jun 2007 19:21:41 +0000 +Checked in by : Robert Osfield +Removed setViewUpOnScreen settings - * From Jean-Sebastien Guay, Warning fixes +Fri, 1 Jun 2007 19:19:23 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find the modified ImageStream and a small fix for QuicktimeImageStream to disable debug-logging :)" -2008-01-08 16:09 robert +Fri, 1 Jun 2007 19:10:59 +0000 +Checked in by : Robert Osfield +From Mike Wittman, "Just found another issue building the C# wrappers: the osgTerrain ValidDataOperator file uses osg::Vec2, osg::Vec3, and osg::Vec4, but does not include their headers. The file with the relevant includes is attached." - * Added support for reading and writing the Terrain's Locator -2008-01-08 15:20 robert - * Added writing and reading of inlined HeightField +Fri, 1 Jun 2007 19:01:23 +0000 +Checked in by : Robert Osfield +Removed the debug message for the ortho path. -2008-01-08 14:38 robert +Fri, 1 Jun 2007 19:01:06 +0000 +Checked in by : Robert Osfield +Improved the handling of the -p path option - * Removed non standard and redundent /*EOF*/ +Fri, 1 Jun 2007 18:27:08 +0000 +Checked in by : Robert Osfield +Work in progress on shaders support -2008-01-08 14:37 robert +Fri, 1 Jun 2007 16:14:47 +0000 +Checked in by : Robert Osfield +From Paul Martz, added Win32 export - * Updated wrappers +Fri, 1 Jun 2007 11:21:57 +0000 +Checked in by : Robert Osfield +Added recording of camera paths -2008-01-08 14:29 robert +Fri, 1 Jun 2007 10:42:24 +0000 +Checked in by : Robert Osfield +Changed name of AnimationPathHandler to RecordCameraPathHandler - * From Mike Weiblen, support for geometry shaders, and - osgeometryshaders example to demonstrate them. +Fri, 1 Jun 2007 10:39:27 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, new event handler to record the camera path. A few small tweaks by Robert Osfield to make it more consistent with the old osgProducer::Viewer behavior. -2008-01-08 14:22 robert +Wed, 30 May 2007 17:56:43 +0000 +Checked in by : Robert Osfield +Improved taper ratio computation - * Fixed warning +Wed, 30 May 2007 16:36:47 +0000 +Checked in by : Robert Osfield +Added set up of overlay stateset -2008-01-08 13:56 robert +Wed, 30 May 2007 14:18:33 +0000 +Checked in by : Robert Osfield +Added trapezodial fitting code - * Added support for MinLevel and MaxLevel for ProxyLayer +Wed, 30 May 2007 09:25:01 +0000 +Checked in by : Robert Osfield +Fixed case of when view==NULL -2008-01-08 13:24 robert +Tue, 29 May 2007 18:39:27 +0000 +Checked in by : Eric WING +Stephan Huber: Adding missing Xcode project file. - * Introduced new osg::discardDeletedOpenGLObjects() methods, and - usage of it in - GrpahicsContext::close() to handle cases where - deletingOpenGLObjects is no possible, - such as when GraphicsWindowEmbedded is used. +Tue, 29 May 2007 14:19:42 +0000 +Checked in by : Stephan Maximilian HUBER +From Stephan Huber, updated OpenThreads-XCode-project files -2008-01-08 13:22 robert +Tue, 29 May 2007 13:28:40 +0000 +Checked in by : Robert Osfield +Added support for specifying which screen number to place the window - * Removed debug info +Tue, 29 May 2007 10:31:03 +0000 +Checked in by : Robert Osfield +From Sherman Wilcox, "The issue itself occurs when a model is tessellated that has greater than unsigned short number of vertexes. An object called vertexPtrToIndexMap contains vertexes and their indexes. This std::map object can obviously hold a quantity that is greater than unsigned short, however osg::DrawElementsUShort objects were being created to reference these vertexes and their indexes. osg::DrawElementsUShort can only hold indexes that are 16-bit quantities.... -2008-01-08 13:10 robert +proposed_patch_2\tessellator.cpp. This solution examines the size of +vertexPtrToIndexMap and selects 1 of 3 possible osg::DrawElements +objects: DrawElementsUByte, DrawElementsUShort, or DrawElementsUInt. +The main drawback of this particular solution is the code duplication. +However, the repair is straightforward." - * Reorganised the .osg support for osgTerrain NodeKit to make it - more extensible -2008-01-07 09:47 robert - * Added OSGUTIL_EXPORTs -2008-01-06 17:53 robert +Tue, 29 May 2007 10:01:18 +0000 +Checked in by : Robert Osfield +From Olaf Flebbe, "recently I discovered that the freetype plugin does not work, because CMake doesn't recognize it properly on windows.1) the header detection on a directory "freetype" fails, it seems to +need a filename: "ft2build.h" actually works. - * Added missing #include +2) the 3rdparty I am supplying for FlightGear contains freetype-2.3.4. I +added the correct library naming for this particular release. -2008-01-06 10:52 robert +I double-checked my directory layout with the 3rdparty supplied by other +OSG contributors." - * Added exports for Windows build -2008-01-04 20:03 robert - * Fixed date -2008-01-04 20:00 robert +Tue, 29 May 2007 09:57:18 +0000 +Checked in by : Robert Osfield +From Olar Flebbe, "Visual Studio 2005 triggered a small glitch in UnittestFramework.cppDo not derefence it2 if it is at end()." - * From Eric Wing, "Attached are a few Find modules with updates. - Among other things, they - contain better support for environmental variables to pre-empt - the - autodection default search path order which is very helpful for - people - who do automated builds. (I recommend that the remaining modules - consider adding the same system to make things consistent and - easier - for those people that want to do the automated builds.) - - The CMAKE_PREFIX_PATH has also been added to help people. I don't - recommend adding this to the other modules because it looks like - CMake - agreed with my idea and will be adding the support in 2.6. So - when - that ships, people will get it for free. (In the meantime, my - modules - that do have it, it can be used.) - - Finally, I've submitted all of these modules to official CMake - plus - more so they will be in the next version of CMake. It looks like - I may - need to sort some compatibility issues out with the KDE people - who - seem to have conflicting modules, but this is unrelated to the - updates - submitted here as OSG already has these conflicts. I figured I - would - just sync OSG up with my current/best versions. - - Also of note, I added the large batch of Findosg*.cmake modules - to - CMake so people building against OpenSceneGraph can use these - without - writing their own. I wasn't sure if I should submit them here or - not - since they are for building against OSG and not for building OSG - itself. So they are not included. - " -2008-01-04 15:33 robert - * From Glenn Waldron, "I found that - osg::Sequence::setDuration(speed,reps) was not changing the - animation speed factor as expected. The one-line fix (line 312) - is attached" -2008-01-04 15:30 robert - * From Paul Martz, "Correction to size of reserved filed in .attr - file, Spec says "149*4" bytes, not "149"" +Tue, 29 May 2007 07:25:13 +0000 +Checked in by : Robert Osfield +Changed SHORT_NAMES = NO to SHORT_NAMES = YES to avoid crappy Windows problems -2008-01-04 15:15 robert +Mon, 28 May 2007 15:44:37 +0000 +Checked in by : Robert Osfield +Added --object, --ortho and --persp OverlayNode options - * Updated wrappers +Mon, 28 May 2007 15:27:21 +0000 +Checked in by : Robert Osfield +Fixed handle on non ellipsoid models -2008-01-04 13:57 robert +Mon, 28 May 2007 15:17:27 +0000 +Checked in by : Robert Osfield +Improved the accuracy of the overlaynode settings - * Added catch for handling cases where undefined settings for - dislayNum and screenNum are used +Mon, 28 May 2007 13:56:26 +0000 +Checked in by : Robert Osfield +Added project down to base implementation. -2008-01-04 12:03 robert +Mon, 28 May 2007 10:48:04 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS.txt for 1.9.6 release - * Updated data on readme +Mon, 28 May 2007 10:17:52 +0000 +Checked in by : Robert Osfield +Updated version number, wrappers and readme for release -2008-01-04 12:03 robert +Mon, 28 May 2007 10:14:29 +0000 +Checked in by : Robert Osfield +From Frauciel Luc, "Added support for other pointers than mouses by using a nearpoint and farpoint instead of mousex,mousey + Camera (see Dragger and Dragger.cpp). The major modification concern the LineProjector class in Projector.cpp. The intersection was previously done in window space, I've modified it to compute it in object space." - * Updated AUTHORS file for 2.3.1 release +Mon, 28 May 2007 09:30:10 +0000 +Checked in by : Robert Osfield +Removed old ProgrammingGuide as this is now replaced by the proper Quick Start Guide. -2008-01-04 11:45 robert +Sun, 27 May 2007 19:35:50 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated version number for 2.3.1 release +Sun, 27 May 2007 18:18:17 +0000 +Checked in by : Robert Osfield +Updated wrappers -2008-01-04 11:44 robert +Sun, 27 May 2007 17:29:29 +0000 +Checked in by : Robert Osfield +Added camera event callback support into osgViewer - * Updated logs for 2.3.1 releae +Sun, 27 May 2007 15:24:41 +0000 +Checked in by : Robert Osfield +Updated calling of master camera's update callback -2008-01-04 11:26 robert +Sun, 27 May 2007 14:52:43 +0000 +Checked in by : Robert Osfield +Added testing to see if camera allows events before automatically attaching a trackball manipulator - * From Brede Johansen, support for contiuation records. +Sun, 27 May 2007 14:49:58 +0000 +Checked in by : Robert Osfield +Added option for using the different overlay techniques. -2008-01-04 11:14 robert +Sat, 26 May 2007 16:02:28 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Paul Martz, completion of .ive and .osg support for - OcclusionQueryNode +Sat, 26 May 2007 15:55:26 +0000 +Checked in by : Robert Osfield +Added a basic configure script to allow the setting of Release build by default. -2007-12-26 22:00 robert +Sat, 26 May 2007 15:49:35 +0000 +Checked in by : Robert Osfield +Fixes to help C# binding dev. - * From Paul Martz, "The osgocclusionquery example contained some - duplicate code that was also in the core OSG occlusion query - code. This change removes the need for that." +Sat, 26 May 2007 15:47:53 +0000 +Checked in by : Robert Osfield +From Blake Williams, "I discovered why the \u2013CompositeViewer option for the osghud example does not work. The run() function adds a camera manipulator to each view that does not have one assigned, which causes the view with the HUD camera to point somewhere other than where it should. I just added a check before a new default camera manipulator is added to ensure that the view allows event focus before a camera manipulator is added." -2007-12-26 21:43 robert +Sat, 26 May 2007 15:42:30 +0000 +Checked in by : Robert Osfield +From Charles Cole, "Attached are mods to the OpenFlight plug-in to help further implement the specification. With these mods, blink sequences are now created for flashing light point nodes, either palletized (v.15.8 and later) or non-palletized (15.7 and earlier). Thanks to Brede for his implementation of the palletized light point nodes.There is still work to do on adding the capability to properly handle +light point system nodes, but this does add some capability that did not +previously exist. So, I wanted to at least submit this and I will +hopefully provide the additional capability in the near future. - * Updated wrappers +I've tested the code modifications with Visual Studio 2005. I don't +have the means to test any other operating system, but I would suspect +that there shouldn't be any issue (famous last words). I used the test +files that I uploaded to the users forum to test the changes. -2007-12-26 21:39 robert +In addition to the added capability, I changed the light point node +radius to the "actualPixelSize" value in the file. Previously, the +radius was set to half the actual pixel size (see +LightPointRecords.cpp). Not sure why this was the case. But, it was +brought to my attention by a co-worker who created the OpenFlight files +and was testing them with different viewers. If there's some history +for setting the radius to half the size, then this change can be +omitted." - * From David Callu, further work in support of shapefile support in - VirtualPlanetBuilder -2007-12-26 21:38 robert - * Suppressed reflection of problem templates/typedefs +Sat, 26 May 2007 15:17:14 +0000 +Checked in by : Robert Osfield +Added exclude of svn directories. -2007-12-25 21:11 robert +Fri, 25 May 2007 19:35:19 +0000 +Checked in by : Robert Osfield +From Charles Cole, "he attached code implements the LightPointSystem class to allow for the OpenFlight plug-in to read and handle light point system nodes. The behavior is very similar to the old plug-in in that a MultiSwitch node is created to handle the "enabled" flag bit set in the node record. The code also reverts the changes for the actualPixelSize as mentioned above. And lastly, the code requires the previously submitted changes for the plug-in.As for the other changes, I've tested the code with Visual Studio 2005 +and the files that I posted in the users forum. - * Replaced values.h with float.h is avoid Windows compile issues +With all of the submitted changes, the OpenFlight plug-in should now be +capable of loading files with light point system nodes and the use of +palletized light points and non-palletized light points. +" -2007-12-24 15:37 robert - * Updated wrappers -2007-12-24 15:32 robert - * Fom Brede Johansen, "I have added the OSGPL license to the - OpenFlight source files" +Fri, 25 May 2007 19:32:15 +0000 +Checked in by : Robert Osfield +Comment out the setting of single threading. -2007-12-24 15:19 robert +Fri, 25 May 2007 16:00:38 +0000 +Checked in by : Robert Osfield +Added s/getOverlayBaseHeight methods - * From Sid Byce, fixes for compiling with gcc 4.3 +Fri, 25 May 2007 15:57:59 +0000 +Checked in by : Robert Osfield +Added some debug message to the set/getWindowSystemInterface function -2007-12-24 14:47 robert +Fri, 25 May 2007 15:27:06 +0000 +Checked in by : Robert Osfield +Introduce C entry point support for plugin setup for better static build support - * From Rafa Gaitan, "I have corrected some includes of the - quicktime plugin - from Quicktime/Quicktime.h to QuickTime/QuickTime.h. - MacOsX filesystem is normally case insensitive, but in - my case I changed that option and the quicktime headers - were not found. Now compiles fine and on case insesitive - file systems should work correctly too. " +Fri, 25 May 2007 15:26:13 +0000 +Checked in by : Robert Osfield +Added C entry point graphicswindow_X11() to help with static build support -2007-12-24 14:45 robert +Fri, 25 May 2007 15:25:39 +0000 +Checked in by : Robert Osfield +Added osgstaticviewer example to demonstrate how to put a static lib built viewer - * From Jason Daly, "I'm still having a problem with SWING - animations on sequences. Here's - the fix again, merged with this morning's svn (including the - other - Sequence fixes from J-S)." +Fri, 25 May 2007 13:15:00 +0000 +Checked in by : Robert Osfield +From Luigi Calori, build fixes for Win32 build osg WxWidgets example -2007-12-24 12:56 robert +Fri, 25 May 2007 10:14:05 +0000 +Checked in by : Robert Osfield +Implemnet clampping of ovleray polytope to base plane - * Based on Suggestions from "Harald A" fixed CMake setup of Doxygen - docs +Fri, 25 May 2007 10:13:36 +0000 +Checked in by : Robert Osfield +Changed debug message to INFO -2007-12-23 18:15 robert +Thu, 24 May 2007 16:11:42 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "The writeImage method in ReaderWriterPNM.cpp had an error checking the accepted file extensions, so that once the plugin was loaded in the Registry it would grab any image file write request, regardless of the file extension. This was a particular problem if it was statically loaded." - * Convert osgText and freetype plugin across to keeping the font - size as state that - is passed into the getGlyph and getKerning methods rather than a - current state of the font itself. +Thu, 24 May 2007 14:20:02 +0000 +Checked in by : Robert Osfield +Improved the polytope cutting and project calculation -2007-12-23 13:45 robert +Thu, 24 May 2007 10:15:50 +0000 +Checked in by : Robert Osfield +From Peter Hrenka, fixes regarding line-strips and -loops. - * Moved Font code across to using FontSizePair internally and on - Font methods, but - still using original implemetations. +Thu, 24 May 2007 09:49:22 +0000 +Checked in by : Robert Osfield +From Olaf, "there are more dubious calls to istream::readsome instead of istream::read. IMHO it does make no sense here and potentially breaks this plugin." -2007-12-23 13:18 robert +Thu, 24 May 2007 08:51:55 +0000 +Checked in by : Robert Osfield +From Serge Lages, support for install api directories, with tweaks from Robert Osfield - * Renamed osgText::Font::SizePair to osgText::FontSizePair in prep - for use this more - widely within osgText/freetype plugin. - - Added support for inserting loading models into --mt - multithreaded implementation. +Wed, 23 May 2007 19:30:16 +0000 +Checked in by : Robert Osfield +Fixed brackets -2007-12-23 13:08 robert +Wed, 23 May 2007 19:25:54 +0000 +Checked in by : Robert Osfield +Added automatic building of plugins as static when dynamic build is switch off. - * Fixed indentation +Wed, 23 May 2007 15:24:16 +0000 +Checked in by : Robert Osfield +From Anders Backman, add -DJAS_WIN_MSVC_BUILD for Win32 build -2007-12-21 17:56 robert +Wed, 23 May 2007 15:14:18 +0000 +Checked in by : Robert Osfield +Made the local shaders definitions static const char to avoid multiple definiations - * From Jean-Sebastien Guay, added new version of feetype into - search list +Wed, 23 May 2007 14:55:59 +0000 +Checked in by : Robert Osfield +Added insertion of center point into object polytope -2007-12-21 17:33 robert +Wed, 23 May 2007 13:26:21 +0000 +Checked in by : Robert Osfield +Added angular sorting of the points on the plane intersecting the cut plane. - * Added copyright notice and tweaked genwrapper +Wed, 23 May 2007 12:35:37 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-12-21 17:26 robert +Wed, 23 May 2007 12:21:20 +0000 +Checked in by : Robert Osfield +Added platform specific GraphicsWindow* headers to public headers listings - * Updated wrappers +Wed, 23 May 2007 11:05:59 +0000 +Checked in by : Robert Osfield +From Peter Hrenka, (note from Robert Osfield, renamed GenericPrimitiveFunctor mention below to TemplatePrimitiveFunctor)."Since we desperately needed a means for picking Lines +and Points I implemented (hopefully!) proper geometrical tests +for the PolytopeIntersector. -2007-12-21 16:18 robert +First of all I implemented a new "GenericPrimiteFunctor" +which is basically an extended copy TriangleFunctor which also +handles Points, Lines and Quads through suitable overloads of +operator(). I would have liked to call it "PrimitiveFunctor" +but that name was already used... +I used a template method to remove redundancy in the +drawElements method overloads. If you know of platforms where +this will not work I can change it to the style used +in TriangleFunctor. - * From Paul Martz, "added include to prevent VS8 compile - error" +In PolytopeIntersector.cpp I implemented a +"PolytopePrimitiveIntersector" which provides the needed +overloads for Points, Lines, Triangles and Quads to +the GenericPrimitiveFunctor. This is then used in the +intersect method of PolytopeIntersector. -2007-12-21 15:54 robert +Implementation summary: +- Points: Check distance to all planes +- Lines: Check distance of both ends against each plane. + If both are outside -> line is out + If both are in -> continue checking + One is in, one is out -> compute intersection point (candidate) + Then check all candidates against all other polytope + planes. The remaining candidates are the proper + intersection points of the line with the polytope. +- Triangles: Perform Line-Checks for all edges of the + triangle as above. If there is an proper intersection + -> done. + In the case where there are more than 2 polytope + plane to check against we have to check for the case + where the triangle encloses the polytope. + In that case the intersection lines of the polytope + planes are computed and checked against the triangle. +- Quads: handled as two triangles. - * Removed OperationArrayFunctor for wrappers to avoid compile - errors assocaited with them +This is implementation is certainly not the fastest. +There are certainly ways and strategies to improve it. -2007-12-21 15:46 robert - * Removed inappropriate inline +I also enabled the code for PolytopeIntersector +in osgkeyboardmouse and added keybindings to +switch the type of intersector ('p') and the picking +coordinate system ('c') on the fly. Since the +PolytopeIntersector does not have a canonical +ordering for its intersections (as opposed to +the LineSegementIntersector) I chaged the +implementation to toggle all hit geometries. -2007-12-21 15:04 robert - * Updated wrappers +I tested the functionality with osgkeyboardmouse +and several models and it seems to work for +polygonal models. Special nodes such as billboards +do not work. -2007-12-21 14:49 robert - * From Paul Martz, .osg support for OcclusionQueryNode +The next thing on my todo-list is to implement +a an improved Intersection-Structure for the +PolytopeIntersector. We need to know +which primitives where hit (and where). -2007-12-21 14:45 robert +" - * From Paul Martz, Introduced osg::OcclusionQueryNode with support - for OpenGL occlusion query extension -2007-12-21 14:21 robert - * From Bryan Thrall, "UFOManipulator ignores any attached - CoordinateFrameCallback; the - attached files fix this (based on 2.2 release). - " +Wed, 23 May 2007 10:57:46 +0000 +Checked in by : Robert Osfield +Added debug timing code -2007-12-21 14:16 robert +Tue, 22 May 2007 15:17:52 +0000 +Checked in by : Robert Osfield +Added _firstTimeToInitEyePoint = true to the setAutoRotateMode to force the AutoTransform to recompute its position on next frame. - * From Mathias Froehlich, "Something to extend the texture - subloading blacklist. - ... we have problems with that on solaris." +Tue, 22 May 2007 14:00:51 +0000 +Checked in by : Robert Osfield +From Roger James, "Here is a small fix for the ac3d plugin geode.cpp. The fix is entirely localised to ac3d::Geode::OutputTriangleStripDARR.It resolves an issue when processing a DrawArrayLengths with multiple lengths where the vertex indices were incorrect for all but the first chunk." -2007-12-21 14:13 robert - * From John Kelso,"Attached is the ive reader/writer for the 2.x - version of the osg::Sequence - node. " -2007-12-21 13:32 robert +Tue, 22 May 2007 13:48:21 +0000 +Checked in by : Robert Osfield +Changed the way the the InputRange is adjusted on the event state to fix bugs related to picking - * From Jeremy Moles, "Here is a implementation of - setScreeResolution and - setScreenRefreshRate for systems support Xrandr. The include - CMakeFile - makes this optional, and turns it OFF by default, in which case - any - person trying to use these functions under Linux will be - instructed to - build osgViewer w/ Xrandr support. - " +Tue, 22 May 2007 09:32:38 +0000 +Checked in by : Robert Osfield +Added osg::Camera::ProjectionResizePolicy enum and associated methods for controlling how the field of view is adjust on window resizes. -2007-12-21 13:31 robert +Mon, 21 May 2007 18:46:57 +0000 +Checked in by : Robert Osfield +Added extra checks to make sure that graphics operations arn't done on no longer valid graphics contexts - * Added return +Mon, 21 May 2007 18:17:54 +0000 +Checked in by : Robert Osfield +Fixed Viewer::checkWindowStatus() to work correctly when running single threaded -2007-12-21 13:18 robert +Mon, 21 May 2007 13:15:26 +0000 +Checked in by : Robert Osfield +Reverting Luigi's addition of argv[1] as it breaks the build. - * From Jean-Sebastien Guay, "When using osg::Sequence you can stop - the sequence by setting the mode - to STOP. Subsequently, you can restart it from the beginning by - setting the mode to START. This does not work as expected. The - _now - time is not updated while the mode is STOP, which causes the - items in - the sequence to flash by very quickly when the mode is set to - START. - - For example, if the mode was set to STOP and left that way for 30 - seconds, and there are 10 items in the sequence, when the mode is - set - to START all the items will flash by (in 3 loops) while the _now - time - catches up with the real time, and then the sequence will go on - at the - rate it should. - - This is a simple fix for that, which updates the _now time - regardless - of the mode the sequence is in." +Mon, 21 May 2007 12:34:03 +0000 +Checked in by : Robert Osfield +Updated readme -2007-12-21 13:07 robert +Mon, 21 May 2007 12:30:14 +0000 +Checked in by : Robert Osfield +From Luigi Calori, changed hardwired "cow.osg" paramter to argv[1] - * From David Callu, various classes in support of - VirtualPlanetBuilder +Mon, 21 May 2007 12:28:25 +0000 +Checked in by : Robert Osfield +Converted tabs to 4 spaces -2007-12-21 12:36 robert +Mon, 21 May 2007 12:26:38 +0000 +Checked in by : Robert Osfield +Updated version file for 1.9.5 release - * From David Callue, added support for reading/writing Vec*dArray - to .ive plugin +Mon, 21 May 2007 11:49:37 +0000 +Checked in by : Robert Osfield +Fixed const method type -2007-12-20 17:30 robert +Mon, 21 May 2007 09:27:01 +0000 +Checked in by : Robert Osfield +Updated version numbers for 1.9.5 release - * Updated wrappers +Mon, 21 May 2007 09:18:23 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2007-12-20 15:51 robert +Mon, 21 May 2007 08:01:45 +0000 +Checked in by : Robert Osfield +From Olaf Flebbe, "FlightGear/OSG on Windows did not load the Texture Fonts.1) TXF Fonts are binary. +2) Do not rely on the result of istream::readsome if buffer _is_ empty +and no data have been read before." - * Added support for min to max level ranges for Layers in support - of VirtualPlanetBuilder usage of this. -2007-12-20 15:50 robert - * Added an optional use of doubles for computing error metrics to - help investigate precision issues seen in VPB when working with - small segments of geographic data. -2007-12-20 15:40 robert +Mon, 21 May 2007 07:54:01 +0000 +Checked in by : Robert Osfield +Added static build support to export macros - * Reset the the _lineSpacing to 0.0f to fix the line spacing when - word wrapping takes place +Mon, 21 May 2007 06:57:30 +0000 +Checked in by : Robert Osfield +Added istream:imbue(std::locale::classic()) setting to prevent non classic locals from being used when the .osg plugin reads and writes. -2007-12-20 14:40 robert +Sun, 20 May 2007 17:38:11 +0000 +Checked in by : Robert Osfield +Introduced VERSION and SOVERSION'ing of libraries. - * From Wojciech Lewandowski, "By complete coincidence I just have - read an old OSG submission mail related - to bugfixes in osg::Polytope.setToUnitFrustum and - setToBoundingBox It was - sent at beginning of december. I read it when purging my Thrash - emails and - found it there this because it was wrongly classified as SPAM. - - What stroke me in this email was the fact that there was once an - error in - Polytope class. Since I adopted CustomPolytope (osgSim - OverlayNode.cpp) for - my minimal shadow area computations I checked my code for this - error. And I - found it in CustomPolytope::setToUnitFrustum method. - CustomPolytope::setToBoundingBox seemed OK. - - So I went back to the origin and fixed this error in - OverlayNode.cpp as - well. I have not tested it in OverlayNode though (I don't know - how) so - please look at this carefully. But it seems to work fine with my - shadow - calculations." +Sun, 20 May 2007 13:42:41 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find some modifications and enhancements to the carbon's implementation of GraphicsWindow:- usage of WindowData, you can specify an existing window to use via +osg::Traits +- implementation of setScreenResolution and setScreenRefreshRate +- implementation of setWindowDecoration when window is already created. -2007-12-20 10:48 robert +There seems to be a bug regarding multiple threads and closing windows, +see my other mail on osg-users. +" - * Reorder includes in an attempt to avoid compile problems under - Cygwin. -2007-12-17 21:52 robert - * Updated AUTHORS files +Sun, 20 May 2007 12:29:11 +0000 +Checked in by : Robert Osfield +Added support for version of the osgPlugins directory, which now gets versioned according to the OpenSceneGraph/CMakeLists.txt and the include/osg/Version settings. These changes mean that the 1.9.5 release will have a libs/osgPlugins-1.9.5 directory. -2007-12-17 21:35 robert +Sun, 20 May 2007 11:45:09 +0000 +Checked in by : Robert Osfield +Added support for SG_USE_FLOAT_MATRIX and OSG_USE_FLOAT_PLANE in CMake build and include/osg/Matrix and include/osg/Plane. - * Updated ChangeLog for 2.3.0 release +Sun, 20 May 2007 11:13:18 +0000 +Checked in by : Robert Osfield +Fixed build error under float matrix build -2007-12-17 21:08 robert +Sun, 20 May 2007 09:55:34 +0000 +Checked in by : Robert Osfield +From Lugi Calori, added control of lib postfix. - * Updated version number for 2.3.0 dev release +Sat, 19 May 2007 14:00:39 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "I cleaned the code a little bit and improved the handling of loops:I added a new protected virtual method to ImageStream called +applyLoopingMode() which is called from setLoopingMode. The +quicktime-plugin has an implementation of applyLoopingMode which sets +some flags for the quicktime, so that quicktime handles the loop +playback by itself. -2007-12-17 18:38 robert +This has some benefits: - * From Paul Obermeier, "Please find enclosed the following 2 bug - fixes: - - File osgShadow/Version.cpp, Line 25: - - const char* osgShaodowGetLibraryName() - - should be: - - const char* osgShadowGetLibraryName() - - - File CMakeModules/OsgMacroUtils.cmake, Line 224: - - SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES - DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) - - should be: - - SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES - DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}") - - Otherwise setting CMAKE_DEBUG_POSTFIX to an empty string instead - of "d" in - the main CMakeLists.txt does not work under Linux. - " ++ no gaps when looping audio ++ simplified code -2007-12-17 17:43 robert +Attached you'll find the modified files, hope you'll find them useful." - * From David Cullu, added various mathematical operators -2007-12-17 10:24 robert - * From Stephan Huber, "attached you'll find an updated - carbon-implementation, which implements - the missing functionality for setWindowName and useCursor - " -2007-12-17 10:22 robert +Sat, 19 May 2007 13:43:38 +0000 +Checked in by : Robert Osfield +Various additions to better support view dependent overlay node, and updated wrappers - * Updated wrappers +Sat, 19 May 2007 13:39:55 +0000 +Checked in by : Robert Osfield +From Rafa Giatan and Robert Osfield, added support for User defined events, by adding UserData to Events. -2007-12-17 09:58 robert +Sat, 19 May 2007 13:38:38 +0000 +Checked in by : Robert Osfield +Made the near far ratio lower to allow one to be near the terrain before clipping comes in to effect - * From Wojiech Leandowski, "I earlier wrote about my hassles with - archives under Windows. I implemented - 64 bit binary compatible OSGA archive reader/writer using mixed - stdio/iostream calls. But during this work I learned that it can - be made in - much simpler way. - - Attached is result of this new attempt. I hope its appropriate - for inclusion - into OSG codebase. It was compiled and tested with latest SVN - OSG, Windows - XP 32 bit and Windows Vista business 64 bit. OSG was built using - VS 2005 - Express SP1 for 32 bit environment and VS 2005 Std for 64 bit. - --- - Solution description (there were two problems involved): - --- - Problem 1: implicit conversions beetween file positions and 32 - bit int. This - could be considered a MS compiler bug because this 32 bit int was - additionally implicitly converted to/from 64 bit. As far as I - know compiler - is allowed to make only one implict conversion (but maybe this - rule does not - refer to simple types). - - Its actually possible to address OSGA files above 4 GiB range - using 32 bit - windows iostreams. MS Iostreams in practice offer the same level - of - functionality as stdio functions. There are functions fsetpos and - fgetpos in - stdio lib which use 64 bit file pointers (fpos_t). These - functions are - internally called by seekp( streampos ), seekg( streampos ), - tellp(), and - tellg() methods. So its also possible to change and retrieve file - postions - using iostream calls. But the problem lies in implicit handling - of streampos - type. - - streampos type is actually a template class used as seekp, seekg - parameter - and returnd from tellp, tellg. Its capable of storing 64 bit file - pointers. - But streampos can be also converted to/from simple type - streamoff. It has - proper constructor and cast operator. In Win 32 environment - streamoff is - defined as long (~32 bit int). So when seekp, and tellp arent - used with - exact streampos objects but OSGA_Archive::pos_type complier makes - implicit - casts to 32 bit int types loosing important bits of information. - - So above problem could be easily handled by making conversion - calls - explicit. My code defines 2 functions used to convert back and - forth beetwen - 64 bit OSGA_Archive::pos_type and std::streampos objects: - - OSGA_Archive::pos_type ARCHIVE_POS( const std::streampos & pos ); - std::streampos STREAM_POS( OSGA_Archive::pos_type & pos ); - - Rest of the OSGA implementation code was modified to call these - conversions - explicitly with seekp, seekg, tellp, tellg. - - --- - Problem 2: seekp and seekg have two variants. Only one of these - variants is - actually 64 bit proof. - - When I solved my first problem and made use of explicit streampos - conversion - functions, OSGA archive was able to read my example 11 GiB - archive. But - there were still problems with write and append. I found that the - reason for - this was pair of seekp( 0, std::ios_base::end ) and tellp() - calls. It turned - out that use of seekp, seekg( offset, direction ) function - variants was - setting file pos pointer to EOF when file was larger than 4GiB. - But I - noticed that one arg seekp, seekg ( streampos ) versions worked - correctly. - So the solution was to change OSGA write logic a little, and - replace - seekp( offset, direction ) with seekp( absolute_pos ) calls. - I achieved this by modifing IndexBlock write method to record and - restore - file pos after IndexBlock was written. This modification has the - effect that - put pointer is generally kept at the end of file, so there is no - need to - repostion to the end before writing the files. This allowed me to - get rid of - those problematic seekp( 0, std::ios_base::end ) calls. - - There was one place where I could not easily get rid of seekp( 0, - std::ios_base::end ). It was situation where existing OSGA was - opened for - appending. I resolved this by computing file length by finding - max position - from index block and file block endings. Then I replaced former - seekp( 0, - std::ios_base::end ) with seekp( STREAM_POS( found_file_length ). - --- - - Description of these changes may sound bit hacky but in practice - these were - fairly simple and straightforward modifications. I hope they pass - your - review. There is one complex preprocessor condition which I based - on few - lines taken from boost positioning.hpp. Boost licence does allow - such - reproduction. In case of problems this condition may be easily - simplified to - windows only implementation. - " +Sat, 19 May 2007 12:27:53 +0000 +Checked in by : Robert Osfield +From Michael Hartman, "I have made a small change to the osgviewerMFC application that resolved most of my home computer issues. It seams that my home computer needed to have the pixel format set with PFD_DOUBLEBUFFER.Also, with the cmake ability you are free to remove the MFC_OSG_MDI.vcproj file. +" -2007-12-16 17:57 robert - * From Jean-Sebastien Guay, "Some clients at my new job noticed - that picking did not work with the - osg::Capsule subclass of osg::Shape in an osg::ShapeDrawable. - Other - shapes worked fine. So I have fixed this. Code attached. - - My modification is in the PrimitiveShapeVisitor, and is based on - the - DrawShapeVisitor - I added methods called createCylinderBody and - createHalfSphere, and used them in apply(Cylinder&) and - apply(Capsule&). In my testing they work fine, tested even with - transforms and moving around the scene. - " -2007-12-16 17:53 robert +Sat, 19 May 2007 12:16:06 +0000 +Checked in by : Robert Osfield +From Lugi Calori, fix for Win32 build of osgsimpleviewerWX - * Added check to make set up a sequencegroup only happen when - required. +Sat, 19 May 2007 07:08:20 +0000 +Checked in by : Robert Osfield +In Drawable::releaseGLObjects() replaced glDeleteLists with Drawable::deleteDisplayList(..) to prevent inappropriate OpenGL deletion when current thread does have required grpahics contxt -2007-12-16 17:46 robert +Fri, 18 May 2007 11:22:56 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Wojciech Lewandowski, "osgSim::BlinkSequence has - sequenceGroup unitialized by default (=NULL ref_ptr). By looking - at the code I figured out that unset sequenceGroup is completely - correct and thus allowed. - - But writing BlinkSequence with empty sequence group caused a - crash when IVE was accessing baseTime from NULL address. - - Atttached is a fix for this situation. - " +Fri, 18 May 2007 10:33:56 +0000 +Checked in by : Robert Osfield +Added support for tracking the CoordinateSystemNode path, and passing this on to camera manipulators. -2007-12-16 17:41 robert +Fri, 18 May 2007 09:49:30 +0000 +Checked in by : Robert Osfield +Added range of CameranManipulators to allow us to navigate the scene freely - * From Wojiech Lewandowski, "There was a bug in ShadowMap camera - view matrix computation. View matrix was wrong when light was - directional and shadowed scene was not centered at zero coord. I - fixed that and also modified cast distance to much smaller value. - With former range it was possible to generate shadows with lowest - LODs. " +Fri, 18 May 2007 09:43:25 +0000 +Checked in by : Robert Osfield +Added -f/--fixed option to allow use to freeze the animation of the cessna. -2007-12-16 17:33 robert +Thu, 17 May 2007 19:58:57 +0000 +Checked in by : Robert Osfield +Added support for View::setFustionDistance(..) - * Fixed HeightField coordinates set up +Thu, 17 May 2007 15:39:33 +0000 +Checked in by : Robert Osfield +Improved view dependent camera positioning -2007-12-16 17:01 robert +Thu, 17 May 2007 13:20:32 +0000 +Checked in by : Robert Osfield +Added saving and restoring of the near/far planes during Camera setup - * Added intializers. +Thu, 17 May 2007 11:55:53 +0000 +Checked in by : Robert Osfield +From Serge Lages, "Here is a modified GraphicsWindowWin32.cpp which handle double click events. I've modified the file submitted yesterday by Andre and not the current SVN version." -2007-12-16 16:18 robert +Thu, 17 May 2007 11:48:30 +0000 +Checked in by : Robert Osfield +From David Callu, "I have added the uninstall command at the end of the first file, and the configuration file template use by the command is the second file. The command use the cmake_install.cmake file which list all file installed by the install target. + this issue come from the CMake FAQ" - * Added support for automatically setting the coordinate system of - a shapefile by reading associate .prj file -2007-12-16 13:29 robert - * Added parsing of parameters to Viewer constructor. -2007-12-16 13:25 robert +Thu, 17 May 2007 11:04:57 +0000 +Checked in by : Robert Osfield +From Michael Hartman, "I have gone in and created a CMakeList.txt file for osgviewerMFC application.Below is the changes made to the included files. The examples CMakeList.txt file was not included but the code change needed for osgviewerMFC inclusion is listed below. - * Added StateSetManipulator for testing purposes, and fixed typo + -2007-12-16 13:20 robert +CMakeList.txt: - * Removed used of ref_ptr<>'s internally to avoid ciricular calls - on destruction. +This is a little different than other example cmakelist.txt files in that I could not use the setup_example macro. I had to go in and extract out the important parts of the macro and inline them in the CMakeList.txt file so that I could add the WIN32 declaration into the ADD_EXECUTABLE() statement. In the future the setup_example macro might be modified to support osgviewerMFC but this is special case so you might not want to muddy the water for one example. -2007-12-16 12:36 robert + - * Added initilizers of variables to FreeTypeFont3D constructors. - - Removed unused FreeTypeFontBase class + -2007-12-15 17:16 robert +MFC_OSG.h: - * Fixed handling of DISPLAY variable, and mapped the rest of - Producer config settings +This file had some small changes: -2007-12-15 17:15 robert +From: #include - * Commented out rendendent warnings +To: #include -2007-12-15 17:15 robert + - * commented out rendudent warning +Also added two new function declarations -2007-12-15 15:22 robert + Void PreFrameUpdate(void); - * Added setting of ambient bias uniform + Void PostFrameUpdate(void); -2007-12-15 15:19 robert + - * Added separate unform variable to keep track of abmient - contribution. + -2007-12-15 15:17 robert +MFC_OSG.cpp: - * Tweaked the abmient lighting contribution so that the OpenGL - vertex lighting has - the ambient light source switched off, and use the fragment - shader to add this - contribution back in. +This file changed only in that I am explicitly showing the viewer run loop and added the two new functions in the MFC_OSG.h file. -2007-12-14 17:40 robert + - * Refectored the loading of Locator out into its own separate file +" -2007-12-13 17:51 robert - * Added Locator::s/getTransformScaledByResolution(bool) to assist - with VPB integration -2007-12-13 16:06 robert +Thu, 17 May 2007 10:59:05 +0000 +Checked in by : Robert Osfield +From Andre Garneau, warnings fixes fo VC++ - * Warning fixes +Thu, 17 May 2007 10:33:44 +0000 +Checked in by : Robert Osfield +From Andre Garneau,"Please find attached changes to have the GraphicsWindowWin32 class selectively set the pixel format for windows that are inherited, following some discussions on the mailing list last week.This is implemented through a new traits flag +(setInheritedWindowPixelFormat) with a default state of false (to avoid +breaking existing applications). When set to true, the pixel format of the +inherited window will be set according to the traits specifications. +" -2007-12-13 15:24 robert - * From Andy Skinner, build fixes for Solaris -2007-12-13 15:23 robert +Wed, 16 May 2007 19:19:43 +0000 +Checked in by : Robert Osfield +Futher work on view dependent OverlayNode - * Convert tabs to four spaces +Wed, 16 May 2007 14:22:10 +0000 +Checked in by : Robert Osfield +Refactored the internals of OverlayNode -2007-12-13 14:26 robert +Wed, 16 May 2007 11:32:29 +0000 +Checked in by : Robert Osfield +Added code for computing the frustum dimensions in local coords to the overlay node - * Fixed memory leak +Tue, 15 May 2007 19:45:46 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "This is an other small update for the ac3d loader: - It avoids attaching texture coordinates if there is not texture attached. - It uses DrawArrayLengths instead of multiple DrawElements." -2007-12-13 14:16 robert +Tue, 15 May 2007 19:32:55 +0000 +Checked in by : Robert Osfield +From Blasius Czink, "when creating windows with decorations (titlebar) the mouse position should be adjusted." - * Updated the shapefile attribute IO so that its more streamlined. +Tue, 15 May 2007 19:25:57 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "Attached is a version of src\osgViewer\GraphicsWindowWin32.cpp that allows to render in software. (maybe also in hardware w/o wglChoosePixelFormatARB)" -2007-12-13 12:30 robert +Tue, 15 May 2007 17:04:57 +0000 +Checked in by : Robert Osfield +Added code to better compute the view frustum that is appropriate for a traversed subgraph. - * Added copy operator to ShapeAttribute to prevent problems when - assigned them or use within a vector +Tue, 15 May 2007 17:04:24 +0000 +Checked in by : Robert Osfield +Changed back to use find Qt3 and Qt4 separately to avoid QT error reports -2007-12-12 17:59 robert +Tue, 15 May 2007 14:55:02 +0000 +Checked in by : Robert Osfield +From John Kelso, Added support for new Sequence options. From Robert Osfield, updated the above changes to the .ive loader so that the new addition were tested against the IVE version number - * Added a osgViewer::setSceneData(ref_ptr) method. +Tue, 15 May 2007 14:53:58 +0000 +Checked in by : Robert Osfield +Added -n/--no-overlay option -2007-12-12 17:48 robert +Tue, 15 May 2007 11:31:09 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, "I tried the latest developper release 1.9.4 and found that I hadn't the osgsimpleviewerQt4 example in my Visual studio solutions... After looking into it it seems that you cannot have both Qt3 and Qt4 enabled. After modifying the root CMakeLists.txt to use :FIND_PACKAGE(Qt) which should ask you to choose betwwen Qt3 and Qt4 +if you have both - * Added new setFont(ref_ptr<>) variants to Text and Text3D +instead of : -2007-12-12 17:04 robert +FIND_PACKAGE(Qt3) +FIND_PACKAGE(Qt4) - * From Serge Lages, introduce readRef*File() methods which pass - back ref_ptr<> rather than C pointers. +I had the project generated. But then due to the way CMake handles Qt4 +I had to modify osgsimpleviewerQt4's CMakeLists.txt to have the binary +link with QtOpengl4. " -2007-12-12 16:56 robert - * Updated copyright notices -2007-12-12 16:55 robert +Tue, 15 May 2007 11:25:14 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I made a modification to the setClientActiveTextureUnit and setActiveTextureUnit methods of osg::State so they return false if the texture unit is outside the range of allowable units for the driver. Currently, the functions would return true even if the units are invalid. This would cause the osg::State to become out of sync with the actual driver state, which can cause some bugs in certain cases.The change I made would verify that the unit passed to +setClientActiveTextureUnit is below GL_MAX_TEXTURE_COORDS, and the +unit passed to setActiveTextureUnit is below +max(GL_MAX_TEXTURE_COORDS,GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS). I +modeled this behavior from the OpenGL docs for these commands which +can be found here: - * From Andy Skinner, build fixes for Solaris. +http://www.opengl.org/sdk/docs/man/xhtml/glClientActiveTexture.xml +http://www.opengl.org/sdk/docs/man/xhtml/glActiveTexture.xml +" -2007-12-12 11:57 robert - * Added std:: infront of sort call -2007-12-12 10:47 robert +Tue, 15 May 2007 11:22:25 +0000 +Checked in by : Robert Osfield +Futher work on new view dependent overlay node - * Added const to operators. +Mon, 14 May 2007 20:23:10 +0000 +Checked in by : Robert Osfield +Set up new view dependent overlay technique control methods -2007-12-12 10:35 robert +Mon, 14 May 2007 17:01:07 +0000 +Checked in by : Robert Osfield +Added include of GraphicsWindow to fix wrapper build error - * Added std:: in front of find enties +Mon, 14 May 2007 16:17:16 +0000 +Checked in by : Robert Osfield +Removed redundent comment '.' -2007-12-12 09:48 robert +Mon, 14 May 2007 16:16:22 +0000 +Checked in by : Robert Osfield +Fixed parameter name - * From Serge Lages, "Here is a new modification to CMake adding an - option (OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS) to - specify if we want to generate or not the manifest files under - VS8 for the plugins and the wrappers. It seems that the manifests - are needed if we try to load dynamically a core OSG dll." +Mon, 14 May 2007 16:14:40 +0000 +Checked in by : Robert Osfield +Clean up comments and rebuilt wrappers.Added extra event handlers to osgsimulator example -2007-12-12 09:45 robert - * From Paul Martz, "Function declaration returns a bool, function - body was returning a pointer. Changed body to return (pointer != - NULL)." -2007-12-11 17:19 robert +Mon, 14 May 2007 16:13:33 +0000 +Checked in by : Robert Osfield +Replaced TARGET_ADD_LIBRARIES to TARGET_EXTERNAL_LIBRARIES for WxWidgets to avoid debug issues - * From Cyril Brulebois, removed redundent typedef. +Mon, 14 May 2007 15:16:26 +0000 +Checked in by : Robert Osfield +Renamed ViewerEventHandler to ViewerEventHandlers -2007-12-11 17:01 robert +Mon, 14 May 2007 15:07:04 +0000 +Checked in by : Robert Osfield +Renamed the ScreenHandler to WindowSizeHandler, fixed the code style to be conform more to the rest of the OSG, and moved the osgviewer across to using the event handlers in osgViewer. - * Updated wrappers +Mon, 14 May 2007 14:41:22 +0000 +Checked in by : Robert Osfield +From Serge Lages, "Here is a ViewerEventHandler file with a collection of helper handlers for osgViewer. Most of the code is from the osgviewer application, I have took the fullscreen handler and the threading one, and I have just added a fonctionality to be able to change the screen resolution in windowed mode." -2007-12-11 16:42 robert +Mon, 14 May 2007 14:36:03 +0000 +Checked in by : Robert Osfield +Changed tabs to four spaces - * From Brede Johnansen, support for continuation records. +Mon, 14 May 2007 09:43:48 +0000 +Checked in by : Robert Osfield +Updated authors file -2007-12-11 16:34 robert +Mon, 14 May 2007 09:33:32 +0000 +Checked in by : Robert Osfield +Updated wrappers and version numbers for 1.9.4 dev release - * From Karl Heijdenberg, moved set/getFrameStamp() from - osgViewer::View to osg::View. +Sun, 13 May 2007 09:54:51 +0000 +Checked in by : Robert Osfield +Added TerrainNode::init() and s/getTreatBoundariesToValidDataAsDefaultValue flag. -2007-12-11 15:55 robert +Fri, 11 May 2007 20:16:52 +0000 +Checked in by : Robert Osfield +Added include - * From Mike Garrity, "There was an on again/off again thread on OSG - users about - creating subclasses of osg::Array that referenced data - stored an application's internal data structures. I took - a stab at implementing that and ran into a couple of - downcasts in Geometry.cpp. Enclosed is my take at fixing - those along with a simple example of how to do this." +Fri, 11 May 2007 19:28:41 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-12-11 14:48 robert +Fri, 11 May 2007 19:25:44 +0000 +Checked in by : Robert Osfield +Added new areThreadsRunning() method to Viewer and CompositeViewer.Added removeView(View*) method to CompositeViewer - * Added missing copyright notices +Added stopping/starting of threads in addView/removeView -2007-12-11 14:39 robert - * From Mathias Froehlich, "Attached is a change to the PBuffer - initialsation code that checks for the GLX - version before issuing commands that require GLX-1.3. - - This prevents a crash with open source drivers on linux. - " -2007-12-11 14:06 robert +Fri, 11 May 2007 18:25:06 +0000 +Checked in by : Robert Osfield +Added ValidDataOperator base class and NoDataValue and ValidRange subclasses, and support for it in osgTerrain::Layer and GeometryTechniqnue. - * From Roger James, "The changes are as follows:- - - 1. DAE object no longer held onto by plugin. - 2. Filename to URI conversion now handled internally by plugin. - 2. User can supply an external DAE object for use by the plugin. - 3. User can supply a std:string object for the plugin to return - the URI of - the document just processed. - 4. User can supply a std::string to receive the unit name - information from - the document just read in. (e.g. meters, inches, etc.) - 5. User can supply a float to receive the metric conversion - factor from the - document just read in. - 6. User can supply an enum to receive the up axis orientation - information - from the document just read in. - 7. Material transparency can be both read and written. - 8. User can supply an experimental GoogleMode option on output. - The plugin - will try to emulate the way Sketchup specifies transparency (i.e. - the - inverse of what it should be!). I am still struggling to get GE - to - understand transparency, anyone know what it expects? - 9. Rudimentary support for Collada effect parameters (newparam, - setparam, - param) on input. Basic nVidia FX Composer dae documents can now - be read. - - " +Fri, 11 May 2007 13:45:53 +0000 +Checked in by : Robert Osfield +From Uwe Woessner, fixed handling of read/draw buffer in vertical interlaced stereo -2007-12-11 12:35 robert +Fri, 11 May 2007 13:43:00 +0000 +Checked in by : Robert Osfield +UPdated wrappers - * Updated wrappers +Fri, 11 May 2007 12:46:38 +0000 +Checked in by : Robert Osfield +Fixed CMake support for osgsimpleviewWX -2007-12-11 12:32 robert +Fri, 11 May 2007 12:12:55 +0000 +Checked in by : Robert Osfield +From Doug McCorkle, removed pfdb from link line - * From Tim More, "This submission tries to optimize redundant - compilation of StateSets and Drawables - in the DatabasePager. The practical effects of these are to - greatly reduce startup time - and the time to load an individual scenery tile in FlightGear. - - - From my log message: - - Minimize the number of StateSets and drawables that are compiled - by checking - if they have already been compiled or will be elminated by the - SharedStateManager. - - Move the sorting of the dataToCompile queue out of - compileGLObjects - into the man pager run function. - - Change the SharedStateManager to use maps instead of vectors." - +Fri, 11 May 2007 09:07:00 +0000 +Checked in by : Robert Osfield +From Gian Lorenzetto, osgsimpleviewWX example, CMake support added by Robert Osfield -2007-12-11 11:57 robert +Fri, 11 May 2007 09:05:59 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Joseph Steel, "he change is to initializeExtensionProcs() to - verify the version of the OpenGL implementation before attempting - to get the - MaxTextureCoords parameter." +Fri, 11 May 2007 08:30:20 +0000 +Checked in by : Robert Osfield +From Brad Colbert, removed inappropriate rewind on non looping code path. -2007-12-11 11:55 robert +Fri, 11 May 2007 08:19:46 +0000 +Checked in by : Robert Osfield +From Michael Hartman, " Here is the MFC_OSG example. It is very basic and the community is welcome to enhance/improve this example. There is one bug documented in the Readme.txt file that I just have not had time to solve. Also, the code is built outside of the OSG environment and uses environment variables to get to the OSG distribution headers and examples. That should be the only change a user needs to make to get the code to compile." - * From Mathias Froelich, "I have cleaned up the state set handling - of the osg::ClipNode. - Previously the complete StateSet was cleared, even the non - clipping releted - state attributes and modes in this stateset on a call to - setLocalSetateSetModes. - With this change only those modes/attributes are changed that - need to be - changed. That is, if a clip plane is removed from the ClipNode, - only this - assiciated mode is removed from the state set, instead of - throwing away the - whole state set. - - In this way we have less surprising results if the state set of a - clip node is - used for more state than just the clip state. - " +Thu, 10 May 2007 18:07:54 +0000 +Checked in by : Robert Osfield +Added supoort for transforming layers by an offset and scale -2007-12-11 11:42 robert +Thu, 10 May 2007 18:07:15 +0000 +Checked in by : Robert Osfield +Removed rendundent const - * From Mathias Froechlich, "I have extended the StateSet api with a - - StateSet::removeAssociatedModes(const StateAttribute*) - - and a - - StateSet::removeAssociatedTextureModes(unsigned, const - StateAttribute*) - - call. These funktions are just missing for a complete api IMO." +Thu, 10 May 2007 12:49:09 +0000 +Checked in by : Robert Osfield +Added automatic detection of alpha values, switching on blending when alpah!=1.0 -2007-12-11 11:37 robert +Thu, 10 May 2007 12:33:56 +0000 +Checked in by : Robert Osfield +Added automatic enabling of blending when alpha value != 1.0 occur in the color or transfer function data. - * From Alberto Luaces, "it seems that include/osgParticle/BoxPlacer - was created from the SectorPlacer - file. The code works well but the SectorPlacer comments stayed in - the new - file. I have altered those comments so they now contain valid - information for - the BoxPlacer class and the doxygen generated documentation is - correct. - - " +Thu, 10 May 2007 11:36:53 +0000 +Checked in by : Robert Osfield +From Daniel Sjolie, build fix for Windows -2007-12-11 11:21 robert +Thu, 10 May 2007 10:52:35 +0000 +Checked in by : Robert Osfield +Added getHWND, getHDC and getWGLContext methods - * From Per Fahlberg, "Attached is a fix allowing removal of shaders - from a program after it is - first compiled. It will also allow new shaders to be attached - after the - program is first compiled." +Thu, 10 May 2007 08:20:33 +0000 +Checked in by : Robert Osfield +Added checks against Options to osga plugin to ensure archives are only cached when requested, cleaned up the Registry::openArchiveImplementation function. -2007-12-10 20:56 robert +Wed, 9 May 2007 13:05:19 +0000 +Checked in by : Robert Osfield +Commented out debug messages - * From Sherman Wilcox, "In ESRIShapeParser.cpp, wasn't closing the - file handle. Added: - - if(fd) - { - close(fd); - fd = 0; - } - - - to the constructor." +Wed, 9 May 2007 12:08:30 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-12-10 20:36 robert +Wed, 9 May 2007 11:11:19 +0000 +Checked in by : Robert Osfield +From John Kelso,"Attached are updates of src/osg/Sequence.spp and include/osg/Sequence. - * From Eric Wing, "For osgviewerCocoa, a very simple change to - allow toggling between - fullscreen mode and back between views. (To activate, double - click on - the view to toggle.) It demonstrates/uses the new one-liner - fullscreen - method introduced in Leopard. Code will still compile and run in - pre-Leopard (thanks to Obj-C dynamic/late binding), but code path - is - treated as a no-op in those cases." +I've taken _sbegin/_send/_ubegin/_uend and _step our of the include file +and made them local variables in whatever method might need them. -2007-12-10 20:35 robert +I got rid of the _recalculate method as it was only getting used in +one place. - * Updated wrappers +I also found a cut/paste bug in setMode's START case." -2007-12-10 20:33 robert +Note from Robert Osfield, Also includes some guards against crashes that was occuring in this new +code when handling empty Sequences. - * From Richard Schmidt, fix on ordering to be standard OpenGL way. -2007-12-10 20:30 robert - * From Richard Schmidt, "attached you will find a set of small - fixes and features. - - - - CullVisitor/SceneView: - - *Feature: This version supports multiple clearnodes in the graph, - one per renderstage. - - - - Text: - - *Feature: Performance Enhancement when calling SetBackdropColor - - - - Material: - - *Fix: OpenGL calls are now made according to the OpenGL Standard - - " -2007-12-10 20:27 robert +Wed, 9 May 2007 10:42:56 +0000 +Checked in by : Robert Osfield +Set default texture size back to 1024x1204 - * From Ulrich Hertlein, "attached are some fixes and tweaks I made - to the .obj loader: - - Material class contained both 'shininess' and 'Ns' member - variables - - 'Ns' and 'Ni' are initialized to 0 ('Ni' is unused at the - moment) - - only 'Ns' was read from .mtl file but 'shininess' was used for - osg::Material - - 'illum' was read from .mtl file but never used; it is now used - as follows - -- illum==0 -> no osg::Material created/attached therefore no - lighting - -- illum==1 -> osg::Material specular is set to black - -- illum==2 (default) -> specular read from .mtl file is used - - 'map_Kd' and 'map_Ks' may contain additional arguments (e.g. - '-s 1 1 1'), - these are now skipped over and the texture filename is properly - extracted - " +Wed, 9 May 2007 10:41:56 +0000 +Checked in by : Robert Osfield +Added GL_MAX_TEXTURE_SIZE check and use of OSG_MAX_TEXTURE_SIZE env var to help hint to osgText that the native OpenGL implementation only supports textures up to a given size. -2007-12-10 19:51 robert +Wed, 9 May 2007 10:31:06 +0000 +Checked in by : Robert Osfield +Added use of OSG_MAX_TEXTURE_SIZE for clamping texture sizes. - * From David Callu, IO support for Text3D +Wed, 9 May 2007 10:01:15 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, with mods of using references by Robert Osfield for efficiency. Submission notes from Mike: "By repurpose, I'm creating a new plugin that uses much of the .osg fileformat, but with some changes. Specifically, I'm creating a ".osgfs" plugin, which represents the scenegraph hierarchy as a filesystem of nested subdirectories and individual files for each node, rather than nested braces with everything in a single monolithic file. I intend to incorporate file alteration monitor events to watch the filesystem for modifications and automatically reload.The problem I'm running into is osgDB is too tightly coupled to the .osg format. +osgDB::Output::writeObject() contains literal .osg format-specific strings like +"{" to represent the Object hierarchy at too low a semantic level. I propose +using virtual methods; my plugin can then derive from osgDB::Output and +represent Object hiearchy differently. +" -2007-12-10 19:49 robert - * From David Callu, Text3D -2007-12-10 17:30 robert - * From Roland Smeenk, "Attached you will find a large set of small - typo fixes (mainly in the comments)." +Wed, 9 May 2007 09:43:18 +0000 +Checked in by : Robert Osfield +From Alan Harris, "Registry and Archive ~~~~~~~~~~~~~~~~~~~~~~~~~ This is a simple change to permit databases other than those named "*.osga" to be used. It is hardcoded in read() at present.It is non-critical and does not affect existing program functionality. -2007-12-10 16:21 robert +Registry and Registry.cpp +~~~~~~~~~~~~~~~~~~~~~~~~~ +Added a new typedef: typedef std::vector< std::string> +ArchiveExtensionList; - * Updated wrappers +a list of extensions: ArchiveExtensionList _archiveExtList; -2007-12-10 16:14 robert +and an "add" method: addArchiveExtension(const std::string ext) - * Added osgViewerGetVersion() usage to force Windows to link - osgViewer. +This is initialised by adding "osga" in Registry() and used in +Registry::read() where the list is searched for the extension used. -2007-12-10 15:15 robert +Archive.cpp +~~~~~~~~~~~ +This submission is a little more tentative. openArchive() is modified to +automatically add the filename extension to the Registry extension list. +" - * From David Callu, added support of 3D text to osgText and - associated plugins. -2007-12-10 12:45 robert - * From David Callu, added support for automatically reading - associate dbase files +Wed, 9 May 2007 09:26:33 +0000 +Checked in by : Robert Osfield +Added signOrZero template method, and to Matrix_implementation.cpp usage of this method in the get(Quat&) code. -2007-12-10 12:00 robert +Wed, 9 May 2007 07:54:32 +0000 +Checked in by : Robert Osfield +Added imageData block initialized to 0 for first construction of GlyphTexture - * Char char[] to char* with new allocation. +Tue, 8 May 2007 15:32:35 +0000 +Checked in by : Robert Osfield +Further work on dome correction -2007-12-10 11:34 robert +Tue, 8 May 2007 12:18:57 +0000 +Checked in by : Robert Osfield +Firt cut at full dome correction of wrap around movies and imagery - * Refactored record allocation to fix build errors under Windows. +Tue, 8 May 2007 10:02:07 +0000 +Checked in by : Robert Osfield +Added CullSettings inheritance mask for LIGHTING_MODE and LIGHT -2007-12-10 11:20 robert +Mon, 7 May 2007 22:07:23 +0000 +Checked in by : Robert Osfield +Added s/getLightingMode and s/getLight to osg::View to allow control of the viewers global light source. - * Added export macro for windows build +Mon, 7 May 2007 19:48:46 +0000 +Checked in by : Robert Osfield +Added missing HelpHandler::reset() implementation -2007-12-10 10:16 robert +Mon, 7 May 2007 07:58:12 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS.txt for release - * Added include to fix compile errors under gcc 4.3 +Mon, 7 May 2007 07:51:02 +0000 +Checked in by : Robert Osfield +Updated version numbers for 1.9.3 release, combined INSTALL.txt and README.txt -2007-12-09 16:38 robert +Sat, 5 May 2007 17:05:07 +0000 +Checked in by : Robert Osfield +Added extra external libs - * From Gustavo Wagner, fixed bugs in reading M records from - shapefile +Sat, 5 May 2007 17:02:21 +0000 +Checked in by : Robert Osfield +Added extra libs to COLLADA plugin, but still need to set LD_LIBRARY to libs even though they are static!?#!? -2007-12-09 16:29 robert +Sat, 5 May 2007 16:24:07 +0000 +Checked in by : Robert Osfield +Added preliminary Performer plugin support, note, still missing are a range of Performer database libs that will be required. - * From Gino van den Bergen, "I've added the following features to - the OSG VRML plugin: - * Support for Box, Sphere, Cone, and Cylinder. These nodes are - converted - to osg::Geometry conform the VRML97 spec. - * Backface culling is enabled/disabled according to the "solid" - flag for - geometries that are converted from IndexFaceSets. - * PROTO instances can now be used for "appearance" and "geometry" - fields - in a Shape node. - - The file ReaderWriterVRML2.cpp is adapted for the latest stable - public - release: - - http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.2.0 - - The changes where needed for being able to read VRML file which - are - output by VMD (http://www.ks.uiuc.edu/Research/vmd/). A sample - VRML file - is enclosed in this submission. - - The plugin has been tested against a number of VRML samples that - include - texturing. The texturing is found to be VRML97 compliant for all - added - geometry nodes. - " +Sat, 5 May 2007 16:11:30 +0000 +Checked in by : Robert Osfield +Added OpenVRML support -2007-12-09 16:23 robert +Sat, 5 May 2007 15:36:03 +0000 +Checked in by : Robert Osfield +Added CMake support for pnm plugin - * Removed redundent OpenFlightOptimizer +Sat, 5 May 2007 08:22:06 +0000 +Checked in by : Robert Osfield +Added support for normals plugin -2007-12-09 16:14 robert +Sat, 5 May 2007 08:18:04 +0000 +Checked in by : Robert Osfield +Added ToPortToCmake.txt to record what modules need port to CMake. - * From Ralf Karn, fixed "invalid enumerant" warning on - TEXTURE_2D_ARRAY_EXT initialization +Fri, 4 May 2007 19:17:49 +0000 +Checked in by : Robert Osfield +Added first cut a Xine support -2007-12-09 16:06 robert +Fri, 4 May 2007 14:25:02 +0000 +Checked in by : Robert Osfield +Added first cut of Cmake COLLADA support - * From Mihai Radu, "After someone asked for a fix for non-textured - object appearing black - with the shader for textured objects. This works very well in - cases - where there could be a mix of textured and non-textured objects - in the - scene, and it makes the initialization more robust. - The idea is from PSSM, to add a 1pixel texture to the main - rendering as - to provide white for any objects missing textures." +Fri, 4 May 2007 13:41:27 +0000 +Checked in by : Robert Osfield +Added COLLADA CMAkeLists.txt, doesn't work yet as we done yet have a FindCOLLADA.cmake but it is a start -2007-12-09 16:01 robert +Fri, 4 May 2007 13:20:48 +0000 +Checked in by : Robert Osfield +Added support for jp2 plugin - * Updated wrappers +Fri, 4 May 2007 12:06:31 +0000 +Checked in by : Robert Osfield +Removed margin -2007-12-09 15:43 robert +Fri, 4 May 2007 12:05:29 +0000 +Checked in by : Robert Osfield +Reorganised the managment of margins around glyphs so that is done entirely with src/osgText/Font.cpp rather than the font plugins or Text.cpp - * From David Callu, added DBase attribute support for shapefiles +Fri, 4 May 2007 08:48:59 +0000 +Checked in by : Robert Osfield +From Luigi Calori, Win32 build fix -2007-12-09 14:54 robert +Fri, 4 May 2007 08:45:21 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Attached is a change that does no longer set the render bin details in nodes other than drawables. I guess that this way I am sure to not introduce hierarchical render bins in loaded models." - * Updated wrappers +Fri, 4 May 2007 08:40:20 +0000 +Checked in by : Robert Osfield +From David Callu, fixed incorrect array usage. -2007-12-09 12:19 robert +Thu, 3 May 2007 16:23:19 +0000 +Checked in by : Robert Osfield +Added CartizianLocator - * From Aderian Egli, changed the window dimension clamping code to - work independantly for width and height. +Thu, 3 May 2007 15:21:30 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-12-08 17:10 robert +Thu, 3 May 2007 14:51:02 +0000 +Checked in by : Robert Osfield +Added return *this to operator = - * From Mario Guimaraes, "Currently, in the StateSet::merge method, - the rhs state attributes and - modes are not merged into the lhs state when the rhs is - PROTECTED. The - changes I'm providing here address this problem." +Thu, 3 May 2007 14:47:52 +0000 +Checked in by : Robert Osfield +Added osgUtil into lib list -2007-12-08 17:04 robert +Thu, 3 May 2007 11:11:03 +0000 +Checked in by : Robert Osfield +Added virtual orientationOpenGL() method into osgTerrain::Locator. - * From Serge Lages, "Hi Robert, - - You were right about the CMAKE_MODULE_LINKER_FLAGS option for - CMake, so here is a modification allowing to not generate the - manifest files for the plugins making them a lot more easy to - redistribute. I have also made the same modification to the - wrappers as they are also put into the osgPlugin folder when - generated. - " +Thu, 3 May 2007 10:10:23 +0000 +Checked in by : Robert Osfield +Added OpenThreads to TARGET_COMMON_LIBRARIES -2007-12-08 17:00 robert +Thu, 3 May 2007 10:06:38 +0000 +Checked in by : Robert Osfield +Moved the OpenThreads link locally to each lib - * from Paul Matz, "Understood. Well, I think it's reasonable to - assume that the non-env var - case is the more tested case, and therefore it is correct to set - _supportsVertexBufferObjects to the same value as _fastPath. So - here's a - change that does the same thing for the env var case." +Thu, 3 May 2007 08:50:06 +0000 +Checked in by : Robert Osfield +Added support for setting OpenThreads_SOURCE_DIR to help the install of OpenThreads headers -2007-12-08 16:52 robert +Wed, 2 May 2007 19:57:05 +0000 +Checked in by : Robert Osfield +Added OpenThreads wrappers - * From Jeremy Moles, Anders Backman and Robert Osfield, - - both Jeremy and Anders added static build support as an option, - but one was - for Unix and one for Windowsm, but the two mods were also - inconsitent in naming - and implementation. I have had a bash at merging them both, but - don't know yet - if these changes will work yet on either configuration... user - testing will tell... +Wed, 2 May 2007 18:07:41 +0000 +Checked in by : Robert Osfield +Added CMake support for local OpenThreads build -2007-12-08 16:37 robert +Wed, 2 May 2007 16:36:56 +0000 +Checked in by : Robert Osfield +Added svn:externals for include/OpenThreads and src/OpenThreads - * From Peter Hrenka, "Due to popular demand I would like to submit - this - enhanced version of PolytopeIntersector. - - - New features of PolytopeIntersector : - - * Dimension mask: The user may specify the dimensions of the - primitives to be tested. Checking polytope-triangle and - polytope-quad intersections is rather slow so this can - be turned off. - * Reference plane: The resulting intersections are sorted - by the distance to this plane. - - New memebers of PolytopeIntersector::Intersection : - - * distance: Distance of localIntersectionPoint to the reference - plane - * maxDistance: Maximum distance of all intersectionPoints to the - reference plane. - * intersectionPoints: The points intersecting the planes of the - polytope - or points completely inside the polytope. - * localIntersectionPoint: arithmetic mean of all intersection - points - * primitiveIndex: Index of the primitive that intersected - - - I added some more output to the example osgkeyboardmouse." +Wed, 2 May 2007 13:58:38 +0000 +Checked in by : Robert Osfield +Introduced new tesslation technique that adjusts the triangulation so that the diagonal goes between the corners with least vertical deviation. -2007-12-08 15:46 robert +Tue, 1 May 2007 18:03:32 +0000 +Checked in by : Robert Osfield +Further perfomrmance optimizations and clean up on new VBO/EBO/PBO API. - * From David Cullu and Robert Osfield, David addded a new style of - OSG integration with QT by sublcassing from QTWidget and using - osgViewer to create the graphics context, Robert added - integration of this codes - with the original AdapterWidget implementation still available by - default. The new implementation can be accessed by running: - - osgviewerQT cow.osg --QOSGWidget - +Tue, 1 May 2007 09:29:30 +0000 +Checked in by : Robert Osfield +Cleaned up the optional code paths in new VBO code -2007-12-08 15:32 robert +Tue, 1 May 2007 07:31:30 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Daniel Larimer, "There was a error with QTUtils.h when - compiling on HFS case-sensitive - file system. The #include line needs to be - replaced with #include to avoid compile problems on some - systems. +Sun, 29 Apr 2007 08:12:29 +0000 +Checked in by : Robert Osfield +Further work on new VertexBufferObject/ElementsBufferObject support -2007-12-07 13:28 robert +Fri, 27 Apr 2007 17:03:06 +0000 +Checked in by : Robert Osfield +Added back in osg::Geometry path - * From Tony Horrobin, "Attached is a small fix for the openflight - loader with regard to road - segment and construction records. - - It just uses the id field to set the name of the osg node as with - other - types." +Fri, 27 Apr 2007 14:52:30 +0000 +Checked in by : Robert Osfield +Further work on the new VBO support -2007-12-07 13:19 robert +Fri, 27 Apr 2007 10:29:48 +0000 +Checked in by : Robert Osfield +From Eric Wing, " Here are more changes for the CMake scripts:- I removed CMAKE_INSTALL_PREFIX in FindOpenThreads as a follow up to +the discussion thread. - * From Paul Martz, minor typo fixes in notify messages +- I introduced an experimental CMAKE_PREFIX_PATH to replace it. -2007-12-06 17:53 robert +- I added CMAKE_PREFIX_PATH, CMAKE_INCLUDE_PATH, and +CMAKE_LIBRARY_PATH to the CMake GUI so users can enter values there +instead of in the environment. - * From Bob Kuehne, added extra event handlers +- I added OPENSCENEGRAPH_*_VERSION variables (MAJOR, MINOR, PATCH). +These should be kept up-to-date with the real version numbers. Mac +bundles like to have version information so users can find out the +version they are running through standard About panels and also +automated system reporters for troubleshooting/bug tracking. In +theory, this information could be used for library versioning. +We should do the same for OpenThreads, but I forgot about it. -2007-12-06 17:44 robert +- I added some Mac Info.plist stuff (which uses the version information). - * From Farshid Lashkari, "The bmp writer crashes in certain cases. - It happens when the computed - size of the image data is greater than the actual image size. - This - causes the memcpy call to go out of the array bounds. I modified - the - code so that it copies the data during the iteration, instead of - memcpy'ing. This fixes the problems i was having. - - If you are curious, the writer was crashing when trying to write - an - RGB image that was 2050 x 1280. You might be able to reproduce it - by - allocating an empty image of that size and writing it to a file." +" -2007-12-06 17:41 robert - * From Hautio Jari, "Current version of GraphicsWindowWin32 allows - resize to zero height - window. This breaks rendering in for example MFC SDI applications - and in - MFC MDI applications if user resizes the window so that client - area has - zero height. Current safeguard for minimized window: - - LRESULT GraphicsWindowWin32::handleNativeWindowingEvent( HWND - hwnd, UINT - uMsg, WPARAM wParam, LPARAM lParam ) - ... - ///////////////// - case WM_MOVE : - case WM_SIZE : - ///////////////// - ... - if (clientRect.bottom==0 && clientRect.right==0) - ... - - does not cover this situation. In these situations - clientRect.bottom = 0 - and clientRect.right > 0. - - Quick fix to this is relax condition: - if (clientRect.bottom==0 || clientRect.right==0) - - Modified file is attached. - - Tested with osgviewerMFC from 2.2.0 release (Windows XP sp2) - - Before fix: - - execute from command line osgviewerMFC.exe cow.osg. - - the cow is rendered nicely. - - resize window to zero height by dragging from bottom border - upwards. - - resize window back to original height - - just blue screen, no cow - - After fix: - - execute from command line osgviewerMFC.exe cow.osg. - - the cow is rendered nicely. - - resize window to zero height by dragging from bottom border - upwards. - - resize window back to original height - - the cow is where it is supposed to be. - " -2007-12-06 17:31 robert +Fri, 27 Apr 2007 09:49:28 +0000 +Checked in by : Robert Osfield +Fixed tabbing - * From Serge Lages, "Here are some modifications to the - DatabasePager, with the possibility to : - - - Get or set the target number of PagedLOD children to remove per - frame. - - Get or set the minimum number of inactive PagedLOD to keep. - - Corresponding environment variables have been added too. - The default values reproduce the previous DatabasePager - behavior." +Thu, 26 Apr 2007 16:50:35 +0000 +Checked in by : Robert Osfield +Added using of VertexBufferObject and ElementsBufferObject classes -2007-12-06 17:28 robert +Thu, 26 Apr 2007 16:50:06 +0000 +Checked in by : Robert Osfield +Further work VertexBufferObject and ElementsBufferObject classes - * From Cedric Pinson, fixes for toggle fullscreen on gnome desktop +Thu, 26 Apr 2007 08:26:10 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-12-06 17:07 robert +Thu, 26 Apr 2007 08:11:09 +0000 +Checked in by : Robert Osfield +From Brad Colbert, "Added a new method to ImageStream called getLength that is used to return the length of the stream.Implemented the virtual methods in QuicktimeImageStream, (getLength, +getReferenceTime, setTimeMultiplier), to return valid value for each. +" - * From Mathias Froehlich, "n examples/osgfadetext/CMakeLists.txt - osgSim as dependency is missing." -2007-12-06 17:03 robert - * From Mathias Froehlich, "Add missing includes. Fails on hp-ux." +Thu, 26 Apr 2007 08:07:25 +0000 +Checked in by : Robert Osfield +From Eric Wing, Added quicktime CMakeLists.txt -2007-12-06 17:01 robert +Wed, 25 Apr 2007 18:50:11 +0000 +Checked in by : Robert Osfield +Added VertexBufferObject and ElementBufferObject class interfaces, and wired up osg::Array and osg::DrawElements* to these respectively.Updated wrappers - * From Mathias Froehlich, "Attached is a changed version of - osgunittests.cpp. The __FUNCTION__ - macro/string value is not portable. Instead the functions name is - just put - into the string." -2007-12-06 16:50 robert - * From Wojiech Leandowski, fixed the hardwiring of archive - extensions to 4 charaters +Wed, 25 Apr 2007 15:32:33 +0000 +Checked in by : Robert Osfield +Added --static and --vbo options to allow the user to toggle on/off dynamic updating of geometry and use of vertex buffer objects. -2007-12-06 10:04 robert +Wed, 25 Apr 2007 10:32:41 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Fixed crash in cfg by rearranging the code blocks so the codes - that use the graphics context are only called when a graphics - context is successfully aquired. +Wed, 25 Apr 2007 10:32:28 +0000 +Checked in by : Robert Osfield +Cleaned up numToTop method -2007-12-06 09:22 robert +Wed, 25 Apr 2007 10:12:46 +0000 +Checked in by : Robert Osfield +From Martin Aumueller, fixed unused parameter warnings - * From Ulrich Hertlein, added osgViewer dependency for OSX build +Wed, 25 Apr 2007 09:32:12 +0000 +Checked in by : Robert Osfield +From Martin Aumueller, " a collegue of mine noticed that on Windows and X11 the modifier state (such as Alt or Ctrl) would be applied one key press too late: e.g. press & hold Alt, press a, release Alt, press a, press a would generate the key sequence a, Alt-a, a instead of Alt-a, a, a.The problem is also present on Carbon. Moving the call to setModKeyMask in +front of the call to keyPress fixed it for me on Carbon and X11. I suppose +that this will fix the problem for Windows as well." -2007-12-05 18:32 robert - * Changed WIN32 guard to _WIN32_IMPLEMENTATION to attempt to avoid - Win32 build error -2007-12-05 11:29 robert +Wed, 25 Apr 2007 09:21:57 +0000 +Checked in by : Robert Osfield +From Eric Wing, "These enhancements make it much easier to control which libraries get found by FIND_ using environmental variables. The problem with the old script was that CMake searches what it considers system paths first. This makes it difficult to override in the case where you might have a stable version in /usr/local, but are trying to build a bleeding edge release in the non-standard location /bleeding-edge.I went to the CMake mailing list hoping to find a good solution to +this. Unfortunately, there isn't one, and I have to do something +rather bone-headed in the Find module. Basically, I have to run FIND_ +twice: once with default search paths turned off and my environmental +variables listed, and again with standard search paths reenabled. At +least it works. - * Removed debugging line. +I also added a few more environmental variables, specifically: +OPENTHREADS_INCLUDE_DIR +OPENTHREADS_LIBRARY_DIR -2007-12-05 11:23 robert +These two variables address the shortcoming of OPENTHREADS_DIR in the +case where the include path and library path don't share a common +parent. - * From Cedric Pinson, first cut at Producer .cfg camera - configuration file support. +Put all this together, and you can setup an automated shell script or +Microsoft .bat file to configure and build your application in an +automated step. -2007-12-04 14:46 robert - * Added support for new double Vec*Array classes in various - functors. +You still should be able to use the key CMake variables like +CMAKE_INCLUDE_PATH and CMAKE_LIBRARY_PATH to find things, but it will +occur after the environmental paths are searched. The reason for this +is that the OPENTHREADS_INCLUDE_DIR and OPENTHREADS_LIBRARY_DIR are +more specific. This prevents the accidental ordering problem where you +might use CMAKE_INCLUDE_PATH to find some other component like GLUT, +but didn't want to accidentally include an older version of +OpenThreads located in the same area. -2007-12-04 14:46 robert +As the ultimate override, you can still pass -DVAR=value arguments to +cmake and it will take these above all else. However, it's safer for +people to not use these in case we modify the script and change the +variable names. - * Added optional double support via new Vec3dArray support in - osg::Geometry. - - To enable double usage set the option string "double" i.e. - - osgviewer myshapefile.shf -O "double" - +Finally, I'm wondering if we can kill the ${CMAKE_INSTALL_PREFIX} +searches in the Find module. As I've said before, this is kind of a +hack and the variable wasn't really intended to be used in this way. +And I just got bitten by it in some bad corner cases. The problem is +that if you don't explicitly set the ${CMAKE_INSTALL_PREFIX}, CMake +sets a default value for it (such as /usr/local). The problem is that +/usr/local may not be the place you want searched. If you wait to set +the ${CMAKE_INSTALL_PREFIX} in the ccmake GUI, then FIND_ is already +run once on ${CMAKE_INSTALL_PREFIX=/usr/local. If you were planning to +change the value in the GUI, it's too late if you had a stuff in +/usr/local because FIND_ already found something and won't change the +value when you reconfigure since it is already set. You will have to +manually change the value yourself. Furthermore, as another problem +example, on the Mac, /Library/Frameworks is supposed to be searched +before /usr/local, but ${CMAKE_INSTALL_PREFIX} kept causing stuff in +/usr/local to be hit first which took me a really long time to +understand how this was happenning. The work around is that I must +push the ${CMAKE_INSTALL_PREFIX} search to the very end as not to +conflict with anything else. But I think it would be much better if we +removed it entirely. -2007-12-04 14:44 robert +And with so many different environmental variables at our disposal, I +don't think we need this one: - * Added support for double Vec*Array objects +(Checked by CMake automatically:) +CMAKE_INCLUDE_PATH +CMAKE_SYSTEM_INCLUDE_PATH +CMAKE_LIBRARY_PATH +CMAKE_SYSTEM_LIBRARY_PATH +PATH +LIB -2007-12-04 14:44 robert +(Checked by us:) +OPENTHREADS_INCLUDE_DIR +OPENTHREADS_LIBRARY_DIR +OPENTHREADS_DIR +OSG_INCLUDE_DIR +OSG_LIBRARY_DIR +OSG_DIR +" - * Added double Vec*Array support -2007-12-04 14:43 robert - * Added testPolytope entry +Wed, 25 Apr 2007 09:16:31 +0000 +Checked in by : Robert Osfield +From Eric Wing, "lwo must link to osgFX or undefined symbols ensue." -2007-12-01 15:30 robert +Wed, 25 Apr 2007 09:14:01 +0000 +Checked in by : Robert Osfield +From Eric Wing, "I made a mistake in my IF() checks for FOO_CONFIG_HAS_BEEN_RUN_BEFORE. I was using ${FOO_CONFIG_HAS_BEEN_RUN_BEFORE} instead of just FOO_HAS_BEEN_RUN_BEFORE.In this case, it happened to work out to still be correct, but in +general it shouldn't have the ${}. (I really hate this syntax.)" - * Fixed the Polytop::setFrustum and setBoundingBox method -2007-11-21 10:18 robert - * Added a check against the makeCurrent() return type to make sure - that OpenGL - calls are only made if the makeCurrent() is successful. +Tue, 24 Apr 2007 19:08:52 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, Added check for image transluceny to image loaded code, placing the image quad into the transparent bin for images with alpha values. -2007-11-17 11:50 robert +Tue, 24 Apr 2007 19:03:51 +0000 +Checked in by : Robert Osfield +From Martin Aumueller, "the new Inventor plugin needs some changes in order to compile against OpenInventor. Just as in the pre-r6419 I used the COIN_BASIC_H define in order to discriminate between the two versions of Inventor.Additionally, I had to change the CMakeLists.txt to use the proper include path. +" - * From Colin Dunlop, add --devices support. -2007-11-13 17:03 robert - * Added support for filename only setup of CompositeLayer on - reading/writing. +Tue, 24 Apr 2007 13:12:40 +0000 +Checked in by : Robert Osfield +From Jan Peciva, "I was working on a new version of Inventor plugin. It was inspired by the need to get correct and high quality conversion, so I verified the plugin on complex models and made number of serious fixes:- the geometry is not two times on the output file (!) +- SoVRMLImageTexture: VRML texture support was rewritten according to + Inventor programming practices, since it does not worked correctly on + many models (Anyway, thanks for Gerrick Bivins to introduce it.) +- osg::ref wrong usage related crash fixed +- code cleaning and texture code overhaul +- LOD fixes +- appended README.txt with all the contributors I was able to get from + SVN logs" -2007-11-10 03:43 ewing - * Added missing files for qt plugin -2007-11-09 20:04 ewing - * For osgdb_freetype: - Ugh. Another fix for the cycle problem. It seems that the SDKROOT - didn't necessarily solve the problem, but there were some - unneeded library dependencies that weren't in my test fork which - allowed my test to work, but caused SVN to fail. - I have removed some of the excess libraries and it seems to build - without the Q&A fix. +Tue, 24 Apr 2007 13:11:22 +0000 +Checked in by : Robert Osfield +Added CMake support for lwo plugin. -2007-11-09 13:16 ewing +Tue, 24 Apr 2007 12:59:23 +0000 +Checked in by : Robert Osfield +Added compile path support for XINE, Inventor and LibXML - * OpenThreads Version header was mistakenly in Resources. - - osg Texture2DArray header was mistakenly in Resources. +Mon, 23 Apr 2007 20:21:06 +0000 +Checked in by : Robert Osfield +Updated version to 1.9.1 -2007-11-09 02:21 ewing +Sun, 22 Apr 2007 21:54:05 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file for 1.9 developer release - * Lots of Leopard information added. +Sun, 22 Apr 2007 21:53:12 +0000 +Checked in by : Robert Osfield +Updated ChangeLog -2007-11-08 10:30 robert +Sun, 22 Apr 2007 21:40:46 +0000 +Checked in by : Robert Osfield +Added --version-number support - * From Colin Dunlop, added missing header (note from Robert - Osfield, this submission was extracted from an inline submission - so may be prone to errors). +Sun, 22 Apr 2007 21:18:20 +0000 +Checked in by : Robert Osfield +From Michael Platings, "In the "new method" 3DS loader, inverse matrices were applied to vertices, but not normals, which caused some models to appear with normals doubly rotated. I've now added some code to transform the normals." -2007-11-08 10:30 ewing +Sun, 22 Apr 2007 20:19:43 +0000 +Checked in by : Robert Osfield +Unified the setup of version numbers so that they all are based on the version number setup in the include/osg/Version header file. - * For Leopard freetype, path is $(SDKROOT)/usr/X11/lib not X11R6. +Sat, 21 Apr 2007 12:29:39 +0000 +Checked in by : Robert Osfield +Added osgSim dependency to txp plugin -2007-11-06 12:07 robert +Sat, 21 Apr 2007 11:24:26 +0000 +Checked in by : Robert Osfield +Added include directory to get txp plugin building - * From Colin Dunlop, add live video stream support +Fri, 20 Apr 2007 16:17:48 +0000 +Checked in by : Robert Osfield +Added support for sorting the graphics contexts so that the first context/window returned from Viewer::getContexts/getWindows will be the left most window on the lowest screen number.Added ability for StatsHandler and HelpHandler to support end users setting their +Camera's graphics context. -2007-11-04 16:08 robert - * Added support for setting volume in xine plugin, manual - adjustment of volume - in osgmove example, and clamping to 0 to 1.0 range in quicktime - plugin -2007-11-04 15:21 robert +Fri, 20 Apr 2007 16:15:41 +0000 +Checked in by : Robert Osfield +Added delay between sequential threading model changes to prevent the system from locking up with 'm' is held down, which previous would cause the threading model to be thrashed. - * Changed the include definition so that it works under Cygwin. +Mon, 16 Apr 2007 19:40:36 +0000 +Checked in by : Robert Osfield +From Jason Howlett, using suggestion from Robert Osfield, "CullVisitor.cpp was modified, beginning at line 1115. Code was added to check if the camera inherits its cull mask. If not, the CullVisitor sets its traversal mask to the camera's cull mask." -2007-11-03 10:32 robert +Mon, 16 Apr 2007 19:34:25 +0000 +Checked in by : Robert Osfield +Implement basic TerrainGeometry code - * Fixed bug in addSlave +Mon, 16 Apr 2007 18:33:09 +0000 +Checked in by : Robert Osfield +Added logo and txp CMakeLists.txt files. The txp build is temporarily commented out while the build is fixed. -2007-10-31 12:55 robert +Mon, 16 Apr 2007 12:21:07 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Changed the spherical display intensity map set up to use colours - rather than - a second texture unit. +Mon, 16 Apr 2007 12:20:42 +0000 +Checked in by : Robert Osfield +Cleaned up state management code -2007-10-31 12:55 robert +Mon, 16 Apr 2007 12:18:56 +0000 +Checked in by : Robert Osfield +Fixed bug associated with complex RenderBin setup. - * Added getColor method to allow easy reading of individual pixels. +Mon, 16 Apr 2007 06:03:22 +0000 +Checked in by : Robert Osfield +Bumbped the version number up to 1.9, in preperation for using odd release numbers for development releases, odd versions for stable releases. -2007-10-31 11:06 robert +Sun, 15 Apr 2007 20:53:09 +0000 +Checked in by : Robert Osfield +Fixed choice of display - * Fixed wrap mode for panoramic display. +Sun, 15 Apr 2007 12:09:12 +0000 +Checked in by : Robert Osfield +Updatged ChangeLog using svn2log, osgversion to handle new SVN based ChangeLog, and updated AUTHORS.txt -2007-10-30 14:17 robert +Sat, 14 Apr 2007 08:31:40 +0000 +Checked in by : Robert Osfield +Added an #include and extern "C" around X11ErrorHandling to prevent Solaris build errros - * Changed debug message from NOTICE to INFO. +Fri, 13 Apr 2007 19:28:22 +0000 +Checked in by : Robert Osfield +Added some debugging -2007-10-29 00:36 ewing +Fri, 13 Apr 2007 19:28:11 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Fix for freetype plugin to be aware of SDKs (i.e. use SDKROOT). +Fri, 13 Apr 2007 14:54:41 +0000 +Checked in by : Robert Osfield +Added fullscreen toggle event handler -2007-10-25 09:00 robert +Fri, 13 Apr 2007 14:54:22 +0000 +Checked in by : Robert Osfield +Added usleep's to avoid X11 errors when doing X11 calls to close to changes in window size or decoration. - * Fixed the capitilization of the osgdb_osgfx plugin +Fri, 13 Apr 2007 14:23:10 +0000 +Checked in by : Robert Osfield +Added setWindowRectangle implementation for GraphicsWindowWin32, and place holder for setWindowRectangle implementation for GraphicsWindowCarbon. -2007-10-19 09:58 robert +Fri, 13 Apr 2007 13:28:10 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Fixed errors is setup of VBO/EBO's. +Fri, 13 Apr 2007 13:22:52 +0000 +Checked in by : Robert Osfield +Added s/getWindowRectangle to GraphicsWindow and implementation in GraphicsWindowX11 -2007-10-19 08:42 robert +Fri, 13 Apr 2007 13:19:29 +0000 +Checked in by : Robert Osfield +Changed hitItr to be a const_iterator. - * Fix for setting scene data after slaves have been added. +Fri, 13 Apr 2007 10:14:57 +0000 +Checked in by : Robert Osfield +From Eric Wing, "I added a warning message for Mac users about the Universal Binary problem." -2007-10-19 08:39 robert +Thu, 12 Apr 2007 17:30:06 +0000 +Checked in by : Robert Osfield +Fixed variable name dereference - * Fixed getOrCreateVertexBufferObject(). +Thu, 12 Apr 2007 10:14:10 +0000 +Checked in by : Robert Osfield +Added different cmake version requirements across platforms -2007-10-17 19:01 robert +Thu, 12 Apr 2007 10:06:09 +0000 +Checked in by : Robert Osfield +From Eric Wing, "Adding back missing search paths in FindOpenThreads.cmake. Also fixed a bug regarding when to set the debug version. It waited until both include and library were set, but it shouldn't wait on include.Also added a fix to the optional warning flags." - * Removed redundent X11/Intrinsic include -2007-10-16 19:04 robert - * Added flv to accepted list video format for the quicktime and - xine-lib plugins -2007-10-16 19:03 robert +Thu, 12 Apr 2007 09:59:34 +0000 +Checked in by : Robert Osfield +Added SETUP_COMMANDLINE_APPLICATION and SETUP_COMMANDLINE_EXAMPLE macros - * Added flv to accepted list of formats +Thu, 12 Apr 2007 09:33:24 +0000 +Checked in by : Robert Osfield +From Eric Wing, "Attached is a patch allows access access to the CMake MACOSX_BUNDLE option. Now SETUP_APPLICATION and SETUP_EXAMPLE take an additional optional parameter that specifies if the program is a command line application or a GUI application (think: IS_COMMANDLINE_APP). Passing 1 means true (is_commandline_app). Passing 0 or omitting the parameter means false.I changed the scripts for osgversion and osgunittests to support this +option because I believe they are command line apps. Are there any +others?" -2007-10-16 19:01 robert - * Added flv to the list of accepted movie types -2007-10-05 11:48 ewing - * Forgot to bump version numbers to 2.2.0. +Thu, 12 Apr 2007 09:32:48 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-10-05 11:28 ewing +Thu, 12 Apr 2007 09:32:34 +0000 +Checked in by : Robert Osfield +From Mike Wittman, fix to CopyOp&. - * Needed to remove dead header from precompiled header file. - Minor fixes to readme. +Thu, 12 Apr 2007 09:18:40 +0000 +Checked in by : Robert Osfield +From Eric Wing, "Minor robustness fix to osgsimpleviewerCocoa." -2007-10-05 10:46 robert +Wed, 11 Apr 2007 17:39:13 +0000 +Checked in by : Robert Osfield +Prep work on new TerrainGeometry Drawable which supports selective display list/VBO's usage.Updated wrappers - * From Mathias Froehlich, "since we patched our hp to an other - patchlevel, I need the following to - include/osg/Texture" -2007-10-05 09:10 robert - * From Andy Skinner, build fixes for Solaris. +Wed, 11 Apr 2007 11:20:42 +0000 +Checked in by : Robert Osfield +Changed the parameter handling so that it supports left to right inheritance of settings -2007-10-05 09:03 robert +Wed, 11 Apr 2007 11:20:04 +0000 +Checked in by : Robert Osfield +Added support for multiple colour layers, and fixed handling of elevation and colour layers having different locator - * Changed the threading model to single threaded. +Wed, 11 Apr 2007 08:35:39 +0000 +Checked in by : Robert Osfield +From Eric Wing, " Changes include:A internal cache flag that can be used to detect if this is the first +time running the CMake configuration. This is needed to work around +stupid CMake UI shortcomings about the UI not reflecting anything you +SET unless you use FORCE. But if you use FORCE, you override anything +the user may try to set/override unless you have an exception check. +It turns out the exception check you need is often the first-run +check. This flag is potentially useful for other things too. -2007-10-04 11:24 robert +An optional switch that turns on more aggressive warnings based on +your compiler. - * Updated ChangeLog for 2.2 release +Some Apple specific stuff for detecting the OS version and enabling +Universal Binaries (and some additional compiler flags that are good +but gcc version dependent). The version check code is unfortunately +really fragile. I need to lobby CMake to return the OS X version +number for us. FYI, building Universal will fail with the current +CMake release due to a bug, but is now fixed in CVS. +" -2007-10-04 11:20 robert - * Added asView() method to GUIActionAdapter to help out with .NET - wrappers. Updated wrappers -2007-10-04 10:05 robert - * Updated version for 2.2 release +Wed, 11 Apr 2007 08:33:40 +0000 +Checked in by : Robert Osfield +Removed tabs -2007-10-04 08:54 robert +Tue, 10 Apr 2007 13:58:18 +0000 +Checked in by : Robert Osfield +Removed old GNUmakefile.inst files - * From Trajce Nikolov, added support for extract a region for - geospatial imagery +Tue, 10 Apr 2007 13:23:32 +0000 +Checked in by : Robert Osfield +Updated INSTALL and README to refect new Cmake build -2007-10-03 23:44 robert +Tue, 10 Apr 2007 13:15:59 +0000 +Checked in by : Robert Osfield +Removed the bin and lib directories as these are now built automatically by CMake. - * Updated ChangeLog, NEWS and AUTHORS file for 2.1.15 release +Tue, 10 Apr 2007 13:12:58 +0000 +Checked in by : Robert Osfield +Removed more of the old VisualStudio build system -2007-10-03 23:27 robert +Tue, 10 Apr 2007 13:10:25 +0000 +Checked in by : Robert Osfield +Removed old gmake and VisualStudio build files - * Updated version for 2.1.15 dev release +Tue, 10 Apr 2007 12:11:16 +0000 +Checked in by : Robert Osfield +Updated to refect new incldue/osgViewer/Win32 directory for GraphicsWindowWin32 -2007-10-03 23:03 robert +Tue, 10 Apr 2007 11:09:38 +0000 +Checked in by : Robert Osfield +Updated wrapper to honour move of GraphicsWindow* include/osgViewer/api/ - * From Panagiotis Papadakos, "Setting the maximum height of osgText - doen't seem to work. If the text is - big enough, it exceeds the height that I gave as input to - setMaximumHeight. So check if cursor is out of -_maximumHeight." +Tue, 10 Apr 2007 11:03:37 +0000 +Checked in by : Robert Osfield +Create new incliude/osgViewer/api directory to hold platform specific classes such as GraphicsWindow implementations.Moved GraphicsWindowWin32,X11 and Carbon into their api/Win32, api/X11 and api/Carbon directories. -2007-10-03 23:01 robert - * Added support for defining an option - OSG_GLU_TESS_CALLBACK_TRIPLEDOT within the - CMake build system, enabling this option will build the OSG - against the (...) version - of the tesselation callback functions. - - One can also set the default value of this option via the - DEFAULT_GLU_TESS_CALLBACK_TRIPLEDOT - variable that is set locally to OFF for all platforms except AIX - and OSX, but can - be overriden by setting it via command line option i.e. - - cmake . -DDDEFAULT_GLU_TESS_CALLBACK_TRIPLEDOT=ON - -2007-10-03 21:12 shuber +Fri, 6 Apr 2007 19:51:20 +0000 +Checked in by : Robert Osfield +Fixed the handle of triangle fan. - * updated XCode projects +Fri, 6 Apr 2007 19:38:22 +0000 +Checked in by : Robert Osfield +Added extra check to prevent calling frame() when the window has been closed. -2007-10-03 20:21 robert +Fri, 6 Apr 2007 15:36:13 +0000 +Checked in by : Robert Osfield +From Eric Wing, pedantic warning fixes - * Added GLU_TESS_CALLBACK_TRIPLEDOT path into include/osg/GLU and - enabled this - for AIX as reading the old paths this was required. This looks - like it is needed - under Xcode build as well. +Fri, 6 Apr 2007 15:35:27 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-10-03 19:54 robert +Fri, 6 Apr 2007 15:13:02 +0000 +Checked in by : Robert Osfield +From Eric Wing, pedantic warning fixes - * Removed double return error +Fri, 6 Apr 2007 14:40:39 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "I've added the code to set up quad_stereo properly. I have tested with WinXP / VC8, stereo is working. I also added code to set sampleBuffers and samples. These cannot yet be properly set, tested (windows only ) by changing _numMultiSamples in DisplaySettings::setDefaults() and recompiling." -2007-10-03 12:49 robert +Fri, 6 Apr 2007 14:38:23 +0000 +Checked in by : Robert Osfield +From Mike Wittman, "1. Disable suppression of osg::CullStack. I've been building the osgWrapper code successfully with this change on both Windows and Linux, but I believe you said you got some (unspecified) errors when you tried it before. If it still causes problems, could you post the errors so I can try to solve them?2. Change osg::GraphicsContext from object-type to abstract-object-type. The current setting is incorrect because the class is actually abstract." - * Updated version, authors and change log for the 2.1.14 release -2007-10-03 12:48 robert - * From Mahai Radu, improvements to handling of spotlights -2007-10-03 12:04 robert - * Refactored the plugin and library naming to fix Cygwin plugin - loaded issues. +Fri, 6 Apr 2007 14:36:59 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, "attached is OpenSceneGraph\src\osgViewer\GraphicsWindowWin32.cpp I've added the code to get the osgViewer working on windows displays with less than 32 bit color. Only tested with 16 bit color." -2007-10-03 10:38 robert +Fri, 6 Apr 2007 14:33:55 +0000 +Checked in by : Robert Osfield +Add setting of ShadowVolumeGeometry draw mode - * Added preliminary press release +Thu, 5 Apr 2007 20:27:02 +0000 +Checked in by : Robert Osfield +Set default ShadeModel back to SMOOTH -2007-10-03 10:36 robert +Thu, 5 Apr 2007 16:12:10 +0000 +Checked in by : Robert Osfield +Added constructor argument to ShadeModel - * From Alberto Luaces, build fix for Cygwin. +Thu, 5 Apr 2007 15:04:05 +0000 +Checked in by : Robert Osfield +Commented out superfluous debug messages -2007-10-03 08:34 robert +Thu, 5 Apr 2007 14:56:30 +0000 +Checked in by : Robert Osfield +Added better handling of colour layer/elevation layer/transfer function combinations and use of 16bit luminance format for colour layers used as input to transfer functions - * Added return 0 to fix warning +Wed, 4 Apr 2007 09:07:46 +0000 +Checked in by : Robert Osfield +Added support for flushing buffer objects -2007-10-02 21:45 robert +Wed, 4 Apr 2007 08:09:24 +0000 +Checked in by : Robert Osfield +From Paul Martz, added osgViewer headers to VS syntax highlighting. - * Updated wrappers +Wed, 4 Apr 2007 08:06:22 +0000 +Checked in by : Robert Osfield +Removed OpenThreads reference -2007-10-02 21:45 robert +Wed, 4 Apr 2007 08:05:45 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Mihair Radu, "Most of the additions are small utility - methods: - - set the resolution of the shadow map; it calls dirty() to - re-initialize at next update - - keep a list of Shader objects to use instead of the default - ones, if - the list is empty, the default shaders are used - - explicitly create the Uniform variables, so that subsequent - additions - that require more Uniforms can put them in a central place - - set a Light or LightSource to use explicitly for shadow - casting, - allows multiple lights in the scene, with one casting shadows - - There are two additions that do not ( yet ) function correctly, - but in - the present usage they do not interfere with the regular usage of - the - techique: - - support for using spotlights, it's using Light.spotCutoff to - determine - if it's a spot-light and not point-light, - there is an error in the setup of either the shadow camera or the - texgen, most likely due to the direction of the spotlight, since - the - position is being used just like in point or directional lights. - - creation of a debugHUD - the hud is created properly, ( the example included shows it ), - but - it displays only white, there has been some discussion of - displaying the - shadow map, but I could not find it, the addition of a simple - fragment - shader with the appropriate color transform should get this - going." +Wed, 4 Apr 2007 08:05:23 +0000 +Checked in by : Robert Osfield +From Mike Wittman, C# build fixes -2007-10-02 21:28 robert +Tue, 3 Apr 2007 19:42:43 +0000 +Checked in by : Robert Osfield +From Andy Skinner, warning fix for Windows 64-bit build - * Updated wrappers +Tue, 3 Apr 2007 19:18:20 +0000 +Checked in by : Robert Osfield +Added assignment of hieghts texture coords -2007-10-02 21:26 robert +Tue, 3 Apr 2007 15:39:05 +0000 +Checked in by : Robert Osfield +Preliminary work on TransferFunction support - * Introduced a OSG_PLUGIN_PREFIX variable into CMake build system - with it set to - "" for all platforms except Cygwin where its set to "cygwin_" and - Mingw where - it is set to "mingw_". Updated osgDB::Registry to look for these - for the plugins. - Updated the osgintrospection example to search for these names as - well. +Tue, 3 Apr 2007 11:04:09 +0000 +Checked in by : Robert Osfield +From Eric Wing, adding message w.r.t debug OpenThreads library for when its not available. -2007-10-02 21:24 robert +Mon, 2 Apr 2007 13:06:59 +0000 +Checked in by : Robert Osfield +Added setValue method and osg::Image setup to osg::TransferFunction1D, and setup of TransferFunction1D into osgterrain example. - * Updated to reflect new CompositeViewer threading models +Sun, 1 Apr 2007 11:19:46 +0000 +Checked in by : Robert Osfield +Added support for texture layer. -2007-10-02 21:23 robert +Fri, 30 Mar 2007 15:16:29 +0000 +Checked in by : Robert Osfield +Added debugging code - * Merged the threading set up and rendering code from Viewer and - CompositeViewer - into ViewerBase to allow CompositeViewer to inherit the same - theading models - previously just supported by osgViewer::Viewer +Fri, 30 Mar 2007 14:57:57 +0000 +Checked in by : Robert Osfield +Added support for reading values from an ImageLayer, and building of the elevation data in GeometryTechnique. -2007-10-02 20:56 robert +Fri, 30 Mar 2007 14:57:01 +0000 +Checked in by : Robert Osfield +Added support 16bit intensity formats - * Changed the search for Qt version to prevent problems when having - both Qt3 and Qt4 installed on one machine. +Thu, 29 Mar 2007 19:42:07 +0000 +Checked in by : Robert Osfield +Converted osg::HeightField across to using a osg::FloatArray internally to enable it to be assigned as a vertex attribute array to an osg::Geometry.Removed the osgTerrain::ArrayLayer as its no longer required thanks to the above change +which makes the osgTerrain::HeightFieldLayer more flexible. -2007-10-02 20:55 robert +Updated wrappers - * Added a #ifdef 0 code block to test setting of the - StateSetManipulator's DataVariance to DYNAMIC - to solve a threading issue relating to mixing of - StateSetManipulator and - DrawThreadPerContext. -2007-10-02 20:54 robert - * Changed the GLU_TESS_CALLBACK in an attempt to avoid compile - problems under OSX. +Thu, 29 Mar 2007 19:39:20 +0000 +Checked in by : Robert Osfield +Fixed missing initializer in Options constrctor -2007-10-02 20:45 robert +Thu, 29 Mar 2007 15:41:59 +0000 +Checked in by : Robert Osfield +Removed the using to avoid VS 7.1 build problem - * From Andy Skinner, changes the library linkage to just include - osg and OpenThreads +Thu, 29 Mar 2007 14:45:35 +0000 +Checked in by : Robert Osfield +Added creation of basic geoemtry to test Locator and extents -2007-10-01 15:11 robert +Thu, 29 Mar 2007 12:41:18 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Removed redundent malloc. +Thu, 29 Mar 2007 10:56:07 +0000 +Checked in by : Robert Osfield +From Eric Wing, added handling of CMAKE_THREAD_LIBS_INIT -2007-10-01 11:02 robert +Thu, 29 Mar 2007 10:13:36 +0000 +Checked in by : Robert Osfield +Added missing return value - * From David Callu, various fixes for window inheritance +Thu, 29 Mar 2007 09:29:26 +0000 +Checked in by : Robert Osfield +From Eric Wing, "Added the conditionals for SDLMain." -2007-10-01 10:23 robert +Wed, 28 Mar 2007 16:28:20 +0000 +Checked in by : Robert Osfield +Added support for compute the extents on local NDC coordiantes of the elevation and colour layers - * Updated AUTHORS for 2.1.13 release +Wed, 28 Mar 2007 15:05:49 +0000 +Checked in by : Robert Osfield +From Mike Wittman, "Here is a change to the .cpp file to fix it by disambiguating the cull invocation." -2007-10-01 10:21 robert +Wed, 28 Mar 2007 14:50:58 +0000 +Checked in by : Robert Osfield +Removed the Found OpenThreads message - * Updated Version number for 2.1.13 and updated ChangeLog. +Wed, 28 Mar 2007 14:50:35 +0000 +Checked in by : Robert Osfield +Removed the d during debug build of wrappers on non MSVC platforms -2007-10-01 09:41 robert +Wed, 28 Mar 2007 11:30:38 +0000 +Checked in by : Robert Osfield +Removed deprecated drawImplementation(State&) method from Drawable and Drawable::DrawCallback - * Changed requestWarpPointer to use _eventDislay to avoid crash in - osghanglide example due - to async usage. +Wed, 28 Mar 2007 08:53:18 +0000 +Checked in by : Robert Osfield +From Martin Amueller, Add libosgGA and libosgText for OSX build -2007-10-01 08:50 robert +Wed, 28 Mar 2007 08:52:44 +0000 +Checked in by : Robert Osfield +Replaced the X11 Window by Carbon WindowRef in the WindowData structure. - * Removed log2 and replaced the places where is was used with a new - Image::computeNumberOfMipmapLevels method. +Wed, 28 Mar 2007 08:43:05 +0000 +Checked in by : Robert Osfield +From Martin Aumueller, "in order to remove a dependency on Coin3D (which is GPLed) and make it work with SGI's OpenInventor, I had to change OpenSceneGraph/src/osgPlugins/Inventor, as SoVRMLImageTexture is not avaible in SGI's Inventor. "From Robert Osfield, tweaked the above so that it uses Coin headers to switch on coin features: -2007-09-30 20:16 shuber +#ifdef COIN_SOCALLBACKACTION_H + #define USE_COIN 1 +#endif - * updated XCode-projects -2007-09-30 19:56 robert - * Updated wrappers -2007-09-30 19:53 robert - * From Paul Martz, "here's the osgDB::Registry changes to add - Options to the read*File() interface. As we discussed, this - preserves the old interface for backwards compatibility. - - osgconv also changed to use the new Registry::writeNode() - interface. No other applications or examples were affected." -2007-09-30 19:39 robert +Wed, 28 Mar 2007 07:34:46 +0000 +Checked in by : Robert Osfield +From Luigi Calori, added Find3rdPartyDependencies.cmake - * Updated wrappers +Tue, 27 Mar 2007 21:44:02 +0000 +Checked in by : Robert Osfield +From Luigi Calori, "here is a patch to use Mike 3rdParty dependencies It should not be introusive to any other palatform apart MSVC, but in order to link to debug-specific libs I had to change plugins CMakeLists to differentiate debug/release linkage, I have used the same macro used in core libs Now the macro used for plugin and examples linking test for existance of TARGET_LIBRARIES_VARS that holds the names of the variables that have to be used for linking" -2007-09-30 19:27 robert +Tue, 27 Mar 2007 19:39:00 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added support for CompositeViewer to WindowSizeHandler, - ThreadingHandler, RecordCameraPathManipulator and HelpHandler. +Tue, 27 Mar 2007 19:27:36 +0000 +Checked in by : Robert Osfield +Add computeBound support to TerrainNode and Layer. -2007-09-30 19:15 robert +Tue, 27 Mar 2007 16:05:13 +0000 +Checked in by : Robert Osfield +Removed the flt plugin from OpenSceneGraph/trunk, this project can now be found in the deprecated directory. - * Changed HelpHandler so it supports use with CompositeViewer and - Viewer +Tue, 27 Mar 2007 16:01:01 +0000 +Checked in by : Robert Osfield +Rearranged the traversal and initialization of TerrainTechnique -2007-09-30 18:43 robert +Tue, 27 Mar 2007 11:23:57 +0000 +Checked in by : Robert Osfield +Added EllipsoidLocator. - * Added hdwriter to CMake build +Tue, 27 Mar 2007 08:43:59 +0000 +Checked in by : Robert Osfield +Added #include for non Win32/Mingw build -2007-09-30 18:42 robert +Tue, 27 Mar 2007 08:40:25 +0000 +Checked in by : Robert Osfield +Added -lgdi32 to CYGWIN path - * From David Spilling, "Please find attached an extension of the - Radiance HDR (RGBE) image reader to support writing. - - The options are intended to match the existing read options. By - default it will only write RGB32F format; if the "RAW" option is - selected, it will output 8 bit RGBA as "raw" RGBE. Note also that - the writer inserts a flipVertical(); although the RGBE format, - according to spec, should support top-to-bottom or bottom-to-top - ordering, no software I've found, including that from the formats - originator, actually respects this." +Mon, 26 Mar 2007 19:38:04 +0000 +Checked in by : Robert Osfield +Fixed header files specification -2007-09-30 18:33 robert +Mon, 26 Mar 2007 19:24:18 +0000 +Checked in by : Robert Osfield +Added return false; to default implementations of convert functions - * From Jan Peciva, "I am submitting improved Inventor (iv) writer. - - List of changes: - - added support for Billboards and LOD - - improved Material handling - " +Mon, 26 Mar 2007 16:32:31 +0000 +Checked in by : Robert Osfield +Added GeometryTechnique -2007-09-30 16:24 shuber +Mon, 26 Mar 2007 16:28:26 +0000 +Checked in by : Robert Osfield +Removed WindowData parameter from init(). - * updated xcode-projects +Mon, 26 Mar 2007 15:52:22 +0000 +Checked in by : Robert Osfield +Added Locator and layer setting to osgterrain example -2007-09-30 15:24 robert +Mon, 26 Mar 2007 13:02:38 +0000 +Checked in by : Robert Osfield +From Luigi Calori, "when we link against something that comes out from a Find... we ususally have a variable available like OPENTHREADS_LIBRARY, so I' ve set up a macro that uses the variable name expanded for linking, and test if a variable ${LINK_VAR_NAME}_DEBUG like OPENTHREADS_LIBRARY_DEBUG exists and in case uses it for linking in debug mode. I' ve also set up FindOpenThreads to set up these variables. I had to edit the core libraries CMakeLists to add the calls to the macros used. I' ve tested under MSVC" - * Updated wrappers +Mon, 26 Mar 2007 13:00:29 +0000 +Checked in by : Robert Osfield +From Mike Wittman, "This is another weirdo change to support code generation. It brings all the Drawable::supports and Drawable::accepts overloads into the ShapeDrawable scope to avoid errors invoking the ones that are not defined in ShapeDrawable. Currently you'll get compilation errors if you pass a Drawable::AttributeFunctor or PrimitiveIndexFunctor to the "accept" function invoked on a ShapeDrawable pointer or reference, since those overloads are only defined in the base class. You'll also get the same error passing a PrimitiveIndexFunctor to the "supports" function. These errors occur because C++ function overload resolution does not cross inheritance boundaries." -2007-09-30 15:07 robert +Mon, 26 Mar 2007 09:48:02 +0000 +Checked in by : Robert Osfield +Changed the external library specification to use TARGET_EXTERNAL_LIBRARIES - * Updated wrappers +Sun, 25 Mar 2007 11:47:08 +0000 +Checked in by : Robert Osfield +Removed OpenThreads from the list of TARGET_COMMON_LIBRARIES to prevent double linking of OpenThreadsd and OpenThreads during debug build. -2007-09-30 15:06 robert +Fri, 23 Mar 2007 17:37:49 +0000 +Checked in by : Robert Osfield +From Mike Wittman, "This change fixes a couple bugs in the osgIntrospection protected function support. I missed adding the protected/public specifier on a couple recursive invocations, so those functions are not currently returning protected functions for base classes when they should." - * From Dan Minor, "osgText::Text does not currently have a - getAxisAlignment method. The - attached code adds this, along with a member variable to keep - track of - the setting. It is based on the latest subversion version, and - was - tested by creating a new text object with the same axis alignment - as an - existing one (e.g. - new_text->setAxisAlignment(old_text->getAxisAlignment()); )." - - From Robert Osfield, " I originally didn't add a - getAxisAlignment() - as all setAxisAlignment does is set the Rotation member variable, - and - potentially one could apply user defined Rotation setting after - the - setAxisAlignment() which would bring it out of sync with the - setAxisAlignment. - - Rather than reject your submission on the ground of potentially - getting out of sync and therefore misleading users I've added a - USED_DEFINED_ROTATION to AxisAlignment enum, and set this in the - serRotation and then override this setting of _axisAlignment in - the - setAxisAlingment method. I've also removed the lazy updating - optimization you've added to the top of setAxisAlignment to avoid - potential problems as well." +Fri, 23 Mar 2007 17:27:53 +0000 +Checked in by : Robert Osfield +From Mike Wittman, remove redundent const from in front of unsigned int. From Robert Osfield, updated wrappers -2007-09-30 11:37 robert +Fri, 23 Mar 2007 10:11:09 +0000 +Checked in by : Robert Osfield +Added missing StencilTwoSided header - * Moved ViewerBase class out into its own header and source file. - - Improved the support for stats collection in - CompositeViewer/StatsHandler. +Fri, 23 Mar 2007 08:53:06 +0000 +Checked in by : Robert Osfield +Added automatic creation of lib bin and lib/osgPlugins -2007-09-29 16:46 robert +Thu, 22 Mar 2007 15:39:59 +0000 +Checked in by : Robert Osfield +Added osgPlugins as a temporary work around for keeping cmake build compiling plugins - * Refactor Viewer/CompositeViewer so the both inherit from the a - ViewerBase class +Thu, 22 Mar 2007 14:45:13 +0000 +Checked in by : Robert Osfield +Added CMake build suppport for osgsimpleviewerQT4 -2007-09-29 11:41 robert +Thu, 22 Mar 2007 14:44:05 +0000 +Checked in by : Robert Osfield +Added CMake QT3, FLTK and osgintrospection example build support. - * From Stephan Huber, add basic support for CompositeViewer in - StatsHandler +Thu, 22 Mar 2007 14:06:27 +0000 +Checked in by : Robert Osfield +Added CMake build support for GLUT and SDL examples -2007-09-29 11:12 robert +Thu, 22 Mar 2007 13:38:23 +0000 +Checked in by : Robert Osfield +From Eric Wing, added ${MATH_LIB} to osg CMakeLists.txt and definition of this to m under unix - * From Mattias Linde, "Nice, this almost gets the job done, one way - communication into the plugin is possible. - I've done some additional small modification regarding constness - in ReaderWriter and added - mutable on _pluginData so passing data back would be possible - too. - - Have updated the collada plugin (ReaderWriterDAE.cpp) to use the - map to handle options and - have attached the changes. - - The stuff in daeReader.h and daeWriter.h are just cosmetic - changes to get rid of a warning." +Thu, 22 Mar 2007 13:37:47 +0000 +Checked in by : Robert Osfield +Updated the header list -2007-09-28 13:42 robert +Thu, 22 Mar 2007 12:58:01 +0000 +Checked in by : Robert Osfield +Fixed link name - * Fixed SphericalDisplay set up codes to properly manage display - host/num +Wed, 21 Mar 2007 17:18:53 +0000 +Checked in by : Robert Osfield +Added ImageLayer, ArrayLayer and HeightFieldLayer classes -2007-09-28 13:38 robert +Wed, 21 Mar 2007 16:34:04 +0000 +Checked in by : Robert Osfield +Added GeometryTechinque to osgTerrain. Added usage of GeometryTechnique into osgterrain exampleAdded --width and --height command line options to osgdistortion to allow users +to control the window size. - * From Mathias Froehlich, "I had a chance to look into the remote - display problems. - The screen resolution was queried for the wrong display." -2007-09-28 13:35 robert - * From Mattias Linde, "I've attached a modified ReaderWriter header - which has some additions - to osgDB::ReaderWriter::Options to handle PluginData." -2007-09-28 08:53 robert +Wed, 21 Mar 2007 09:42:14 +0000 +Checked in by : Robert Osfield +Removed erroneous entry of GNUmakefile - * Andre Garneau, three fixes in one submissions: - - "This is a fix for the issue reported by Anders a week ago (see - \u201c[osg-users] BUG?: mouse coordinate changes after window - move\u201d discussion thread on Sept. 20). The issue was that the - initial implementation added a few months back was not converting - the window coordinates to client-area coordinates resulting in a - slight offset each time a decorated window was moved (caused by - the window border). This was also causing windows to move out of - their assigned screen." - - and - - "Attached is a fix for the taskbar repaint issue that occurs when - a graphics window is toggled from full-screen mode to windowed - mode (as identified by Gert van Maren a couple of weeks ago). - Also included is a fix derived from the \u201cEvents from the - past\u201d discussion thread that took place on July 11." +Tue, 20 Mar 2007 17:07:37 +0000 +Checked in by : Robert Osfield +Added osg:: to computeLocalToWorld to fix build under VS7. -2007-09-28 08:52 robert +Tue, 20 Mar 2007 11:19:00 +0000 +Checked in by : Robert Osfield +From Luigi Calori, clean up CMakeLists.txt - * Added record path manipulator +Tue, 20 Mar 2007 09:50:24 +0000 +Checked in by : Robert Osfield +From Philip Lowman, added support for Inventor -2007-09-27 13:49 robert +Mon, 19 Mar 2007 19:05:18 +0000 +Checked in by : Robert Osfield +From Andreas Goebel, build fix - * Changed across to using a GraphicsOperation as the base class for - the RealizeOperation. +Mon, 19 Mar 2007 17:24:19 +0000 +Checked in by : Robert Osfield +Moved the TARGET_NAME setting into the OsgMacroUtils.cmake. -2007-09-27 12:47 robert +Mon, 19 Mar 2007 17:18:59 +0000 +Checked in by : Robert Osfield +Moved the TARGET_NAME setting into the SETUP_APPLICATION/EXAMPLE macro - * From Adrian Egli, "update the PSSM, i did some bug fixes and - added new features to move the camera virtual against the view - direction by applaying a simple distance factor (a), which is - calculated camera eye - camera center distance. and we can move - the "light camera" against the light direction (b). - - (a) some objects behind the camera can cast shadow - (b) object aboive the camera can cast shadow - - then i fixed the shadow map orientation, now screen x coordinate - alinged which improve the quality" +Mon, 19 Mar 2007 14:10:12 +0000 +Checked in by : Robert Osfield +Added CMake support for txf, osgViewer and osgShadow plugins -2007-09-27 12:15 robert +Mon, 19 Mar 2007 13:26:34 +0000 +Checked in by : Robert Osfield +Ran dos2unix on CMakeLists.txt files. - * From Mathias Froehlich, compile fix for HP-UX without large file - support +Mon, 19 Mar 2007 12:30:26 +0000 +Checked in by : Robert Osfield +From Luigi Calori, move to using local CMakeLists.txt files and explicit file lists.From Robert Osfield, small ammendments of the above to seperate example and application installs, and fix the osgPlugins install directory. -2007-09-27 10:47 robert - * From Mathias Froehlich, "Some more file that needs some - adjustment because of missing member templates - in suns stl." -2007-09-27 10:42 robert +Mon, 19 Mar 2007 11:47:49 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Changed copy constrcutor to a default constrcutor and std::copy - to avoid - problems with dodge Sun compiler. +Mon, 19 Mar 2007 11:35:36 +0000 +Checked in by : Robert Osfield +From Andreas Goebel, add -lgdi to GNUmakefile -2007-09-27 10:22 robert +Mon, 19 Mar 2007 11:25:41 +0000 +Checked in by : Robert Osfield +Further work on TerrainNode - * Added support for selecting internal texture format via the - internalFormat entry in the .osg file +Mon, 19 Mar 2007 10:54:39 +0000 +Checked in by : Robert Osfield +Build fixes -2007-09-26 16:17 shuber +Mon, 19 Mar 2007 10:38:44 +0000 +Checked in by : Robert Osfield +Further work on osgterrain example - * updated XCode project-files +Sun, 18 Mar 2007 11:04:12 +0000 +Checked in by : Robert Osfield +Removed now redundent method -2007-09-26 14:44 robert +Fri, 16 Mar 2007 14:28:27 +0000 +Checked in by : Robert Osfield +From David Callu, " bug: Lost the functionality to find the real type pointed by a pointer. Ex: a osg::Node pointer point on a osg::Group, if I look for information on the pointer type, the introspection say it is a "osg::Node*". But if I want information on the pointed type, the introspection must return the "osg::Group". This bug come from the osgIntrospection::Value::Ptr_instance_box::ptype() function. + In the original version, this function use the member "Instance_base *inst_" + like this : + typeof(*static_cast *>(inst_)->_data) - * From Jean-Sebastien Guay, "Attached you will find an expanded - FindOpenVRML.cmake file, as well as a fixed CMakeLists.txt file - for the VRML plugin ." + But in the new version, this function use the template argument "T": + typeof(typename remove_pointer::type) -2007-09-26 14:31 robert + This is a good meta-programming use, but here we need a dynamic request. - * Updated wrappers + Moreover the "typeof" macro define in "Reflection" header accept only a type in parameter with the new version. + -2007-09-26 14:02 robert - * Added IntensityMap reading in .view files + fix: + Add the macro "typeofvalue" in "Reflection" header which accept a value or a type in parameter. + Restore original code in osgIntrospection::Value::Ptr_instance_box::ptype() function. +" -2007-09-26 11:32 robert - * Tweaked the wrapping of osgViewer::Scene to fix build problems -2007-09-26 10:58 robert +Fri, 16 Mar 2007 14:27:30 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Stephan Huber, "attached you'll find a first implementation - for the obj-plugin to write - obj-files. It is not feature complete but usable. - - Known issues: - * not all materials are handled correctly (especially when using - osg::StateAttribute::OVERRIDE), not all properties are supported - * could not test point and lines, all of my programs which are - capable - to read obj-files only import triangle-meshes. - * only simple texture-handling" +Fri, 16 Mar 2007 13:22:05 +0000 +Checked in by : Robert Osfield +Added WindowData structures to GraphicsWindowX11,Win32 and Carbon to help support GraphicsWindow inheriting their window handles from an external toolkit -2007-09-26 10:46 robert +Fri, 16 Mar 2007 10:02:44 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, "To get the latest OSG to build under IRIX with the MIPSpro compiler I had to add -LANG:libc_in_namespace_std=OFF to DEF in the makedefs file. The modified file is attached." - * Added suprression of the reflection of osgViewer::Scene to avoid - build - issues associated with the class. +Thu, 15 Mar 2007 13:17:05 +0000 +Checked in by : Robert Osfield +From Philip Lowman, added gdi32 entry fro Mingw build -2007-09-26 09:59 robert +Wed, 14 Mar 2007 12:59:06 +0000 +Checked in by : Robert Osfield +Name fixes - * Updated wrappers +Wed, 14 Mar 2007 12:43:29 +0000 +Checked in by : Robert Osfield +Added osgterrain example -2007-09-26 09:50 robert +Wed, 14 Mar 2007 12:42:21 +0000 +Checked in by : Robert Osfield +Added osgterrain to build - * From David Callu, adding support for GraphicsWindowX11 window - inhertance and - setWindowName() method. +Wed, 14 Mar 2007 12:31:53 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-09-25 19:14 robert +Wed, 14 Mar 2007 12:00:54 +0000 +Checked in by : Robert Osfield +Added class shells for osgTerrain::Locator and osgTerrain::Layer classes - * Added support for intensityMap and fix naming of --panoramic-sd - and --3d-sd command line arguments +Wed, 14 Mar 2007 11:24:04 +0000 +Checked in by : Robert Osfield +Renamed HeightFieldNode and HeightFieldRenderer to TerrainNode and TerrainTechnique respectively -2007-09-25 17:02 robert +Wed, 14 Mar 2007 10:02:45 +0000 +Checked in by : Robert Osfield +Changed typeid(CullVisitor) check to dynamic_cast - * Added --flip argument docs. +Tue, 13 Mar 2007 20:09:21 +0000 +Checked in by : Robert Osfield +Fixed spacing of message -2007-09-25 17:01 robert +Tue, 13 Mar 2007 20:06:01 +0000 +Checked in by : Robert Osfield +Added lib64 to search path for OpenThreads - * Added --flip option to allow one to flip the source data about - the x axis. +Tue, 13 Mar 2007 12:25:30 +0000 +Checked in by : Robert Osfield +From Mathieu Narache, build fixes for IRIX64 -2007-09-25 15:01 robert +Tue, 13 Mar 2007 11:58:52 +0000 +Checked in by : Robert Osfield +Fixed gif plugin entry so that it uses GIFLIB_ rather than GIF to match it up to the CMakeModels/FindGIFLIB.cmake entry - * Removed all dome distortion correction code as this is now part - of the core osgViewer. - - Added viewer mode where movies are made fullscreen. One can use - the old interactive - camera mode by using --interactive parameter on the command line. +Tue, 13 Mar 2007 08:18:13 +0000 +Checked in by : Robert Osfield +Checked in missing implementation of cleanSceneGraph. -2007-09-25 13:51 robert +Mon, 12 Mar 2007 21:23:09 +0000 +Checked in by : Robert Osfield +Changed the lib and executable local build so that they all go in bin and lib respectively. - * Preliminary PanoramicSphericalScreen support +Mon, 12 Mar 2007 21:13:15 +0000 +Checked in by : Robert Osfield +Added IF(BUILD_OSG_WRAPPERS) arouind osgintrospection example -2007-09-25 12:34 robert +Mon, 12 Mar 2007 12:46:36 +0000 +Checked in by : Robert Osfield +Fixed install paths of wrappers and plugins - * Added --major/minor/path-number support +Mon, 12 Mar 2007 12:14:20 +0000 +Checked in by : Robert Osfield +Removed GDAL references -2007-09-25 11:26 robert +Mon, 12 Mar 2007 12:13:52 +0000 +Checked in by : Robert Osfield +Removed GDAL references - * Fixed version number +Mon, 12 Mar 2007 11:49:10 +0000 +Checked in by : Robert Osfield +Cleaned up the ordering of the code component compilation -2007-09-25 10:18 robert +Mon, 12 Mar 2007 11:48:35 +0000 +Checked in by : Robert Osfield +Fixed osgTerrain CMakeLists.txt so it didn't include DataSet or GDAL references - * Added thread unit test to test the create, start and destruction - of threads +Mon, 12 Mar 2007 08:32:56 +0000 +Checked in by : Robert Osfield +From Luigi Calori, fixes for building wrappers with lib prefix. -2007-09-24 16:34 robert +Sun, 11 Mar 2007 13:23:06 +0000 +Checked in by : Robert Osfield +Renamed the follow plugins to facilitate CMake buildlib3ds -> 3ds +ac3d -> ac +directx -> x +ESRIShape -> shp - * Updated Version and AUTHORS for 2.1.12 dev release -2007-09-24 16:30 robert - * Renamed packaging directory to pkgconfig -2007-09-24 16:28 robert +Sun, 11 Mar 2007 13:21:48 +0000 +Checked in by : Robert Osfield +Moved introspection build into optional compile section - * Updated ChangeLog for release +Sun, 11 Mar 2007 13:15:15 +0000 +Checked in by : Robert Osfield +Changed the output directory for wrappers to osgPlugins and the name to osgwrapper_ to make it consitent with the previous places used for wrappers.Note, the wrappers still compile to libosgwarapper_, this will need fixing. -2007-09-24 16:25 robert - * Updated wrappers -2007-09-24 15:24 robert +Sun, 11 Mar 2007 11:48:03 +0000 +Checked in by : Robert Osfield +Added inheritedWindowData member variable to Traits. - * From Adrian Egli, further work on PSSM implementation. +Sat, 10 Mar 2007 17:29:32 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, fix for AGL build of osgViewer -2007-09-24 10:36 robert +Sat, 10 Mar 2007 12:27:01 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Alberto Luaces, fixed typo of valid() in warning message +Sat, 10 Mar 2007 11:56:34 +0000 +Checked in by : Robert Osfield +Correct TransferFunction entry. -2007-09-24 10:31 robert +Sat, 10 Mar 2007 11:53:31 +0000 +Checked in by : Robert Osfield +Added preliminary work on osg::TransferFunction - * Changed iterator name to avoid warning +Sat, 10 Mar 2007 11:38:26 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-09-24 09:39 robert +Sat, 10 Mar 2007 11:38:13 +0000 +Checked in by : Robert Osfield +From Luigi Calori, CMakeLists.txt support for wrappers - * From Mirko Viviani, "attacched you'll find the updated xcode - project for OpenSceneGraph - 2.1.11. The one supplied in the archive does not build due to - some missing - file references." +Fri, 9 Mar 2007 16:25:11 +0000 +Checked in by : Robert Osfield +From Luigi Calori, "Here are some fix for building plugin net and installing .lib under lib under WIndows + some setting (commented) coming from previous build setup" -2007-09-24 09:35 robert +Fri, 9 Mar 2007 14:54:41 +0000 +Checked in by : Robert Osfield +From Luigi Calori, improvements to handling of install under Unix - * From Jose Delport: "have been using the new - VIEW_DEPENDENT_WITH_ORTHOGRAPHIC_OVERLAY mode - of the OverlayNode. - - I change the overlay subgraph dynamically and when I remove all - the - subgraph nodes that is inside the current main camera FOV (others - outside still exist), the overlay texture does not update because - of the - early return in the traversal. I then get a kind of ghost texture - moving - around the terrain. - - The attached file fixed the problem for me, but I'm not sure if - it is - the best way to address the problem." +Fri, 9 Mar 2007 14:54:01 +0000 +Checked in by : Robert Osfield +Commenting out Matrix_implementation.cpp entry to avoid it being installed. -2007-09-24 09:26 robert +Fri, 9 Mar 2007 13:47:37 +0000 +Checked in by : Robert Osfield +Added application_ and example_ before application and example projects.Converted the application CMakeLists.txt and macros to work with the ADD_OSG_APPLICATION macro. - * From Art Tevs, "Following - two lines has to be included into the Image.cpp in the - computeNumComponents(...) method: - - case(GL_RGBA16F_ARB): return 4; - case(GL_RGBA32F_ARB): return 4;" +Removed the GDAL checks in the examples/CMakeLists.txt -2007-09-24 09:05 robert - * Made ReaderWriter and ReaderWriter::Options use thread safe ref - counting. -2007-09-22 17:39 robert - * Improved the handling of OSG_CONFIG_FILE support. -2007-09-22 16:50 robert +Fri, 9 Mar 2007 09:08:32 +0000 +Checked in by : Robert Osfield +Setting of binary/exe path moved to root CMakeLists.txt - * From David Callu, added getOrCreateScene method, made contractors - protected. - - From Robert Osfield, made getOrCreateScene protected and made - View a friend - of Scene to all it to construct Scene objects itself. +Fri, 9 Mar 2007 09:07:05 +0000 +Checked in by : Robert Osfield +Ran dos2unix -2007-09-22 16:46 robert +Thu, 8 Mar 2007 21:19:27 +0000 +Checked in by : Robert Osfield +From Luigi Calori, fixed build of freetype and zlib. - * From Adrian Egli, update to ParallelSplitShadowMap. +Thu, 8 Mar 2007 15:33:50 +0000 +Checked in by : Robert Osfield +From Lugi Calori, tweaks to macros and addition of CMAKE_INSTALL_PREFIX to FindOpenThreads -2007-09-22 13:06 robert +Thu, 8 Mar 2007 15:31:36 +0000 +Checked in by : Robert Osfield +Ran dos2unx of CMakeLists.txt files - * Added EXPORT +Thu, 8 Mar 2007 15:29:53 +0000 +Checked in by : Robert Osfield +From Luigi Calori, added support macro based build of plugins -2007-09-21 19:43 robert +Tue, 6 Mar 2007 12:03:33 +0000 +Checked in by : Robert Osfield +Added application CMakeLists. - * From David Callu, added findSlaveIndexForCamera method +Tue, 6 Mar 2007 12:02:59 +0000 +Checked in by : Robert Osfield +From Luigi Calori, quick hack to make example compile in source. -2007-09-21 19:04 robert +Tue, 6 Mar 2007 12:01:55 +0000 +Checked in by : Robert Osfield +Changed _pixel_x and _pixel_y to be floats - * Added return +Tue, 6 Mar 2007 11:20:39 +0000 +Checked in by : Robert Osfield +Added support for 4,7,12,16 bit luminance and intensity formats -2007-09-21 15:34 robert +Mon, 5 Mar 2007 17:46:50 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added support for basic viewer configuration files +Mon, 5 Mar 2007 17:34:36 +0000 +Checked in by : Robert Osfield +From Mike Wittman, " noticed that some type references of osg::Drawable::AttributeFunctor, osg::Drawable::ConstAttributeFunctor, and osg::StateAttribute::ModeUsage in osg and osgSim were not being properly reflected in osgIntrospection. This appears to be due to Doxygen not handling nested types from superclasses if they're not qualified when referenced in subclasses.These changes add the necessary superclass type qualification so that Doxygen now recognizes the references." -2007-09-21 13:30 robert - * Further steps towards reading coniguration files. -2007-09-21 09:02 robert - * From Luc Frauciel, "A few improvements to osgstereoimage: - - When using a large numbrer of files, the command line was too - long; - Added a -files option that allow to store filenames in a file - (one file - per line) - - Added some more intuitive key bindings for controls (left, - right, + , - -) - - Set the texture wrapping to CLAMP_TO_EDGE (it's cleaner now) - " -2007-09-20 10:14 robert +Mon, 5 Mar 2007 13:27:55 +0000 +Checked in by : Robert Osfield +From Luigi Calori, added marco support - * Updated wrappers +Mon, 5 Mar 2007 12:11:15 +0000 +Checked in by : Robert Osfield +Added missing files -2007-09-20 10:12 robert +Mon, 5 Mar 2007 12:09:42 +0000 +Checked in by : Robert Osfield +Added missing files - * From Anders Backman, added bias and texture size methods. - - From Robert Osfield, tweaks to the above for method parameters - and indenting. +Sun, 4 Mar 2007 13:05:33 +0000 +Checked in by : Robert Osfield +From Eric Wing and others, first cut of CMake build support -2007-09-19 16:53 robert +Sun, 4 Mar 2007 13:04:56 +0000 +Checked in by : Robert Osfield +From Mike Wittman, updated project to reflect new additions to osgIntrospection - * Added supoort for OSG_WRITE_OUT_DEFAULT_VALUES env var +Sun, 4 Mar 2007 13:04:12 +0000 +Checked in by : Robert Osfield +Fixed command line parameter reporting -2007-09-19 15:29 robert +Sun, 4 Mar 2007 13:03:47 +0000 +Checked in by : Robert Osfield +From Mike Wittman, updates to support new protected method support - * Added support for bool in ArgumentParser::Parameter. - - Added support for using Input::read(...) methods using - ArgumentParser::Paramter - to adapter to multiple paramter types. +Fri, 2 Mar 2007 16:14:44 +0000 +Checked in by : Robert Osfield +Added proper maths for distortion correction of pufferfish dome. -2007-09-19 11:56 robert +Thu, 1 Mar 2007 13:41:28 +0000 +Checked in by : Robert Osfield +Changed the index value to 0 of the token vector, wheras original the 1 was used, the later causing a crash when only one token was available. Also clean up #if #else #endif block to help make the code more readable and maintainable. This bug and fix was found by Anders Backman, but final implementation done by Robert Osfield. - * From Adrian Egli, ParallelSplitShadowMap implmentation. - - Changes by Robert Osfield - CMakeLists.txt and name change to - ParallelSplitShadowMap. +Thu, 1 Mar 2007 12:10:52 +0000 +Checked in by : Robert Osfield +From David Gurhrie, "Here is the updated txp loader code that we modified before to store some of the material codes in the userdata field. It now takes an option string to enable adding the extra data and doesn't add it by default." -2007-09-19 10:14 robert +Thu, 1 Mar 2007 11:58:36 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Changed the simplifier so that it produces deterministic results, - no longer - using memory pointers for sorting. +Thu, 1 Mar 2007 11:54:30 +0000 +Checked in by : Robert Osfield +From Mike Wittman, added protected function support -2007-09-19 09:00 robert +Thu, 1 Mar 2007 10:43:12 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, fix Windows build by adding space in where previous editing had removed it. - * Removed check for shaders/overlay_perspective_main.vert +Thu, 1 Mar 2007 09:19:36 +0000 +Checked in by : Robert Osfield +Added osgShadow to dependencies of osgdepthshadow example -2007-09-18 16:00 robert +Wed, 28 Feb 2007 12:15:01 +0000 +Checked in by : Robert Osfield +Ran cleanup to fix tabs - * Commented out herror() as its not called anywhere in the code. +Wed, 28 Feb 2007 11:18:43 +0000 +Checked in by : Robert Osfield +Added support for direction lights to ShadowTexture -2007-09-17 09:33 robert +Wed, 28 Feb 2007 11:12:51 +0000 +Checked in by : Robert Osfield +From Mihai Radu, Added support for directional lights to ShadowMap - * Updated ChangeLog, AUTHORS and README for 2.1.11 release +Wed, 28 Feb 2007 10:10:21 +0000 +Checked in by : Robert Osfield +Added mention of LODScale in docs -2007-09-17 09:26 robert +Wed, 28 Feb 2007 10:08:45 +0000 +Checked in by : Robert Osfield +From Paul Martz, updated the LOD documentation - * Updated version numbers for 2.1.11 dev release +Tue, 27 Feb 2007 21:31:45 +0000 +Checked in by : Robert Osfield +Added osgTerrain into default build of wrappers -2007-09-16 17:48 robert +Tue, 27 Feb 2007 21:18:37 +0000 +Checked in by : Robert Osfield +Further clean up for refernces to osgTerrain/DataSet - * Fixed Locator::setTransform method so it takes a const Matrixd&, - and improved - the setting of Locator in the gdal plugin. +Tue, 27 Feb 2007 21:16:23 +0000 +Checked in by : Robert Osfield +Removed osgdem as its now part of the VirtualPlanetBuilder project -2007-09-16 17:46 robert +Tue, 27 Feb 2007 21:12:48 +0000 +Checked in by : Robert Osfield +Moved include/osgTerrain/DataSet/.cpp, gdal plugin and osgdem out into the VirtualPlaneBuilder project.Updated examples to remove DataSet/GDAL dependency. - * Setting for new option for hinting whether to write out default - values +Updated wrappers -2007-09-16 17:45 robert - * Added option for controlling whether output code should write out - default values -2007-09-16 17:43 robert - * Fixed warning +Tue, 27 Feb 2007 14:09:25 +0000 +Checked in by : Robert Osfield +Ammend the references to ReentrantMutex and ReadWriteMutex to related to their move to OpenThreads -2007-09-16 07:55 robert +Tue, 27 Feb 2007 13:16:18 +0000 +Checked in by : Robert Osfield +Moved osgProducer and osgproducerviewer out into their own repository.Clean up the source for remaining references to osgProducer/Producer. - * From Loic Dachary, pkg_config files -2007-09-15 17:40 robert - * Introduced the use of a ReentrantMutex to avoid problems with - findFontFile. +Tue, 27 Feb 2007 11:51:32 +0000 +Checked in by : Robert Osfield +Added --label and --subscript options to allow us to create custom logos -2007-09-15 17:36 robert +Mon, 26 Feb 2007 14:36:43 +0000 +Checked in by : Robert Osfield +Fixed auto rotate to screen so that it handles scales in to the parental path - * From David Spilling, "Given no replies to my recent "does anybody - use the DDS writer" query, I was emboldened to submit this very - small patch. The bitmasks for RGBA and RGB have been modified in - the writer portion of the code (line 765 onwards). This is now - consistent with what the DDS plugin reads. In terms of testing, - note that many 3rd party applications erroneously ignore the - bitmasks in the file, and assume a BGRA order." +Mon, 26 Feb 2007 13:01:17 +0000 +Checked in by : Robert Osfield +Completed changes to osgManipulator to make it more flexible w.r.t viewer usage, and ported osgmanipulator example across of osgViewer -2007-09-14 11:26 robert +Mon, 26 Feb 2007 11:23:55 +0000 +Checked in by : Robert Osfield +Removed ReentrantMutex - * Updated wrappers +Sun, 25 Feb 2007 20:05:23 +0000 +Checked in by : Robert Osfield +Further work on add serialization support for osgViewer configurations -2007-09-14 11:06 robert +Sun, 25 Feb 2007 19:59:27 +0000 +Checked in by : Robert Osfield +Added new osgViewer plugin to help with serializing in/out of viewer configurtions - * From Andy Skinner, added support for ot-soversion-OpenThreads.dll - dll naming under Windows +Sat, 24 Feb 2007 19:54:39 +0000 +Checked in by : Robert Osfield +Set propset in .dsp to fix eol to CRLF -2007-09-14 11:02 robert +Sat, 24 Feb 2007 19:51:21 +0000 +Checked in by : Robert Osfield +Set svn::eol style to CRLF - * Updated wrappers +Sat, 24 Feb 2007 09:04:27 +0000 +Checked in by : Robert Osfield +Added makefile -2007-09-14 11:01 robert +Fri, 23 Feb 2007 21:06:17 +0000 +Checked in by : Robert Osfield +Used Mike Wittman suggestion from setting CRLF on .dsp files - * Added TemplateRegisterDotOsgWrapperProxy. +Fri, 23 Feb 2007 16:31:34 +0000 +Checked in by : Robert Osfield +Moved Block, ReentrantMutex and ReadWriteMutex into OpenThreads. -2007-09-14 11:00 robert +Fri, 23 Feb 2007 12:14:52 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Ran conversion of tabs to four spaces +Fri, 23 Feb 2007 11:53:45 +0000 +Checked in by : Robert Osfield +Added bool View::Slave::_useMastersSceneData to help manage HUD's and RTT cameras that are embedded in the Viewer's View -2007-09-14 10:44 robert +Fri, 23 Feb 2007 11:52:28 +0000 +Checked in by : Robert Osfield +Added new --Viewer and --CompositeViewer for implementation of HUDs - * Introduce - GUIEventHandler::handleWithCheckAgainstIgnoreHandledEventsMask() - methods - to help make it easier to get event handles to ingore events that - have already been handled. +Fri, 23 Feb 2007 11:51:52 +0000 +Checked in by : Robert Osfield +Clean up the handling of views without camera manipulators, and cameras that don't allow camera focus -2007-09-14 10:26 robert +Thu, 22 Feb 2007 16:42:59 +0000 +Checked in by : Robert Osfield +Implement basic full dome correction with projecto pointing upwards and at center of dome. - * From Ole-Morten Duesund, added IgnoreUsedEventsMask. +Thu, 22 Feb 2007 11:17:45 +0000 +Checked in by : Robert Osfield +Moved distortion mesh creation out into seperate function -2007-09-14 10:00 robert +Thu, 22 Feb 2007 10:56:36 +0000 +Checked in by : Robert Osfield +Removed the compile objects in init in the SceneView::setDefaults() setup. - * Added _hudText->setDataVariance(osg::Object::DYNAMIC); to prevent - from the - text being updated at the same time as being rendered. +Thu, 22 Feb 2007 10:31:09 +0000 +Checked in by : Robert Osfield +Fixed calculation of inverted coordindates -2007-09-13 11:00 robert +Thu, 22 Feb 2007 09:16:54 +0000 +Checked in by : Robert Osfield +Added STATIC_OBJECT_DETECTION optimizer pass to OpenFlight plugin - * Fix for build error during aggressive warning build +Wed, 21 Feb 2007 21:20:33 +0000 +Checked in by : Robert Osfield +From Brede Johansen, Thanks for the model it helped to understand the problem. In Creator the "Last Frame Duration" is performed on the last frame of the last loop iteration, I tried to use it for the last frame of every loop iteration. As you already have explained we need a custom Sequence node. In the osgSim nodekit we already have a couple of specialized nodes for the OpenFlight format. We need an osgSim::GroupAnimation but I don't have the time right now to take this challenge. Until then I have modified my last attempt to work with the current osg::Sequence node by ignoring the "Last Frame Duration". -2007-09-13 10:42 robert +Wed, 21 Feb 2007 20:47:32 +0000 +Checked in by : Robert Osfield +Removed debugging info - * Fixed warning in wrappers +Wed, 21 Feb 2007 20:38:14 +0000 +Checked in by : Robert Osfield +Added the default setting of the SceneView's camera onto the RenderStage to allow SceneView to automatically support FBO, PBuffers, image and texture copies and Camera post draw callbacks -2007-09-13 10:38 robert +Wed, 21 Feb 2007 19:41:53 +0000 +Checked in by : Robert Osfield +Added ability to discount Camera's that arn't appropriate for event focus - * Fixed warnigns +Wed, 21 Feb 2007 19:41:03 +0000 +Checked in by : Robert Osfield +Wired up RTT cubemap cameras and simple distortion mesh. -2007-09-13 10:33 robert +Wed, 21 Feb 2007 19:06:43 +0000 +Checked in by : Robert Osfield +Added Camera::s/getAllowsEventFocus() method to allow osgViewer to have non interfactive cameras such as RTT ones - * Updated wrappers and READEME +Wed, 21 Feb 2007 15:15:55 +0000 +Checked in by : Robert Osfield +Wojciech Lewandowski: "TexGenNode::TexGenNode( TexGen * texGen ) constructor does not initialize ReferenceFrame. I am not sure maybe this was the intent but first constructor does it so I don't see a reson why third one shouldn't." -2007-09-13 10:32 robert +Wed, 21 Feb 2007 14:17:15 +0000 +Checked in by : Robert Osfield +Removed debug messages - * From Paul Martsz, changed the Texture clamping mode to - CLAMP_TO_EDGE +Wed, 21 Feb 2007 13:48:01 +0000 +Checked in by : Robert Osfield +Removed the exclusion of CullSettings from the genwrapper.conf, and then changed the CullStack RefMatrix& methods to RefMatrix* as the RefMatrix& versions caused the wrappers to fail. -2007-09-13 10:21 robert +Wed, 21 Feb 2007 11:46:49 +0000 +Checked in by : Robert Osfield +Removed GL_TEXTURE_RECTANGLE_NV entries - * From Blake Williams, warning fixes +Tue, 20 Feb 2007 21:06:24 +0000 +Checked in by : Robert Osfield +Further work on dome RTT -2007-09-13 10:21 robert +Tue, 20 Feb 2007 20:56:03 +0000 +Checked in by : Robert Osfield +Fixed inheritance check for copying clear colour to slave cameras - * Add static_cast to fix warning. +Tue, 20 Feb 2007 16:46:53 +0000 +Checked in by : Robert Osfield +Added inhertCullSettings before SceneView::cull() calls -2007-09-13 10:16 robert +Tue, 20 Feb 2007 11:44:10 +0000 +Checked in by : Robert Osfield +Added beginings of full dome correction support, starting with 6 slave camera configuration. - * Removed unncessary typedefs +Tue, 20 Feb 2007 09:48:59 +0000 +Checked in by : Robert Osfield +Added missing \ to end osgGA entry -2007-09-13 10:15 robert +Tue, 20 Feb 2007 09:48:04 +0000 +Checked in by : Robert Osfield +Added osgViewer and osgShadow to the wrapper build directories - * Fixed warnings of casting void* by refactoring the type and - extensiosn setup. +Mon, 19 Feb 2007 20:57:08 +0000 +Checked in by : Robert Osfield +Added g/setUpdateVistor method -2007-09-13 10:10 robert +Mon, 19 Feb 2007 16:59:52 +0000 +Checked in by : Robert Osfield +Added command line arguments descriptions - * Fixed uint/int comparison warning. +Mon, 19 Feb 2007 16:45:42 +0000 +Checked in by : Robert Osfield +Added -1, -2 and -3 model creation options to osgshadow example. -2007-09-13 09:30 robert +Mon, 19 Feb 2007 15:42:32 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Created two PixelBufferX11::closeImplementation() one the real - implementation and - a second non op one for GLX <1.3. +Mon, 19 Feb 2007 15:26:14 +0000 +Checked in by : Robert Osfield +Added support for ShadowTexture and ShadowMap to osgshadow example -2007-09-12 17:01 robert +Mon, 19 Feb 2007 14:21:01 +0000 +Checked in by : Robert Osfield +Added option to use osgShadow::ShadowMap technique - * Added preliminary handling of cases where GLX version < 1.3 +Mon, 19 Feb 2007 14:20:18 +0000 +Checked in by : Robert Osfield +Implemented basic ShadowMap technique -2007-09-12 17:01 robert +Mon, 19 Feb 2007 12:13:30 +0000 +Checked in by : Robert Osfield +Moved CameraCullCallback into ShadowTechnique scope to make it more resusable between various Techniques - * Removed debug messages +Sun, 18 Feb 2007 15:24:32 +0000 +Checked in by : Robert Osfield +Wired up the texgen to complete the first iteration of ShadowTexture effect -2007-09-12 16:28 robert +Sun, 18 Feb 2007 14:21:16 +0000 +Checked in by : Robert Osfield +From Andre Garneau: * Fix for the aspect ratio not being properly set when screens have different aspect ratios. * Minor fix for makeCurrentImplementation being called directly instead of makeCurrent() causing the owning thread pointer not being tracked * Fix for osglauncher so that it sets its update text regions to DYNAMIC to prevent multi-threading issues. - * Moved the linking of OpenThreads from osgversion/CMakeLists.txt - into applications/CMakeLists.txt +Sat, 17 Feb 2007 17:16:13 +0000 +Checked in by : Robert Osfield +Added basic set up of the RTT camera. -2007-09-12 16:20 robert +Sat, 17 Feb 2007 14:37:55 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Add GL_TEXTURE_RECTANGLE to list of acceptable texture modes" - * Rejigged the casting to avoid warnings under Windows +Fri, 16 Feb 2007 17:45:53 +0000 +Checked in by : Robert Osfield +Fixed genwrapper so that it handles .svn directories, updated wrappers -2007-09-12 10:43 robert +Fri, 16 Feb 2007 17:35:52 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated version, ChangeLog and AUTHORS file for 2.1.10 release +Fri, 16 Feb 2007 17:34:34 +0000 +Checked in by : Robert Osfield +Added new osg::ComputeBoundsVisitor -2007-09-12 10:04 robert +Fri, 16 Feb 2007 16:37:16 +0000 +Checked in by : Robert Osfield +Added pushViewport/popViewport to CullVisitor::apply(Camera&) - * From Jan Peciva, build fix +Fri, 16 Feb 2007 15:29:47 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-09-11 20:54 robert +Fri, 16 Feb 2007 15:17:43 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, "ClipNode contains a method getClipPlaneList that should actually be called setClipPlaneList." - * Added log2(int) and log2(uint) methods +Fri, 16 Feb 2007 15:14:16 +0000 +Checked in by : Robert Osfield +Fixed typo -2007-09-11 20:24 robert +Fri, 16 Feb 2007 13:33:29 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "I added a bool to GraphicsContext::Traits to indicate wether to use the multithreaded-opengl-engine on os x or not. I set its default to false, perhaps other os x users can test this setting with their data/apps, to see if we can enable it by default.I changed also the borderless-window-type, so expos?works correctly." - * Removed int version of log2 to avoid possible errors in assuming - log2(10) should ~= log2(10.0) -2007-09-11 17:10 robert - * Added OpenThreads to target libraries -2007-09-11 17:08 robert +Fri, 16 Feb 2007 13:17:04 +0000 +Checked in by : Robert Osfield +Removed debugging readImageFile, and done further work on RTT setup. - * From Art Tevs, Added log2 function. +Fri, 16 Feb 2007 10:20:10 +0000 +Checked in by : Robert Osfield +Fleshed out a bit more of the ShadowTexture implementation -2007-09-11 16:59 robert +Fri, 16 Feb 2007 10:19:15 +0000 +Checked in by : Robert Osfield +Added osgShadow::ShadowTexture set up - * From Art Tevs, build fix. +Fri, 16 Feb 2007 06:39:23 +0000 +Checked in by : Robert Osfield +Added enabling of the stencil buffer when setting up ShadowVolume path -2007-09-11 16:56 robert +Fri, 16 Feb 2007 06:11:38 +0000 +Checked in by : Robert Osfield +From Eric Wing, updates to XCode projects and introduction of two SDL OSX files to the osgsimpleviewerSDL example - * Replaced allocateMipmap code with warning message as mipmaps - aren't support for TextureRectangle. +Fri, 16 Feb 2007 05:46:50 +0000 +Checked in by : Robert Osfield +Fixed typo that was breaking the build -2007-09-11 13:47 robert +Thu, 15 Feb 2007 22:28:32 +0000 +Checked in by : Robert Osfield +Added support for using the new osgShadow plugin as a psuedo loader such that: osgviewer cow.osg.shadow - * Removed the output num_children from Group .osg output and - removed the output of "DataVaraince UNSPECIFIED" as this is - redundent - considering the default value is UNSPECIFIED. +Or to ShadowVolume rechnique specifically: -2007-09-11 13:42 robert + osgviewer cow.osg.sv.shadow - * Updated wrappers -2007-09-11 13:39 robert - * From Mathias Froenlich, "have a problem with the SunOS CC. - It does not like that the prototype of - ClipNode::setStateSetModes() differs - from implementation of that function in the constness of the - second - parameter. - On SunOS it compiles fine, but I get link errors when the variant - that is - declared in the header is referenced. - - The attached src/osg/ClipNode.cpp file removes the const - qualifier from the - implementation to match exactly the prototype in the header file. - The file is based on revision 7386 as of today. - " +Thu, 15 Feb 2007 17:31:30 +0000 +Checked in by : Robert Osfield +Added .osg support for osgShadow NodeKit -2007-09-11 13:34 robert +Thu, 15 Feb 2007 17:25:14 +0000 +Checked in by : Robert Osfield +Added support for using the scenes light source setting to set up the ShadowVolume's effect light parameters - * From Art Trevs, "File Changes: - - GL2Extensions, Program and Program.cpp - - Features: - - Support for fragment output binding. (e.g. You can now specify - in the fragment shader varying out vec3 fragOut; fragOut = - vec3(1,0,1); to write to the fragOut variable. In your program - you call glBindFragDataLocation(program, 1, "fragOut") to bind - the fragOut variable with the MRT 1 - GL_COLOR_ATTACHMENT1_EXT) - - - new methods Program::add/removeBindFragDataLocation - Program::getFragDataBindingList - - " +Thu, 15 Feb 2007 15:06:18 +0000 +Checked in by : Robert Osfield +Addd an #ifdef _WIN32 to force SingleThreaded usage under Windows when no threading model is specified. -2007-09-11 13:32 robert +Thu, 15 Feb 2007 15:03:30 +0000 +Checked in by : Robert Osfield +From Mike Wittman, "The template-argument-list errors look to be due to a lack of spaces in the typeof macro. Here's a new Reflection header which should fix those problems. For consistency I think that's the best solution." - * Seperated out GeometryTechnique .osg support. +Thu, 15 Feb 2007 14:53:54 +0000 +Checked in by : Robert Osfield +Reorganised the text comments so that they are shorter length, and hopefully will avoid VS2003's silly text string limits when compiling osgIntrospection wrappers -2007-09-11 12:28 robert +Thu, 15 Feb 2007 14:47:06 +0000 +Checked in by : Robert Osfield +Twaaked comments - * Changed the isTextureIntegerSupported method so that it no longer - has the EXT entry in it - for forward compatability reasons. +Thu, 15 Feb 2007 14:04:22 +0000 +Checked in by : Robert Osfield +From André Garneau, Win32 build fixes -2007-09-11 12:04 robert +Thu, 15 Feb 2007 12:24:04 +0000 +Checked in by : Robert Osfield +Added context sharing support. - * From Art Trevs, "Features of the patch are: - - - Implementation of integer textures as in EXT_texture_integer - - - setBorderColor(Vec4) changed to setBorderColor(Vec4d) to pass - double values - as border color. (Probably we have to provide an overloading - function to - still support Vec4f ?) - - - new method Texture::getInternalFormatType() added. Gives - information if the - internal format normalized, float, signed integer or unsigned - integer. Can - help people to write better code ;-) - - " - - Futher changes to this submission by Robert Osfield, changed the - dirty mipmap - flag into a buffer_value<> vector to ensure safe handling of - multiple contexts. +Thu, 15 Feb 2007 12:11:16 +0000 +Checked in by : Robert Osfield +Fixed handling of warp pointer for when its called at startup and the event queue isn't yet initialized the window range. -2007-09-11 10:16 robert +Thu, 15 Feb 2007 10:25:11 +0000 +Checked in by : Robert Osfield +Removed inappropriate Stats:: prefix - * From Rafa Giatan, "Changed int to GLsizei in the input parameter - of the method - osg::Texture2DArray::applyTexImage2DArray_subload inside - Texture2DArray (lines 214 and 257), Otherwise it gives a compile - error on MacOSX." +Thu, 15 Feb 2007 09:31:00 +0000 +Checked in by : Robert Osfield +Fixed warnings -2007-09-11 10:10 robert +Thu, 15 Feb 2007 09:17:03 +0000 +Checked in by : Robert Osfield +Added extra spaces between <> template declarations - * From Mike Wittman and Robert Osfield, added support for - SO_VERSION number in - runtime version info. Added checks for OpenThreads version. +Thu, 15 Feb 2007 08:29:27 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-09-10 16:06 robert +Thu, 15 Feb 2007 08:29:09 +0000 +Checked in by : Robert Osfield +Removed setFrameStamp - * Maded versioning under Windows the default. +Thu, 15 Feb 2007 01:45:44 +0000 +Checked in by : Robert Osfield +Added checks into Viewer set up of Camera stats so that stats are reused if already present.Added use of ref_ptr into StatsHandler's callbacks -2007-09-10 15:19 robert - * Intoduced a new setGLExtensions template method to do a copy of - void* pointer to - local function pointer to avoid compiler warnings related to case - void*. - - Moved various OSG classes across to using setGLExtensions instead - of getGLExtensions, - and changed them to use typedef declarations in the headers - rather than casts in - the .cpp. - - Updated wrappers -2007-09-08 07:21 robert +Thu, 15 Feb 2007 01:23:00 +0000 +Checked in by : Robert Osfield +Improved the update of the shadow volume. - * Flesh out a bit more of the view IO support +Thu, 15 Feb 2007 00:53:52 +0000 +Checked in by : Robert Osfield +Removed extrandous Stats:: prefix -2007-09-08 07:04 robert +Wed, 14 Feb 2007 20:44:17 +0000 +Checked in by : Robert Osfield +Added support for osg::State::DynamicObjectCount into the RTT codes - * Fixed typo +Wed, 14 Feb 2007 20:14:45 +0000 +Checked in by : Robert Osfield +Added support for sharing context to GraphicsWindowX11 -2007-09-07 15:03 robert +Wed, 14 Feb 2007 17:28:33 +0000 +Checked in by : Robert Osfield +Added getState()->setGraphicsContext(this); to the various GrpahicsWindow implementations - * From David Callu, warning fixes +Wed, 14 Feb 2007 16:29:07 +0000 +Checked in by : Robert Osfield +Renenabled the toggling on the CullPerCameraDrawPerContext threading model in the thread event handler. -2007-09-07 13:54 robert +Wed, 14 Feb 2007 16:24:49 +0000 +Checked in by : Robert Osfield +Added use of Mutex into osg::Stats to better handle multi-threaded usage - * Removed warning type not support by gcc 4.1.x +Wed, 14 Feb 2007 16:16:38 +0000 +Checked in by : Robert Osfield +Changed the initialized osg Drager:::PointerInfo::hitIter to prevent compile problems under Windows -2007-09-07 13:37 robert +Wed, 14 Feb 2007 15:25:04 +0000 +Checked in by : Robert Osfield +From Michael Platings, "I was getting a 0 byte memory leak reported when loading 3ds files, so I've changed line 196 from:viewport->layout.viewL=(Lib3dsView*)calloc(sizeof(Lib3dsView),views); - * Updated wrappers for new Texture2DArray class +to: -2007-09-07 13:25 robert +viewport->layout.viewL= views ? +(Lib3dsView*)calloc(sizeof(Lib3dsView),views) : 0;" - * Moved defined from Texture2DArray into Texture -2007-09-07 11:21 robert - * From Art Tevs, - - "A new texture class Texture2DArray derived from - Texture extends the osg to support the new - EXT_texture_array extensions. Texture arrays provides - a feature for people interesting in GPGPU programming. - - - Faetures and changes: - - - Full support for layered 2D textures. - - - New uniform types were added (sampler2DArray) - - - FrameBufferObject implementation were changed to - support attaching of 2D array textures to the - framebuffer - - - StateSet was slightly changed to support texture - arrays. NOTE: array textures can not be used in fixed - function pipeline. Thus using the layered texture as a - statemode for a Drawable produce invalid enumerant - OpenGL errors. - - - Image class was extended to support handling of - array textures - - Tests: - I have used this class as a new feature of my - application. It works for me without problems (Note: - Texture arrays were introduced only for shading - languages and not for fixed function pipelines!!!). - RTT with Texture2DArray works, as I have tested them - as texture targets for a camera with 6 layers/faces - (i.e. replacement for cube maps). I am using the array - textures in shader programming. Array textures can be - attached to the FBO and used as input and as output." +Wed, 14 Feb 2007 14:58:46 +0000 +Checked in by : Robert Osfield +Changed the report of lack of WGL_SWAP_METHOD_ARB so that it is INFO rather than WARN. -2007-09-07 10:50 robert +Wed, 14 Feb 2007 14:53:31 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "attached you'll find an update for the XCode-project.I added the osgShadow as a framework and osgManipulator as a framework, +(and the corresponding examples) I removed (hopefully) all references to +osg-/Producer where necessary, and some minor stuff." - * From Daniel Sjolie, "I patched the zip plugin to make use of my - favorite zip/pack-application for windows if it is installed in - the standard location..." -2007-09-07 10:15 robert - * From Guillaume Millet, "Please find in attachment a small - improvement to the pfb plugin - CmakeLists.txt and to the FindPerformer.cmake module. - - Under Windows libs are: libpf.lib (we need to add the lib prefix) - and - libpfdu-util.lib (libpfdu and libpfutil are compiled into one - lib) - We need to add PFROOT to the search path for libs and includes - (default - environment variable for Performer path) - And at last we need to put PFROOT/include and - PFROOT/include/Performer - as include dir for compiling." +Wed, 14 Feb 2007 14:36:38 +0000 +Checked in by : Robert Osfield +Added OSG_RUN_FRAME_COUNT env var which enables a limited run of specified frame numbers when Viewer::run is called. -2007-09-07 09:53 robert +Wed, 14 Feb 2007 13:18:58 +0000 +Checked in by : Robert Osfield +Introduced new osg::Object::DataVariance type of UNSPECIFIED, and changed the deafult values of DataVariance to UNSPECIFIED to all types. - * From Maria Ten, fix lat/long usage. +Wed, 14 Feb 2007 12:42:10 +0000 +Checked in by : Robert Osfield +Set the DataVariance of updating text to DYNAMIC -2007-09-07 09:49 robert +Wed, 14 Feb 2007 12:40:45 +0000 +Checked in by : Robert Osfield +From Jean-Sebastien Guay, fixed path. - * From Mattias Linde, "Have made the updates now. Added a std::map - for easy lookup if a visual node - is targeted by a rigid body which is the reason why the .h-file - was changed too. - So now there'll be Group as often as possible, otherwise - PostitionAttitudeTransform." +Wed, 14 Feb 2007 12:00:33 +0000 +Checked in by : Robert Osfield +Removed debugging run method. -2007-09-06 08:23 robert +Wed, 14 Feb 2007 11:24:42 +0000 +Checked in by : Robert Osfield +Added computeDataVariance method into osg::Object and implementations in Drawable and StateSet, and calling of osgUtil::StaticObjectDetectionVisitor in osgViewer::Viewer - * Added osg lib +Wed, 14 Feb 2007 11:21:41 +0000 +Checked in by : Robert Osfield +From Mike Wittman, added spaces into < > macros -2007-09-05 17:12 robert +Tue, 13 Feb 2007 22:39:59 +0000 +Checked in by : Robert Osfield +Fixed warning - * From David Callu, improved consistency of Version strings and add - version support - for osgIntrospection and osgManipulator. +Tue, 13 Feb 2007 22:24:51 +0000 +Checked in by : Robert Osfield +Fixed warnings -2007-09-05 17:03 robert +Tue, 13 Feb 2007 22:22:35 +0000 +Checked in by : Robert Osfield +Fixed warning - * Changed tabs to four spaces to make merges more straight forward +Tue, 13 Feb 2007 22:16:18 +0000 +Checked in by : Robert Osfield +Fixed warnings. -2007-09-05 16:47 robert +Tue, 13 Feb 2007 20:32:45 +0000 +Checked in by : Robert Osfield +Added -losgText to example that used osgViewer but didn't previously include -losgText - * Added automatic removal of .qt extension that allows one to - automatically select - the quicktime plugin. +Tue, 13 Feb 2007 17:39:42 +0000 +Checked in by : Robert Osfield +Changed the DeleteHandler so by default it doesn't cache objects -2007-09-05 16:36 robert +Tue, 13 Feb 2007 16:03:35 +0000 +Checked in by : Robert Osfield +Added OSG_THREADING environmental variable to osgViewer::Viewer::suggestBestThreadingModel - * Added setting of locator source +Tue, 13 Feb 2007 15:57:01 +0000 +Checked in by : Robert Osfield +Reduced the RTT texture size to 256x256 to make setup quicker -2007-09-05 14:15 robert +Tue, 13 Feb 2007 15:24:56 +0000 +Checked in by : Robert Osfield +From John Shue, "Modified OpenSceneGraph/Make/makedefs to add -pipe gcc command line option to FreeBSD build." - * Added option to Locator to help specify here the locator value - was defined from. - - Update wrappers and Gdal plugin to use this new parameter +Tue, 13 Feb 2007 14:42:00 +0000 +Checked in by : Robert Osfield +Added support for ColorMask to .ive plugin -2007-09-04 14:00 robert +Tue, 13 Feb 2007 14:19:39 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "Geometry.cpp Make sure number of normals match number of vertices when lit or vertex-normal pairs are separated when geometries are merged by the optimizer.Ancillary.cpp +Improved support for multitexture effect field and use texture +environment from .attr file. - * Improved Terrain IO +PaletteRecords.cpp +Use search path when looking for shader files. -2007-09-04 12:38 robert +PrimaryRecords.cpp +Added preset uniforms "TextureUnit0", "TextureUnit1", "TextureUnit2" +and "TextureUnit3" for GLSL shaders." - * Added mutex to DefaultFont::instance(). -2007-09-04 12:32 robert - * Added mutex into osgText::Font::GlphTexture to marshel adding to - and reading - from glyph list +Tue, 13 Feb 2007 13:58:45 +0000 +Checked in by : Robert Osfield +From Eric Wing, "Here are some updates for osgsimpleviewerCocoa.New features and enhancements: +- Shared OpenGL contexts +- Multithreaded OpenGL Engine support +- Localizable string support +- Offscreen rendering (to framebuffer object) for: + - Copy/Paste (to image) support + - Drag-and-drop (as source image) support + - Print to Printer/PDF + - Dock minimization picture +- More robust initializer handling +- Fix to better handle hardware surfaces in NSScrollViews/NSSplitViews +- Use of respondsToSelector and instancesRespondToSelector to +demonstrate runtime feature checking to provide access to newer +features while still compiling on and supporting legacy versions -2007-09-04 09:00 robert +The new file "Localizable.strings" needs to be placed inside the +English.lproj directory." - * Rearrange _stateset member variable to avoid compile warning -2007-09-03 16:04 robert - * Updated AUTHORS and README to 2.1.9 dev release +Tue, 13 Feb 2007 13:47:37 +0000 +Checked in by : Robert Osfield +Added support for osg::Stencil into .ive -2007-09-03 16:02 robert +Tue, 13 Feb 2007 12:17:33 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, added support for osg::BlendColor to .ive format. - * Updated ChangeLog +Tue, 13 Feb 2007 12:11:32 +0000 +Checked in by : Robert Osfield +Added support for osg::BlendColor to .osg plugin -2007-09-03 15:47 robert +Tue, 13 Feb 2007 11:32:28 +0000 +Checked in by : Robert Osfield +Added setDataVariance(DYNAMIC) to the scores text entires to prevent the DrawThreadPerContext for crashing due to double buffering of dynamic data. - * Updated wrappers +Tue, 13 Feb 2007 09:38:07 +0000 +Checked in by : Robert Osfield +Changed the BlendFunction StateSet to DYNAMIC -2007-09-03 15:43 robert +Tue, 13 Feb 2007 09:33:35 +0000 +Checked in by : Robert Osfield +From Mike Wittman, support for reference parameters - * From Sherman Wilcox, added extension checking support for - compressed texture subloading. +Tue, 13 Feb 2007 09:27:44 +0000 +Checked in by : Robert Osfield +Added setDataVariance(DYNAMIC) to _inputText to prevent problems when running in DrawThreadPerContext threading model. -2007-09-03 15:22 robert +Mon, 12 Feb 2007 18:02:15 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Jan Peciva, build fix +Mon, 12 Feb 2007 17:59:18 +0000 +Checked in by : Robert Osfield +From Mike Wittman, "Here is the next in the series of changes I'm making to OSG introspection to support the attributes needed for C# bindings. This change adds virtual/pure virtual attributes to MethodInfo and an explicit attribute to ConstructorInfo using the implementation strategy that David Callu recommended a few months back (thanks David!). This change updates both genwrapper and osgIntrospection, and assumes the osgIntrospection reference support that's still pending in your submission queue." -2007-09-03 14:05 robert +Mon, 12 Feb 2007 17:14:46 +0000 +Checked in by : Robert Osfield +From Mike Wittman, "These changes add support for reflection of reference and const reference type representations via osgIntrospection::Type. This covers just the static type information; the dynamic behavior via Type::createInstance/Type::InvokeMethod should not be affected." - * Updated version number for 2.1.9 dev release +Mon, 12 Feb 2007 15:59:53 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-09-03 13:59 robert +Mon, 12 Feb 2007 13:51:24 +0000 +Checked in by : Robert Osfield +Added automatic scaling and translation of help to make sure it always fits on screen - * From Jan Peciva, improvement to the FindInventor. +Mon, 12 Feb 2007 13:39:18 +0000 +Checked in by : Robert Osfield +Added osgViewer::HelpHandler -2007-09-03 13:52 robert +Sun, 11 Feb 2007 22:01:57 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Jan Peciva, Added write support into Inventor plugin. - - Note from Robert Osfield. A couple of lines of code in - ConvertToInventor.cpp - would not compile under g++ 4.1.2, so rather than hold back the - dev release till - this is resolved I've optional compiled out the problem section. - The #define DISABLE_PROBLEM_COMPILE_SECTIONS is used to compile - out the problem - section, this define is add via the CMakeLists.txt file. +Sun, 11 Feb 2007 21:24:38 +0000 +Checked in by : Robert Osfield +Incresed the resolution of the trackball dragger geometry -2007-09-03 12:27 robert +Sun, 11 Feb 2007 21:12:34 +0000 +Checked in by : Robert Osfield +Changed osgManipulator::Dragger::handle(..) method to use a nested PointerInfo class to encapsulate the pixel coords, SceneView and picking operations in prep for making the code more general purpose, and less reliant on classes like osgUtil::SceneView and osgUtil::IntersectVisitor. - * Added osgdepthpeeling example +Sun, 11 Feb 2007 15:42:55 +0000 +Checked in by : Robert Osfield +Added osgText to dependency of osgmanipualator example. -2007-09-03 10:12 robert +Sun, 11 Feb 2007 15:41:47 +0000 +Checked in by : Robert Osfield +Fixed Producer lib entry - * From Ralf Kern, "the attached color mapped TIFF file klink1_l.tif - is incorrectly read as - GL_LUMINANCE data instead of GL_RGB data. You can easily check - with - "osgViewer --image klink1_l.tif". - - The bug is in ReaderWriterTIFF.cpp function simage_tiff_load, - where - numComponents_ret is incorrectly set to 1 instead of 3 for color - mapped - data." +Sun, 11 Feb 2007 12:23:19 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-09-03 10:04 robert +Sun, 11 Feb 2007 12:22:58 +0000 +Checked in by : Robert Osfield +Changed the osg::Shape related projectors so that they used pointers rather than references. - * From Almalric Alexandre, "I've noticed that all osgViewerMFC - example from osg 2.x.x are flickering when resizing 3D view, to - avoid this only add OnEraseBkgnd callback in CMFC_OSG_MDIView - class and do nothing in it. Just like the WxWidget example. - - Attached the modified version of MFC_OSG_MDIView.cpp and - MFC_OSG_MDIView.h." - - Note from Robert Osfield, submission came with wrong header file, - so have had - to guess at what it should be, fingers crossed it worn't break - windows build... :-) +Sun, 11 Feb 2007 10:33:59 +0000 +Checked in by : Robert Osfield +From Vivek Rajan, new osgManipulator library, with a few minor tweaks and rename for osgDragger to osgManipulator for build by Robert Osfield. Vivek's email to osg-submissions:"I'm happy to release the osgdragger nodekit to the OSG community. I +implemented the nodekit for my company, Fugro-Jason Inc., and they +have kindly agreed to open source it. -2007-09-03 09:56 robert +The nodekit contains a few draggers but it should be easy to build new +draggers on top of it. The design of the nodekit is based on a +SIGGRAPH 2002 course - "Design and Implementation of Direct +Manipulation in 3D". You can find the course notes at +http://www.pauliface.com/Sigg02/index.html. Reading pages 20 - 29 of +the course notes should give you a fair understanding of how the +nodekit works. - * From Laurens Voerman, "I hit a bug when making a copy of a - PagedLOD node, the copy has lost - it's _databasePath and can no longer load it's childen. " - - Added _databasePath(plod._databasePath), in the copy copy - construcutor. +The source code also contains an example of how to use the draggers." -2007-09-03 09:54 robert - * Fixed spacing. -2007-09-03 09:50 robert +Sat, 10 Feb 2007 18:01:37 +0000 +Checked in by : Robert Osfield +From Vivek Rajan, MatrixDecomposition implementaion, adapted by Robert Osfield to be part of osg::Matrixf and osg::Matrixd classes. - * From Sherman Wilcox, "I modified texturerectangle.cpp to address - this issue. I used a DXT5 DDS - file to test the change." +Fri, 9 Feb 2007 21:31:29 +0000 +Checked in by : Robert Osfield +Cleaned up osgshadow example so that it now relies upon osgShadow for its shadow implementation -2007-09-03 09:47 robert +Fri, 9 Feb 2007 16:31:27 +0000 +Checked in by : Robert Osfield +From Carlo Camporesi, "In attach there is a little bug fix to net plugin. The modify allow the plugin to accept url with port number in this way:http://"address ":"portnumber"/ +" - * Updated wrapper -2007-09-03 09:43 robert - * Added default contructors to Operation +Fri, 9 Feb 2007 16:27:43 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-09-02 22:31 robert +Fri, 9 Feb 2007 16:03:29 +0000 +Checked in by : Robert Osfield +Moved the basic ShadowVolume code into osgShadow - * Fixed cancel loop. +Fri, 9 Feb 2007 14:54:54 +0000 +Checked in by : Robert Osfield +From Yefei He, " I wrote a class derived from CopyOp that preserves the multi-parent structure of scene graphs. I only considered the case of DEEP_COPY_NODES, but it is sufficient for me. It is not the most elegant way -- I used a map to list all the already cloned nodes with multiple parents, to be looked up whenever such a node is revisited. The good part is, it works."From Robert Osfield, fixed build problems under Linux 64 due to use of int's to store Node* +in internal maps used in above custom CopyOp. Added ref_ptr<> usage to main to +prevent memory leaks -2007-09-01 16:56 robert - * Added convinience methods for setting up 3d spherical displays. -2007-09-01 15:24 robert +Fri, 9 Feb 2007 14:35:43 +0000 +Checked in by : Robert Osfield +From Joakim Simmonsson, fixed inconsistent newlines - * Changed Font's mutex to become a static mutex shared between all - instances of Font. - This ensures single threaded access of the freetype plugin. +Fri, 9 Feb 2007 14:21:03 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Make DelaunayTriangulator less verbose - It was outputting a non-warning with notify level set to WARN; changed it to INFO to make it less verbose." -2007-08-31 20:30 robert +Fri, 9 Feb 2007 13:51:28 +0000 +Checked in by : Robert Osfield +Changed GraphicsWindowX11 so that it creates two Display* connextions to the Xserver, one for the graphics thread, one for the main thread that querries events - * Changed mutex reference to a mutex pointer to avoid problems with - wrappers +Fri, 9 Feb 2007 13:36:44 +0000 +Checked in by : Robert Osfield +Added #if #else #endif blocks to Viewer::realize() and run() for the purposes of testing -2007-08-31 20:21 robert +Fri, 9 Feb 2007 12:08:46 +0000 +Checked in by : Robert Osfield +Removed debug message - * Updated wrappers +Thu, 8 Feb 2007 22:36:16 +0000 +Checked in by : Robert Osfield +From André Garneau, "Attached is a fix for the hang occuring on Win32 when the thread model is changed.The issue was caused by the mutex in the ViewerDoubleBufferRenderingOperation being released even though they were not owned. This was causing the underlying critical section object lock count values becoming negative; the next time the lock was acquired it would block because of that." -2007-08-31 20:16 robert - * To solve creations with multi-threaded creation of text, added - mutex to Font, and use of this mutex in Text, and added mutex to - the reading - of fonts. -2007-08-31 20:14 robert +Thu, 8 Feb 2007 22:31:02 +0000 +Checked in by : Robert Osfield +From Brian Keener, fixes for Cygwin filename handling - * Added mutex locking add addParents/removeParents in Drawable, - Node and StateSet. +Thu, 8 Feb 2007 20:30:51 +0000 +Checked in by : Robert Osfield +From Charles Cole, "The program database filename was changed for the osgviewer application such as to not conflict with the program database file generated by the core osgViewer library. This change allows for both the application and library to be used in debugging mode within Visual Studio. This change has been tested with Visual Studio 2005 (VS8)." -2007-08-31 18:56 robert +Thu, 8 Feb 2007 20:27:02 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added mutex to protect the readFontFile calls +Thu, 8 Feb 2007 19:34:38 +0000 +Checked in by : Robert Osfield +Further work on osgShadow::ShadowTechnique API -2007-08-31 16:59 robert +Thu, 8 Feb 2007 17:23:40 +0000 +Checked in by : Robert Osfield +Flesh out more of basic ShadowTechnique and ShadowedScene API. - * Added support for running multiple text generation threads +Thu, 8 Feb 2007 15:47:05 +0000 +Checked in by : Robert Osfield +Fixed the FlattenStaticTransform visitor so that it excludes subgraphs that contain PagedLOD nodes -2007-08-31 16:05 robert +Thu, 8 Feb 2007 15:01:27 +0000 +Checked in by : Robert Osfield +Cleaned up readString - * Changed RenderLeaf and StateGraph so that they use ref_ptr<> by - default for Drawable and StateSet. +Thu, 8 Feb 2007 14:59:20 +0000 +Checked in by : Robert Osfield +Fixed return in readString. -2007-08-31 15:49 robert +Thu, 8 Feb 2007 12:47:35 +0000 +Checked in by : Robert Osfield +Added the threading model to stats - * From Luigi Calori, fixed Windows install of wrappers +Thu, 8 Feb 2007 12:24:33 +0000 +Checked in by : Robert Osfield +Added threading model option to command line parameters -2007-08-31 12:14 robert +Thu, 8 Feb 2007 12:21:37 +0000 +Checked in by : Robert Osfield +Added check in setThreadingModel so that it only sets up threading if the viewer is realized - * Added export for Windows build +Thu, 8 Feb 2007 12:20:40 +0000 +Checked in by : Robert Osfield +Fixed setThreadModel method so that is doesn't try to set up threading unless the viewer is realized -2007-08-31 11:04 robert +Thu, 8 Feb 2007 12:14:26 +0000 +Checked in by : Robert Osfield +Updated the handling of closing of windows - * From Luigi Calori, added support for Win32 versioning/new buid - placement. +Thu, 8 Feb 2007 11:30:57 +0000 +Checked in by : Robert Osfield +Added better clean up of paramters on X display in GraphicsWindowX11:closeImplementation -2007-08-30 19:26 robert +Thu, 8 Feb 2007 11:26:04 +0000 +Checked in by : Robert Osfield +From Stefan Eilemann, addd more extensive XErrorHandler output - * Further work on osgTerrain::Locator and GDAL plugin +Thu, 8 Feb 2007 11:24:29 +0000 +Checked in by : Robert Osfield +Added setting of the DatabasePager's affinity. -2007-08-30 12:18 robert +Thu, 8 Feb 2007 10:46:58 +0000 +Checked in by : Robert Osfield +From Donn Mielcarek, "We generated some bad ive files in our database. In some of the files, the function readInt() would return a 0 size. While linux will happily continue on, creating 0 sized arrays, Windows immediately blows up, with sparks sometimes flying out the side of the machine!I added a simple check for zero size in +each of the functions that allocates arrays +based on the size variable, and I thought +I'd pass it along. Now the program will +not die if it encounters an ive file with bad +data." - * From Luigi Calori, add osgText to geo plugin build -2007-08-30 10:41 robert - * From Luigi Calori, introduction of versioning of dll's and - placement of dll and plugins into bin directory during build. +Wed, 7 Feb 2007 21:56:36 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-08-30 10:17 robert +Wed, 7 Feb 2007 21:48:53 +0000 +Checked in by : Robert Osfield +Changed the setting of need to traverse during the update traverse so it is only enabled when animation is switched on. - * Updated wrappers +Wed, 7 Feb 2007 21:16:22 +0000 +Checked in by : Robert Osfield +Disabled the toggling to ThreadModel CullThreadPerCameraDrawThreadPerContext -2007-08-30 10:15 robert +Wed, 7 Feb 2007 16:32:14 +0000 +Checked in by : Robert Osfield +Added new Transform::ReferenceType enum ABSOLUTE_RF_INHERIT_VIEWPOINT to support internal RTT cameras that wish to use the main cameras view/eye point for LOD and other distance based tests. - * Further refinement of ProxyLayer API +Wed, 7 Feb 2007 16:27:48 +0000 +Checked in by : Robert Osfield +Set the DataVariance to DYNAIMC for the StateSet of with the dynamically updating Uniform -2007-08-29 16:29 robert +Wed, 7 Feb 2007 14:53:58 +0000 +Checked in by : Robert Osfield +Fixed bug in AutoTransform::accept() that was related to the accept() method checking the nodemask as it should. - * Further work on new ProxyLayer +Tue, 6 Feb 2007 20:03:13 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "thomas kirk schrieb: > I put this at the end of realizeImplementation; someone with better knowledge > of Carbon programming may see a more appropriate place for the call.I moved your code into the ctor of the OSXCarbonWindowingSystemInterface +so it get called only once. Can you test it again, if it works on your side? -2007-08-29 12:18 robert +I also disabled multithreaded-rendering because it slowed down the +rendering on my machine by a factor of 3. Perhaps we can make it +optional to test it on other machines. - * Added ProxyLayer support into osgTerrain plugin +I had some problems implementing pbuffer-support for os x and stopped it +for now until I have more time to investigate the issues. +" -2007-08-29 11:51 robert - * Added support for post fixing filenames with .gdal to force use - of gdal plugin. -2007-08-29 10:52 robert +Tue, 6 Feb 2007 17:34:28 +0000 +Checked in by : Robert Osfield +From André Garneau, "Attached is an improved Win32 keyboard handler that should now map key events similarly to the X11 implementation:* Key event handler now reports left or right SHIFT, CTRL and ALT key variants on key press and release events." - * Added preliminary ProxLayer and DataSetLayer in GDAL plugin to - aid integration - of GDAL reading into osgTerrain. -2007-08-28 16:12 robert - * Changed the error code reporting to use hex to match up with - freetype headers +Tue, 6 Feb 2007 17:01:20 +0000 +Checked in by : Robert Osfield +From Stefan Eileman, fixes for OSX gmake build to allow AGL or X11 implementation of osgViewer -2007-08-28 15:35 robert +Tue, 6 Feb 2007 17:00:20 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Improved formatting. +Tue, 6 Feb 2007 16:23:19 +0000 +Checked in by : Robert Osfield +Re-enabled processor affinity -2007-08-28 15:35 robert +Tue, 6 Feb 2007 14:38:08 +0000 +Checked in by : Robert Osfield +Added new Viewer threading model options - * Removed the OSG_INCLUDE +Tue, 6 Feb 2007 14:20:21 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-08-28 15:31 robert +Tue, 6 Feb 2007 14:20:04 +0000 +Checked in by : Robert Osfield +Clean up getDrawable() method - * Tweeked settings +Tue, 6 Feb 2007 13:44:20 +0000 +Checked in by : Robert Osfield +Fixed Suse9.3 build problem due to different handling Quat copy constuctor -2007-08-28 14:02 robert +Tue, 6 Feb 2007 11:03:13 +0000 +Checked in by : Robert Osfield +Further work on support for ThreadPerCamera, and improved the efficiency of SingleThraeded - * Added multi-threaded test path +Mon, 5 Feb 2007 14:56:41 +0000 +Checked in by : Robert Osfield +Tweak API and updated wrappers to get wrappers to build -2007-08-27 16:59 robert +Mon, 5 Feb 2007 13:44:16 +0000 +Checked in by : Robert Osfield +Added Camera's s/getCameraThread() and updated wrappers - * Replaced CartesianLocator and EllipsoidLocator by a single - general purpose - Locator class +Mon, 5 Feb 2007 12:13:52 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-08-27 13:33 robert +Mon, 5 Feb 2007 11:48:02 +0000 +Checked in by : Robert Osfield +From Gordon Tomlinson, "I have attached the 3 files we had to change to fix a proble we were seeing with using Symbol Fonts// GT: fix for symbol fonts (i.e. the Webdings font) as the wrong character are being +// returned, for symbol fonts in windows (FT_ENCONDING_MS_SYMBOL in freetype) the correct +// values are from 0xF000 to 0xF0FF not from 0x000 to 0x00FF (0 to 255) as you would expect. +// becuase Microsoft uses a private field for its symbol fonts ........ + " - * From Brandon Hamm, changed WxWindows example to use double - buffering -2007-08-27 13:29 robert - * Added support for controlling the draw order on Cameras on each - GraphcisContext - via the Camera::setRenderOrder parameters +Mon, 5 Feb 2007 11:14:23 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "I have made some changes to support light sources in the new OpenFlight loader." -2007-08-27 10:37 robert +Mon, 5 Feb 2007 10:48:20 +0000 +Checked in by : Robert Osfield +From Brede Johansen, added OSG_EXPORT to DeleteHandler for windows build - * Updated ChangeLog and AUTHORS file for release +Mon, 5 Feb 2007 10:44:10 +0000 +Checked in by : Robert Osfield +From Paul Martz, "Here's my changes to Registry to allow extension alias mapping via a config file. I also attached a sample file that tests the parsing, but this is just FYI and not for inclusion in CVS.To set up extension aliases using a config file, an app calls: +osgDB::Registry::instance()->readPluginAliasConfigurationFile(), passing in the file name as the parameter. (Of course this should be done before loading any files whose names depend on the mapping.) osgDB will search for the file using OSG_FILE_PATH. -2007-08-27 10:29 robert +The file should contain a line for each mapping, with the "map" extension first, followed by a space or tab, then the plugin identifier. For example, a file containing this line: - * Updated date on READEME +flt OpenFlight -2007-08-27 10:28 robert +would map the ".flt" extension to the OpenFlight plugin." - * Updated version numbers for 2.1.8 dev release -2007-08-27 10:00 robert - * Cleaned up the getRotate implementation selection using #defines, - and made the - COMPILE_getRotate_David_Spillings_Mk1 the default. +Fri, 2 Feb 2007 22:30:36 +0000 +Checked in by : Robert Osfield +Convert GraphicsThread/GraphicsOperation to more generic OperationsThread/Operation. This paves the way to running cull traversals in seperate threads.Updated wrappers -2007-08-27 09:51 robert - * From David Spilling, tweaked quat tests to reproduce getRotate - errors. -2007-08-26 10:27 robert +Fri, 2 Feb 2007 16:51:59 +0000 +Checked in by : Robert Osfield +From Eric Sokolowski, added support for the new Text line spacing parameter to the .osg and .ive formats. - * From Jan Ciger, warning fixes +Fri, 2 Feb 2007 12:41:13 +0000 +Checked in by : Robert Osfield +Added a concrete osg::DeleteHandler implementation which provides support for retain objects for several frames before deleting them. Also added RenderStageCache into CullVistor.cpp that is used for handling RTT osg::Camera's that are being used in double buffered SceneView usage. -2007-08-26 10:24 robert +Thu, 1 Feb 2007 11:07:53 +0000 +Checked in by : Robert Osfield +Improved the toggling on/off of thrading modes - * From Jean-Sebastien Guay, fixed comment +Thu, 1 Feb 2007 11:07:26 +0000 +Checked in by : Robert Osfield +Moved the init traversal from cull() to the draw() to prevent graphics context calls being made during the cull traversal - something that breaks the ThreadPerCamera model in osgViewer -2007-08-26 10:19 robert +Wed, 31 Jan 2007 22:24:20 +0000 +Checked in by : Robert Osfield +Further work on new threading model. - * Added dynamic_cast and extra doc commented just - to force the - use of symbol from osgViewer so that it links properly and pulls - in the platform - specific GraphcisWindow* implementation. +Wed, 31 Jan 2007 11:12:58 +0000 +Checked in by : Robert Osfield +Removed old #if #else #end block -2007-08-26 09:59 robert +Tue, 30 Jan 2007 17:38:02 +0000 +Checked in by : Robert Osfield +Refactored the ViewerRenderingOperation so that the timer querry code is in a separate ViewerQuerySupport class - * Change char* to const char* to fix warnings +Tue, 30 Jan 2007 17:12:33 +0000 +Checked in by : Robert Osfield +Added display listing of ShadowVolume -2007-08-26 09:46 robert +Tue, 30 Jan 2007 15:37:30 +0000 +Checked in by : Robert Osfield +Added automatic aspect ratio adjustmeent to View::setUpViewAcrossAllScreens() and setUpViewOnSingleScreen. - * Updated wrappers, and change Renderer so that private: to - proteccted:. +Tue, 30 Jan 2007 14:47:13 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-08-26 09:45 robert +Tue, 30 Jan 2007 14:32:12 +0000 +Checked in by : Robert Osfield +From Eric Sokolwsky, "osgText is a useful node kit, but when longer paragraphs are displayed on the screen, it looks more aesthetically pleasing to have a larger gap between lines than is given by default. I added a new parameter, lineSpacing, in the Text class to allow the line spacing to be adjustable by the application. The default value is 0 meaning there is no extra spacing given. The value should be given as a percentage of the character height. A good value for longer paragraphs is 0.25 (25%) or more." - * Updated links +Tue, 30 Jan 2007 14:18:39 +0000 +Checked in by : Robert Osfield +From Bryan Thrall, "The osgDB::ReaderWriter and osgDB::ReaderWriter::Options classes have copy constructors that take a const osg::CopyOp rather than a osg::CopyOp&, forcing an unnecessary copy. The attached header fixes this, based off OSG 1.2.Also fixed duplicate "or" openArchive()'s comment." -2007-08-24 19:16 robert - * Changed debug comments to output to notify level and tweaked the - handling of the .terrain file. -2007-08-24 19:16 robert +Tue, 30 Jan 2007 13:48:04 +0000 +Checked in by : Robert Osfield +Added support for compute average stats attributes in inverse space to improve the quality of frame rate reporting. - * Added support for reading a .osg style data from a file string - when trailed by a .osgs extension i.e. - - osgviewer "osgTerrain::Terrain { ElevationLayer { - CartesianLocator 0 0 1000000 1000000 Image ps_height_512.tif } - ColorLayer { CartesianLocator 0 0 1000000 1000000 Image - ps_texture_1k.tif } }".osgs +Tue, 30 Jan 2007 12:09:30 +0000 +Checked in by : Robert Osfield +Disabled the alternating directions of drawing of state sorted render leaves as it was interferring with anaglyphic stereo used in the osgstereimage example. -2007-08-24 18:48 robert +Tue, 30 Jan 2007 11:47:44 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added writing out of Terrain, Layer and Locators, and reading in - of .terrain string. +Tue, 30 Jan 2007 11:40:23 +0000 +Checked in by : Robert Osfield +Added Stats::collectStats(string,bool) controls, getAveragedAttribute methods into osg::Stats class, and related support into osgViewer::Viewer and osgViewer::StatsHandler.Added lazy updating of text in StatsHandler HUD to minimize the impact of +slow text updating on observed frame rates. -2007-08-24 16:16 robert - * Set the debug out to info notification level -2007-08-24 16:12 robert +Tue, 30 Jan 2007 09:55:34 +0000 +Checked in by : Robert Osfield +Added support for per frame alternating the direction that SORT_BY_STATE bins are rendered. The alternation makes it more likely that OpenGL objects will still be in video ram. - * Added better handling of OSG_TEXT_INCREMENTAL_SUBLOADING env var. +Mon, 29 Jan 2007 22:59:04 +0000 +Checked in by : Robert Osfield +Made _useMainThreadForRenderingalTraversal(false) -2007-08-24 16:10 robert +Mon, 29 Jan 2007 22:44:29 +0000 +Checked in by : Robert Osfield +Began work on providing support for threading camera cull traversals in parallel with the previous frames draw traversal. Changes range from osg::State, through osgUtil::RenderBin, through to osgViewer - * Added default disabling of incremental subload for ATI cards. +Sun, 28 Jan 2007 17:32:41 +0000 +Checked in by : Robert Osfield +Added very simple relaxing of traits by dividing required red, green, blue, alpha and depth by 2. -2007-08-24 14:00 robert +Sun, 28 Jan 2007 17:12:57 +0000 +Checked in by : Robert Osfield +Added use of Viewe Realize graphics operation. - * Added support for setting DatabasePager thread priority via - OSG_DATABASE_PAGER_PRIORITY. +Sun, 28 Jan 2007 17:11:21 +0000 +Checked in by : Robert Osfield +Added set/getRealizeOperation() to Viewer and CompositeViewer -2007-08-24 13:33 robert +Sun, 28 Jan 2007 09:53:02 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Cleaned up the thread priority management in DatabasePager and - added - support for paging stats. +Sun, 28 Jan 2007 09:30:11 +0000 +Checked in by : Robert Osfield +From Vlad Danciu, fixed leaf depth sort functor -2007-08-24 10:58 robert +Sun, 28 Jan 2007 09:17:10 +0000 +Checked in by : Robert Osfield +From Mike Wittman, "This file removes the virtual destructor of osgText::String. It seemed wrong that osgText::String should have a vtable since it is treated like a value type, and any subclasses containing additional data would effectively be subject to slicing during standard usage. This stuck out as an anomaly when classifying the OSG types for C# bindings." - * Added setting of block into the ThreadSafeQueue's contructor. +Sat, 27 Jan 2007 17:57:58 +0000 +Checked in by : Robert Osfield +Added osg::PolygonMode to local StateSet to protect it from being affected by stateset manipulator. -2007-08-24 09:45 robert +Sat, 27 Jan 2007 17:52:11 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Disable the escape sets done on the viewer +Sat, 27 Jan 2007 14:27:54 +0000 +Checked in by : Robert Osfield +Added access methods to PositionStateContainer -2007-08-24 09:42 robert +Sat, 27 Jan 2007 14:27:29 +0000 +Checked in by : Robert Osfield +Added light source. - * From Mario Valle, - - osgviewerWX: "To make the example compile using a wx build non - UNICODE based. - Tested on Linux with wxGTK 2.8.4" - - osgviewerFOX: "Added removeChore() call in the FOX_OSG_MDIView - destructor to get rid of a Trace/BPT trap - error on exit on Linux. BTW this is suggested also in the FOX - documentation." +Sat, 27 Jan 2007 12:54:58 +0000 +Checked in by : Robert Osfield +Further work on shadow CullCallback -2007-08-23 16:56 robert +Sat, 27 Jan 2007 12:54:33 +0000 +Checked in by : Robert Osfield +Added _sorted flag into RenderBin to prevent a bin being sorted twice in one frame - * Made plugin build names lowercase +Sat, 27 Jan 2007 11:13:01 +0000 +Checked in by : Robert Osfield +Changed osgUtil::RenderBin and osg::State to allow nesting of StateSet's associated with RenderBin's. -2007-08-23 16:33 robert +Fri, 26 Jan 2007 21:22:35 +0000 +Checked in by : Robert Osfield +Further work on building the rendering back end from the intial traversal of the scene graph - * Changed the plugin name to openflight instead of OpenFlight to - avoid problems - with osgDB looking for just lower case plugin names +Fri, 26 Jan 2007 16:08:52 +0000 +Checked in by : Robert Osfield +Added Program pointer to help with uniform apply. -2007-08-23 15:36 robert +Fri, 26 Jan 2007 09:44:49 +0000 +Checked in by : Robert Osfield +Added custom callback to capture RenderBins - * Updated for 2.1.7 dev release +Thu, 25 Jan 2007 12:16:38 +0000 +Checked in by : Robert Osfield +#ifdef'd out the artifical simulation time code -2007-08-23 14:35 robert +Thu, 25 Jan 2007 12:02:51 +0000 +Checked in by : Robert Osfield +Added osg::FrameStamp::set/getSimulationTime().Added setting of osg_SimulationTime and osg_DeltaSimulationTime to the uniforms set by SceneView - * From Stephan Huber, fix for crash on exit +Added frame(double simulationTime) and advance(double simulationTime) parameters to +osgViewer::SimpleViewer, Vewer and CompositeViewer. -2007-08-23 14:31 robert +Updated various examples and Nodes to use SimulationTime where appropriate. - * From Galen Faidley," Please find attached the modifications to - get the new checkerboard - stereo format to work. It's a good thing I tested these on a TV - before submitting them since I did indeed have a bug. One thing I - did not test was to see how this would work in windowed mode. - Does - the interlaced stereo code have support for 'absolute' positions? - For example a given pixel on the screen is always shown in a - given - eye no matter where the graphics context is placed? - " -2007-08-23 14:10 robert - * From Jean-Sebastien Guay,"As discussed yesterday on the osg-users - list, I have altered - src/osgDB/FileUtils.cpp to implement the official Windows DLL - search - order as described on the page - http://msdn2.microsoft.com/en-us/library/ms682586.aspx . As - mentioned, - the search order is now: - 1. The directory from which the application loaded. - 2. The system directory. (C:\Windows\System32 by default, gotten - using the - GetSystemDirectory function) - 3. The 16-bit system directory. (C:\Windows\System by default, - gotten by - adding "\System" to the path gotten in the next step...) - 4. The Windows directory. (C:\Windows by default, gotten using - the - GetWindowsDirectory function) - 5. The current directory. (".") - 6. The directories that are listed in the PATH environment - variable. (as - before) - - The first four directories are obtained using Win32 API calls, so - they - should work correctly even on non-standard Windows installs. - - The changes are well commented and should be clear, even to - someone - not familiar with the Win32 API. - - I have tested in a few scenarios and it works as expected. Serge - Lages - has also tested the changes and confirmed they worked as - described. I - have not had any other reports though (positive or negative). - - I also fixed the issue with a trailing semicolon on the PATH - adding an - empty string to the end of the search paths, as this was an - inconsistent side effect rather than a desirable effect. This - change - will take effect on other platforms as well, but since it tests - for an - empty string in the last item added to the search paths, it - should - have no adverse effect. - " +Thu, 25 Jan 2007 10:02:20 +0000 +Checked in by : Robert Osfield +From Gordon Tomlinson, fixes to BoundingSphere::expandBy(BoundingSphere&) -2007-08-23 11:06 robert +Wed, 24 Jan 2007 12:59:11 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated wrappers +Wed, 24 Jan 2007 12:35:29 +0000 +Checked in by : Robert Osfield +From Martin Spott, "To enable osgviewer to link on Solaris added -lmtsk as SunOS/SunStudio implements some threading stuff in libmtsk." -2007-08-23 11:00 robert +Wed, 24 Jan 2007 12:28:18 +0000 +Checked in by : Robert Osfield +Added support for GUIEventAdapter::setHandled - * Addd control for serializing draw dispatch. +Wed, 24 Jan 2007 12:21:29 +0000 +Checked in by : Robert Osfield +Added setHandled/getHandled to osgGA::GUIEventAdapter -2007-08-22 19:31 robert +Wed, 24 Jan 2007 11:18:27 +0000 +Checked in by : Robert Osfield +Added ability to generate various cube faces for testing and switch handler to toggle between different models. - * From Jean-Sebastien Guay, "After a bit more testing, it was still - not 100% robust, so this fix - will bring the change in line with what is done on other OSes - (Linux) - and works in all tested cases. - - For reference, this was tested with: - - osgviewer .wrl (file in current directory) - osgviewer \.wrl (file in child directory, relative) - osgviewer .\\.wrl (file in child directory, specify - current) - osgviewer :\\.wrl (absolute path) - " +Wed, 24 Jan 2007 10:02:04 +0000 +Checked in by : Robert Osfield +From André Garneau, " * Setup proper pixel format for ATI boards (removal of WGL_SWAP_METHOD_ARB specification from the requested pixel format since unsupported by the ATI driver) -2007-08-22 19:26 robert + * Fix to create sample OpenGL window on the proper display device. This is the temporary window used to choose the desired pixel format. In the previous version, this window was always created on the primary display device, even though it had potentially different pixel formats compared to the target display device containing the window to be created. - * Updated wrappers + * Implementation of WindowingSystemInterface::setScreenResolution() method -2007-08-22 17:18 robert + * Implementation of WindowingSystemInterface::setScreenRefreshRate() method - * Updated wrappers + * Implementation of GraphicsWindow::requestWarpPointer() method -2007-08-22 17:17 robert + * Implementation of GraphicsWindow::useCursor() method and associated trait support. This can be used in two ways; first, when the graphics trait requested indicates that no cursor should be present, a new cursor-less window class is used to create the window. When a cursor-enabled window creation is requested, another window class is used. After creation of a window, it is also possible to toggle the cursor state by using the GraphicsWindow::useCursor method. - * Refactored the implementation of cull/draw for - DrawThreadPerContex and CullThreadPerCameraDrawThreadPerContex - and added an experimental draw serialization. + * The way the mouse behaves is now compatible with the behaviour seen on X11; i.e. when pressing a mouse button, the window where the pointer is located will capture the mouse input and release it only after the button has been released. This results in all mouse movement events being dispatched to the window where the button was pressed initially until it is released. This improves the interaction with graphics windows. -2007-08-22 14:32 ewing - * Documentation updates. -2007-08-22 12:33 robert + * Preparation work has been done to support the ability of moving a window from one screen to another screen and recreating its rendering context when this happens. This has been tested with a mix of NVIDIA and ATI cards and works properly. For the moment being, this feature is commented out due to changes in the core OSG libraries that have been done but need to be submitted later this week for approval by Robert. - * Updated wrappers -2007-08-22 12:21 robert - * Cleaned up the thread setup and fixed the - CullThreadPerCameraDrawThreadPerContext path +Upcoming features -2007-08-22 12:14 robert - * Added thread safe ref/unref by default. -2007-08-22 11:04 ewing + * Support for moving windows from one screen to another screen seamlessly - * Fixes to DMG script to reflect removal of GDAL and external - OpenThreads. - - Support for OpenSceneGraph-Data repo aside OpenSceneGraph repo. - - Added background image support to DMG. Pre-laid-out .DS_Store - included. -2007-08-22 10:56 ewing - * Removed missing shadow examples from Xcode project. + * Ability to set the window (i.e. the application itself creates the rendering window and passes it to the GraphicsWindowWin32 class) -2007-08-22 10:34 robert - * Set main scene graph elements to use thread safe ref/unref by - default -2007-08-22 09:50 robert + * Other miscellaneous items" - * Cleaned up copy constructor and switched on thread safe - ref/unref. +--------------------------------------------------- -2007-08-22 09:48 robert - * Added debug ENFORCE_THREADSAFE paths into osg::Referenced, these - are off by default. -2007-08-22 09:46 robert +Tue, 23 Jan 2007 17:42:43 +0000 +Checked in by : Robert Osfield +Added cube test model. - * Simplified the thread set up. +Tue, 23 Jan 2007 17:29:14 +0000 +Checked in by : Robert Osfield +changed build order so that osgText gets built before osgViewer -2007-08-22 09:45 robert +Tue, 23 Jan 2007 16:32:17 +0000 +Checked in by : Robert Osfield +Fixed tabbing - * Added thread safe ref/unref +Tue, 23 Jan 2007 16:28:59 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-08-22 09:44 robert +Tue, 23 Jan 2007 16:27:07 +0000 +Checked in by : Robert Osfield +Commented out the default saving of models - * Added debug message to destructor +Tue, 23 Jan 2007 16:26:15 +0000 +Checked in by : Robert Osfield +Added osg::StateSet* parameter to constructor to make it more convinient to set up the StateSetManipulator and moved the initialization of locally cached states into the handle method to ensure a representative version of the StateSet is captured -2007-08-22 09:43 robert +Tue, 23 Jan 2007 16:02:37 +0000 +Checked in by : Robert Osfield +Added #define of GL_QUERY_RESULT and GL_QUERY_RESULT_AVAILABLE - * Added setting of thread safe ref/unref. +Tue, 23 Jan 2007 15:51:43 +0000 +Checked in by : Robert Osfield +Added single screen option -2007-08-22 09:42 robert +Tue, 23 Jan 2007 14:43:07 +0000 +Checked in by : Robert Osfield +Added command line help - * Added default setting of use of thread safe ref/unref. +Tue, 23 Jan 2007 14:10:10 +0000 +Checked in by : Robert Osfield +Added delete selected object using delete and back space key, and added save option -2007-08-22 09:05 robert +Tue, 23 Jan 2007 13:54:32 +0000 +Checked in by : Robert Osfield +Adde osgText dependency to osgViewer - * Changed ReadFileCallback and WriteFileCallback to use virtual - inhertinace. +Tue, 23 Jan 2007 13:28:49 +0000 +Checked in by : Robert Osfield +Made stats bars transparent and improved positioning -2007-08-21 09:32 robert +Tue, 23 Jan 2007 13:16:47 +0000 +Checked in by : Robert Osfield +Made two sided stencil the default - * Added missing clear() implementation +Tue, 23 Jan 2007 12:10:44 +0000 +Checked in by : Robert Osfield +Added stats and range of keyboard mouse handling to osgshadow example -2007-08-20 13:09 robert +Tue, 23 Jan 2007 11:56:10 +0000 +Checked in by : Robert Osfield +Added ability to customize the keys used to control stats - * Fixed the install path of plugins under Windows. +Tue, 23 Jan 2007 11:01:20 +0000 +Checked in by : Robert Osfield +Moved StatsHandler into its own seperate header/source in osgViewer. -2007-08-20 10:15 robert +Tue, 23 Jan 2007 10:38:23 +0000 +Checked in by : Robert Osfield +Added ticks to stats display - * Updated README date +Mon, 22 Jan 2007 21:16:51 +0000 +Checked in by : Robert Osfield +Further work on GPU stats -2007-08-20 10:14 robert +Mon, 22 Jan 2007 17:39:32 +0000 +Checked in by : Robert Osfield +Further work on stats - * Updated AUTHORS file for 2.1.6 release +Mon, 22 Jan 2007 13:13:43 +0000 +Checked in by : Robert Osfield +Added camera stats -2007-08-20 10:06 robert +Mon, 22 Jan 2007 11:22:37 +0000 +Checked in by : Robert Osfield +Improvements to stats - * Updated ChangeLog +Mon, 22 Jan 2007 09:28:31 +0000 +Checked in by : Robert Osfield +From Mathias Fröhlich, "Attached is a small change that makes the txf loader render the same resulting text than an other well known txf loader. That means drawing them one on top of the other I can only see differences due to different mipmapping ...That is it introduces an additional gap of 0.1*height between the glyphs. +There is an additional mapping between upper and lowercase characters if one +of them is not available in the txf file. +And we have an artificial blank character that is very often missing in txf +files." -2007-08-20 09:28 robert - * Updated version number for 2.1.6 release and updated wrappers -2007-08-20 09:27 robert +Sun, 21 Jan 2007 20:41:23 +0000 +Checked in by : Robert Osfield +Further work on stats - * Removed Makefile as this is autogenerated. +Sun, 21 Jan 2007 18:46:01 +0000 +Checked in by : Robert Osfield +Added osgproducerviewer, in the form of orignal Producer based osgviewer, leaving the new osgViewer based osgviewer focused on just osgViewer functionality. -2007-08-19 19:22 robert +Sun, 21 Jan 2007 18:34:26 +0000 +Checked in by : Robert Osfield +Changed the camera with focus code to only accept cameras with valid views as ones that can recieve focus. - * From Antione Hue and Robert Osfield, moved prepend in front of - lib entry. +Sun, 21 Jan 2007 18:24:54 +0000 +Checked in by : Robert Osfield +Initial on screen stats support -2007-08-17 16:10 robert +Sun, 21 Jan 2007 11:18:07 +0000 +Checked in by : Robert Osfield +Removed gl includes - * Fixed zfar setting +Sat, 20 Jan 2007 09:48:50 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-08-17 09:37 robert +Sat, 20 Jan 2007 09:44:05 +0000 +Checked in by : Robert Osfield +Fixed the output of texture files - * Changed ++_modifedCount cases to dirty(). +Sat, 20 Jan 2007 09:03:58 +0000 +Checked in by : Robert Osfield +Added OSG_EXPORT to Stats to fix Windows build -2007-08-16 18:49 robert +Fri, 19 Jan 2007 20:25:17 +0000 +Checked in by : Robert Osfield +Added stats for update, event and rendering traversals - * Changed the tolower of the file extension into the plugin name - construction code. - - Added support for CompositeLayer. +Fri, 19 Jan 2007 19:53:23 +0000 +Checked in by : Robert Osfield +Added new osg::Stats class for collecting frame stats of different sorts. Added s/getStats() to osg::View and osg::Camera. Added population of View::getStats() with frame stats in osgViewer/Viewer. Added Basic StatsHandler to osgviewer example. -2007-08-16 15:29 robert +Fri, 19 Jan 2007 14:41:29 +0000 +Checked in by : Robert Osfield +Added EXT_timer_query support - * Updated wrappers +Thu, 18 Jan 2007 22:32:18 +0000 +Checked in by : Robert Osfield +Added osg::StencilTwoSided state attribute to wrap up the stencil_two_sided extension.Added path in osgShadow work for using StencilTwoSided to accelerate shadow volume rendering. -2007-08-16 14:13 robert - * From Maria Ten, "I divide the init method of the - geometrytechnique in submethods to made more easy the inheritance - between the user and osg-class. This is a first step to add more - functions in osgTerrain. Maybe the subdivision of the method have - to - be in the terraintechnique because is the base class of - GeometryTechnique. If Robert or anyone think that this is better - i - change this class too." -2007-08-15 15:11 robert +Thu, 18 Jan 2007 17:00:42 +0000 +Checked in by : Robert Osfield +Added support for stencil GL_INCR_WRAP and GL_DECR_WRAP operations - * From Jan Ciger, "I am attaching a little hack from Jean-Sebastien - Guay which allows - absolute paths to work on Windows." +Thu, 18 Jan 2007 09:56:23 +0000 +Checked in by : Robert Osfield +From André Garneau, "Attached is a fix in the GraphicsWindowWin32 class to allow the following usage pattern to work properly; create window, delete window, create window, etc. In all the tests I made I was always creating-deleting and then shutting down the application so this pattern was untested. The osgtexture3d & osgsimulation examples were also using this pattern so would not work. They are working fine now." -2007-08-15 15:07 robert +Thu, 18 Jan 2007 09:03:08 +0000 +Checked in by : Robert Osfield +Build fix for Win32 - * From Stephan Huber, "the softshadowmap-implementation does not - compile on os x, to be more - precise, the shader does not compile on os x because of some - type-conflicts ala "can not convert from const int to const - float" - - So I changed the offending lines to force the type of the vars. - It works - now on OS X (albeit very slowly, 3fps on a 7300), perhaps you - find the - changes useful. Note: perhaps there is a better way in shaders to - cast/convert from int to float and viceversa." +Wed, 17 Jan 2007 21:11:57 +0000 +Checked in by : Robert Osfield +Added extra methods WindowSystemInterface for controlling frame rate and resolution, and adde useCursor flag. -2007-08-15 15:03 robert +Wed, 17 Jan 2007 15:59:29 +0000 +Checked in by : Robert Osfield +From Joakim Simonsson, added osgDB::concateFile and osgDB::getRealPath.Tweaks by Robert Osfield - Moved methods to FileNameUtils, added unix +implementation of getRealPath add extern and OSGDB_EXPORT to function declarations. - * From Brede Johansen, "The attached file updates the framestamp - and traversal number of the - updatevisitor in osgViewer::Viewer. - - The bug prevented DOF animations because osgSim::DOFTransform - checks - the traversal number before doing any updates." -2007-08-14 17:13 robert - * Changed the plugin name to lower case to be consistent with the - way that osgDB::Registry - searches for only lower case plugin names. +Wed, 17 Jan 2007 14:40:03 +0000 +Checked in by : Robert Osfield +From André Garneau, threading bug fixes - moving scoped statics out of scope to be global statics -2007-08-14 17:04 robert +Wed, 17 Jan 2007 14:21:18 +0000 +Checked in by : Robert Osfield +From André Garneau, Implementation osg GraphicsWindowWin32 - * Added string to keyword map parser. +Tue, 16 Jan 2007 22:10:52 +0000 +Checked in by : Robert Osfield +Updaed wrappers -2007-08-14 13:08 shuber +Tue, 16 Jan 2007 22:00:56 +0000 +Checked in by : Robert Osfield +Removed the automatic registration of GraphicsContextImplementation. - * From Stephan Huber: updating the XCode-project-files +Tue, 16 Jan 2007 21:40:43 +0000 +Checked in by : Robert Osfield +Fixed compile warning -2007-08-14 12:47 robert +Tue, 16 Jan 2007 19:18:32 +0000 +Checked in by : Robert Osfield +Cleaned up CompositeViewer interface and added event traversal of views - * Added Ben van Basten to list of authors. +Tue, 16 Jan 2007 17:10:15 +0000 +Checked in by : Robert Osfield +Added PickHandler to osgmultiplecameras examples -2007-08-14 08:41 robert +Tue, 16 Jan 2007 17:08:47 +0000 +Checked in by : Robert Osfield +Added debug messages - * Replaced uint with unsigned int +Tue, 16 Jan 2007 16:02:08 +0000 +Checked in by : Robert Osfield +Reverted the FlightManipulator usage -2007-08-13 14:02 robert +Tue, 16 Jan 2007 16:01:01 +0000 +Checked in by : Robert Osfield +Further work on CompositeViewer - * Removed osgdepthshadow and osgshadowtexture from build list +Tue, 16 Jan 2007 15:05:44 +0000 +Checked in by : Robert Osfield +Added mouseWarped call into View::requestWarpPointer -2007-08-13 11:59 robert +Tue, 16 Jan 2007 14:15:49 +0000 +Checked in by : Robert Osfield +Further work on event handling in CompositeViewer - * Updated ChangeLog, AUTHORS and README files +Tue, 16 Jan 2007 14:13:00 +0000 +Checked in by : Robert Osfield +Added extra view combinations too commandline -2007-08-13 11:45 robert +Tue, 16 Jan 2007 08:56:33 +0000 +Checked in by : Robert Osfield +Work on CompositeViewer and related calsses to implement viewers with multiple views - * Updated version for 2.1.5 dev release +Mon, 15 Jan 2007 16:12:34 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-08-13 10:31 robert +Mon, 15 Jan 2007 16:09:32 +0000 +Checked in by : Robert Osfield +Improved handling of intersection computations on datasets with multiple cameras - * From Luc Frauciel, "I've done 2 main modifications : - 1) added texture->setResizeNonPowerOfTwoHint(false); when loading - an - image. It speeds up by 10 the loading of large images. - 2) added a --disk option : only a filelist is read, images are - only - loaded when needed. It allows to handle very large set of very - large - images that would not fit in memory. Nothing change when the - option is - not set." +Mon, 15 Jan 2007 14:46:16 +0000 +Checked in by : Robert Osfield +Added FramStamp into osgViewer::Viewer and added ability to handle setSceneData during during the application running. -2007-08-13 10:27 robert +Mon, 15 Jan 2007 11:44:38 +0000 +Checked in by : Robert Osfield +Added terrain manipulator. - * From Jan Ciger, "I am attaching an improved version of the - OpenVRML plugin. It still uses - OpenVRML 0.14.3 and is without the Boost dependency. - - The changes: - - - Fixed loading of textures and normals when no corresponding - indices - are specified. It uses vertex indices now, compliant with the - VRML spec. - - - Added colour per vertex support. - - - Added group node support. - - - Changed the code to use osg::ref_ptr instead of naked - pointers to - avoid memory leaks. - - - Fixed breakage for loading files specified by relative path." +Mon, 15 Jan 2007 10:11:23 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "The OpenFlight loader already have a caching mechanism for externals. The cache works for nested externals but is cleared before the master flight file is returned. I implemented texture caching using the same mechanism." -2007-08-13 10:20 robert +Mon, 15 Jan 2007 09:56:36 +0000 +Checked in by : Robert Osfield +From Paul Martz and Geoff Michel, Paul updated Geoff's bug fixes to DelaunaryTraingulator.cpp to reflect recent tessellator spelling changes - * From J.P. Delport, fix of GDAL location search +Mon, 15 Jan 2007 09:30:48 +0000 +Checked in by : Robert Osfield +Added setting of the update visitors' traversal number -2007-08-13 10:17 robert +Mon, 15 Jan 2007 09:14:36 +0000 +Checked in by : Robert Osfield +Reverted the experimental shader code - * From Brad Christiansen, "I added the ability to set the render - target implementaion on the - osgSim::OverlayNode. The attached changes were made against the - 2.0 - release." +Sun, 14 Jan 2007 20:23:47 +0000 +Checked in by : Robert Osfield +Added releaseContext to end of GraphicsThread::run() -2007-08-13 09:13 robert +Fri, 12 Jan 2007 22:07:33 +0000 +Checked in by : Robert Osfield +From Riccardo Corsi, "this should be the final version of the qt-plugin ported to windows and cleaned up to avoid crashes on exit. Stephan and I tested it on Mac and Win. Just a couple of notes: * the plugin is able to load both regular 2D images and movie stream. There is a #define QT_HANDLE_IMAGES_ALSO mechanism to indicate whether to use it for images or not. This is defined by default on Mac only, to avoid conflicts with the standard windows plugins. See comments on QTUtils.h - * Added gdal/gdal.h to header search path, and gdal1.4.1 to the lib - search path. + * de-initialization of quicktime before exit is now left to an observer, which calls exitQuicktime() when last media loaded with the plugin is released. This prevent a crash on exit without need of any extra call external to the plugin." -2007-08-12 13:30 robert - * Updated wrappers -2007-08-12 13:18 robert +Fri, 12 Jan 2007 22:01:56 +0000 +Checked in by : Robert Osfield +Added explicit to ParticleEffect constructors - * Added getStart()/getEnd() +Fri, 12 Jan 2007 21:44:28 +0000 +Checked in by : Robert Osfield +From Tom Jolley, "There was some unnecessary creation and deletion of Particle objects in include/osgParticle/ParticleSystem. I replaced Particle(ptemplate? *ptemplate: _def_ptemp) -2007-08-12 13:17 robert +with - * From Jean-Sebastien Guay, "adds - osgUtil::LineSegmentIntersector::setStart(osg::Vec3d) and - setEnd(osg::Vec3d)." + ptemplate? *ptemplate: _def_ptemp -2007-08-12 13:10 robert +in a couple of places. This should make particle creation and reuse go +a little faster without all that memory allocation and copying." - * Removed now redundent osgshadowtexture and osgdepthshadow - examples -2007-08-12 12:15 robert - * Added support for SoftShadowMap into osgshadow example +Fri, 12 Jan 2007 21:33:19 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "New features: + Multi-display-support + automatic hiding of the menubar/dock if one of the windows intersects the menubar/dockBugfixes: ++ event-handling was done by the first opened window, other windows did +not receive events -- fixed ++ mouse-coordinates were absolute, now they are relative to the window. -2007-08-12 12:15 robert +known bugs: ++ windows with decoration and in fullscreen-size are moved by the system +a little bit, so that the titlebar is accessible/visible. So if you want +real fullscreen-windows, don't decorate the window :) - * Added fix for typo of name in submission +I updated the XCode-project-file so all ported examples are linked +against osgViewer." -2007-08-12 12:12 robert - * From Bruno Hebelin, - - "I have adapted to osgShadow the soft shadow map technique - described in "Efficient Soft-Edged Shadows Using Pixel Shader - Branching" by Yury Uralsky, Chapter 17 of GPU Gems 2 (Matt Pharr - ed. Addison-Wesley). - - Here is my code in attachment: basically, it works in the same - way as osgShadow/ShadowMap (core code is copied from it) but - implements a specific GLSL shader for the soft rendering of - penumbra. - - I have tested it under Linux with a NVidia graphic card, but - there should be no dependency on platform nor on the graphics - driver (as far as they support GLSL 2). Screenshots attached show - the current results (frame rate bound to v-sync, but the shader - takes actually not much time)." -2007-08-11 17:44 robert +Fri, 12 Jan 2007 21:05:39 +0000 +Checked in by : Robert Osfield +Added Viewer::setEndBarrierPosition method, change Viewer::setKeySetsDone(int) to setKeyEventSetDone(int), added support for toggling threading model and end barrier position into osgviewer - * Added preprending of osgPlugins-version to plugin names +Fri, 12 Jan 2007 19:09:24 +0000 +Checked in by : Robert Osfield +Moved the signalBeginFrame to the start of the rendering traversal. -2007-08-11 14:49 robert +Fri, 12 Jan 2007 15:08:45 +0000 +Checked in by : Robert Osfield +Added support for animation path manipulator to osgViewer path - * Added DisplaySetting::s/getCompileContextHint() and use of this - hint in osgViewer::Viewer/CompositeViewer. - - Removed the CustomViewer in osgterrain example as the above now - removes the need for it. +Fri, 12 Jan 2007 14:45:10 +0000 +Checked in by : Robert Osfield +Add manually sync of the EventQueue's startTick with the osg::Timer::startTick -2007-08-11 12:43 robert +Fri, 12 Jan 2007 12:10:06 +0000 +Checked in by : Robert Osfield +Added a default StateSet to osg::View's master Camera. Wired up osgViewer::Viewer so that the master Camera's StateSet is passed to osgUtil::SceneView to use as its global StateSet. - * Refactored the use of the MasterOperation so that it now gets - attached to the - Viewer via the new Viewer::addUpdateOperation() method, rather - than need a - custom Viewer::updateTraversal(). +Fri, 12 Jan 2007 11:38:24 +0000 +Checked in by : Robert Osfield +Added osgGA Trackball, Flight and Drive camera manipulators, and StateSetManipulator to the osgViewer path in osgviewer -2007-08-11 10:28 robert +Fri, 12 Jan 2007 10:28:36 +0000 +Checked in by : Robert Osfield +Implement a GraphicsOperation to test extension availability - * Added support for an update OperationQueue to Viewer and - CompositeViewer to allow asyncrnous adding of operations to be - added - to the view to be done during syncronous updateTraversal(). - - This feature can be used for doing things like merging subgraphs - that have been loaded - in a background thread. +Fri, 12 Jan 2007 10:28:06 +0000 +Checked in by : Robert Osfield +Fixed comment -2007-08-10 17:44 robert +Fri, 12 Jan 2007 10:26:49 +0000 +Checked in by : Robert Osfield +Added osgViewer path into osgviewer, old osgProducer version remains accessible via --osgProducer command line option - * Updated wrappers +Thu, 11 Jan 2007 17:15:04 +0000 +Checked in by : Robert Osfield +Ported osgmotionblurr across to osgViewer -2007-08-10 10:58 robert +Thu, 11 Jan 2007 17:00:09 +0000 +Checked in by : Robert Osfield +Added setting of DisplaySettings - * Updated wrappers +Thu, 11 Jan 2007 16:59:50 +0000 +Checked in by : Robert Osfield +Added stencil buffer setting -2007-08-10 10:57 robert +Thu, 11 Jan 2007 15:54:11 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added View::setDatabasePager(..) +Thu, 11 Jan 2007 15:53:32 +0000 +Checked in by : Robert Osfield +Added #include -2007-08-10 10:52 robert +Thu, 11 Jan 2007 15:48:44 +0000 +Checked in by : Robert Osfield +Removed examples: osgcameragroup + osgsimpleviewerProducer + osgsimplepager - * Refactored the way the Scene is used in Viewer and - CompositeViewer to ensure - that only on Scene exists per scene graph. -2007-08-09 08:19 robert - * Compile fix +Thu, 11 Jan 2007 15:19:59 +0000 +Checked in by : Robert Osfield +Ported following examples to osgViewer:osgteapot +osgtessellate +osgtext +osgtexture1D +osgtexture2D +osgtexture3D +osgtexturerectangle +osgvertexprogram +osgvolume +osgwindows +osgsimple +osgkeyboardmouse -2007-08-09 08:15 robert - * Removed now redundent ReaderWriterTerrain.cpp -2007-08-08 09:12 robert +Thu, 11 Jan 2007 14:53:34 +0000 +Checked in by : Robert Osfield +Fixed the setWindowSize so that it sets the input range to 0,0,width,height rather than x,y,x+width,y+height as mouse coordinates move relative to the window, not the screens origin. - * Updated wrappers +Thu, 11 Jan 2007 12:06:24 +0000 +Checked in by : Robert Osfield +Added DisplaySettings support into osgViewer::Viewer -2007-08-08 08:10 robert +Thu, 11 Jan 2007 11:47:01 +0000 +Checked in by : Robert Osfield +Ported follow examples to osgViewer: osgshape + osgsimplifier + osgsimulation + osgslice + osgspacewarp + osgspheresegment + osgspotlight + osgstereoimage - * Added new statc prototype() and create() methods to CullVisitor - and DatabasePager to allow overriding of the default - implementations -2007-08-08 05:59 robert - * Removed unneeeded includes +Thu, 11 Jan 2007 10:35:03 +0000 +Checked in by : Robert Osfield +Added support for setThreadSafeRefUnref into TexGenNode -2007-08-07 22:56 robert +Thu, 11 Jan 2007 10:21:11 +0000 +Checked in by : Robert Osfield +Added setThreadSafeRefUnref, resizeGLObjectBuffers and releaseGLObjects to OverlayNode - * Updated wrappers +Wed, 10 Jan 2007 21:05:26 +0000 +Checked in by : Robert Osfield +Ported following examples to osgViewer:osgshaders +osgshaderterrain +osgshadow +osgshadowtexture -2007-08-07 22:31 robert - * Updated CMakeLists.txt to reflect renaming of TerrainNode. -2007-08-07 19:53 robert +Wed, 10 Jan 2007 14:56:22 +0000 +Checked in by : Robert Osfield +Ported osgconv and osgdem across to osgViewer - * Renamed osgTerrain::TerrainNode to osgTerrain::Terrain and - introduced basic - .osg read support for osgTerrain::Terrain. - +Wed, 10 Jan 2007 13:52:22 +0000 +Checked in by : Robert Osfield +Ported following examples to osgViewer:osgparticleeffects +osgphotoalbum +osgpick +osgpoints +osgpointsprite +osgprecipitation +osgprerender +osgprerendercubemap +osgreflect +osgscalarbar +osgscribe +osgsequence +osgplanets -2007-08-07 15:51 robert - * Removed TerrainNode.cpp from CMakeLists.txt -2007-08-07 15:30 robert +Wed, 10 Jan 2007 10:40:12 +0000 +Checked in by : Robert Osfield +Added support for vertex ratios into LineSegmentIntersector. - * Added preliminary shell of osgTerrain plugin +Wed, 10 Jan 2007 10:09:05 +0000 +Checked in by : Robert Osfield +Added View::computeIntersection implementation for a node withing a scene graph. -2007-08-07 14:49 robert +Tue, 9 Jan 2007 17:35:46 +0000 +Checked in by : Robert Osfield +Added View::computeIntersections methods - * From Luc Fruciel, "Gdal plugins reads lots of information that is - not taken into account in ReadHeigthField for example. - Attached a modification that read the HeigthField position and - X,Yintervals. - I also removed the limitation to 1024*1024 to 4096*4096, because - when you are preprocessing your data with OSG, it can be useful - to read large images/heigthfields. Is there a reason (other than - hardware limitations for textures) for this limit ?" +Tue, 9 Jan 2007 14:35:59 +0000 +Checked in by : Robert Osfield +From Jan Ciger, Tolga Abaci, Bruno Herbelin : OpenVRML 0.14.3 based .wrl/VRML plugin -2007-08-07 10:37 robert +Tue, 9 Jan 2007 11:42:49 +0000 +Checked in by : Robert Osfield +From Geoff Michel, "New delaunay triangulator attached. I hadn't realised that the erase() method was not erase (first, last) but erase (first, one after the last one you want deleted). This made a big difference; however some of the edges of the terrain were not included as edges in the terrain so I increased the size of the supertriangle, which works but reduces accuracy due to the larger range of coordinates in the supertriangle. (A larger supertriangle forces the triangles using supertriangle vertices to be long and thin, making the triangulation fit the convex hull of the terrain.)The loss of accuracy should not affect 'normal' users with terrains that are roughly square (say up to 100:1 aspect ratio) and where the Z range is comparable to the X-Y range. Retested with Pauls data, amalric's strange polygon constraint and the standard test constraints. - * Re-introduceed GDAL plugin +I also added 2 tests for routines with a NULL argument passed to them (no-one would usually pass a NULL pointer to these routines unless - as I did in testing- you remove some of the constraints but still pass their pointer to the routine). And I removed 3 tests for triangles which are already removed when generating the geometry. -2007-08-07 10:33 robert +NB Paul - the previous delaunay triangulator fails under VS8 IF it has any constraints as it attempts to use some vertices that have already been deleted when applying the constraints to edges. Under VS6 and less rigorous compilers it works as the deleted vertices are still in the points stl::Vector; however any added vertices would replace one of the supertriangle vertices with non-disastrous but wrong results." - * Re-introduced GDAL plugin. +Note, merged with latest name changes in CVS. -2007-08-07 10:31 robert - * Added preliminary code to allow build specification of glu - tesscallback with ... parameter -2007-08-07 08:18 robert +Tue, 9 Jan 2007 10:06:20 +0000 +Checked in by : Robert Osfield +From Stephan Huber, GraphicsWindowCarbon implementation - * From Andy Skinner, The attached file adds #include to - GraphicsContext.cpp, so that it compiles with the solaris - compiler we use. +Tue, 9 Jan 2007 09:16:06 +0000 +Checked in by : Robert Osfield +Changed osgparticle's osgProducer dependency to osgViewer -2007-08-06 11:52 robert +Tue, 9 Jan 2007 09:14:25 +0000 +Checked in by : Robert Osfield +Fixed typo - * Updated README +Mon, 8 Jan 2007 22:54:02 +0000 +Checked in by : Robert Osfield +Build fixes -2007-08-06 11:50 robert +Mon, 8 Jan 2007 22:44:10 +0000 +Checked in by : Robert Osfield +Removed reference to Producer - * Updated ChangeLog, and AUTHORS file for release +Mon, 8 Jan 2007 22:40:56 +0000 +Checked in by : Robert Osfield +Removed debug messages -2007-08-06 11:24 robert +Mon, 8 Jan 2007 21:57:37 +0000 +Checked in by : Robert Osfield +Fixed comment - * Updated version numbers for release +Mon, 8 Jan 2007 21:55:24 +0000 +Checked in by : Robert Osfield +Added genwrapper.conf to OSG CVS -2007-08-06 09:28 robert +Mon, 8 Jan 2007 21:29:49 +0000 +Checked in by : Robert Osfield +From Paul Martz, speeling fixes for Tessellator/Tessellation. - * Changed debug message to INFO level +Mon, 8 Jan 2007 21:19:33 +0000 +Checked in by : Robert Osfield +Tessellator name changes -2007-08-05 17:06 robert +Mon, 8 Jan 2007 20:46:56 +0000 +Checked in by : Robert Osfield +Improved resizeGLObjectBuffers support - * Added support for enabling the stencil buffer when horizontal and - vertical split stereo are used. +Mon, 8 Jan 2007 20:40:29 +0000 +Checked in by : Robert Osfield +Improved the handling a releaseGLObjects() and add setThreadSafeRefUnref and resizeGLObjectsBuffers methods -2007-08-05 14:59 robert +Mon, 8 Jan 2007 19:58:58 +0000 +Checked in by : Robert Osfield +Added releaseContextImplementation method - * From Tim More, "This patch causes GraphicsWindowX11 to not send - key release events when a key - press / release is caused by auto-repeat. This is consistent with - Windows and Mac - behavior, as well as other toolkits such as SDL." +Mon, 8 Jan 2007 19:33:31 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-08-05 14:51 robert +Mon, 8 Jan 2007 19:29:59 +0000 +Checked in by : Robert Osfield +Changed the return types of makeCurrent to bool, and added a bool GraphicsContext::releaseContext method along with implementations in osgViewer. - * From Andy Skinner, fixes for avoiding warnings about mixing c and - c++ versions of c libs. +Mon, 8 Jan 2007 16:20:10 +0000 +Checked in by : Robert Osfield +Added GraphicsContext::ResizedCallback and GraphicsContext::resizedImplementation. Added message on non implementation of GraphicsContext::valid(). Added prelimary GraphicsContext clean up support. -2007-08-04 17:04 robert +Mon, 8 Jan 2007 14:12:57 +0000 +Checked in by : Robert Osfield +Added Tessellator - * Disable the selection of CullPerCameraDrawPerContext until I am - able to fix this - threading model +Mon, 8 Jan 2007 13:28:44 +0000 +Checked in by : Robert Osfield +Fixed spelling of Tessellator in comment -2007-08-04 10:30 robert +Mon, 8 Jan 2007 12:04:04 +0000 +Checked in by : Robert Osfield +From Mathias Fröhlich, txf plugin for reading .txf textured texture files. - * From John Shue, "Recent changes to sockstream.cpp and - sockinet.cpp to better deal with - various operating system differences between socklen_t and int - have - broken the FreeBSD build. Change was to add __FreeBSD__ to the - list of - defines that are checked." +Mon, 8 Jan 2007 11:37:09 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-08-03 16:08 robert +Mon, 8 Jan 2007 11:23:52 +0000 +Checked in by : Robert Osfield +From Paul Martz and Robert Osfield, renamed include/osgUtil/Tesselator and associated classes/references to Tessellator etc. - * Updated wrappers +Mon, 8 Jan 2007 10:00:16 +0000 +Checked in by : Robert Osfield +Ported following examples to osgViewer: osggeodemo osggeometry osghud osgimpostor osgkeyboard osglauncher osglight osglightpoint osglogicop osglogo osgmovie osgmultiplecameras osgmultitexture osgoccluder osgparametric osgparticle -2007-08-03 14:50 robert +Sun, 7 Jan 2007 20:52:10 +0000 +Checked in by : Robert Osfield +From Stephan Huber, updated Xcode projects for changes to examples ported over to osgViewer - * Added perlimnary support for reading the DISPLAY variable. +Sun, 7 Jan 2007 17:29:34 +0000 +Checked in by : Robert Osfield +From André Garneau, added export to StatsVisitor -2007-08-02 16:23 robert +Sun, 7 Jan 2007 10:00:50 +0000 +Checked in by : Robert Osfield +Added setThreadSafeRefUnref to LightSource - * Changed the projection matrix resize policy. +Sat, 6 Jan 2007 21:35:57 +0000 +Checked in by : Robert Osfield +Ported osgcopy, osgcubemap, osgdelaunay, osgdepthpartion, osgdistortion, osgfadetext, osgforest and osgfxbrowser to osgViewer -2007-08-02 12:36 robert +Sat, 6 Jan 2007 21:06:35 +0000 +Checked in by : Robert Osfield +Added View::setUpViewOnSingleScreen(uint) method to help set up view on a single full screen window - * From Martin Lavery, XCode updates for the new Renderer class +Fri, 5 Jan 2007 21:23:37 +0000 +Checked in by : Robert Osfield +Add trackball manipulator usage -2007-08-02 12:27 robert +Fri, 5 Jan 2007 21:19:01 +0000 +Checked in by : Robert Osfield +Ported osgcluster to osgViewer. - * Added return 0; +Fri, 5 Jan 2007 20:28:35 +0000 +Checked in by : Robert Osfield +Fixed genwrapper to add include of osg/Camera. -2007-08-02 11:02 robert +Fri, 5 Jan 2007 17:21:35 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Introduce new osgViewer::Renderer class for implementing of the - rendering - of cameras in viewers +Fri, 5 Jan 2007 16:48:04 +0000 +Checked in by : Robert Osfield +Simplified the nameing of updateTraversal etc methods -2007-08-02 08:50 robert +Fri, 5 Jan 2007 16:46:57 +0000 +Checked in by : Robert Osfield +Cleaned up graphics window setup and added clear graphics window to single window, multiple camera setup. - * Added save and restoring of the cull mask to Camera handling code +Fri, 5 Jan 2007 16:24:05 +0000 +Checked in by : Robert Osfield +Ported osgcegui across to osgViewer -2007-07-31 17:28 robert +Fri, 5 Jan 2007 16:19:25 +0000 +Checked in by : Robert Osfield +Ported osgcallback to osgViewer - * From Andy Skinner,adding c includes to avoid problems with mixing - c and c++ versions - of c functions. +Fri, 5 Jan 2007 16:13:43 +0000 +Checked in by : Robert Osfield +Ported osgbluemarble to osgViewer -2007-07-30 16:02 robert +Fri, 5 Jan 2007 16:00:28 +0000 +Checked in by : Robert Osfield +Ported osgblendequation across to osgViewer - * Updated AUTHORS file for release +Fri, 5 Jan 2007 15:54:13 +0000 +Checked in by : Robert Osfield +Ported osgbillboard over to osgViewer -2007-07-30 15:56 robert +Fri, 5 Jan 2007 15:52:33 +0000 +Checked in by : Robert Osfield +Simplified the osganimate and osgautotransform mains, removing most or all of the argument parser code. - * Updated ChangeLog for release +Fri, 5 Jan 2007 15:32:21 +0000 +Checked in by : Robert Osfield +Fixed aspect ratio. -2007-07-30 15:25 robert +Fri, 5 Jan 2007 15:30:49 +0000 +Checked in by : Robert Osfield +Cleaned up the GraphicsWindow setup - * Updated version number for 2.1.3 dev release +Fri, 5 Jan 2007 15:24:06 +0000 +Checked in by : Robert Osfield +Added GraphicsContext support for clearing the graphis context. The clearing is off by default (ClearMask is 0), but can be switched on when ClearMask is non zero. GraphicsContext::clear() is called after each swap buffers -2007-07-30 10:52 robert +Fri, 5 Jan 2007 14:57:20 +0000 +Checked in by : Robert Osfield +Replace osgProducer reference by osgViewer - * Ported across Viewer's to use osgUtil::GLObjectOperation, added - second option - in GLObjectOperation to handle cases when no subgraph is - registered, in these - case the code now compile all Camera subgraphs. +Fri, 5 Jan 2007 14:56:37 +0000 +Checked in by : Robert Osfield +Moved osgautotransform across to osgViewer -2007-07-28 10:44 robert +Fri, 5 Jan 2007 14:50:47 +0000 +Checked in by : Robert Osfield +Converted osganimate projects across to osgViewer - * From Andy Skinner, adding C includes to avoid issues when mixing - C and C++ standard includes +Fri, 5 Jan 2007 14:48:50 +0000 +Checked in by : Robert Osfield +Converted osganimate example to osgViewer -2007-07-28 10:28 robert +Fri, 5 Jan 2007 13:16:24 +0000 +Checked in by : Robert Osfield +Added int return type of Viewer::run(). - * Introduce Camera::s/getRenderer(). +Fri, 5 Jan 2007 13:15:59 +0000 +Checked in by : Robert Osfield +Made the custom window set up a runtime option -2007-07-27 17:16 robert +Fri, 5 Jan 2007 13:06:11 +0000 +Checked in by : Robert Osfield +Tweaked comments - * From David Callu, "After the mail of Emmanuel Roche to convert a - void * in a known pointer (for example osg::Geode *), I has - searched an elegant way to introduce this feature. - - I just add ReinterpretCastConverter in the Reflector to convert - void* in T* and T* in void* - - - files joint : - - OpenSceneGraph/include/osgIntrospection/Reflector // modified - file - OpenSceneGraph/src/osgIntrospection/Reflector.cpp // modified - file - - " +Fri, 5 Jan 2007 13:01:08 +0000 +Checked in by : Robert Osfield +Added a workaround for computing the time of an event. -2007-07-27 17:14 robert +Fri, 5 Jan 2007 12:22:24 +0000 +Checked in by : Robert Osfield +Removed commented out checkEvents calls - * From Bryan Thrall, added copying of boundingbox callback to copy - constructor. +Fri, 5 Jan 2007 10:59:23 +0000 +Checked in by : Robert Osfield +Added Viewer::isRealized() and run() methods to make it easier to set up and run a viewer, taking care of realized() calls if not already done, and assigning trackball manipulator if not already assigned. -2007-07-27 17:07 robert +Fri, 5 Jan 2007 09:55:04 +0000 +Checked in by : Robert Osfield +Removed inappropriate comment about normal orientation. - * From Stephan Huber, added reset of _currentContext when graphics - context is closed. +Thu, 4 Jan 2007 21:58:37 +0000 +Checked in by : Robert Osfield +Changed compile paths into runtime selected paths using command line parameters -2007-07-27 16:48 robert +Thu, 4 Jan 2007 21:51:10 +0000 +Checked in by : Robert Osfield +Removed now redundent calls to set up view - * From Stephan Huber, "attached you'll find a fix for the dead - locks when closing a window - under OS X." +Thu, 4 Jan 2007 21:49:02 +0000 +Checked in by : Robert Osfield +Moved the set of GraphicsContext RenderingOperations into Viewer. -2007-07-27 15:26 robert +Thu, 4 Jan 2007 21:35:11 +0000 +Checked in by : Robert Osfield +In Viewer::realize() added default fallback of calling setUpViewAcrossAllScreens() when no windows have previously been set up. - * Updated svn::externals +Thu, 4 Jan 2007 21:28:16 +0000 +Checked in by : Robert Osfield +Added Viewer::setKeySetsDone(int) to allow developers to specify which key should set done and cause the main loop to exit. -2007-07-26 19:31 robert +Thu, 4 Jan 2007 21:18:44 +0000 +Checked in by : Robert Osfield +Removed the setting of thread safe ref/unref and max number of graphics contexts as this is now done automatically by osgViewer::Viewer - * From Thibault Genessay, "Attached is an unitialized variable fix - I spotted with Purify. The _currentCursor (of type HCURSOR) - member of the graphics window was not properly initialized, - causing potential problems if setCursor() was called before - anything else set it." +Thu, 4 Jan 2007 21:18:03 +0000 +Checked in by : Robert Osfield +Changed debug messages to INFO -2007-07-25 10:12 robert +Thu, 4 Jan 2007 21:14:29 +0000 +Checked in by : Robert Osfield +Changed the ReadWriteMutex to use standard OpenThreads::Mutex to fix crashes in osgcatch. - * From Parag Chaudhur, "In daeRMaterials.cpp in the COLLADA plugin, - in the processTexture function, Lines 519-522 - of the source file: - - The "delete [] path" appears before the "osg::notify", causing - the data pointed to by - "filename" to be deleted before access causing an access - violation. - - ... - - I have put a comment on - line 521 where I have moved the "delete []path" below. - " +Thu, 4 Jan 2007 20:50:35 +0000 +Checked in by : Robert Osfield +Added mutex to lock of ReentrantMutex -2007-07-24 14:52 robert +Thu, 4 Jan 2007 20:49:39 +0000 +Checked in by : Robert Osfield +Fixed compile warning - * Updated AUTHORS +Thu, 4 Jan 2007 16:49:58 +0000 +Checked in by : Robert Osfield +Made Refernced::setThreadSafeReferenceCounting(bool) a virtual then overrode this in various scene graph classes to ensure that the scene graph gets updated as well as the objects that the initialial call is made from. -2007-07-24 14:47 robert +Thu, 4 Jan 2007 16:48:23 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Updated ChangeLog +Thu, 4 Jan 2007 14:34:53 +0000 +Checked in by : Robert Osfield +Added glXDestryContext to help clean up OpenGL. -2007-07-24 14:43 robert +Thu, 4 Jan 2007 14:11:51 +0000 +Checked in by : Robert Osfield +Added Object::resizeGLObjectBuffers(uint) method to help improve the ability to change the number of active graphics contexts on the fly during an applications life. - * Updated version for dev release +Thu, 4 Jan 2007 11:49:15 +0000 +Checked in by : Robert Osfield +Added support for starting and stopping osgViewer::Viewer threading and automatic handling of windows being closed. -2007-07-24 14:30 robert +Wed, 3 Jan 2007 23:00:05 +0000 +Checked in by : Robert Osfield +Added catch of window close - * Fixed warning +Wed, 3 Jan 2007 19:11:57 +0000 +Checked in by : Robert Osfield +From Paul Martz, added export to fix Windows build -2007-07-24 14:02 robert +Wed, 3 Jan 2007 17:26:24 +0000 +Checked in by : Robert Osfield +Added setting of default backgroud colour of View's master colour to be consistent with the previous default colour used by SceneView - * From Alexandre Amalric, Fox example - - From Robert Osfield, CMake build support for FOX example +Wed, 3 Jan 2007 17:25:09 +0000 +Checked in by : Robert Osfield +Removed setting of master camera colour -2007-07-23 20:37 robert +Wed, 3 Jan 2007 16:32:44 +0000 +Checked in by : Robert Osfield +Changed the View's master camera projection matrix setting so that it is consistent with osgProducer::Viewer default setting. - * From Michael Hartman, "Here is an update for the closing issue - with the example osgviewerMFC where the MFC rendering thread - would not exit before the application and the thread would be - left running in the background and the user would have to use - TaskManager to kill the process. - - Changes: - - MFC_OSG.cpp: - - Removed pixelformatdesciptor from the class initialization. - - Used setInheritedWindowPixelFormat to true so it will setup the - pixelformat for the window. - - Added class destructor code. - - MFC_OSG.h: - - Removed the ref_ptr on osgViewer::Viewer - - MFC_OSG_MDIViewer.cpp: - - Changed the OnDestroy function code. - - Added WaitforSingleObject with thread handle for the MFC render - handle. - - MFC_OSG_MDIView.h: - - Added class variable for MFC Render Thread Handle for use with - the WaitforSingleObject. - " - +Wed, 3 Jan 2007 16:06:12 +0000 +Checked in by : Robert Osfield +Improved the robustness of thread start and cancellation -2007-07-23 20:10 robert +Tue, 2 Jan 2007 20:26:49 +0000 +Checked in by : Robert Osfield +Fixed the COPY_OP( Array, DEEP_COPY_ARRAYS); entry. - * From Andy Skinner, addition of standard c library includes to - avoid issues with using STLport on some platforms. +Tue, 2 Jan 2007 17:39:31 +0000 +Checked in by : Robert Osfield +Added support for different threading models in osgViewer::Viewer -2007-07-23 20:08 robert +Tue, 2 Jan 2007 13:02:30 +0000 +Checked in by : Robert Osfield +Shifted the setting of thread safe ref/unref to earlier in the main to ensure that the Viewer's view is set up thread safe. - * Converted tabs to four spaces +Tue, 2 Jan 2007 12:50:57 +0000 +Checked in by : Robert Osfield +Added support for getting all windows and hiding the cursor -2007-07-23 18:19 robert +Tue, 2 Jan 2007 12:19:26 +0000 +Checked in by : Robert Osfield +Switched off lighting in osgcatch. - * Updated wrappers +Tue, 2 Jan 2007 12:03:48 +0000 +Checked in by : Robert Osfield +Changed default multi-screen setup to set up for a flat wall configuration -2007-07-23 18:13 robert +Tue, 2 Jan 2007 10:31:38 +0000 +Checked in by : Robert Osfield +Fixed version function names and comment strings - * From Mathias Froehlich, compile fix for OSX. +Tue, 2 Jan 2007 10:11:53 +0000 +Checked in by : Robert Osfield +Added missing init() implementation -2007-07-23 16:42 robert +Tue, 2 Jan 2007 09:54:21 +0000 +Checked in by : Robert Osfield +Fixed path to osgViewer wrapper - * Added FlushDeletedGLObjectsOperation. +Mon, 1 Jan 2007 20:01:45 +0000 +Checked in by : Robert Osfield +Added mouseWarped update -2007-07-22 20:33 robert +Mon, 1 Jan 2007 18:20:10 +0000 +Checked in by : Robert Osfield +Various work on osgViewer library, including warp point and graphics window resize support - * Added support for using the CompileContext to do GL object - deletion. +Thu, 28 Dec 2006 08:21:19 +0000 +Checked in by : Robert Osfield +Removed GraphicsWindowProxy -2007-07-21 20:11 robert +Thu, 28 Dec 2006 08:16:36 +0000 +Checked in by : Robert Osfield +Removed osgViewer::GraphicsWindowProxy as its was causing wrapper compile problems and also no longer has a key role in osgViewer. - * Converted usleep call to OpenThreads::Thread::microSleep() to - avoid VS build problems +Wed, 27 Dec 2006 23:32:49 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-07-19 18:59 robert +Wed, 27 Dec 2006 23:19:37 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added reset it to set block correctly before use. +Wed, 27 Dec 2006 23:19:17 +0000 +Checked in by : Robert Osfield +Tweaks from using a ReadWriteMutex& to a ReadWriteMutex* parameter to avoid problems with osgIntrospection generation. -2007-07-19 17:02 robert +Wed, 27 Dec 2006 20:23:34 +0000 +Checked in by : Robert Osfield +Improved handling of window input ranges for single window apps - * Improved the filtering of changes to master file to prevent using - reading from - files that are still under going changes. +Wed, 27 Dec 2006 16:44:18 +0000 +Checked in by : Robert Osfield +Removed old hack to disable multi-threaded cameras when particle systems are present, this is no longer required as osgParticle has now been made thread safe. -2007-07-19 16:42 robert +Wed, 27 Dec 2006 16:40:34 +0000 +Checked in by : Robert Osfield +Added an osgDB::ReadWriteMutex to help manage the ability to have serialize write to objects but allow multiple threads to read at once in a read only way. - * Updated wrappers +Wed, 27 Dec 2006 15:15:23 +0000 +Checked in by : Robert Osfield +Updated to reflect changes to osgGA::EventQueue. -2007-07-19 15:24 robert +Wed, 27 Dec 2006 15:05:25 +0000 +Checked in by : Robert Osfield +Replaced the osgProducer dependencies by osgViewer for osgcatch and osghangglide examples - * Added osg::RefBlockCount subclassed from the new - OpenThreads::BlockCount and used it into osgterrain example +Wed, 27 Dec 2006 15:04:04 +0000 +Checked in by : Robert Osfield +Added GraphicsWindowWin32 and GraphicsWindowCocoa classes, curently not implmented, but added as a placeholder for members of the community to step forward and implement. -2007-07-19 12:09 robert +Tue, 26 Dec 2006 20:26:16 +0000 +Checked in by : Robert Osfield +Ported osghangglider example to usg osgViewer - * Added support for using multiple load threads as a thread pool - used by the MasterOperation +Tue, 26 Dec 2006 17:38:47 +0000 +Checked in by : Robert Osfield +Various tweaks to keep in sync with new changes to osg::Timer and osgGA::EventQueue -2007-07-18 16:48 robert +Tue, 26 Dec 2006 17:37:58 +0000 +Checked in by : Robert Osfield +Added new adapter methods to EventQueue to allow the time value of the event to be specified. - * Added setting of ThreadSafeRefUnref to true. +Tue, 26 Dec 2006 17:37:06 +0000 +Checked in by : Robert Osfield +Aded new convinience methods to osg::Timer - s/getStartTick and time_s(), time_m() etc to help get time reletive the new start tick. -2007-07-18 16:17 robert +Tue, 26 Dec 2006 17:35:45 +0000 +Checked in by : Robert Osfield +Ported osgcatch to use osgViewer - * Refactored the viewer setup code to use a CustomViewer subclass - of Viewer which - wraps up the set up of compile contexts and merging of changes. +Sun, 24 Dec 2006 16:40:19 +0000 +Checked in by : Robert Osfield +Unified the osg::GraphicsThread::Operation and osg::GraphicsContext::Operation classes as osg::GraphicsOperation. Unpdated parts of OSG depending upon these.Added a virtaul bool valid() method to osg::GraphicsContext to allow apps to +test whether a valid graphis context has been created or not. -2007-07-18 16:14 robert - * Commented out debug messages -2007-07-18 14:54 robert +Fri, 22 Dec 2006 21:53:44 +0000 +Checked in by : Robert Osfield +Added support for sample and sampleBuffers to osg::GraphicsContext::Traits and cleaned up the Traits naming - * Added call to State::initializeExtensionsProcs() to prevent - crashes before - these variables are initialized. +Fri, 22 Dec 2006 21:52:53 +0000 +Checked in by : Robert Osfield +Added mutexes to ParticleProcessor and ParticleSystemUpdater to improve the thread safety of osgParticle -2007-07-18 09:05 robert +Fri, 22 Dec 2006 17:46:21 +0000 +Checked in by : Robert Osfield +Implemented perliminary multi-threading support in osgViewer::Viewer - * Added missing export symbol. +Fri, 22 Dec 2006 16:49:14 +0000 +Checked in by : Robert Osfield +Replaced osgProducer dependency by osgViewer -2007-07-17 17:36 robert +Fri, 22 Dec 2006 16:48:17 +0000 +Checked in by : Robert Osfield +Removed now redundent OSG_EXPORT to solve build problems under Windows - * Added traverse method implementation into GeometryTechnique. +Fri, 22 Dec 2006 08:42:03 +0000 +Checked in by : Robert Osfield +Removed Vec3.cpp and UnitTestFramework.cpp as these files now live in examples/osgunittests -2007-07-17 16:18 robert +Thu, 21 Dec 2006 17:23:07 +0000 +Checked in by : Robert Osfield +Added basic support for DatabasePager into osgViewer::Viewer - * Merged the new master operation/operation thread code with older - standard - terrain set up code. +Thu, 21 Dec 2006 16:56:20 +0000 +Checked in by : Robert Osfield +Moved rendering support into GraphisContext, osgViewer::Viewer/View, and added frame stamp updating and update traversal to osgViewer::Scene/Viewer.Updated osgcamera example to use new Viewer API calls instead of using local +rendering calls. -2007-07-17 10:54 robert - * Fixed GraphcicsContext::getMaxContextID so it properly returns - the current max contextID. - - Fixed the osgviewer's compile context code to account for the - above fix. - - Added compile context support into osgterrain example. -2007-07-17 09:15 robert +Thu, 21 Dec 2006 12:24:20 +0000 +Checked in by : Robert Osfield +Cleaned up the includes in the GraphicsWindowX11 header - * Fixed typo +Thu, 21 Dec 2006 12:19:14 +0000 +Checked in by : Robert Osfield +Moved the implementation of GraphicsWindowX11 from the head into the src/osgViewer directory. -2007-07-16 21:39 robert +Thu, 21 Dec 2006 11:20:42 +0000 +Checked in by : Robert Osfield +Improved the handling of moving the mouse pointer across screens, and add grab focus support that honours where the mouse pointer was originally. - * Work in progress on support for dynamically reading a master file - in a background thread +Thu, 21 Dec 2006 09:01:56 +0000 +Checked in by : Robert Osfield +Removed erroneous double GraphicsContext:: -2007-07-16 17:40 robert +Thu, 21 Dec 2006 08:54:55 +0000 +Checked in by : Robert Osfield +Fixed path - * Added MasterOperation to do file querry and loading and - background thread. +Wed, 20 Dec 2006 21:13:29 +0000 +Checked in by : Robert Osfield +Further work osgViewer::Viewer and related classes. -2007-07-16 15:47 robert +Tue, 19 Dec 2006 17:40:40 +0000 +Checked in by : Robert Osfield +From Roger James, "Here is the version of daeWMaterials.cpp with fixes for case insensitive path names on Windows. Nobody has complained to me about them since I posted them on the users list last week." - * Added custom colour support to TransferFunction setup. +Tue, 19 Dec 2006 17:30:22 +0000 +Checked in by : Robert Osfield +From Mathias Fröhlich, "I have a small update to the 'non convex polygon detection' in the ac3d loader that is used to tell if tesselation is required or if we will better leave a polygon as is. It is still not perfect but catches some more cases." -2007-07-16 15:13 robert +Tue, 19 Dec 2006 17:16:14 +0000 +Checked in by : Robert Osfield +From Paul Martz, "minor code comment cleaup/rewording" - * Improvements to the .terrain file support +Tue, 19 Dec 2006 17:06:59 +0000 +Checked in by : Robert Osfield +Moved UnitTestFramework from core osg lib into osgunittests example -2007-07-16 12:37 robert +Tue, 19 Dec 2006 16:47:34 +0000 +Checked in by : Robert Osfield +Updated wrappers - * First steps at provide a .terrain file format to experiment with - file - definitions of terrain subgraphs +Tue, 19 Dec 2006 16:47:15 +0000 +Checked in by : Robert Osfield +Added Copyright notice -2007-07-14 17:16 robert +Tue, 19 Dec 2006 16:45:09 +0000 +Checked in by : Robert Osfield +Added support for traversal mask into ElevationSlice, HeightAboveTerrain and LineOfSight classes - * Updated wrappers +Tue, 19 Dec 2006 16:12:29 +0000 +Checked in by : Robert Osfield +Added osgViewer::Viewer / osgViewer::GraphicsWindowsX11 usage. -2007-07-14 17:07 robert +Tue, 19 Dec 2006 16:00:51 +0000 +Checked in by : Robert Osfield +Added initial GraphicsWindowX11 implementation, and fleshed out more of the osgViewer and osg::GraphicsContext/osg::View infrastructure. - * Added support into osg::RenderInfo for a stack of Cameras that - allow querries - of which camera is currently active to be querried from within - the draw traversal. +Sun, 17 Dec 2006 20:49:01 +0000 +Checked in by : Robert Osfield +Added support WindowingSystemInterface for querring the number of screens, the screen size and creating GraphicsContexts. -2007-07-14 09:17 robert +Fri, 15 Dec 2006 17:27:18 +0000 +Checked in by : Robert Osfield +Added ViewPoint support into NodeVistor/CullStack/CullVisitor/LOD/PagedLOD etc to facilate management of LOD settings for RTT cameras. - * Changed BarrierOperation so that it isn't limited to jut working - within GraphicsContexts. +Thu, 14 Dec 2006 21:15:40 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "New option "cloneExternalReferences" for OpenFlight plugin" -2007-07-13 19:24 robert +Thu, 14 Dec 2006 16:13:27 +0000 +Checked in by : Robert Osfield +From Orhun Birsoy, "In SimpleViewer::frameUpdateTraversal function, orthographicCamera calculation has some typos. It should read bool orthographicCamera = (pm(0,3)==0.0) && (pm(1,3)==0.0) && (pm(2,3)==0.0) && (pm(3,3)== 1.0); " - * Converted Operations to GraphicsOperations where apporpriate. +Thu, 14 Dec 2006 14:44:10 +0000 +Checked in by : Robert Osfield +From Andy Skinnder, warning fix -2007-07-13 19:22 robert +Wed, 13 Dec 2006 21:15:22 +0000 +Checked in by : Robert Osfield +Removed debug output files - * Removed all the plugins BUILD_OSG_* options as these just get in - the way of - browsing standard CMake options. +Wed, 13 Dec 2006 17:39:30 +0000 +Checked in by : Robert Osfield +Commented out debug messages -2007-07-13 17:25 robert +Wed, 13 Dec 2006 16:41:06 +0000 +Checked in by : Robert Osfield +Further improvements to handling of multiple z values - * Introduce GraphicsOperation subclass from osg::Operation, and - osgUtil::GLObjectOperation - for compiling subgraphs. +Tue, 12 Dec 2006 21:48:59 +0000 +Checked in by : Robert Osfield +Improvements to handling of multiple z value regions -2007-07-13 11:49 robert +Thu, 7 Dec 2006 22:20:48 +0000 +Checked in by : Robert Osfield +Improved the filtering of overlapping and vertical line segments - * Updated wrappers +Thu, 7 Dec 2006 15:48:17 +0000 +Checked in by : Robert Osfield +Fixed copyright notice -2007-07-13 11:42 robert +Thu, 7 Dec 2006 10:16:43 +0000 +Checked in by : Robert Osfield +From Luigi Calori, "In order to effectively use --image-ext and to add -O "plugin options", some fix to osgdem.cpp and osgTerrain/DataSet.cppThese mods should allow to build terrains controlling jpeg compressed +imagery embedded in ive files, using something like: - * From Mathias Froehlich, "This patch removes the X11/Xmu/WinUtil.h - header from GraphicsWindowX11.cpp. - That one is not used and appears not to be present on every - platform we - compile on." +osgdemd --image-ext jpeg --RGB_24 -O "JPEG_QUALITY 20 +compressImageData" ......." -2007-07-13 11:39 robert - * From Mathias Froehlich, "This change makes the net plugin compile - on hp-ux. - It tries to unify some partly ugly ifdefs in the socket classes. - The change is also tested on a solaris 8, irix 6.5 and suse 9.0 - machine." -2007-07-13 11:31 robert +Thu, 7 Dec 2006 10:09:48 +0000 +Checked in by : Robert Osfield +From Geoff Michel, "I was getting triangulations with the previous delaunay triangulator, but it seems I may have been picking up the wrong coordinates or an old version of my test file (that version is OK when no coordinates lie outside the 'terrain' zone). This version is much stricter about memory handling and insertion of extra points." - * Added setCurrentEventState method +Wed, 6 Dec 2006 21:39:09 +0000 +Checked in by : Robert Osfield +From Gerrick Bivins, fixed newly introduced texture setup bug. -2007-07-13 11:22 robert +Wed, 6 Dec 2006 21:29:10 +0000 +Checked in by : Robert Osfield +Improved the handling of overlapping line segments. - * Updated wrappers +Wed, 6 Dec 2006 15:18:11 +0000 +Checked in by : Robert Osfield +From Riccardo Corsi, add VS6.0 project file for new quicktime windows port -2007-07-13 11:17 robert +Wed, 6 Dec 2006 14:17:55 +0000 +Checked in by : Robert Osfield +From Rick Pingry, "n my application I am walking through the scene graph looking for nodes of a specific name. I noticed there were times when some of the nodes were not named what I had expected. Upon reviewing the code, I noticed this was happening when there was a forward reference to a parented object.The existing code uses a map with object ID's. The original code only applied the name to a node for a new ID only if the node did not already exist in the map. The problem was that there was another part of the code (when a parent was forward declared) that also created the node with the ID in the map, but it did not know its name. I simply made sure that the name was set regardless of whether or not the node was already in the map. " - * Introduced new GUIEventAdatper singleton for sharing the current - state between - multiple GraphicsWindows, this singleton is accessable via - GUIEventEvent::getAccumulatedEventState(). - - Added use of this new singleton in GraphicsWindow* - implementations. - - Added WindowSizeHandler to osgkeyboard to help with debugging of - event state - between windows. -2007-07-12 20:12 robert - * Removed redundent TerrainGeometry classes, and adding double - buffer of - internal data within GeometryTechinque in prep for support - multi-threaded - set up and rendering of terrain. +Tue, 5 Dec 2006 22:10:36 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-07-12 20:10 robert +Tue, 5 Dec 2006 20:30:46 +0000 +Checked in by : Robert Osfield +Checked in remaining element from Brede Johansen changes for clmapToEdge reader option. - * Fixed spelling of cartesian. +Tue, 5 Dec 2006 17:30:36 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "minor bugfixes for the quicktime-plugin" -2007-07-12 16:37 robert +Tue, 5 Dec 2006 17:27:31 +0000 +Checked in by : Robert Osfield +From Gerrick Bivins, "Changes: --merged with fixes for texture coordinates(is this in CVS/SVN already)? --changed above mentioned fix output level from osg::NOTIFY to osg::DEBUG_INFO --added support for VRML97 ImageTextures. --changed pointers to ref_pointers where possible. --added format (method separated by "//////") for easier reading." - * From Martin Lavery, updates to Xcode projects +Tue, 5 Dec 2006 17:10:39 +0000 +Checked in by : Robert Osfield +From Roger James,"I have had another go at the windows specific file name handling in daeWMaterials.cpp. I think I have arrived at a temporary compromise.I have decided to just normalise the drive letter part of file names for the time being and also ensure that names of the format x:/xxxxx are treated as absolute paths. This will cover a lot of cases. -2007-07-12 15:54 robert +I have raised a bug against collada which hopefully should resolve some others. However there are some pathological cases which I have commented on in the code, these will probably never work properly unless there is a significant rewrite of the daeURI functionality. Hopefully they are rare." - * Renamed include/osg/OperationsThread to OperationThread. - - Created a new GraphicsThread subclass from OperationThread which - allows the - GraphicsContext specific calls to be moved out of the base - OperationThread class. - - Updated the rest of the OSG to respect these changes. -2007-07-12 12:15 robert - * Renamed OperationsThread to OperationThread and add two way link - between OperationQueue and OperationThread +Tue, 5 Dec 2006 16:45:27 +0000 +Checked in by : Robert Osfield +From Rein Kadijk, "While displaying a certain scene, OsgEdit crashed in ProxyNode::traverse() in file OSG_OP_OT-1.2\OpenSceneGraph\src\osg\proxynode.cpp. It turned out that nv.getDatabaseRequestHandler() returned NULL; using this pointer to call one of DatabaseRequestHandler's methods is of course illegal. I patched it by adding: if (nv.getDatabaseRequestHandler())"From Robert Osfield, reordered the addition of the nv.getDatabaseRequestHandler() check to allow the +default traverse() to be called when no database handling is attached to the visitor. -2007-07-12 09:03 robert - * From Martin Lavery, Update to Packaging files for Xcode build -2007-07-12 08:29 robert +Tue, 5 Dec 2006 16:29:11 +0000 +Checked in by : Robert Osfield +From Stephan Huber and Riccardo Corsi, port of QuickTime plugin to Windows - * Added better description of TransferFunction. +Tue, 5 Dec 2006 15:41:03 +0000 +Checked in by : Robert Osfield +Added use of typedef to help clean up the readability a little and replaced a copy list with a reference. -2007-07-11 16:06 robert +Tue, 5 Dec 2006 15:31:07 +0000 +Checked in by : Robert Osfield +From Sylvain Marie, "changed raw pointers to smart pointers in the dxfBlock, dxfTables and dxfSection classes, so their members data are correctly deleted. - changed some methods signatures to pass arguments by reference instead of by value. The performance and memory usage are enhanced (the reader was clogging the heap when reading some large DXF files)The updated files have been compiled and tested with a variety of DXF files +on XP with VS2003, but the changes should not disturb any other compiler." - * Updated wrappers -2007-07-11 16:06 robert - * Fixed typo +Tue, 5 Dec 2006 14:58:38 +0000 +Checked in by : Robert Osfield +From Chris McGlone, "PlygonZ copy constructor: added allocation and copying of zarray" -2007-07-11 15:51 robert +Tue, 5 Dec 2006 14:50:46 +0000 +Checked in by : Robert Osfield +From Bryan Thrall, "Currently, the DatabasePager always loads requested Nodes using the default Registry Options object, but it would be useful to be able to request loading with a different Options object. The attached files allow you to do that (based off the OSG 1.2 source).For example, I'm implementing a loader that requires context information +when it pages in subgraphs, which becomes significantly complicated when +multiple scenegraphs are requesting subgraph loads with different +contexts (the loader needs to know which context to use, and the +Registry Options needs to be carefully managed so the context settings +don't clobber each other, especially in multithreaded situations). Being +able to pass an Options instance along with the Node request resolves +this problem." - * From Paul Melis, fixes to spelling mistakes/typos. -2007-07-11 15:50 robert - * Updated version number in prep for 2.1.1 dev release +Tue, 5 Dec 2006 14:28:07 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "added a new reader option to replace the texture wrap mode CLAMP with CLAMP_TO_EDGE." -2007-07-11 15:30 robert +Tue, 5 Dec 2006 13:06:02 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Andre Garneau, minor warning fixes +Tue, 5 Dec 2006 12:58:29 +0000 +Checked in by : Robert Osfield +Added more accurate computation of local height above sea level in the plane intersections routines -2007-07-11 14:16 robert +Mon, 4 Dec 2006 17:31:20 +0000 +Checked in by : Robert Osfield +Improved the calculation of distance around the globe within the ElevationSlice routine. - * Added support for --sky-light and headlight with local position - at 0,0,0 +Mon, 4 Dec 2006 12:36:13 +0000 +Checked in by : Robert Osfield +Added preliminary support for generating distance, height lists for ElevationSlice. -2007-07-11 13:48 robert +Sun, 3 Dec 2006 12:52:38 +0000 +Checked in by : Robert Osfield +Cleaned up debugging info. - * Added setting of the Scene's FrameStamp on each - CompositeViewer::updateTraversal() call to fix animation path - issue. +Sun, 3 Dec 2006 11:44:12 +0000 +Checked in by : Robert Osfield +Added copying of plane to surface intersections in the osgUtil::PlaneIntersector class, and update wrappers. -2007-07-11 09:00 robert +Sun, 3 Dec 2006 11:09:33 +0000 +Checked in by : Robert Osfield +Added osgSim to osgintersection dependency list. - * From Martin Lavery, update of Xcode projects to meet the latest - SVN revision +Fri, 1 Dec 2006 15:19:21 +0000 +Checked in by : Robert Osfield +Added support for placing a base in the scene to shadow against -2007-07-10 19:29 robert +Thu, 30 Nov 2006 18:42:38 +0000 +Checked in by : Robert Osfield +Fixed typo and updated wrappers - * Added OperationsThread +Thu, 30 Nov 2006 18:33:36 +0000 +Checked in by : Robert Osfield +Improved the edge normal computation -2007-07-10 17:36 robert +Thu, 30 Nov 2006 16:55:32 +0000 +Checked in by : Robert Osfield +Checked in new .plists' - * Added test code path which stress tests new thread pool support - in OperationsThread +Thu, 30 Nov 2006 16:30:24 +0000 +Checked in by : Robert Osfield +Basic shadow volume alogirthm implemented in example. -2007-07-10 17:36 robert +Thu, 30 Nov 2006 12:05:51 +0000 +Checked in by : Robert Osfield +Added dynamic updating of light position and multi-pass addition of ambient and diffuse lighting - * Wired up OperationsThread to use the new OperationQueue and - thereby support - thread pooling where multiple OperationsThreads share a single - OperationsQueue +Thu, 30 Nov 2006 12:04:36 +0000 +Checked in by : Robert Osfield +Fixed shadow volume geometry handling of direcitonal lights -2007-07-09 19:04 robert +Thu, 30 Nov 2006 10:29:03 +0000 +Checked in by : Robert Osfield +Added movement of the light source to test performance of update the shadow volumes - * Separated OperationsThread out from the GraphicsThread header and - introduced - new OperationQueue class. +Wed, 29 Nov 2006 22:00:39 +0000 +Checked in by : Robert Osfield +Added handling of loops -2007-07-09 15:02 robert +Wed, 29 Nov 2006 21:43:05 +0000 +Checked in by : Robert Osfield +Added plane to triangle intersections and segment combining, work still not complete though. - * Fixed unitialized variables. +Wed, 29 Nov 2006 20:10:08 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, added support for writing 16-bit rgb images -2007-07-09 11:37 robert +Wed, 29 Nov 2006 14:33:17 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated ChangeLog, osgversion and AUTHORS.txt for 2.1 dev release +Wed, 29 Nov 2006 14:21:59 +0000 +Checked in by : Robert Osfield +Further work on PlaneIntersector -2007-07-09 11:05 robert +Wed, 29 Nov 2006 11:00:02 +0000 +Checked in by : Robert Osfield +Added dummy virtual method implementations - * Updated version number for 2.1.0 dev release +Wed, 29 Nov 2006 10:51:10 +0000 +Checked in by : Robert Osfield +Cleaned up inheritance -2007-07-09 11:05 robert +Wed, 29 Nov 2006 09:18:51 +0000 +Checked in by : Robert Osfield +Ran unix2dos to get rid of unix line ending - * Added OpertionQueue +Tue, 28 Nov 2006 20:45:24 +0000 +Checked in by : Robert Osfield +Still required for backwards compatibility -2007-07-09 11:03 robert +Tue, 28 Nov 2006 20:37:27 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added OperationQueue class for future work on support thread - pools that share - a single OpeationQueue. +Tue, 28 Nov 2006 20:35:31 +0000 +Checked in by : Robert Osfield +Fixed build errors in osgViewer -2007-07-09 10:48 robert +Tue, 28 Nov 2006 19:25:34 +0000 +Checked in by : Robert Osfield +From Zach Deedler, added missing IntersectionVisitor - * Updated wrappers +Tue, 28 Nov 2006 16:50:51 +0000 +Checked in by : Robert Osfield +Removed redundent wrapper -2007-07-09 10:47 robert +Tue, 28 Nov 2006 16:49:31 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Improved the consistency of setting of rotation and auto rotate - modes in setAxisAlingment method +Tue, 28 Nov 2006 16:30:38 +0000 +Checked in by : Robert Osfield +Moved osgUtil::PolytopeIntersector, osgUtil::PlaneIntersector and osgUtil::LineSegmentIntersector out from include/osgUtil/IntersecionVisitor into their own seperate files. -2007-07-09 10:12 robert +Tue, 28 Nov 2006 16:00:52 +0000 +Checked in by : Robert Osfield +Added support for float or double osg::Plane, and the default osg::Plane to double. Performance tests on big models did not indicate any performance penalty in using doubles over floats, so the move to doubles should mainly impact precision improvements for whole earth databases.Also made improvements to osgUtil::PlaneIntersector and osgSim::ElevationSlice classes - * Fixed missinged intialization of the _threadsRunning variable. -2007-07-07 16:05 robert - * From Jean-Sebastien Guay and Jan Ciger, added search path can - improved handling of backslashes/forward slashes +Tue, 28 Nov 2006 11:10:15 +0000 +Checked in by : Robert Osfield +Fixed fade text memory consumption bug which was due to new RenderInfo being created local to RenderStage and passed on to rendering code which populated the RenderInfo UserData, but without the restoring the new UserData to the main RenderInfo. The local RenderInfo UserData is now passed back to the main RenderInfo. -2007-07-06 20:00 robert +Tue, 28 Nov 2006 10:31:37 +0000 +Checked in by : Robert Osfield +Removed the now redundent dateUtils.h file. - * Updared wrappers +Tue, 28 Nov 2006 09:14:46 +0000 +Checked in by : Robert Osfield +Added missing Camera.h and removed redundent CameraNode.h -2007-07-06 16:54 robert +Mon, 27 Nov 2006 20:25:36 +0000 +Checked in by : Robert Osfield +Added beginnings of osgUtil::PlaneIntersector and osgSim::ElevationSlice - * Added include of DeleteHandler +Mon, 27 Nov 2006 16:25:12 +0000 +Checked in by : Robert Osfield +Added QWidget style constructor parameters -2007-07-06 16:47 robert +Mon, 27 Nov 2006 14:52:07 +0000 +Checked in by : Robert Osfield +Renamed osg::CameraNode to osg::Camera, cleaned up osg::View.Added beginnings of new osgViewer::Scene,View,Viewer,CompositeViewer and GraphicsWindowProxy files. - * Added dirty count support to osgTerrain::Layer clases. - - Added LayerHandler to osgterrain example that modifies the layers - in - response to pressing the 's' and 'q' keys -2007-07-06 14:07 robert - * From Jea-Sebastien Guay and Robert Osfield, build fixes for - Windows +Mon, 27 Nov 2006 11:25:40 +0000 +Checked in by : Robert Osfield +From Mauricio Hofmam, added support for reading images from all osg::CameraNode attachments in RenderStage. -2007-07-06 13:54 robert +Mon, 27 Nov 2006 09:23:57 +0000 +Checked in by : Robert Osfield +From André Garneau, "The file submitted includes a fix to properly support DDS textures compressed under the DXT-1 format when they contain alpha information.Under this mode, each 4x4 texel block can selectively use an alpha component or none. When alpha-enabled blocks are present, this is not reported in the DDPF_ALPHAPIXELS bit in the pixel format flags causing the reader-writer to report the file as a 3-components file (GL_COMPRESSED_RGB_S3TC_DXT1_EXT). The fix requires looking at each 4x4 texel block to detect the presence of 1-bit alpha encoding. When such a block is found, the internal & pixel formats are reported as GL_COMPRESSED_RGBA_S3TC_DXT1_EXT instead. - * From Rudolf Wiedemann, "I need to link OpenSceneGraph statically - to my application, so I - completed the new registration of the plugin-readerwriters - ("REGISTER_OSGPLUGIN") according to your osgstaticviewer-example - (see - attachment, based on today's svn)." -2007-07-06 13:33 robert - * From Brede Johansen, "Attached is a fix that returns a default - color (white) if an invalid - index to the color palette is used." +See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/Opaque_and_1_Bit_Alpha_Textures.asp for more information." -2007-07-06 13:08 robert - * Added include/osg/GLObjects + .cpp which provide - osg::flush*DeletedGLObjects() methods. - - Added and cleaned up DeleteHandler calls in osgViewer to help - avoid crashes on exit. - - Changed DatabasePager across to dynamically checcking - osg::getCompileContext(..) - - Updated wrappers. -2007-07-06 09:06 robert +Sun, 26 Nov 2006 22:27:09 +0000 +Checked in by : Robert Osfield +Removed check from objectDeleted(void*) method as this was not catching cases where the registered ptr was different from the deleted ptr - something that can happen with multiple inheritance. - * Added #include +Sun, 26 Nov 2006 14:17:22 +0000 +Checked in by : Robert Osfield +Missed check of changes to the RemoveRedundentNodesVisitor -2007-07-05 18:41 robert +Fri, 24 Nov 2006 21:19:11 +0000 +Checked in by : Robert Osfield +Added extra checks to RemoveRedendentVisitor to catch Groups that may only have one child, but also have StateSet's etc and thefore not suitable for removal. - * Updated wrappers. +Fri, 24 Nov 2006 21:10:57 +0000 +Checked in by : Robert Osfield +Added isIdentity() method -2007-07-05 18:33 robert +Fri, 24 Nov 2006 17:20:01 +0000 +Checked in by : Robert Osfield +Improved handling of bounding polytope - * Added support for managing a CompileContext. Rearranged the - DeleteHandler::flushAll call. +Fri, 24 Nov 2006 11:37:57 +0000 +Checked in by : Robert Osfield +Added support for positional lights into computeShadowVolumeGeometry code and cleaned up OccluderGeometry interface. -2007-07-05 18:32 robert +Thu, 23 Nov 2006 21:32:49 +0000 +Checked in by : Robert Osfield +Improved the ShadowVolumeGeometry orientations. - * Added debug messages to catch key modified state +Thu, 23 Nov 2006 17:29:43 +0000 +Checked in by : Robert Osfield +Add compute of tight bounding box to enable better placement of the base plane. -2007-07-05 18:30 robert +Thu, 23 Nov 2006 16:55:46 +0000 +Checked in by : Robert Osfield +First cut at generating the ShadowVolumeGeometry - * Improved the computation of the side vector +Thu, 23 Nov 2006 11:22:49 +0000 +Checked in by : Robert Osfield +Added basic silhoette detection -2007-07-05 18:30 robert +Wed, 22 Nov 2006 21:11:46 +0000 +Checked in by : Robert Osfield +From Roger James, "fixes mostly related to texture handling." - * Improved the mapping of update and cull traversal +Wed, 22 Nov 2006 21:09:48 +0000 +Checked in by : Robert Osfield +From Paul Martz, add OSG_FILE_PATH to end of setting of OSG_FILE_PATH to preserve any previous settings -2007-07-05 10:57 robert +Wed, 22 Nov 2006 20:52:16 +0000 +Checked in by : Robert Osfield +From Paul de Repentigny, "When calling osgdem with argument "--image-ext", the application just returns after loading the proper ReaderWriter for the given extension." Fix was to remove the erroenous return. - * From Adndre Garneau, "Attached is a fix to prevent a cursor being - shown in graphics windows when - traits specify that none should be used (a recent change forced a - left-pointer cursor as the default). " +Wed, 22 Nov 2006 20:47:53 +0000 +Checked in by : Robert Osfield +From Sylvan Marie, "I attached my revised dxfEntity.cpp file from the DXF plugin with the 2 following improvements:- When all unsupported entities (SOLIDS, TEXT, ...) have been filtered out +from a block, dxfInsert::drawScene() was crashing because it assumed that +the block was not empty. It now returns silently so the other blocks can +still be imported. -2007-07-05 10:51 robert +- The DXF reader assumed all vertices were read first, then the face +indices. But, from the DXF "documentation" (www.autodesk.com/dxf) : +"Polyface meshes created with the PFACE command are always generated with +all the vertex coordinate entities first, followed by the face definition +entities. The code within AutoCAD that processes polyface meshes requires +this ordering. Programs that generate polyface meshes in DXF should generate +all the vertices then all the faces. However, programs that read polyface +meshes from DXF should be tolerant of odd vertex and face ordering." +So now the importer ignores the posted number of vertices and face indices, +and uses the size of the lists instead." - * Commented out "fix" that explictly sets the key modifier state as - this change - actually broke the key modifier state management. -2007-07-03 17:32 robert - * From Thibault Genessay, "You'll find attached a fix for the - comments of the osgwindows example. It fixes a typo in the - comments which is quite disturbing for newbies trying to learn - using the source (twice 'left' instead of 'left' and 'right'). - I've also added a little offset to the windows' positions so that - their decoration falls inside the desktop and we can manipulate - them - it looks a bit less "made out of wood"." +Wed, 22 Nov 2006 20:39:44 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, Added missing initialization of the _scaleByTextureRectangleSize variable in two of its constructors. -2007-07-03 13:26 robert +Wed, 22 Nov 2006 15:38:59 +0000 +Checked in by : Robert Osfield +Added removeNullTriangles() method to help removed triangles with coincedent corners. - * Added checking of GUIEventAdpter::getHandled(). +Wed, 22 Nov 2006 09:10:14 +0000 +Checked in by : Robert Osfield +Added new HeightAboveTerrain.cpp LineOfSight.cpp wrapper files -2007-07-03 10:00 robert +Tue, 21 Nov 2006 16:59:34 +0000 +Checked in by : Robert Osfield +Added compute and visualization of triangle and vertex normals - * From Roger James, added GL_NORMALIZE mode to scaled models +Tue, 21 Nov 2006 16:59:04 +0000 +Checked in by : Robert Osfield +Replaced the setTextureUnit(0) call in State::reset() with code that just sets the member variables without requiring a graphics context. -2007-07-02 13:17 robert +Tue, 21 Nov 2006 16:16:56 +0000 +Checked in by : Robert Osfield +Added removeDuplicates function - * Changed the way that computeNearFar is computed to avoid - inconsistencies when in stereo mode +Tue, 21 Nov 2006 16:15:42 +0000 +Checked in by : Robert Osfield +Reordered methods to make associated functions clearer. -2007-07-02 13:16 robert +Tue, 21 Nov 2006 14:42:36 +0000 +Checked in by : Robert Osfield +Renamed osgviewer-Info.plist to osgviewerApplication-Info.plist to prevent svn naming collision problems under Windows due t osgviewer/osgViewer case insentive file name collisions. - * Updated wrappers +Mon, 20 Nov 2006 21:48:40 +0000 +Checked in by : Robert Osfield +Added nested files -2007-07-02 12:43 robert +Mon, 20 Nov 2006 12:25:38 +0000 +Checked in by : Robert Osfield +Added -losgFX - * From Csaba Halasz, support reading "monochrome" option string and - use of monocrhome FreetType support +Mon, 20 Nov 2006 10:12:57 +0000 +Checked in by : Robert Osfield +Added missing LGPL section to LICENSE.txt -2007-07-02 12:30 robert +Fri, 17 Nov 2006 20:45:29 +0000 +Checked in by : Robert Osfield +Rearranged the #ifdef's to prevent compile problems under NVidia 2.1 OGL drivers - * From Csaba Halasz and Robert Osfield, support for passing in - ReaderWriter::Options object into readFontFile +Fri, 17 Nov 2006 16:25:29 +0000 +Checked in by : Robert Osfield +From Eric Wing, updates to Xcode projects -2007-06-30 16:19 robert +Fri, 17 Nov 2006 16:22:58 +0000 +Checked in by : Robert Osfield +From Eric Wing, new ogsimpleviewCocoa example. - * From Mike Connell, "This is a tiny fix for win32. - - The current code takes the mouse cursor position and adds it to - the - window (left,top) position, and sends the mouse cursor there. But - this - doesn't take into account the window decoration. - - The new code converts the given (x,y) coordinates from the client - area - coordinate system to the screen instead using ClientToScreen. I - think - this is the natural windows way to do it. - - Tested on XP with osgviewer - " - - Note from Robet Osfield, made a few changes to layout to make it - more consistent - with the rest of the OSG and used #if 0 instead if (0) blocks. +Fri, 17 Nov 2006 14:51:48 +0000 +Checked in by : Robert Osfield +Added missing PointSprite files -2007-06-30 15:40 robert +Thu, 16 Nov 2006 17:35:12 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "Attached is a patch that adds the new coordOriginMode to the .osg reader/writer for PointSprites." - * From Stephan Huber, "attached you'll find a small fix for the - 3ds-plugin, so 3ds-files - exported from cinema 4d are imported correctly. It's not cinema's - fault, - because the 3ds-files show up correctly in 3dStudio Max." +Thu, 16 Nov 2006 16:42:11 +0000 +Checked in by : Robert Osfield +From Frashid Lashkari, added support for PointSprites to .ive -2007-06-30 14:30 robert +Thu, 16 Nov 2006 16:25:29 +0000 +Checked in by : Robert Osfield +From Michael Platings, Fixed Geometry cloning of the texture coordinates and vertex attributes. - * Updated wrappers +Wed, 15 Nov 2006 20:29:28 +0000 +Checked in by : Robert Osfield +Added alpha test setting -2007-06-30 14:30 robert +Wed, 15 Nov 2006 20:24:09 +0000 +Checked in by : Robert Osfield +Fixed comment - * Added s/getUsage() method +Wed, 15 Nov 2006 20:23:15 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-06-30 14:30 robert +Wed, 15 Nov 2006 11:21:53 +0000 +Checked in by : Robert Osfield +From Eric Wing, add version check for use of automatic resizeing - * Added balancing of stack size on entry/exit from rendering nested - camera. +Wed, 15 Nov 2006 10:08:09 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, replaced assert with notify() error message. -2007-06-30 14:28 robert +Tue, 14 Nov 2006 19:29:49 +0000 +Checked in by : Robert Osfield +Added note about license or file, and link to specs. - * Added debug path that creates the viewer on the heap. +Tue, 14 Nov 2006 19:19:54 +0000 +Checked in by : Robert Osfield +Removed redundent osgac3.h file. -2007-06-30 14:21 robert +Tue, 14 Nov 2006 19:19:15 +0000 +Checked in by : Robert Osfield +From Mathias Fröhlich, fixed order of setting of texture image. - * From David Callu, - - " - Found in the join file the fix for the bug found by Rafa. - - - Problem : - - osgIntrospection::Value grp(new osg::Group); - - osgIntrospection::ValueList vlcall; - vlcall.push_back(osgIntrospection::Value("toto")); - - const osgIntrospection::MethodInfo *m = - grp->getType.getCompatibleMethod("setName", vlcall, true); - - if (m) - { - m->invoke(grp, vlcall); // ** SEGFAULT here - } - - - - - - Algorithm explanation : - - The "invoke" method try to convert "grp", which reflect an - "osg::Group*", in a - "osgIntrospection::Value", which reflect a "osg::Node*". - This because - the "setName(const char *)" method found by - "grp->getType.getCompatibleMethod" - is an "osg::Object" type method. - - When osgIntrospection do this conversion it try : - - to found a "osgIntrospection::Converter" to convert - from "osg::Group*" to "osg::Node*" - - to found a chain of "osgIntrospection::Converter" to convert - from "osg::Group*" to "one or many type" to "osg::Node*" - - to converte an Enum to int or unsigned int - - to convert the value in its "value string representation", - then converte this string in the destination value - - Else it throw a "TypeConversionException". - - - - - - - - Bug : - - 1) - When osgIntrospection try to found a chain of - "osgIntrospection::Converter" - It could do any downcast or (Type to SuperType) or upcast - (SuperType to Type). - This mean the the chain could be : - osg::Group to osg::Transform to osg::Camera to - osg::CullSettings to osg::CullStack to - osg::CollectOccludersVisitor to - osg::NodeVisitor to osg::Referenced to osg::Object - - During the convertion with this chain, A METTRE failed and - the pointer in - "grp" is set NULL. But the "grp" is always a valid - "osgIntrospection::Value" - and so, osgIntrospection accept the conversion. Then it try - to use this pointer - to call the "setName" function. And Bing SEGFAULT. - - - 2) - In "bool Reflection::accum_conv_path( ... )" - the convection path isn't accumulate in the recursive loop. - this cause multi request of a conversion path, and a - slowdown in the - conversion algorithm. - - 3) - Use of the last conversion way in a conversion from - pointer to pointer - this mean you can do this : - "osg::Node*" to " value string representation" to - "osg::Material*" - What a bad thing !!! - - - - - Solution : - - 1) - Introduce the concept of dynamic_cast and static_cast. - now, to do a conversion, osgIntrospection does this : - - - to found a "osgIntrospection::Converter" to convert - from "osg::Group*" to "osg::Node*" - - to found a chain of "osgIntrospection::Converter" to convert - from "osg::Group*" to "one or many type" to "osg::Node*" - only with static_cast, downcast (Type to SuperType) - - - to found, if the source and the destination are two pointer, - a chain of "osgIntrospection::Converter" to convert - from "osg::Group*" to "one or many type" to "osg::Node*" - only with dynamic_cast, upcast (SuperType to Type) - - - to convert an Enum to int or to unsigned int - - to convert the value in its "value string representation", - then convert this string in the destination value - - Else it throw a "TypeConversionException". - - - Add the "enum CastType" to distinguish the static_cast or - dynamic_cast converter. - Add file OpenSceneGraph/include/osgIntrospection/CastType - - 2) - add a line to accumulate converter in converter Path. - - 3) - add a line to check if source and destination are pointer. - " +Tue, 14 Nov 2006 17:24:37 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-06-30 09:27 robert +Tue, 14 Nov 2006 16:59:00 +0000 +Checked in by : Robert Osfield +From Eric Wing, add use of the autodetection of windowing size support in SDL-version 1.2.10 and later. From Robert Osfield, made the above an optional compile as it breaks apps based on previous version of SDL. - * From Sherman Wilcox, added check for Drawable cull callbck into - apply(Billboard) +Tue, 14 Nov 2006 16:37:07 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, "Improovments: - does proper edge detection with the crease angle given in the ac file - the reader is much more verbose in case of broken files - no more static variables - std::stream based - much faster, up to a factor of 50 for a polygonal test model - if the file contains polygonal surfaces the loaded geometry is still polygonal as long as the polygons are convex. Concave polygons are still tesselated. Rationale: If the user needs triangular models he can throw away that extra information with the osgUtil::Optimizer himself. But the read step preserves as much extra information that is contained in the file as possible. Also the polygonal models look a bit smoother than the triangular ones. - a huge cleanup - the basic parsing logic from the original ac3d developer is untouched - the writer part is untouchedThe tarball contains a replacement for the src/osgPlugins/ac3d directory that +is based on the current CVS (2006-11-13). +I have tested that loader with a osgconv foo.ac /tmp/xx.ive on everyfoo. ac +file I could find (~200 from flightgear and the object database). I also run +my flightgear development with that loader -> here I see the models. +I run valgrind testcases on some selected models." -2007-06-30 07:09 robert - * Removed the old references to files now removed -2007-06-29 17:01 robert +Tue, 14 Nov 2006 15:06:17 +0000 +Checked in by : Robert Osfield +Added osgViewer depdendency to osgintersection, osgGLUT* examples - * Added Point::Extension::isPointSpriteCoordOriginSupported() - method +Tue, 14 Nov 2006 12:55:00 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "I ran though the sample data that Gert provided earlier today and tracked down the problem. The xoffset in readHeightField and readImage were being applied even in projected coordinate systems. This patch should fix the issue." -2007-06-29 16:37 robert +Tue, 14 Nov 2006 12:51:31 +0000 +Checked in by : Robert Osfield +Further migration to using RenderInfo - * From Sherman Wilcox, added serach for freetype234 +Tue, 14 Nov 2006 12:49:53 +0000 +Checked in by : Robert Osfield +From Stephan Huber, Follows is required to prevent unidented cloning of shared arrays : "I added some calls to isOperationPermissibleForObject() so I can permit the flattten-pass with my specialized objects in my own code." -2007-06-29 16:10 robert +Tue, 14 Nov 2006 12:29:54 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "This patch adds a CoordOriginMode to the osg::PointSprite attribute. The mode needs to be changed to LOWER_LEFT when rendering point sprites to pbuffers or FBOs, otherwise the points will be transformed on the CPU." - * From Paul Martz, "Attached is src/osg/CMakeLists.txt. Adding - TemplatePrimitiveFunctor to the source code list for the project. - This makes this header file show up in the VS IDE as part of this - project, and therefore facilitates IDE searching of - project-related files, as well as making other tasks easier." +Tue, 14 Nov 2006 12:16:39 +0000 +Checked in by : Robert Osfield +Added support for handling osg::ShapeDrawable style drawables in OccluderGeoemtry. -2007-06-29 16:09 robert +Tue, 14 Nov 2006 09:54:21 +0000 +Checked in by : Robert Osfield +Added check against null SceneData to prevent crash with empty models - * Fixed indenting to use 4 spaces instead of tabs +Sat, 11 Nov 2006 21:30:29 +0000 +Checked in by : Robert Osfield +Further work on OccluderGeometry -2007-06-29 16:06 robert +Fri, 10 Nov 2006 15:25:04 +0000 +Checked in by : Robert Osfield +From John Kelso, add support for default frame time for children of a Sequence node - * From Jan Ciger, "I am attaching a fix for the COLLADA plugin on - non-windows systems. The - COLLADA modules STLDatabase, LIBXMLPlugin and stdErrPlugin are - statically included in the main COLLADA library on Linux and - shouldn't - be linked separately - those libraries do not exist in the - default Linux - build and the compilation will fail. - - Second issue - the current version of the COLLADA plugin (both - current - HEAD in Subversion and the one in stable 2.0) do not work right - with the - stable COLLADA DOM 1.4.1. I am getting the following error: - " +Fri, 10 Nov 2006 15:07:13 +0000 +Checked in by : Robert Osfield +Further work on osgShadow::GeometryOccluder -2007-06-29 16:00 robert +Wed, 8 Nov 2006 11:49:35 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Roger James, bug fix to counting of number geode with - drawables +Wed, 8 Nov 2006 10:00:43 +0000 +Checked in by : Robert Osfield +From Eric Wing, updates to Xcode project for new osgViewer library -2007-06-28 20:56 robert +Wed, 8 Nov 2006 09:50:27 +0000 +Checked in by : Robert Osfield +From Eric Wing, change osgGA::SimpleViewer to osgViewer::Viewer. From Robert Osfield, added -losgViewer & -losgGA to makefiles. - * From Brad Colbert, get/setVolume methods +Tue, 7 Nov 2006 17:00:56 +0000 +Checked in by : Robert Osfield +Added better handling of writeNode operations that arn't successful. -2007-06-28 14:19 robert +Tue, 7 Nov 2006 17:00:29 +0000 +Checked in by : Robert Osfield +Fixed the writeNode function so it was properly return FILE_NOT_HANDLED, fixing a big with it writing out an empty .flt file. - * From Brad Colbert with ammendments by Robert Osfield, add - set/getVolume support +Tue, 7 Nov 2006 14:26:48 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-06-28 12:59 robert +Tue, 7 Nov 2006 13:48:20 +0000 +Checked in by : Robert Osfield +Ben van Basten, "1 Bug fix in reuseParticle where originally an old particle that was already killed would be killed again, but instead should have been placed on the dead stack for future reuse.2 Getter/setter for _maxNumberOfParticlesToSkip that is used for filtering of particles during draw. This enables you to turn the filtering of by setting this value to zero. - * From Trajce Nikolov, fixes to pbuffer setup +3 Getter for retrieval of the first particle in the trail. This allows you to directly manipulate the trail from your application by walking from the start particle towards the end of the trail." -2007-06-28 09:51 robert +Submitted on Ben's behalf by Roland Smeenk. - * From Nikolaus Hanekamp, added support for osg::Multisample -2007-06-27 20:44 robert - * From Stephan Huber, "attached you'll find a first implementation - of pbuffer-support for os x. - - I used osgprerender --pbuffer to test the carbon-implementation, - for now - it works :) - " +Tue, 7 Nov 2006 13:43:01 +0000 +Checked in by : Robert Osfield +Added initial cut of osgShadow::OccluderGeometry -2007-06-27 20:36 robert +Tue, 7 Nov 2006 13:26:31 +0000 +Checked in by : Robert Osfield +Changed debug output from NOTICE to INFO - * From Paul Melis, "Here is a list of fixes to misspelled APIs. - Unfortunately, more than one - of these are public APIs and therefore will break linkage to - existing - shared libraries." - - Note from Robert Osfield, updated wrappers. +Tue, 7 Nov 2006 13:00:14 +0000 +Checked in by : Robert Osfield +From Tery Welsh, added support for inheriting all CameraNode CullSettings and then restoring the original values. -2007-06-27 20:34 robert +Tue, 7 Nov 2006 12:08:03 +0000 +Checked in by : Robert Osfield +Removed debug comment. - * Added temporary reset of the RenderLeaf pointer for any internal - calls to other graphics contexts. +Tue, 7 Nov 2006 12:02:37 +0000 +Checked in by : Robert Osfield +From Mathias Froehlich, workaround fix for problematic run length encoded RGB files. Robert Osfield ammend workaround to support multi-byte colour channels. -2007-06-27 19:51 ewing +Mon, 6 Nov 2006 13:22:57 +0000 +Checked in by : Robert Osfield +Thanks to Björn Hein for spotting mistakes in EventQueue.cpp and StateSetManipulator, now fixed by Robert Osfield. Problems were:"StateSetManipulator.cpp (rev 1.12, l. 85): cyclePolygonMode() is called but +no aa.requestRedraw() afterwards. Is this intended? - * Minor build fixes. Changed/fixed GraphicsWindowCarbon to go into - api/Carbon instead of just api/ +EventQueue.cpp (rev 1.8): in keyRelease & keyPressed KEY_Alt_R was mapped to +MODKEY_LEFT_ALT" -2007-06-27 17:01 robert - * From Andy Skinner, fixed return value. -2007-06-27 11:14 robert +Fri, 3 Nov 2006 14:07:20 +0000 +Checked in by : Robert Osfield +Added osgViewer library to build list - * Updated wrappers +Thu, 2 Nov 2006 18:58:01 +0000 +Checked in by : Robert Osfield +Added IntersectionVisitor to wrappers -2007-06-27 10:37 robert +Thu, 2 Nov 2006 17:07:32 +0000 +Checked in by : Robert Osfield +Added IntersectionVisitor to osgUtil project - * From Rajce Nickolov, improvements to PixelBufferWin32 and - GraphicsWindowWin32 +Thu, 2 Nov 2006 17:05:46 +0000 +Checked in by : Robert Osfield +Added convinience constructors to help support picking with the new osgUtil::Intersector classes. -2007-06-27 10:12 robert +Thu, 2 Nov 2006 15:50:04 +0000 +Checked in by : Robert Osfield +Added basic PolytopeIntersector functionality based on checking vertices against polytopes. - * Added texture format into Traits. +Thu, 2 Nov 2006 15:40:42 +0000 +Checked in by : Robert Osfield +Renamed osgviewer.dsp to osgviewerapplication.dsp and fixed directory name of osgsimpleviewerProducer -2007-06-27 09:44 robert +Thu, 2 Nov 2006 15:22:38 +0000 +Checked in by : Robert Osfield +Fixed bug in Polytope::contains(const std::vector& vertices) which resulted in false positives. - * Fixed target setting bug in PixelBuffer RTT set up. +Thu, 2 Nov 2006 12:32:41 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-06-26 17:12 robert +Thu, 2 Nov 2006 12:27:15 +0000 +Checked in by : Robert Osfield +Moved SimpleViewer and GraphicsWindow into their own osgViewer library, updated simpleviewer examples to reflect this change - * Added missing cmake macros +Thu, 2 Nov 2006 12:17:06 +0000 +Checked in by : Robert Osfield +Added prelimnary work on PolytopeIntersector. -2007-06-26 11:31 robert +Wed, 1 Nov 2006 17:18:45 +0000 +Checked in by : Robert Osfield +Improved handling of projected coords in new intersection classes - * Reverted to using non silhouette computation. +Wed, 1 Nov 2006 14:41:32 +0000 +Checked in by : Robert Osfield +Added support for osgUtil::Intersectors being in WINDOW, PROJECTION, VIEW or MODEL coordinates -2007-06-25 13:48 robert +Tue, 31 Oct 2006 12:59:51 +0000 +Checked in by : Robert Osfield +Implemented HeightAboveTerrain and added usage into osgintersection - * Changed the RTT Camera so that it doesn't automatically recompute - the near and far planes +Tue, 31 Oct 2006 08:41:24 +0000 +Checked in by : Robert Osfield +Added LineOfSight and HeightAboveTerrain classes -2007-06-25 11:32 robert +Mon, 30 Oct 2006 20:29:06 +0000 +Checked in by : Robert Osfield +Added osgSim::LineOfSight and osgSim::HeightAboveTerrain classes - * From Trajce Nickolov, improvements to PixelBufferWin32. +Mon, 30 Oct 2006 12:39:05 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-06-25 08:35 robert +Mon, 30 Oct 2006 12:28:37 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, "Attached is a fix to get the proper normals on an md2 model, actually the way it was before would sometimes lead to a crash since it was attaching the wrong array to the geometry..." - * Set the eol style on CMake .txt files to native +Mon, 30 Oct 2006 12:23:37 +0000 +Checked in by : Robert Osfield +From Vladimir Shabanov, "The DDS plugin didn't correctly read mipmapped A8L8 textures. I've attached a small fix for this.Cause: uncompressed mipmap handling was done only for RGB pixel format. -2007-06-24 10:55 robert +Fix: added condition for handling alpha and luminance formats too." - * Updated wrappers -2007-06-24 10:18 robert - * From Trajce Nikolov, PixelBufferWin32 implementation +Mon, 30 Oct 2006 12:19:41 +0000 +Checked in by : Robert Osfield +From Michael Henheffer, "There's a problem with OverlayNodes where the texture will not display if continuous updating is set to false.The problem was being caused by the camera update call never being made +if continuous updating was not set to true. This fix adds a flag that +is set when dirtyOverlayTexture() is called and checked in the update +visitor section of the traversal to determine if the camera should be +updated. -2007-06-23 21:55 robert +I tested the fix by making some changes to the osgAnimate example +program so it has continuous updating off and calls dirtyOverlayTexture +for each frame. The overlay texture now displays properly." - * Simplified decoration code and added support for reading - Traits::supportsResize -2007-06-23 21:54 robert - * Set the Traits::supportsResize flag to true in default - constructor. +Mon, 30 Oct 2006 12:14:00 +0000 +Checked in by : Robert Osfield +From Edgar Ellis, " method may not take the node into consideration when computing its bound.In this case of: +switch->insertChild(0, child, false); +switch->insertChild(1, child, true); -2007-06-23 11:24 robert +child will not be used in computeBound, but will be drawn. - * Reorder the setProjectionMatrix.. mathod +Solution: +Changed compute bound to loop over children using an index instead of an +iterator. This behaviour matches that of the traverse method." -2007-06-23 11:21 robert +----------------------------------------------- - * Added setting of the Camera's projection matrix to fit the - windowing aspect ratio. -2007-06-22 14:48 robert - * Added optional set up of pbuffers for background compilation of - the OpenGL objects - when database paging. +Mon, 30 Oct 2006 12:05:56 +0000 +Checked in by : Robert Osfield +From Michael Henheffer, "Bug: The reader would crash when trying to load a .tif image that contained an 8-bit color map. The crash occured at line 545:remap_row(currPtr, inbuf, w, red, green, blue); -2007-06-22 14:48 robert - * Added ability to compile OpenGL objects via pbuffers in the - DatabasePager/Viewer +Cause: The code was trying to write past the end of the buffer while +doing this remapping. The size of the buffer is determined based on the +value of 'format', which was 1 in this case since bitspersample is +8(indicating a 8-bit color map). The buffer should have been created 3 +times as large since that 8-bit value is indexing a 24-bit color. -2007-06-21 16:14 robert - * Added explicit setting of updateText to have DYNAMIC data - variance. +Fix: I've put in an if statement to set format to 3 if 'photometric' +indicates the tif contains a palette as the output data will always be +24-bit color data in this case." -2007-06-21 11:20 robert - * From Trajce Nikolov, windows build fixes -2007-06-20 12:34 robert +Mon, 30 Oct 2006 11:55:02 +0000 +Checked in by : Robert Osfield +From Mathieu Marache, fixed osgsimpleviewerQt4 so that it uses the correction options - * Added dummy init method +Mon, 30 Oct 2006 11:00:25 +0000 +Checked in by : Robert Osfield +Added handling of geometry indices offset when merging geometries with indices -2007-06-20 12:29 robert +Fri, 27 Oct 2006 15:11:17 +0000 +Checked in by : Robert Osfield +Added osgUtil::IntersectorGroup to handle groups of osgUtil::Intersectors - * Added placeholder for PixelBufferWin32 +Thu, 26 Oct 2006 16:52:10 +0000 +Checked in by : Robert Osfield +From Andrew Lorino and Robert Osfield, Improvements to the handling of texture paths -2007-06-20 12:01 robert +Thu, 26 Oct 2006 16:03:17 +0000 +Checked in by : Robert Osfield +Added beginings of new osgUtil::IntersectionVisitor and osgintersection class - * Corrected graphics context creation message +Thu, 26 Oct 2006 16:02:38 +0000 +Checked in by : Robert Osfield +Updatd wrappers -2007-06-20 12:00 robert +Tue, 24 Oct 2006 16:24:24 +0000 +Checked in by : Robert Osfield +Tweaked doxygen docs. - * Added code of support for contouring shaders +Tue, 24 Oct 2006 09:45:50 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-06-20 11:59 robert +Tue, 24 Oct 2006 09:06:28 +0000 +Checked in by : Robert Osfield +Added FadeText::setFadeSpeed and made internal data structures protected. - * Updated wrappers +Mon, 23 Oct 2006 15:29:59 +0000 +Checked in by : Robert Osfield +Changed the dependency list to use -losg -losgDB instead of OSG_LIBS -2007-06-20 11:59 robert +Sat, 21 Oct 2006 21:06:27 +0000 +Checked in by : Robert Osfield +Fixed OSX x86 endian issue in Quicktime movie plugin. - * Completed implementation of PixelBufferX11. +Tue, 17 Oct 2006 15:17:06 +0000 +Checked in by : Robert Osfield +From David Callu:" + the main problem is the wrapper generation: + The PropertyInfo class use MethodInfo class to access to the value. + When the property are define with the I_Property* macro, + the MethodInfo use by the property to have access to the value + are instancied in the I_Property* macro, but there + are already instantied by the I_Method* macro before -2007-06-19 17:12 robert - * Added beginnings of osgViewer::PixelBufferX11 + secondary problem: + - the function used by the property could no be customized + in the genwrapper.conf file + - an array property can't insert a value + - the std::map reflector (and indexedProperty in general) haven't remove method + - about the help in wrapper ... why not ... -2007-06-19 16:19 robert - * Added passing of arguments into constructor. -2007-06-19 09:16 robert + solution : + To use the function define by the I_Method, I add a MethodInfo variable in the I_Method0 macro + old macro : + #define I_Method0(ret, fn) (\ + params.clear(),\ + addMethod(new osgIntrospection::TypedMethodIn +fo0(qualifyName(#fn), &reflected_type::fn, params))) - * Removed OSGVIEWER_EXPORT + new macro : + #define I_Method0(ret, fn, signature, briefHelp, detailedHelp) \ + params.clear(); \ + osgIntrospection::MethodInfo* signature = addMethod(new osgIntrospection::TypedMethodInfo0(qualifyName(#fn), &reflected_type::fn, params, briefHelp, detailedHelp)); sink(signature) -2007-06-18 12:10 robert - * Added use of GLSL filters -2007-06-15 17:47 robert + the osgIntrospection::MethodInfo* signature is used by the I_Property macro to define the MethodInfo that it use - * From Martin Lavery, Updates to Packages + so for I_Property macro : + old macro : + #define I_PropertyWithReturnType(t, n, r) \ + cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ + I_Method0(t, get##n), \ + I_Method1(r, set##n, IN, t, value))) -2007-06-15 16:17 robert + new macro: + #define I_SimpleProperty(t, n, get, set) \ + get, \ + set)) - * Updated ChangeLog + The genwrapper has been modified in this way. + The method signature is define by the prototype of the method + For example, the "const char* libraryName();" have "__C5_char_P1__libraryName" for signature -2007-06-15 16:08 robert - * Fixed namespace + solution for secondary problem: + The genwrapper accept new tokens in the configuration to custumize the property. + The new PropertyInserter and the CustomPropertyInsertAttribute class has been defined + The PropertyRemover has been added to the StdMapReflector + The _briefHelp and _detailedHelp variable has been added in PropertyInfo, MethodInfo and ContructorInfo class -2007-06-15 14:57 robert - * Added default values for ambientBias -2007-06-15 14:26 robert - * From Martin Lavery, Update to Packaging -2007-06-15 14:02 robert - * Removed now redundent file + modification: -2007-06-15 13:43 robert + I have modify the genwrapper files + Configuration.cpp Configuration.h add some tokens to custumize the property + Doxyfile.template add the comment in the output xml + genwrapper.conf customize some property in osg::Geometry + RegistryBuilder.h RegistryBuilder.cpp add the process_help function (to extract help from xml) + TypeRegister.cpp TypeRegister.h optimize the property detection + TypeDesc.h TypeDesc.cpp modify FunctionDesc and PropertyDesc + WrapperGenerator.h WrapperGenerator.cpp modify the output - * For Win32 added BUILD_MFC_EXAMPLE option, default to OFF to try - and avoid - issues with users without MFC installed. - --This line, and -2007-06-15 13:12 robert - * Fixed handling of cases when no matrix is attached to - intersections -2007-06-15 12:59 robert + I also modify the fallowing osgIntrospection files: - * Added ShadowMap::s/getAmbientBias, updated NEWS and wrappers + include/osgIntrospection/Attributes add the PropertyInserter and the CustomPropertyInsertAttribute class + include/osgIntrospection/ConstructorInfo add the _briefHelp and _detailedHelp variable in the ConstructorInfo class + add access function for the two new variables (_briefHelp and _detailedHelp) + modify the constructor to define the two new variables (_briefHelp and _detailedHelp) + include/osgIntrospection/MethodInfo add the _briefHelp and _detailedHelp variable in the MethodInfo class + add access function for the two new variables (_briefHelp and _detailedHelp) + modify the constructor to define the two new variables (_briefHelp and _detailedHelp) + include/osgIntrospection/PropertyInfo add the _briefHelp and _detailedHelp variable in the PropertyInfo class + add access function for the two new variables (_briefHelp and _detailedHelp) + modify the constructor to define the two new variables (_briefHelp and _detailedHelp) + include/osgIntrospection/ReflectionMacro remove unused I_Property* macro + modify all I_Method macro to accept the help string + modify all I_Method macro to define a MethodInfo signature + include/osgIntrospection/Reflector add the PropertyInserter in StdVectorReflector and StdListReflector + add the PropertyRemover in the StdMapReflector + include/osgIntrospection/StaticMethodInfo modify all StaticMethodInfo* to accept the help in parameter + include/osgIntrospection/TypedMethodInfo modify all TypedMethodInfo* to accept the help in parameter + include/osgIntrospection/TypedConstructorInfo modify all TypedConstructorInfo* to accept the help in parameter + include/osgIntrospection/Type add the _briefHelp and _detailedHelp variable in the Type class -2007-06-15 12:48 robert +" - * Updated README. -2007-06-15 12:41 robert - * Changed the version format. +Tue, 17 Oct 2006 12:29:07 +0000 +Checked in by : Robert Osfield +Changed name osg osgshadow example.dsp to avoid MS conflicts -2007-06-15 10:15 robert +Tue, 17 Oct 2006 11:28:34 +0000 +Checked in by : Robert Osfield +Added osgshadow example - * Updated version numbers for 2.0 release +Sun, 15 Oct 2006 11:56:52 +0000 +Checked in by : Robert Osfield +Ported FLTK example across to using GraphicsWindow -2007-06-15 10:12 robert +Sun, 15 Oct 2006 11:39:35 +0000 +Checked in by : Robert Osfield +Ported across to using GraphicsWindow. - * Added handling of when mouse delta is too high, indicating a - inconsitency in the - the events. These changes prevent irratic high speed spinning - when releasing the - mouse point in a different screen from when the mouse event - started. +Sat, 14 Oct 2006 21:50:29 +0000 +Checked in by : Robert Osfield +From Chuck Seberion, added support reading ARB float format textures. -2007-06-15 09:29 robert +Sat, 14 Oct 2006 21:47:13 +0000 +Checked in by : Robert Osfield +From Terry Welsh, mplemented POINT_ROT_EYE. - * Fixed null pointer derefence bug +Sat, 14 Oct 2006 10:16:00 +0000 +Checked in by : Robert Osfield +From Paul de Repentigny, fix for dvide by zero crash under windows when toggle full screen in ogviewer. From Robert Osfield, tweak to the fix to add comment describing the extra check, and addition of check against width, and change to ==0 rather than <= 0. -2007-06-15 08:36 robert +Sat, 14 Oct 2006 10:07:21 +0000 +Checked in by : Robert Osfield +Fixed texture coordinates of cylinder ends. - * Addded missing namespace +Fri, 13 Oct 2006 14:00:08 +0000 +Checked in by : Robert Osfield +Added -losgDB to fix OSX build -2007-06-14 22:22 robert +Sat, 7 Oct 2006 11:57:28 +0000 +Checked in by : Robert Osfield +Added dae (COLLADA) plugin to OpenSceneGraph.dsw workspace. - * From Martin Lavery, Packaging Update +Sat, 7 Oct 2006 11:53:07 +0000 +Checked in by : Robert Osfield +Added project files for the osgsimpleviewerFLTK,GLUT,Producer,QT3,QT4 and SDL examples -2007-06-14 21:03 robert +Fri, 6 Oct 2006 14:46:50 +0000 +Checked in by : Robert Osfield +Fixed OSGSHADOW_LIBRARY define - * Updated wrappers +Fri, 6 Oct 2006 14:45:18 +0000 +Checked in by : Robert Osfield +Fixed library name -2007-06-14 20:58 robert +Fri, 6 Oct 2006 14:16:11 +0000 +Checked in by : Robert Osfield +First cut at class interfaces and stubs for implementations for the new osgShadow NodeKit - * Included shaders directly into source, added support for toggle - lighting on/off +Fri, 6 Oct 2006 13:04:48 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "Here's a patch discussed in the thread "OpenFlight Loader Discarding Material" on the osg-user mailing list." -2007-06-14 20:49 robert +Fri, 6 Oct 2006 11:02:34 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Martin Lavery, Packaging Updates +Fri, 6 Oct 2006 09:54:45 +0000 +Checked in by : Robert Osfield +Removed osgGA::GUIEventHandlerVisitor and osgGA::SetSceneVistor classes/headers as this classes weren't being actively used the distribution, effectively being noops. -2007-06-14 20:48 robert +Fri, 6 Oct 2006 06:58:04 +0000 +Checked in by : Robert Osfield +Added workaround for NVidia driver bug into SceneView::init() to prevent the extensions string being initialized within a display list. - * From Martin Lavery, Packaging Updates +Thu, 5 Oct 2006 14:32:39 +0000 +Checked in by : Robert Osfield +Removed deprecated GUIEventHandler method -2007-06-14 20:22 robert +Thu, 5 Oct 2006 10:59:50 +0000 +Checked in by : Robert Osfield +Renamed variable - * From Martin Lavery, Install script for the Xcode build +Thu, 5 Oct 2006 10:59:04 +0000 +Checked in by : Robert Osfield +Refactored osgsimpleviewerQT4 to implement a GraphicsWindowQT, and then use multiple inheritance to build the final SimpleViewerQT. -2007-06-14 19:17 robert +Thu, 5 Oct 2006 10:07:16 +0000 +Checked in by : Robert Osfield +Added a path with an experiemental GraphicsContexProducer implementation, and a test of mulitple inheritance. - * Fixed typo +Thu, 5 Oct 2006 10:06:19 +0000 +Checked in by : Robert Osfield +Added osgGA::GraphicsWindow base class that derives from osg::GraphicsContext but adds default overrides its pure virtue methods, and an EventQueue. -2007-06-14 16:09 robert +Wed, 4 Oct 2006 09:11:37 +0000 +Checked in by : Robert Osfield +Added osgGA depedency. - * From Martin Lavery, Fix to packaging +Tue, 3 Oct 2006 20:42:57 +0000 +Checked in by : Robert Osfield +Removed the redundent relaseGLObjects() method declerations -2007-06-14 15:51 robert +Tue, 3 Oct 2006 20:20:23 +0000 +Checked in by : Robert Osfield +From John Aughey, "Attached is the Optimizer.cpp file that has the fix to duplicate vertex and normal arrays if there is more than one reference to the data. This fixes the problem where the transforms are applied to the same vertex array multiple times if that vertex array is re-used within the model. " - * From Martin Lavery, addition of Packaging directory +Tue, 3 Oct 2006 19:55:24 +0000 +Checked in by : Robert Osfield +From John Aughey, "The id name of nodes are not being set in the daeReader::processNode method. The names are retained in most of the other osg::Nodes that are created. In this case, I have an external modeler creating models, and the name of component nodes are used to give that subtree different characteristics." -2007-06-13 21:15 robert +Tue, 3 Oct 2006 12:46:11 +0000 +Checked in by : Robert Osfield +Added osgDB to dependency of osgGA - * Updated wrapers, changelog, README and AUTHORS files for 1.9.9 - release +Tue, 3 Oct 2006 11:14:34 +0000 +Checked in by : Robert Osfield +Fixed bug related to clean up of text fonts. -2007-06-13 21:00 robert +Tue, 3 Oct 2006 09:55:28 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "This submission adds multitexture support for detecting translucent images used to enable alpha blending.Mesh was syncronized with featureset from Face record." - * Updated wrappers and Version numbers for 1.9.9 release -2007-06-13 20:56 robert - * From Paul Mellis, "Here's an updated README.txt with a few - spelling and grammer mistakes - fixed. I changed the wording slightly here and there. - Hope you don't mind me fiddling with this one... - - " +Tue, 3 Oct 2006 09:39:03 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "I think some nitpicking is required. The loop duration was added in OpenFlight version 15.8. With the attached changes the flasher unit on the spinnercar and the character_anim model from the Creator gallery behaves." -2007-06-13 20:52 robert +Mon, 2 Oct 2006 15:59:43 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "I've included render bin checks in the StateSet::compare function, because without them the Optimizer can incorrectly eliminate (otherwise identical) StateSets from different render bins." - * Added ability to set the keyboard bindings in the - RecordaAnimationPathHandler +Mon, 2 Oct 2006 15:38:31 +0000 +Checked in by : Robert Osfield +Added releaseGLObjects to NodeCallbacks, Drawable::DrawCallbacks and wired up osgProducer to use it when doing cleanup_frame. -2007-06-13 20:34 robert +Mon, 2 Oct 2006 15:09:49 +0000 +Checked in by : Robert Osfield +From Paul Martz, Bug fix for sequence node direction, It examines the number of children in the Group record destructor, so that the total duration of the sequence matches the specified loopDuration field. - * From Jeremy Moles & Robert Osfield, Added support for playback of - animation paths using 'Z' key +Mon, 2 Oct 2006 14:11:40 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "Here is the patch we discussed previously about adding a flag to CullSettings which allows CameraNode to inherit the clear color." -2007-06-13 19:54 robert +Mon, 2 Oct 2006 13:40:58 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "The ColorControl of osg::LightModel is never applied because it incorrectly checks for a valid OpenGL version. Instead of checking if the current version is exactly 1.2, it will check if the version is greater than 1.2." - * Added clear() +Mon, 2 Oct 2006 13:24:39 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, "Attached is a fix for loading the same file multiple times with the COLLADA plugin. dae->load will not return DAE_OK the second time a model is loaded, so a second check for DAE_ERR_COLLECTION_ALREADY_EXISTS has been added." -2007-06-13 19:53 robert +Mon, 2 Oct 2006 13:11:32 +0000 +Checked in by : Robert Osfield +From Edgar Ellis, "Changed return type of osg::equivalent methods from float/double to bool. " - * Added new shader support +Mon, 2 Oct 2006 13:07:50 +0000 +Checked in by : Robert Osfield +From Andreas Ekstrand, "Attached is a small bug fix in the DW plugin. The texture application matrix is read into a double matrix called mx, it was declared as 3x2, it's now fixed to 3x3." -2007-06-13 19:44 robert +Mon, 2 Oct 2006 11:47:55 +0000 +Checked in by : Robert Osfield +Added SERIALIZER to ReaderWriterDAE to make sure initialization is thread safe. - * From John Shue, fixed typo in CMakeLists.txt +Mon, 2 Oct 2006 11:38:25 +0000 +Checked in by : Robert Osfield +From Andreas Ekstrand, "Attached is a modified ReaderWriterDAE.cpp which creates the one and only DAE instance when it's first needed instead of in the constructor. This fixes the problem with osgdb_dae.dll not being loaded due to unwanted ordering of global initialization.This fix and the previous fix of the COLLADA plugin might be unnecessary +with the latest COLLADA DOM, but since many of us will probably still +use the older version of the DOM, I guess it's better this way. +" -2007-06-13 15:32 robert - * Added passing of arugments into viewer constructor -2007-06-13 14:42 robert +Mon, 2 Oct 2006 11:34:45 +0000 +Checked in by : Robert Osfield +From Andreas Ekstrand, "It seems my changes to ESRIShape.dsp (to create an osgdb_shp.dll rather than an osgdb_ESRI.dll) were overwritten by later commits to this file. Here are the changes again, made from the latest version of ESRIShape.dsp." - * Removed SunOS hack as it didn't work.. +Mon, 2 Oct 2006 11:26:43 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "There was a bug in ParticleSystem where the bounds is not properly flagged as computed when there is only 1 particle. Attached is the fix." -2007-06-13 14:05 robert +Sun, 1 Oct 2006 19:19:31 +0000 +Checked in by : Robert Osfield +From Chris Hanson, "These changes break out the implementation of the fill/wireframe/point, texture, lighting and backface culling settings from the event handling code in StatesetManipulator into public methods. The event handler now calls the public methods. This allows user code to invoke this same functionality from non-keyboard event inputs without clashing with the keyboard-invoked functionality."From Robert Osfield, tweaks to the above to kepp the coding style the same as the rest of the OSG, also +made getPolygonMode() const, and updated the wrappers. - * Wired up new shaders -2007-06-13 13:41 robert - * Added better handling of 0,0,0 values +Sun, 1 Oct 2006 19:09:00 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "I have added "billboardCenter" as a reader option to use the center of a billboard as the pivot point." -2007-06-13 11:09 robert +Sun, 1 Oct 2006 19:00:39 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "I have corrected a byte swapping problem in the new OpenFlight plugin. It was only reading floats & doubles correctly on little endian systems, which require byte swapping, and not on big endian systems which don't require any swapping." - * Added OSG_SCREEN and OSG_WINDOW env var checking in the - Viewer::realize() +Sun, 1 Oct 2006 16:14:16 +0000 +Checked in by : Robert Osfield +Added GLUT based osgsimpleviewerGLUT example -2007-06-13 10:45 robert +Sun, 1 Oct 2006 16:12:21 +0000 +Checked in by : Robert Osfield +Added Producer based osgsimplerviewerProducer example - * Updated wrappers +Sun, 1 Oct 2006 16:10:33 +0000 +Checked in by : Robert Osfield +Added FLTK example app - osgsimpleviewerFLTK. -2007-06-13 10:38 robert +Sun, 1 Oct 2006 13:26:02 +0000 +Checked in by : Robert Osfield +Added osgsimpleviewerQT4 example - * Added osgViewer::View::setUpViewInWindow(...) method and command - line option into - osgViewer::Viewer to allow you to specify the window dimentions - and screen for - the window on startup. +Sun, 1 Oct 2006 11:08:40 +0000 +Checked in by : Robert Osfield +Refactored the SDL example so that the event conversion in done is a seperate method. -2007-06-13 10:31 robert +Sat, 30 Sep 2006 20:06:26 +0000 +Checked in by : Robert Osfield +Added a based SDL viewer - osgsimpleviewerSDL - * From Martin Lavery, osgShadow plugin added to Xcode project. +Sat, 30 Sep 2006 20:05:56 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-06-13 10:12 robert +Sat, 30 Sep 2006 20:05:36 +0000 +Checked in by : Robert Osfield +Cleaned up build and indenting - * Fixed versioning +Sat, 30 Sep 2006 16:30:31 +0000 +Checked in by : Robert Osfield +Various clean ups to comments -2007-06-13 09:56 robert +Sat, 30 Sep 2006 16:29:08 +0000 +Checked in by : Robert Osfield +Added SimpleViewer - * Removed ParallelSplitShadowMap as its currently a non op. +Sat, 30 Sep 2006 16:26:53 +0000 +Checked in by : Robert Osfield +Added osgsimpleviewerQT3 example -2007-06-13 08:56 robert +Sat, 30 Sep 2006 14:12:36 +0000 +Checked in by : Robert Osfield +Moved osgGLUTsimple and osgGLUTkeyboardmouse across to using osgGA::SimpleViewer - * Added -lrt in for SunOS build +Sat, 30 Sep 2006 14:10:15 +0000 +Checked in by : Robert Osfield +Added subclassing from osg::Referenced to allow the SimpleViewer to be safely managed on the heap. -2007-06-12 19:46 robert +Sat, 30 Sep 2006 13:41:01 +0000 +Checked in by : Robert Osfield +Added check to init to prevent crash when no camera manipulator is supplied. - * Updated wrappers +Fri, 29 Sep 2006 21:44:31 +0000 +Checked in by : Robert Osfield +Added false to setWindowRectangle() call as the InputRange is already set correctly. -2007-06-12 18:58 robert +Fri, 29 Sep 2006 18:47:20 +0000 +Checked in by : Robert Osfield +Added preliminary DatabasePager support. - * Added StatsHandler +Mon, 25 Sep 2006 16:25:53 +0000 +Checked in by : Robert Osfield +Added bare bones osgGA::SimpleViewer class to help simplify OSG setup when embedding the OSG into existing GUI applications, and for one one a single camera, single window is required. -2007-06-12 18:56 robert +Thu, 21 Sep 2006 15:09:10 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Refactored the dome correction code to support movie flipping. +Thu, 21 Sep 2006 11:26:18 +0000 +Checked in by : Robert Osfield +From Eric Wing, updated to Xcode projects -2007-06-12 16:55 robert +Thu, 21 Sep 2006 10:38:06 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I made a small modification to the CullVisitor class so that it uses the inheritance mask of CameraNodes with respect to the compute near/far mode." - * Added Image::g/setOrigin to help movie plugins tell applications - that the imagery - is not the usual OpenGL BOTTOM_LEFT orientation, but with the - origin TOP_LEFT. This - allows geometry setup code to flip the t tex coord to render the - movie the correct way up. +Thu, 21 Sep 2006 10:01:27 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, added function for querring whether a mode is a texture related mode or not. -2007-06-12 15:57 robert +Thu, 21 Sep 2006 09:50:10 +0000 +Checked in by : Robert Osfield +From Loic Dachary, renamed _mips to of_mips to prevent compile problem under MIIPS - * Added in QT4 keyboard event adaption +Thu, 21 Sep 2006 09:24:10 +0000 +Checked in by : Robert Osfield +Rationalized on the number of libs required. -2007-06-12 15:52 robert +Thu, 21 Sep 2006 08:56:19 +0000 +Checked in by : Robert Osfield +Removed use osg OSG_LIBS, changing to just -losg and -losgDB. - * UPdated wrappers +Wed, 20 Sep 2006 15:48:27 +0000 +Checked in by : Robert Osfield +Updated positions of the text labels to make them move obvious on start up -2007-06-12 15:38 robert +Wed, 20 Sep 2006 13:41:33 +0000 +Checked in by : Robert Osfield +Added missining initialization of _radius in constructors - * From Stephan Huber, "while porting my own code to the new - osgViewer I discover more and more - bugs in the Carbon-implementation of GraphicsWindow, so here's - another - fix for setWindowDecorationImplementation, now updates the - titlebar-height, and fixes some display-issues when switching the - decoration on/off. - " +Wed, 20 Sep 2006 13:40:58 +0000 +Checked in by : Robert Osfield +Added use of ClusterCullingCallback -2007-06-12 15:32 robert +Wed, 20 Sep 2006 12:58:34 +0000 +Checked in by : Robert Osfield +Created stress test of fade text labelling - * Moved the className, libraryName and isSameAs into public. +Wed, 20 Sep 2006 10:36:21 +0000 +Checked in by : Robert Osfield +Updates for fade text to work properly, but only in perspetive views at present. -2007-06-12 14:43 robert +Tue, 19 Sep 2006 22:57:23 +0000 +Checked in by : Robert Osfield +Further work on fade text. - * Changed _data to _movieData to avoid possible confusion +Tue, 19 Sep 2006 20:19:29 +0000 +Checked in by : Robert Osfield +Further work on osgText::FadeText implementation. -2007-06-12 14:20 robert +Tue, 19 Sep 2006 13:54:04 +0000 +Checked in by : Robert Osfield +Fixed reading/writing of non C string osg::Text::String's. - * From Martin Lavery and Robert Osfield, Updated examples to use a - variation of the MIT License +Mon, 18 Sep 2006 21:03:23 +0000 +Checked in by : Robert Osfield +Added osgfadetext example to VS projects -2007-06-12 11:31 robert +Mon, 18 Sep 2006 20:54:48 +0000 +Checked in by : Robert Osfield +Introduced new osg::View, and osg::RenderInfo classes into the core OSG to help handle scenes with multiple views with elements that need coordinating on a per view basis.Added beginings of new osgText::FadeText class (not functionality yet). - * From Martin Lavery, fix to Xcode Resources -2007-06-12 10:37 robert - * From Martin Lavery, Fix of OpenSceneGraph-Data linking +Fri, 15 Sep 2006 13:11:00 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, "I've fixed the dae plugin so it is only using one instance of the DAE. The crashes seen earlier are gone, it is now possible to read multiple .dae files and converting both to and from .dae files." -2007-06-12 10:19 robert +Fri, 15 Sep 2006 10:21:24 +0000 +Checked in by : Robert Osfield +Added a _threadHoldingMutex = 0; to ReentrantMutex::unlock() to avoid a potential bug with the mutex being aquired by two threads. - * Build fixes for QT4 +Wed, 13 Sep 2006 16:38:17 +0000 +Checked in by : Robert Osfield +Returning revion number to 0 to signify CVS version -2007-06-12 09:55 robert +Wed, 13 Sep 2006 14:55:53 +0000 +Checked in by : Robert Osfield +Added extra comment explaining where state reset() should be called. - * Changed the throw dection time to 0.02 +Wed, 13 Sep 2006 14:00:19 +0000 +Checked in by : Robert Osfield +From Eric Wing, updates to OSX build notes. -2007-06-12 08:30 robert +Wed, 13 Sep 2006 13:50:38 +0000 +Checked in by : Robert Osfield +Fixed GPU stats display bug. - * Work in progress on perspective view dependant codes +Wed, 13 Sep 2006 13:33:36 +0000 +Checked in by : Robert Osfield +Correct HP's AIX to IBM's AIX. -2007-06-12 08:29 robert +Tue, 12 Sep 2006 19:15:04 +0000 +Checked in by : Robert Osfield +Updated version for 1.2 release - * Added screen number, and flip support into dome correction codes. +Tue, 12 Sep 2006 19:09:59 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 1.2 release -2007-06-12 08:28 robert +Tue, 12 Sep 2006 15:21:41 +0000 +Checked in by : Robert Osfield +Fixed the drawArrays() method checking of _drawArrayPtr - * From Stephan Huber, "the computation of the windowtitlebar-height - was wrong, attached you'll - find a fixed version for GraphicsWindowCarbon.cpp - " +Tue, 12 Sep 2006 12:35:20 +0000 +Checked in by : Robert Osfield +Added a check for zero length line segment in bool LineSegment::intersect(const BoundingSphere& bs,float& r1,float& r2) const. -2007-06-10 20:46 robert +Tue, 12 Sep 2006 10:52:32 +0000 +Checked in by : Robert Osfield +Updated ChangeLog fro 1.2 release - * Added support for specifying external overlay file. +Tue, 12 Sep 2006 10:46:59 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file for 1.2 release -2007-06-10 20:12 robert +Tue, 12 Sep 2006 09:28:00 +0000 +Checked in by : Robert Osfield +Updated NEWS for 1.2 release - * Updated wrappers +Tue, 12 Sep 2006 09:26:42 +0000 +Checked in by : Robert Osfield +Revised the osg::ClampColor API to allow vertex, fragment and read color clamping to be applied together. -2007-06-10 19:53 robert +Fri, 8 Sep 2006 20:08:01 +0000 +Checked in by : Robert Osfield +From Bryan Thrall, fix to Optimizer::MergeGeometryVisitor so that it checks the permissable operation status on Drawables. - * From Stephan Huber and Robert Osfield, - - Stephan: "attached you'll find some modifications to the - GraphicsWindow-class and - their platform-dependant implementations. - - The problem: - setWindowRectangle and setWindowDecoration do not update the - traits-object, so, if you call setWindowRectangle on a - not-realized-window it will open with another size when realized - later. - getWindowRectangle reports possible wrong sizes if - setWindowRectangle - called before. - - My solution: - split the implementation in two parts: - GraphicsWindow::setWindowRectangle will update its traits-object - and - call afterwards the virtual method - setWindowRectangleImplementation - (which is implemented by the derived platformspecific classess). - For - setWindowDecoration I am useing a similar mechanism. - - I hope you'll find the submission useful, the Win32 and X11 - changes are - not tested but should work." - - Changes to this made by Robert are call of resized in - setWindowRectangle - instead of setting of Traits, and use of a bool return type. +Fri, 8 Sep 2006 14:31:50 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS file for 1.2 release -2007-06-10 19:22 robert +Fri, 8 Sep 2006 13:24:03 +0000 +Checked in by : Robert Osfield +Cleaned up NEWS for 1.2 release - * From Vladimir Shabanov, "osg::Image::isImageTranslucent() now - handles - GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, - GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, - GL_UNSIGNED_INT_10_10_10_2, GL_UNSIGNED_INT_2_10_10_10_REV and - GL_HALF_FLOAT_NV pixel formats." +Fri, 8 Sep 2006 10:46:05 +0000 +Checked in by : Robert Osfield +From Eric Wing, updated to Xcode projects -2007-06-10 19:18 robert +Fri, 8 Sep 2006 10:07:41 +0000 +Checked in by : Robert Osfield +Added link to website for build docs. - * From Vladimir Shabanov, "DDS plugin now works with these formats: - R3G3B2, R5G6B5, A1R5G5B5, X1R5G5B5, A4R4G4B4, X4R4G4B4, R8G8B8 - (now - without swaping of red and blue), A8R8G8B8 (also w/o swapping), - X8R8G8B8, A8B8G8R8, X8B8G8R8, A2R10G10B10, A2B10G10R10, L4A4 (not - work - on my machine), L16A16, L16, A16B16G16R16, A16B16G16R16F, - Q16W16V16U16, R32F, R16F and A32B32G32R32F. - - And these ones are correctly detected, but prints "unsupported" - using - osg::notify(osg::WARN) and are not loaded: - A8R3G3B2, G16R16, G16R16F, G32R32F and CxV8U8. - - Also added checking of not supported DDPF_BUMPDUDV (V8U8, V16U16, - Q8W8U8L8, A2W10U10V10 etc.) and DDPF_BUMPLUMINANCE (L6V5U5, - X8L8V8U8, - etc.) pixel formats. - - Mipmap handling is slightly modified and now support all - additional formats. - " +Fri, 8 Sep 2006 10:07:04 +0000 +Checked in by : Robert Osfield +From Mike Wittman, perl script to help remain project files for dumb VisualStudio 6.0 limitations. -2007-06-10 18:17 robert +Thu, 7 Sep 2006 10:41:38 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, added missing export to fix osgTerrain wrapper linking under VS - * From Olaf Flebbe, "support current zlib and libpng library names - for win32 3rdParty builds." +Wed, 6 Sep 2006 20:11:02 +0000 +Checked in by : Robert Osfield +Updated osgTerrain wrapper project file with gdal dependencies. -2007-06-10 09:51 robert +Wed, 6 Sep 2006 14:10:13 +0000 +Checked in by : Robert Osfield +Tweak to NEWS - * Improved the set up of static build, added freetype plugin to - plugins that support static usage +Wed, 6 Sep 2006 13:53:48 +0000 +Checked in by : Robert Osfield +Made get methods const -2007-06-09 19:18 robert +Wed, 6 Sep 2006 09:46:32 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "The previous submission didn't handle Objects with transforms. The attached file corrects this.I also removed the multitexture macro for the Object record. Only +Face and Mesh records are valid targets." - * Added default file in case no file arguments are provided. - Changed to use - standard ThreadingHandler by default. -2007-06-09 17:58 robert - * Improved the detection of throwing of the mouse. +Tue, 5 Sep 2006 20:18:21 +0000 +Checked in by : Robert Osfield +From Eric Wing, updates to Xcode projects -2007-06-09 10:18 robert +Tue, 5 Sep 2006 17:15:58 +0000 +Checked in by : Robert Osfield +Removed reference to Sony in COLLADA news entry. - * Updated wrappers +Tue, 5 Sep 2006 15:22:54 +0000 +Checked in by : Robert Osfield +Updated NEWS, AUTHORS file and osgversion for the 1.2-rc1 -2007-06-09 10:07 robert +Tue, 5 Sep 2006 15:09:14 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * Removed the command line parameters form the examples that now - have a default - file built into them. +Tue, 5 Sep 2006 09:51:33 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, build fixes for Windows. -2007-06-09 10:06 robert +Tue, 5 Sep 2006 09:13:19 +0000 +Checked in by : Robert Osfield +Updated to compile against changes to osgTerrain - * Added DisplaySettings to osg::Camera, and support into osg::View - for initializing - the Camera to the DisplaySettings ScreenWidth/Height/Distance. - Added support - for dual screen horizontal split stereo. +Tue, 5 Sep 2006 08:56:27 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-06-08 20:11 robert +Tue, 5 Sep 2006 08:46:34 +0000 +Checked in by : Robert Osfield +From Paul Martz, warning fixes for Cygwin. - * Added debug code path that prints out font details. +Tue, 5 Sep 2006 08:44:51 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "I have added an optimization to the OpenFlight plugin. By default it ignores the Object records if it's safe to do so. The reader option preserveObject prevents this optimization.I have also removed the flat shading attribute set by the Object +record. This flag is only intended for the "Calculate Shading" +operation in Creator." -2007-06-08 16:47 robert - * From Eric Wing, interface files -2007-06-08 16:05 robert +Mon, 4 Sep 2006 20:43:07 +0000 +Checked in by : Robert Osfield +Added support for imagery and DEM's that wrap around the dateline, this required two passes over the copying of imagery and DEM's to the destination graphs, once for the original position, and once for the wrap around 360 degrees on or before.Also fixed the GeospationExtents constructor that was setting the _max to DBL_MIN rather +than -DBL_MAX. This bug causesd the y axis to be computed incorrectly. - * Removed empty directory -2007-06-08 16:05 robert - * Removed empty directory +Mon, 4 Sep 2006 13:35:26 +0000 +Checked in by : Robert Osfield +Missing part of Farshid Laskari's submission relating to CameraNode RenderOrder. -2007-06-08 15:37 robert +Mon, 4 Sep 2006 13:22:51 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Martin Lavery and Robert Osfield, added fallbacks for when - now command line args are provided. +Mon, 4 Sep 2006 13:15:08 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari,"I've made some changes to osg which I think make it easier to control +the render order of CameraNode's. Instead of using the built-in orders +(PRE_RENDER, POST_RENDER, NESTED_RENDER), you can specify an integer +order. Values less than zero are pre rendered in order. Values greater +than zero are post rendered in order. And a value of 0 is equivalent +to NESTED_RENDER. -2007-06-08 15:29 robert +The changes should be fully backward compatible. Also, I changed the +RenderStageList type from a vector to a list because I needed to be +able to insert values anywhere in the list. - * Added fallback for when no command line args are provied. +The reason I made these changes was because I wanted to be able to set +the render order of a CameraNode at runtime without having to reorder +it in the scenegraph." -2007-06-08 15:11 robert +and later in the final submission message (relating to what has been finally been merged) : - * Added default file when no command line options are supplied. +"I've rethought my implementation and came up with something a little +better. The setRenderOrder will continue to take an enum, but will +have an optional orderNum parameter which can be both positive and +negative. I think this method is more intuitive and flexible." -2007-06-08 15:06 robert - * Added fallback for when no command line args are passed in. -2007-06-08 15:03 robert +Mon, 4 Sep 2006 12:52:09 +0000 +Checked in by : Robert Osfield +Cleaned up the texture setup code. - * From Martin Lavery, Linking of example Data files for the Xcode - Projects +Mon, 4 Sep 2006 12:46:49 +0000 +Checked in by : Robert Osfield +Added osg::TexMat::s/getScaleByTextureRectangleSize feature that allows one to use the osg::TexMat to automatically scale non dimensional tex coordinats to the size of the last texture rectangle applied. -2007-06-08 12:16 robert +Mon, 4 Sep 2006 06:51:07 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, removed debug message being written to the console. - * Removed command line args for examples ported across to not need - them. +Mon, 4 Sep 2006 06:47:05 +0000 +Checked in by : Robert Osfield +Removed typedef TypeList from osgintrospection -2007-06-08 12:15 robert +Sat, 2 Sep 2006 14:27:42 +0000 +Checked in by : Robert Osfield +Added setting of position.w to 1.0 and removed zscale hack. - * Added default command line arg +Fri, 1 Sep 2006 13:34:05 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-06-08 12:13 robert +Fri, 1 Sep 2006 13:22:37 +0000 +Checked in by : Robert Osfield +From David Callu, add reflection of std::wstring in the DefaultReflector - * Added default file load to avoid the need for command line - option. +Fri, 1 Sep 2006 12:52:15 +0000 +Checked in by : Robert Osfield +From David Callu, "bug fix to reflect the wchar_t in Value and Value.cpp I add the toWString() function. in Type and Type.cpp I just add two function to get a map of propertyList and a map of methodList i need this map in my editor a i think it's could be util to put this functionnality in osgIntrospection, -2007-06-08 11:04 robert +Fri, 1 Sep 2006 12:46:45 +0000 +Checked in by : Robert Osfield +Removed the String inhertiance from osg::Referenced. - * From Stephan Huber, "attached you'll find a new - GraphicsWindowCarbon-header and .cpp, the - changes I made: - - + put a warning in the console if a nonexistant screen is - requested - + add getters for the aglcontext and pixelformat -- I need access - to - them in my own code. - " +Thu, 31 Aug 2006 20:55:46 +0000 +Checked in by : Robert Osfield +Updated Version number for 1.2 release -2007-06-08 10:58 robert +Thu, 31 Aug 2006 20:54:28 +0000 +Checked in by : Robert Osfield +Updated version numbers of the up comming 1.2 release - * From Jason Daly, "We have a few OpenFlight files that used to - display properly with the - old loader, but appear very, very wrong with the new one. I - traced the - problem to the handling of the palette override flags in the - external - reference records. The current behavior for handling the palette - override flags for external references has different offsets for - different OpenFlight version (2 bytes for 14.2-15.1 and 4 bytes - for 15.2 - and later). However, I believe this behavior is incorrect. - - I know that the original 14.2 OpenFlight spec (dated April 1995) - specifies 2 bytes between the filename and the override flags, - and the - 15.4 and later specs specify 4 bytes. However, I also found a - 14.2.4 - OpenFlight spec (dated January 1996) that changes the - specification to 4 - bytes. Also, the databases in question were created using an old - IRIX - version of MultiGen II, which wrote OpenFlight 14.2 files - natively. - These files also have 4 bytes between the filename and flags. - Furthermore, these databases have always worked properly under - earlier - versions of OSG, under Performer, and in every MultiGen product - we've used. - - This leads me to believe that the original 14.2 spec was - incorrect (the - 14.2.4 spec corrected this error), and there should be 4 bytes - between - the filename and flags for all OpenFlight files version 14.2 and - later. - - The attached fix modifies the OpenFlight loader to behave in this - way." +Thu, 31 Aug 2006 20:48:49 +0000 +Checked in by : Robert Osfield +From Eric Wing, "Attached is a change for GLExtensions.cpp that allows OS X to use dlopen/dlsym instead of NS*Symbol* functions for 10.3 or later. The latter is now deprecated.I'm not completely sure how to test the changes. But I compiled these +new changes in and ran the osgvertexprogram and osgshaders examples +and they seemed to display the same results as before. -2007-06-08 10:43 robert +With respect to the use of dlopen and dlsym, I was uncertain if the +usage should look like Sun or FreeBSD (or something else). Apple's man +pages discourage the use of RTLD_DEFAULT so I avoided the FreeBSD +implementation and copied the Sun implementation. I'm not sure if this +is correct/ideal or not." - * From Eric Wing, build fix -2007-06-08 10:43 robert - * From Eric Wing, build fix +Thu, 31 Aug 2006 20:26:56 +0000 +Checked in by : Robert Osfield +Updated NEWS for 1.2 release and added COLLADA plugin -2007-06-08 10:42 robert +Thu, 31 Aug 2006 15:47:47 +0000 +Checked in by : Robert Osfield +Fixed typo on OSG_PROCESSOR_AFFINITY env var. - * Updated wrappers +Thu, 31 Aug 2006 15:39:23 +0000 +Checked in by : Robert Osfield +Fixed TextureAtlasVisitor bug where repeating textures were incorrectly assigned as non repeating. -2007-06-08 10:22 robert +Thu, 31 Aug 2006 13:53:38 +0000 +Checked in by : Robert Osfield +Changed the external file writing to use the DatabasePathList for its path rather than the original files path. - * From Jason Daly, "This changes the handling of textures in the - OpenFlight loader. - Currently, if the texture attribute file doesn't explicitly - specify an - internal format, the loader will force it to use GL_RGB, which - keeps - translucent textures (eg. GL_RGBA textures) from showing up - properly. - - This patch changes the default behavior to simply use the image's - format - instead of forcing a particular format." +Thu, 31 Aug 2006 10:37:27 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-06-08 10:16 robert +Thu, 31 Aug 2006 10:10:42 +0000 +Checked in by : Robert Osfield +Made the inheritance of osg::Object in the DrawCallback to be virtual. - * From Eric Wing, "So, something strange happened to the repo and - some of this project's - files got messed up, most notiably the Nib and also the Localized - strings file. I didn't notice the latter until now so Martin is - missing this file. - - Anyway, the attached tar contains all new versions of all the - necessary files. There are cleanups and fixes to a lot of things. - Martin did a good job porting the thing to osg::Viewer so most of - the - code changes I made address other areas. - - Two things I noticed in the new port you might want to consider - as - feedback. First, there might be a bug with osgViewer when the - view - size goes to 0. If you play with the splitviews in this program - and - shrink the view until it is closed, and then re-expand it, the - model - doesn't come back, not even after a home() call. SimpleViewer - didn't - have this problem. - - Second, a more minor thing, this program has a - take-screenshot--and-copy-to-clipboard feature via Cmd-C (or Menu - item). I achieve this by using osg::Camera to render to an FBO - and - then copy the contents to Cocoa. To insert the camera, I - manipulate - the scenegraph so I can get the camera node in and out. I end up - calling setSceneData at the end of eveything to restore - everything to - the original state before I started mucking with the scenegraph. - This - unfortunately, triggers a home() reset. So in this particular - case, it - make Copy look like it's changing the scene. The old SimpleViewer - had - the same problem, but I was able to work around it by directly - invoking the underlying SceneView's setSceneData so the home() - mechanism was bypassed. The viewer design seems to protect this - data - more carefully so the bypass trick won't work. My feedback is - that - maybe a flag or extra parameter can be introduced so a reset is - not - triggered if not desired. - - I have checked in a ton of Xcode fixes for the entire build - process in - general so once this piece gets checked in, hopefully everything - will - build cleanly." +Thu, 31 Aug 2006 10:08:05 +0000 +Checked in by : Robert Osfield +Added support for CameraNode's PostDrawCallback. -2007-06-08 10:11 robert +Wed, 30 Aug 2006 19:33:13 +0000 +Checked in by : Robert Osfield +Added GPU stats to NEWS list - * From Mike Wittman, "This change to genwrapper and - osgIntrospection gives access to - the declaring file for a given type via the new member function - osgIntrospection::Type::getDeclaringFile. This information is - useful - in order to know what header to include when auto-generating - wrappers - for a given type. - - During the C# wrapper generator development I've been keeping the - declaring file configuration state up-to-date manually with - changes - to OSG, and it's proven to require substantial effort. So it - would be - extremely valuable to get this change in before 2.0 to reduce - maintenance - during the lifetime of the release. It'll also be equally useful - to - others looking to create wrapper generators using - osgIntrospection. - - This is a fairly simple change and was tested with a fresh - rebuild of the - entire suite of osgWrapper libraries, so it should be relatively - low risk - (fingers crossed)." +Wed, 30 Aug 2006 19:21:07 +0000 +Checked in by : Robert Osfield +Updated NEWS for rc2 -2007-06-08 09:45 robert +Wed, 30 Aug 2006 16:33:30 +0000 +Checked in by : Robert Osfield +To TextureAtlasBuilder add copying of border pixels into margins to help improve quality of lower mipmap levels. - * Added clean up of the view before destruction of the window +Wed, 30 Aug 2006 13:50:26 +0000 +Checked in by : Robert Osfield +From Mike Wittman, changed release build options to reduce binary bloat. -2007-06-08 09:17 robert +Wed, 30 Aug 2006 09:32:05 +0000 +Checked in by : Robert Osfield +In TextureAtlasVisitor code added catch for textures that have some geometry with texcoords within 0 to 1.0, but others others out of the 0 to 1 range, these textures are automatically rejected from consideration for adding to a texture atlas. - * Added const get*Matrix() methods +Tue, 29 Aug 2006 15:05:05 +0000 +Checked in by : Robert Osfield +To the TextureAtlasBuilder added detection of instance where a single drawable has multiple textures on the same texture unit inherited down to it from above. -2007-06-08 05:03 ewing +Tue, 29 Aug 2006 12:31:07 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Changed the version to 2.0.0 in the Info.plist in anticipation of - the official release. - I don't know what the OpenThreads version number will be, so that - has been left alone. +Tue, 29 Aug 2006 11:25:29 +0000 +Checked in by : Robert Osfield +Added GPU stats -2007-06-08 04:57 ewing +Tue, 29 Aug 2006 06:58:22 +0000 +Checked in by : Robert Osfield +Added TexMat(Matrix) constructor. - * Lots of various fixes to Xcode project. - - - Adding missing header files and making sure they are marked - public. - - - Support to copy headers in Viewer/api into the proper location - in framework - - - Internalized OpenThreads build so cross-project dependency is - not needed. Can now delete copy of OpenThreads project. - Frameworks use native Xcode linking mechanism. Plugins/Examples - still use explicit -framework OpenThreads. Could potentially be - problem is old OpenThreads is on the system. This can be changed - to use native mechanism too, but requires some patience because - it is tedious to change. - - - Lots of fixes to osgViewerCocoa (something got messed up pretty - badly...files are missing from repo). Another submission will - need to readd these files back. +Tue, 29 Aug 2006 00:10:43 +0000 +Checked in by : Don BURNS +Fixed a crash in removeInternalTriangles() for models without normals. -2007-06-07 21:43 shuber +Mon, 28 Aug 2006 19:37:40 +0000 +Checked in by : Robert Osfield +Added TexEnv object into Font and apply this in Text::drawImplementation to make sure that a valid TexEnv is applied - * Stephan Huber: fixed deploy-build for osgViewer +Mon, 28 Aug 2006 19:07:30 +0000 +Checked in by : Robert Osfield +From Roger James, improved mapping of AC3D lighting model to OSG -2007-06-07 21:07 robert +Mon, 28 Aug 2006 19:06:33 +0000 +Checked in by : Robert Osfield +Added support for logging StateSet usage in StatsVisitor. - * Updated wrappers +Mon, 28 Aug 2006 19:05:40 +0000 +Checked in by : Robert Osfield +Added env var docs -2007-06-07 20:26 robert +Mon, 28 Aug 2006 19:01:03 +0000 +Checked in by : Robert Osfield +From Roger James, "I have been going through my modified osg files and came across this fix to the Tesselator. From memory it handles a problem with per primitive normal binding. I must have forgotten to submit it." - * Commented out the Scene Stats entry as its not implemented yet. +Mon, 28 Aug 2006 15:46:02 +0000 +Checked in by : Robert Osfield +Futher work on TextureAtlasBuilder/Visitor, now functioning enough to deploy on real models. -2007-06-07 20:22 robert +Mon, 28 Aug 2006 10:49:37 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Martin Lavery, StatsHandler added to the ViewerCocoa example +Mon, 28 Aug 2006 10:46:39 +0000 +Checked in by : Robert Osfield +Further work on TextureAlasBuilder and TextureAtlasVisitor. -2007-06-07 13:49 robert +Sat, 26 Aug 2006 21:38:22 +0000 +Checked in by : Robert Osfield +Further work of TextureAtlasBuilder - * From Martin Lavery, update of *.nib files +Fri, 25 Aug 2006 16:31:28 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-06-07 13:48 robert +Fri, 25 Aug 2006 16:30:23 +0000 +Checked in by : Robert Osfield +Further work on new TextureAtlasBuilder. - * From Martin Lavery, update of *.nib files +Fri, 25 Aug 2006 15:53:16 +0000 +Checked in by : Robert Osfield +Checking in first cut of new osgUtil::Optimizer::TextureAtlasBuilder class for building texture atlas for sets of images or textures. -2007-06-07 13:44 robert +Fri, 25 Aug 2006 15:49:29 +0000 +Checked in by : Robert Osfield +Added missing setDataType and setPacking functions - * From Martin Lavery, update of *.nib files +Fri, 25 Aug 2006 14:54:54 +0000 +Checked in by : Robert Osfield +Added const version of getReadPBuffer() -2007-06-07 13:31 robert +Fri, 25 Aug 2006 14:53:09 +0000 +Checked in by : Robert Osfield +Fixed const correctness of get shadow functions - * From Martin Lavery, update of *.nib files +Fri, 25 Aug 2006 09:03:26 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-06-07 13:25 robert +Fri, 25 Aug 2006 08:48:16 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I was experiencing hard crashes of my application when using PBO's on machines that don't support PBO's. I think osg incorrectly checks if PBO's are supported.I added a new method to the BufferObject::Extensions class which +returns if the "GL_ARB_pixel_buffer_object" string is supported. This +fixes the problem on my end. Machines without PBO support will +continue to work and machines with PBO support will still be able to +use it." - * From Martin Lavery, update of *.nib files -2007-06-07 12:55 robert - * From Martin Lavery, port of ViewerCocoa and updates to Xcode - projects +Fri, 25 Aug 2006 08:42:17 +0000 +Checked in by : Robert Osfield +From Eric Wing, updates to Xcode project -2007-06-07 12:47 robert +Thu, 24 Aug 2006 20:16:25 +0000 +Checked in by : Robert Osfield +From David Guthrie, "I know there are 50,000 changes to osg/Math for OSX a day, but I think it can be simplified quite a bit. The old code includes for pre-10.2 and anything using something other than g++ 4 and then uses std::isnan. For the most current version, it leaves out cmath and uses isnan(). std::isnan and cmath work for the current version, so I just made it include cmath if __APPLE__ is defined and removed the ifdef between versions of OS X for isnan related things.This way the code is all the same, and it's not fragile to someone +including prior to including osg/Math." - * Removed the old SimpleView version of the Cocoa example -2007-06-07 12:46 robert - * Removed now not need SimpleViewer +Thu, 24 Aug 2006 20:15:32 +0000 +Checked in by : Robert Osfield +Simplified swap bytes code to make it more efficient. -2007-06-07 12:23 robert +Thu, 24 Aug 2006 16:33:23 +0000 +Checked in by : Robert Osfield +Add error message report to catch attempts to flip mipmap images. - * Added automatic stopping of animation when home() is called +Thu, 24 Aug 2006 13:16:38 +0000 +Checked in by : Robert Osfield +Fixed COLLDADA plugin name and remove osgmove example -2007-06-07 12:05 robert +Wed, 23 Aug 2006 15:25:43 +0000 +Checked in by : Robert Osfield +From Sebastien Grignard, fix to writing of dds files, write the source data directly rather using a series of memcpy. - * From Per Fahlberg, "To get the pfb (Performer) plugin to compile - I had to remove some of the - libraries listed under TARGET_EXTERNAL_LIBRARIES. - The removed libraries are not needed when linking the plugin, - they are - loaded during runtime by Performer. - The modified file is attached." +Wed, 23 Aug 2006 15:11:18 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, fixed typos -2007-06-07 11:19 robert +Wed, 23 Aug 2006 14:17:06 +0000 +Checked in by : Robert Osfield +From Daniel Larimer, fix for OSX 10.4 when gcc != 4 - * Introduced a destruct method to help clean up the Registry. +Wed, 23 Aug 2006 13:32:03 +0000 +Checked in by : Robert Osfield +From Andrew Lorino and Mike Weiblen, COLLADA 1.4.1 ReaderWriter, kindly developed and donated by Sony Computer Entertainment Inc. US R&D. -2007-06-07 11:06 robert +Wed, 23 Aug 2006 13:18:22 +0000 +Checked in by : Robert Osfield +Added sizeof(short int) - * Revert the signOrZero cade path in the getRotate() to fix bugs. +Wed, 23 Aug 2006 13:16:12 +0000 +Checked in by : Robert Osfield +Tweaks to osglogo to allow you to export alpha blended screenshots -2007-06-07 11:05 robert +Tue, 22 Aug 2006 19:10:48 +0000 +Checked in by : Don BURNS +Added osgUtil::Tesselator for SHapeType Polygon to handle concave polygons. - * Added support for using quat_scaled sx sy sz for testing getting - quats from scaled - matrices. Removed broken Matrixd/quat test +Tue, 22 Aug 2006 13:07:20 +0000 +Checked in by : Robert Osfield +From Vaclav Bilek, "The purpose of this change is to suppress "re-reading" of osg::ProxyNodes ( in OF external references) after the OF file is loaded. The change do conditional execution of already existing code.I use this for optimized preprocessing of large databases what can not +be loaded +in one pass because of memory limits." -2007-06-07 09:58 robert - * Added View::home() method and updated wrappers -2007-06-07 09:24 robert +Tue, 22 Aug 2006 12:49:02 +0000 +Checked in by : Robert Osfield +From Gary Quinn, updated to take account of new bin directory structure. - * Removed redundent files +Tue, 22 Aug 2006 12:46:13 +0000 +Checked in by : Robert Osfield +From Joran Jessurun, updated to look for lib/win32. -2007-06-07 08:52 robert +Tue, 22 Aug 2006 12:33:35 +0000 +Checked in by : Robert Osfield +Changed the default implementation of backdrop text to DEPTH_RANGE and tweaked the depth range values to minimize the depth rage witout causing z fighting on osgtext example. - * Updated wrappers +Tue, 22 Aug 2006 10:23:58 +0000 +Checked in by : Robert Osfield +From Eric Wing, fix for compute of the bounding box when handling outline/backdrop text. -2007-06-06 21:57 robert +Mon, 21 Aug 2006 21:09:40 +0000 +Checked in by : Robert Osfield +From Eric Wing, compile fix for OSX - * Updated ChangeLog, AUTHORES and README to 1.9.8 release +Mon, 21 Aug 2006 21:00:14 +0000 +Checked in by : Robert Osfield +From Eric Wing, updates to Xcode projects -2007-06-06 21:43 robert +Mon, 21 Aug 2006 20:29:32 +0000 +Checked in by : Robert Osfield +Added comments on the meaning of button value - * Updated version numbers for release +Mon, 21 Aug 2006 15:07:31 +0000 +Checked in by : Robert Osfield +Fixed 64 bit support -2007-06-06 17:01 robert +Mon, 14 Aug 2006 19:42:22 +0000 +Checked in by : Robert Osfield +Fixed texture optimization problem associated with mixing already compiled scene graphs - resulting in incorrect texture assignment. Solution was to a compareTextureObjects() test to the Texture*::compare(..) method that the osgUtil::Optimizer::StateSetVisitor uses to determine uniqueness. - * Revert the setting of SingleThreaded under Windows in - suggestBestThreadingModel() +Mon, 14 Aug 2006 11:03:43 +0000 +Checked in by : Robert Osfield +Ran dos2unix to fix inconsistent line endings -2007-06-06 16:27 robert +Mon, 14 Aug 2006 07:59:28 +0000 +Checked in by : Robert Osfield +From Paul Martz, "The gist of this change is, if the OpenFlight version of the parent file is so old that it doesn't support Light Point palettes or Shader palettes, then the parent file is not allowed to override those palettes in the child." - * Added #include +Sun, 13 Aug 2006 20:12:49 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 1.1.1 release -2007-06-06 16:23 robert +Sun, 13 Aug 2006 08:40:06 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, NEWS, osgversion and AUTHORS.txt for 1.1.1 release - * Fixed includes +Sun, 13 Aug 2006 08:24:19 +0000 +Checked in by : Robert Osfield +Changed the texture wrap mode to repeat -2007-06-06 15:22 robert +Sun, 13 Aug 2006 07:37:55 +0000 +Checked in by : Robert Osfield +From Chuck Sembroski, fixes for IRIX - * From Ulrich Hertlein, "on my MacOS X/cmake setup the zlib plugin - isn't built by default. This may be because zlib.h is - installed in /opt/local/include on my system (courtesy of - DarwinPorts). I've added a CMakeModule to - look for zlib.h and the library in various places. The files are - attached." +Sat, 12 Aug 2006 18:19:43 +0000 +Checked in by : Robert Osfield +Moved reset to 0 of _createReuseMatrixIndex from CullVistor.cpp to CullStack.cpp so that CullStack::reset works correctly for all subclasses - fixing a memory consumption issue with occluders -2007-06-06 14:51 robert +Sat, 12 Aug 2006 08:29:16 +0000 +Checked in by : Robert Osfield +Updated version number for 1.1.1 release - * Fixed includes +Sat, 12 Aug 2006 07:59:36 +0000 +Checked in by : Robert Osfield +Updated ChangelLog and AUTHORS file -2007-06-06 13:45 robert +Sat, 12 Aug 2006 07:43:37 +0000 +Checked in by : Robert Osfield +Removed Xcode 1.x projects - * From Martin Lavery, Updates to Xcode project +Fri, 11 Aug 2006 21:48:24 +0000 +Checked in by : Robert Osfield +From Radu Mihai, removed osgfbo and osgpbuffer projects -2007-06-06 11:34 robert +Fri, 11 Aug 2006 21:39:41 +0000 +Checked in by : Robert Osfield +Added osg:: to Referenced() to fix IRIX build. - * From Roger James, "These fix a couple of problems in the ac3d - writer. - - 1. Number of child node of the world object set incorrectly in - when scene contains shape drawables. - - 2. Incorrect handling of line primitives." +Fri, 11 Aug 2006 19:56:03 +0000 +Checked in by : Don BURNS +removed CRLF and replaced with LF in ReaderWriteNET.cpp -2007-06-06 11:28 robert +Fri, 11 Aug 2006 18:23:10 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Olaf Flebbe, "an implementation of GraphicsWindow::setCursor - for WIN32." +Fri, 11 Aug 2006 18:22:16 +0000 +Checked in by : Robert Osfield +Fixed if (numProcessors>1), was originally >= -2007-06-06 11:21 robert +Fri, 11 Aug 2006 17:39:10 +0000 +Checked in by : Don BURNS +Added comments to support use of Proxy in the .net plugin. - * Moved HelpHandler and StatsHandler classes into - ViewerEventHandlers header, removed HelpHandler and StatsHandler - headers +Fri, 11 Aug 2006 17:34:04 +0000 +Checked in by : Don BURNS +Submission by Carlo Camporesi - Added Proxy support to .net loader -2007-06-06 11:10 robert +Fri, 11 Aug 2006 16:03:04 +0000 +Checked in by : Robert Osfield +Fixed value of FLATTEN_BILLBOARDS enum. - * Updated wrappers +Fri, 11 Aug 2006 13:06:36 +0000 +Checked in by : Robert Osfield +Added file search path to ESRI reader. -2007-06-06 10:58 robert +Fri, 11 Aug 2006 12:53:57 +0000 +Checked in by : Robert Osfield +Fixed bug in Group::setChild relating to the accounting for OccluderNode. - * Moved SimpleViewer from osgViewer into the osgviewerCocoa example - directory as this - is the only place in the OSG that now relies upon SimpleViewer. +Fri, 11 Aug 2006 12:39:42 +0000 +Checked in by : Robert Osfield +Moved the OpenThreads::GetNumberOfProcessors() inside the if (_enableProcessAffinitHint) block to avoid slowing down init of apps that don't require procesor affinity. -2007-06-06 10:57 robert +Fri, 11 Aug 2006 11:05:09 +0000 +Checked in by : Robert Osfield +Fixed pbuffer usage cross multiple graphics contexts - * Added support for passing in ArgumentParser in Viewer and - CompositeViewer constructor +Fri, 11 Aug 2006 11:04:49 +0000 +Checked in by : Robert Osfield +Updated NEWS for rc1 -2007-06-06 08:59 robert +Fri, 11 Aug 2006 09:50:32 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file - * From Marin Lavery and Robert Osfield, XCode build fixes +Fri, 11 Aug 2006 09:30:42 +0000 +Checked in by : Robert Osfield +Removed osgfbo and osgpbuffer examples -2007-06-05 20:42 robert +Fri, 11 Aug 2006 09:13:04 +0000 +Checked in by : Robert Osfield +Updated NEWS - * From Martin Lavery, XCode build fixes +Thu, 10 Aug 2006 20:50:00 +0000 +Checked in by : Robert Osfield +From Mike Wittman, perl script to assist W64 support. -2007-06-05 19:44 robert +Thu, 10 Aug 2006 20:32:51 +0000 +Checked in by : Robert Osfield +From Mike Wittman, support for VS 64bit build - * Renamed osgmultiplecameras to osgcompositeviewer +Thu, 10 Aug 2006 15:53:01 +0000 +Checked in by : Robert Osfield +Moved all platform specific processor out of osgProducer and into OpenThreads -2007-06-05 19:41 robert +Thu, 10 Aug 2006 13:12:47 +0000 +Checked in by : Robert Osfield +From Laurens Voerman, " osgPlugins\pfb\ConvertFromPerformer.cppAdded support for + PFSTATE_ALPHAFUNC + PFSTATE_ALPHAREF +Improved handling of + PFTR_NO_OCCLUDE - * Renamed osgmultiplecamrea to osgcompositeviewer +I have tested this with WIN32 performer 3.1 and 3.2.2 +and linux OpenGL Performer 3.1.1" -2007-06-05 19:40 robert +------------------------------------------------ - * Added CompositeViewer support into FLTK example -2007-06-05 19:36 shuber - * from Stephan Huber: fixed build path for OpenThreads, so osg - builds cleanly +Thu, 10 Aug 2006 12:13:02 +0000 +Checked in by : Robert Osfield +From Martijn Kragtwijk, added example text for showing osgText::Text::CharacterSizeMode in action. -2007-06-05 19:10 robert +Thu, 10 Aug 2006 11:08:20 +0000 +Checked in by : Robert Osfield +Added write ppn support, use -O ascii to select ascii ppn output, otherwise binary is chosen.Fixed crash when erroneous pnm files were read. - * Added support for CompositeViewer +Added -O flip option. -2007-06-05 17:19 robert - * Improved the wording of CMake instructions -2007-06-05 17:18 robert +Thu, 10 Aug 2006 08:45:42 +0000 +Checked in by : Robert Osfield +From Daniel Larimer, "Apple updated their developer tools again and broke the __isnanf and __isnand methods... replacing them with a call to isnan(v) seems to work on both Xcode 2.3 and 2.4" - * From Martin Lavery, build fixes fo latest file additions +Thu, 10 Aug 2006 06:43:09 +0000 +Checked in by : Robert Osfield +Addd a setNodeMaskOverride(0xffffffff) to cope with models that are hiding subgraphs that still need to be accounted for when optimizer. -2007-06-05 14:37 robert +Thu, 10 Aug 2006 06:20:28 +0000 +Checked in by : Robert Osfield +Commented out the _textBB contribution of outline/backdrops to fix bounding box problem. - * Change interator to const_iterator to try and avoid Solaris build - failure +Wed, 9 Aug 2006 13:02:52 +0000 +Checked in by : Robert Osfield +Removed referecens to the deprecate UByte4 -2007-06-05 11:18 robert +Wed, 9 Aug 2006 12:56:37 +0000 +Checked in by : Robert Osfield +Added Vec4ub and removed UByte4 - * From Per Fahlberg, "added use of the internal format specified in - the OpenFlight format attr files." +Wed, 9 Aug 2006 10:09:11 +0000 +Checked in by : Robert Osfield +Added nan dectecion and error reporting -2007-06-05 08:46 robert +Tue, 8 Aug 2006 16:08:06 +0000 +Checked in by : Robert Osfield +Added TESSELATE_GEOMETRY to Optimizer pass to fix z fighting issues. - * Removed const to try and avoid Sun compiler error +Tue, 8 Aug 2006 14:57:14 +0000 +Checked in by : Robert Osfield +Added extra defined(CPU_SET) to try and get round RH8 compile problems. -2007-06-05 08:30 robert +Tue, 8 Aug 2006 11:59:53 +0000 +Checked in by : Robert Osfield +Fixed backColor implementation for LightPointAppearancePalette. - * Removed redundent comma +Tue, 8 Aug 2006 11:27:36 +0000 +Checked in by : Robert Osfield +Added support for --affinity command line option for switch on procesor affinity where supported, -2007-06-04 21:32 robert +Tue, 8 Aug 2006 11:26:55 +0000 +Checked in by : Robert Osfield +First pass at updating NEWS for the up comming 1.1.1 release - * Updated READEME +Tue, 8 Aug 2006 11:23:57 +0000 +Checked in by : Robert Osfield +From Paul Martz, "This change causes the new OpenFlight plugin to behave as the old plugin by returning the database origin latitude/longitude (extracted from the header record) as userData of the top-level scene graph node." -2007-06-04 21:31 robert +Tue, 8 Aug 2006 10:41:51 +0000 +Checked in by : Robert Osfield +Fixed the positioning of the graphical stats bars so that they don't overlap the stats text - * Updated ChangeLog and AUTHORS.txt for 1.9.7 release +Sun, 6 Aug 2006 16:49:48 +0000 +Checked in by : Robert Osfield +Added preliminary support for process affinity support under Linux. -2007-06-04 21:02 robert +Sun, 6 Aug 2006 16:42:43 +0000 +Checked in by : Robert Osfield +Removed debugging code. - * Introduce OSG_BUILD_APPLICATION_BUNDLES option for OSX, - defaulting to OFF. +Sat, 5 Aug 2006 20:39:47 +0000 +Checked in by : Robert Osfield +Added fix to code catching error results ReadResult's to first instance of checking the value of ReadResult. -2007-06-04 20:32 robert +Sat, 5 Aug 2006 20:36:49 +0000 +Checked in by : Robert Osfield +From Jeremy Moles, refactored by Robert Osfield.Fixed bug osgDB::Registry::Registry::read(const ReadFunctor& readFunctor) relating to +the handling of failed loads with the ReadResult::_message value being lost, this changes +ensure that the original ReadResult from the plugin, with message intact, is returned correctly. - * From Jeremy Moles and Rbert Osfeild, added extra details about - CMake build options. -2007-06-04 19:33 robert - * Removed setting of font resolutions and added control of - threading, with the default - theading set to SingleThreading to avoid crashes associated with - non thread safe - sections of osgFX - the need to be fixed!!! +Sat, 5 Aug 2006 16:57:52 +0000 +Checked in by : Robert Osfield +Added code to reproduce Text outline bounding box compute bug. -2007-06-04 17:11 robert +Sat, 5 Aug 2006 11:12:47 +0000 +Checked in by : Robert Osfield +Added disable vertex arrays. - * Added control of threading model, setting default to - SingleThreaded to avoid crash - associated with mixing useCursor(false) and multi-threading. +Sat, 5 Aug 2006 10:16:28 +0000 +Checked in by : Robert Osfield +Added osgcegui example -2007-06-04 16:20 robert +Fri, 4 Aug 2006 13:17:56 +0000 +Checked in by : Robert Osfield +From Uwe Woessner, implementated by Robert Osfield, Fixed vertex attribute bug, changed _vertexAttribList[unit] -> _vertexAttribList[index] - * Updated version for 1.9.7 release +Thu, 3 Aug 2006 19:14:52 +0000 +Checked in by : Robert Osfield +Added if search for the current databaseRequest in the _fileRequestList to handle cases when the request is moved back in the list, or when the _fileRequestList is cleared by an asyncronous call to DatabasePager::clear(). -2007-06-04 15:11 robert +Thu, 3 Aug 2006 16:04:43 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Fixed stray control character +Thu, 3 Aug 2006 15:57:39 +0000 +Checked in by : Robert Osfield +Fixed RenderToTexture bug which occured when the viewport dimensions where different than the texture being written to. -2007-06-04 15:05 robert +Thu, 3 Aug 2006 14:03:06 +0000 +Checked in by : Robert Osfield +Removed debug code - * Warning fix +Thu, 3 Aug 2006 13:35:21 +0000 +Checked in by : Robert Osfield +Changed: static TextureGLModeSet s_textureGLModeSet; -2007-06-04 14:47 robert +To: - * Cleaned up example + static TextureGLModeSet& getTextureGLModeSet() + { + static TextureGLModeSet s_textureGLModeSet; + return s_textureGLModeSet; + } -2007-06-04 14:46 robert +to prevent static initialization problems under static builds. - * From Martin Lavery and Robert Osfield, ported fltk example to - osgViewer::Viewer -2007-06-04 13:45 robert - * Added local FindFLTK.cmake to avoid problems with FLTK no being - found by standard - CMake FindFLTK.cmake. +Thu, 3 Aug 2006 13:12:14 +0000 +Checked in by : Robert Osfield +Added OSG_TEXT_INCREMENTAL_SUBLOADING ON/OFF env var check to osgText::Font to optional disable the incremental subloading. -2007-06-04 11:47 robert +Wed, 2 Aug 2006 21:09:25 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Roger James, "Here are my fixes for transparency in the - Collada DAE reader." +Wed, 2 Aug 2006 21:05:56 +0000 +Checked in by : Robert Osfield +Reworked the state management within osgText::Text and osgText::Font so that it only applies textures locally rather than whole StateSet. -2007-06-04 11:14 robert +Wed, 2 Aug 2006 21:04:29 +0000 +Checked in by : Robert Osfield +Added missing include - * From Martin Lavery and Robert Osfield, added use of hardwarded - value kCGLCEMPEngine - to fix build failure on slightly older versions of OSX. +Wed, 2 Aug 2006 19:56:36 +0000 +Checked in by : Robert Osfield +tweaked comment. -2007-06-04 10:56 robert +Wed, 2 Aug 2006 19:55:03 +0000 +Checked in by : Robert Osfield +Added viewer.cleanup_frame() to all examples. - * Updated wrappers +Wed, 2 Aug 2006 16:14:17 +0000 +Checked in by : Robert Osfield +Moved extension function pointer initilization into a method, and the pointers from being static to be local member variables. This should avoid issues under Windows with multiple graphics contexts have seperate entry points. -2007-06-04 10:47 robert +Wed, 2 Aug 2006 16:12:46 +0000 +Checked in by : Robert Osfield +Added cleanup_frame to prevent crashes on exit. - * Added osg::Hint class +Wed, 2 Aug 2006 15:41:47 +0000 +Checked in by : Robert Osfield +Reworked the TextureObjectManager singleton so that it no longer reconstructed itself once deleted, and added checks to against a null manager to prevent calling code crashing. -2007-06-04 08:38 robert +Wed, 2 Aug 2006 11:36:13 +0000 +Checked in by : Robert Osfield +Fixed crash due on multipipe systems due by moving the local camera update code from the cull into the update traversal. - * Fixed spelling of Receives +Wed, 2 Aug 2006 10:43:26 +0000 +Checked in by : Robert Osfield +From Daniel Trstenjak, build fixes for Hpux 11.11, Irix 6.5, Solaris 8 and Aix -2007-06-03 10:00 robert +Tue, 1 Aug 2006 13:08:37 +0000 +Checked in by : Robert Osfield +Fixed doubleButtonPress. - * Updated wrappers +Tue, 1 Aug 2006 10:27:11 +0000 +Checked in by : Robert Osfield +Changed the viewer.setUpViewer(..) from default to just ESCAPE_SETS_DONE. -2007-06-03 09:34 robert +Mon, 31 Jul 2006 20:56:22 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "I've attached fixes to DataSet that should fix the problems that Maya was seeing yesterday. The issue was that the new interpolation code I submitted didn't use the SourceData's georef, it was assuming that the GDALDataSet had a proper geo-ref. I've made the getInterpolatedValue method a member of SourceData and now it uses the georef the SourceData's georef.I also forward declared the GDALRasterBand class in the DataSet header." - * Added Viewer::setUpViewerAsEmbeddedInWindow convinience method -2007-06-03 09:11 robert - * Removed osgsimple example +Mon, 31 Jul 2006 17:31:21 +0000 +Checked in by : Robert Osfield +Added Matrix*::getRotate()/setRotate(Quat), deprecating Matrix*::get(Quat&), Matrix*::set(Quat&) -2007-06-03 09:09 robert +Mon, 31 Jul 2006 14:49:36 +0000 +Checked in by : Robert Osfield +Tweaked the invert() method to avoid silly OSX warnings. - * Merged the osgviewerQT3 and QT4 examples into a single - osgviewerQT example, and - ported across from SimpleViewer to using Viewer +Sat, 29 Jul 2006 16:47:28 +0000 +Checked in by : Robert Osfield +Fixed multi-threaded/multi-pipe crash when primitive stats where output in osgProducer::Viewer's stats. -2007-06-03 08:58 robert +Fri, 28 Jul 2006 13:48:08 +0000 +Checked in by : Robert Osfield +Updated osgunittests with a matrix invert unit test, and added a conditional calling of invert_4x4 or invert_4x3 depending on the the right hand column of the matrix.Updated wrappers - * Changed external library specication -2007-06-02 16:23 robert - * Ported across from SimpleViewer to using Viewer +Thu, 27 Jul 2006 16:41:22 +0000 +Checked in by : Robert Osfield +From Jason Beverage, "This patch should fix Gert's problem that he posted on osg-users. I downloaded the sample he posted, reproduced the error, and added an additional check to make sure the GDAL window size was valid. Now his example works fine. Changes made against current CVS. " -2007-06-02 16:01 robert +Thu, 27 Jul 2006 15:23:50 +0000 +Checked in by : Robert Osfield +From David Spilling, "Matrix_implementation.cpp modified as requested. I ran a version of it through a local version of osgunittests.cpp and it passes.Note that firstly it always returns the positive real quaternion (positive w) - * Ported QT3 example across to use osgViewer::Viewer, and made it - possible to use the same source for both QT3 and QT4 +Note also that it will sometimes slightly differ from the results of the other methods because it assumes that the input matrix really is a rotation matrix - if it isn't, e.g. because of rounding error, then the output quaternion will be very slightly different. For example, the test matrix -2007-06-02 15:31 robert +0 1 0 0 +1 0 0 0 +0 0 0.999999 0 +0 0 0 1 - * Added osgViewer::GraphicsWindowEmbedded and ported GLUT, SDL and - WX examples across from SimpleViewer to Viewer. +will return 0.707107 0.707107 0.0005033 0.0005033 -2007-06-02 12:03 robert +whereas the previous methods return 0.707107 0.707107 0.0 0.0 - * Ported GLUT example to using osgViewer::Viewer rather than - SimpleViewer by using - a local GraphicsWindowEmbedded class to help the adaption. +However, since quaternions are rotations, the meaning of how to convert a matrix that isn't a rotation is a little unclear..." -2007-06-01 22:41 robert - * Renamed all osgsimpleviewer* files to osgviewer* -2007-06-01 22:33 robert +Thu, 27 Jul 2006 12:32:40 +0000 +Checked in by : Robert Osfield +From Michael Polak, double click fixes/additions - * Renamed osgsimpleviewer* examples to osgviewer* in prep for - replacement of SimpleViewer by Viewer +Thu, 27 Jul 2006 11:58:55 +0000 +Checked in by : Robert Osfield +From Eric Wing, add outline to help text to make it easier to read on different coloured backgrounds -2007-06-01 22:28 robert +Thu, 27 Jul 2006 11:25:01 +0000 +Checked in by : Robert Osfield +Remove ERSIShape directory. - * updated wrapper +Thu, 27 Jul 2006 11:22:52 +0000 +Checked in by : Robert Osfield +From Andreas Ekstrand, "The ESRIShape plugin needs to produce a osgdb_shp.dll rather than a osgdb_ESRI.dll in Windows in order to find the correct library when loading shp files. A new dsp file is attached to this mail. Also, the ERSIShape folder should be deleted." -2007-06-01 21:38 robert +Thu, 27 Jul 2006 11:22:01 +0000 +Checked in by : Robert Osfield +Added #define snprintf _snprintf for Win32 build - * From J.P Delport, "attached find an updated osgunittests.cpp that - allows for the testing of - the matrix.getRotate() function when a matrix contains a scale as - well - as a rotation. - - The scale can optionally be switched off, see the top of - testQuatFromMatrix(). - - As expected, all the current methods for mat to quat conversion - fail - these new tests. When the scale is omitted, mk2 of getRotate with - sign - instead of signOrZero passes, as well as mk1. - " +Thu, 27 Jul 2006 11:14:28 +0000 +Checked in by : Robert Osfield +From David Spilling, fix to Matrix::get(Quat&) -2007-06-01 21:33 robert +Thu, 27 Jul 2006 11:13:56 +0000 +Checked in by : Robert Osfield +From J.P. Delport, added units tests to pick up on erroneous Matrix::get(Quat&) computation. - * From Maria Ten, "The constructor method of the EllipsoidLocator - of osgTerrain assumes - that the terrain is always the Earth planet. I changed the - constructor - method to accept the Equator radius and the Polar radius like - parameters. By default, it assumes the Earth radius for the - EllipsoidLocator. I added a setEllipsoidModel method, too. - - Now, we are developing some libraries for a GIS applicacion, and - our - libraries can visualize terrains of planets like Mars. I think - that is - a interesting change." +Wed, 26 Jul 2006 15:29:26 +0000 +Checked in by : Robert Osfield +Cleaned up per context buffers support -2007-06-01 21:28 robert +Wed, 26 Jul 2006 15:19:42 +0000 +Checked in by : Robert Osfield +Added osgprecipitation to runexamples list. - * From Michael Hartman, "CMakeLists.txt: - - Changed this back to setup_example since WIN32 flag is now - supported. - - - - MFC_OSG.h: - - Added flag to indicate when the rendering thread has exited. - - - - MFC_OSG.cpp: - - Code modifications to support rendering flag thread exit. - - - - MFC_OSG_MDIView.cpp: - - Change to OnDestroy function to wait until we get render thread - exit flag is true before we close the window. - - - - - - Main Exit Process: - - User presses escape button - - Viewer captures escape button and stops threading etc. - - Viewer sets Done when shutdown is complete - - MFC Render Thread monitors viewer->done for true - - MFC Render Thread exits while loop and sets MFC Done flag - - MFC View Window monitors MFC Done flag and then closes/destroys - the window - - " +Tue, 25 Jul 2006 20:43:57 +0000 +Checked in by : Robert Osfield +Force SingelThreaded usage due to use of osgParticle. -2007-06-01 19:53 robert +Tue, 25 Jul 2006 13:52:10 +0000 +Checked in by : Robert Osfield +Fixed auto rotate bug. - * Updated wrappers +Wed, 19 Jul 2006 21:49:07 +0000 +Checked in by : Robert Osfield +Set release number back to 0 after release -2007-06-01 19:45 robert +Wed, 19 Jul 2006 21:11:16 +0000 +Checked in by : Robert Osfield +Updated ChangedLog and READE for the 1.1 release - * From Wojciech Lewandowski, "I did few tests to see whether adding - PreDraw callback would help us with SPI problems when using - Viewer. Results were positive so I decided to give it a try and - ask you to verify and maybe merge with existing codebase. - - I added _preDrawCallback member and neccessary access methods - plus modified osgUtil RenderStage.cpp to invoke it before all - drawInner calls are made. I tried to maintain symmetry with - postDrawCallback but you know better where is a proper place for - this call ;-) - " +Wed, 19 Jul 2006 20:56:24 +0000 +Checked in by : Robert Osfield +For cases where the RenderBin has its own StateSet do a popAllStateSets() to ensure that the state is completely ready for the RenderBin's StateSet to be at the bottom. -2007-06-01 19:44 robert +Wed, 19 Jul 2006 19:49:28 +0000 +Checked in by : Robert Osfield +UPdated wrappers - * Updates to OverlayData +Wed, 19 Jul 2006 19:45:32 +0000 +Checked in by : Robert Osfield +Fixed error in enum, completely perplexed how the error got in... -2007-06-01 19:43 robert +Wed, 19 Jul 2006 17:39:45 +0000 +Checked in by : Don BURNS +Fixed HEIGHEST misspelling to HIGHEST - * From Mathias Froelich, "have done an interface to change the - mouse cursor in the X11 graphics - window. - The win32 implementation is still in its original shape since I - have no win32 - implementation available. - - I have chosen the enum approach for the first cut. That is - benefitial since - the user does not need to track creation of mouse cursors for - different - windows and displays in presence of multiple viewer windows. - - The default set of available mouse shapes is the same set that - was available - with glut. That set served many OpenGL applications well, so the - hope is that - this is enough. - - Even though, that implementation is still extensible: - I have digged out the way SDL defines new mouse cursors and added - a still - documented out function prototype in the GraphicsWindow that can - be used to - extend the current implemtation for arbitrary mouse shapes. That - is not - implemented yet. - - I hope that somebody with a win32 test system can catch up that - implementation - on win32." +Wed, 19 Jul 2006 15:20:47 +0000 +Checked in by : Robert Osfield +Reverted to LODScale keyboard adjustment -2007-06-01 19:21 robert +Wed, 19 Jul 2006 15:10:50 +0000 +Checked in by : Robert Osfield +Warning fixes - * Removed setViewUpOnScreen settings +Wed, 19 Jul 2006 15:07:00 +0000 +Checked in by : Robert Osfield +Warning fix -2007-06-01 19:19 robert +Wed, 19 Jul 2006 14:46:40 +0000 +Checked in by : Robert Osfield +Added extra initializes - * From Stephan Huber, "attached you'll find the modified - ImageStream - and a small fix for QuicktimeImageStream to disable debug-logging - :)" +Wed, 19 Jul 2006 14:30:30 +0000 +Checked in by : Robert Osfield +Added dummy initializers to avoid warning -2007-06-01 19:10 robert +Wed, 19 Jul 2006 14:04:16 +0000 +Checked in by : Robert Osfield +Added reset of the event windowSize - * From Mike Wittman, "Just found another issue building the C# - wrappers: the osgTerrain ValidDataOperator file uses osg::Vec2, - osg::Vec3, and osg::Vec4, but does not include their headers. The - file with the relevant includes is attached. - - " +Wed, 19 Jul 2006 13:02:35 +0000 +Checked in by : Robert Osfield +Added mutexes to RealizeCallbaks -2007-06-01 19:01 robert +Wed, 19 Jul 2006 12:58:45 +0000 +Checked in by : Robert Osfield +Added scene handler init to custom realize callback - * Removed the debug message for the ortho path. +Wed, 19 Jul 2006 12:35:33 +0000 +Checked in by : Robert Osfield +Moved sync to before the keyboard mouse startThread to try to avoid some threading issue on start up of some apps. -2007-06-01 19:01 robert +Wed, 19 Jul 2006 11:25:26 +0000 +Checked in by : Robert Osfield +Fixed handling of back colour. - * Improved the handling of the -p path option +Wed, 19 Jul 2006 08:39:44 +0000 +Checked in by : Robert Osfield +Changed code creating LightPoint on heap to use the stack. -2007-06-01 18:27 robert +Tue, 18 Jul 2006 21:00:43 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for rc3. - * Work in progress on shaders support +Tue, 18 Jul 2006 20:59:22 +0000 +Checked in by : Robert Osfield +Add clause to clean up AUTHORS.txt -2007-06-01 16:14 robert +Tue, 18 Jul 2006 20:53:16 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Paul Martz, added Win32 export +Tue, 18 Jul 2006 20:51:28 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-06-01 11:21 robert +Tue, 18 Jul 2006 20:17:31 +0000 +Checked in by : Robert Osfield +Moved the moveToRootStateGraph(,) from RenderStage::drawImplemenation() to RenderBin::drawImplementation(); - * Added recording of camera paths +Tue, 18 Jul 2006 19:26:54 +0000 +Checked in by : Robert Osfield +From Eric Wing, fix for VC6 support -2007-06-01 10:42 robert +Tue, 18 Jul 2006 15:21:48 +0000 +Checked in by : Robert Osfield +Updated copyright years. - * Changed name of AnimationPathHandler to RecordCameraPathHandler +Tue, 18 Jul 2006 15:11:41 +0000 +Checked in by : Robert Osfield +Added additional command line docs -2007-06-01 10:39 robert +Tue, 18 Jul 2006 13:37:42 +0000 +Checked in by : Robert Osfield +Updated commandline docs - * From Jeremy Moles, new event handler to record the camera path. A - few small tweaks by Robert Osfield to make it more consistent - with the old osgProducer::Viewer behavior. +Tue, 18 Jul 2006 13:24:00 +0000 +Checked in by : Robert Osfield +Updated version for the release -2007-05-30 17:56 robert +Tue, 18 Jul 2006 13:17:40 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and authors file. - * Improved taper ratio computation +Tue, 18 Jul 2006 13:05:26 +0000 +Checked in by : Robert Osfield +From Farshid Lashakari, fixed popStateSet. -2007-05-30 16:36 robert +Tue, 18 Jul 2006 13:04:57 +0000 +Checked in by : Robert Osfield +Reduced the verbosity of debug info. - * Added set up of overlay stateset +Tue, 18 Jul 2006 12:48:48 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-05-30 14:18 robert +Tue, 18 Jul 2006 12:24:04 +0000 +Checked in by : Robert Osfield +From Eric Wing, add alternate backdrop implementations.From Robert Osfield, updated naming and copy constructor methods. - * Added trapezodial fitting code -2007-05-30 09:25 robert - * Fixed case of when view==NULL +Tue, 18 Jul 2006 11:42:27 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-05-29 18:39 ewing +Tue, 18 Jul 2006 11:03:46 +0000 +Checked in by : Robert Osfield +Added Optimizer::FlattenBillboardsVisitor. - * Stephan Huber: Adding missing Xcode project file. +Mon, 17 Jul 2006 16:36:42 +0000 +Checked in by : Robert Osfield +From Terrex, improvements to handling of layers w.r.t PolygonOffset -2007-05-29 14:19 shuber +Mon, 17 Jul 2006 13:16:44 +0000 +Checked in by : Robert Osfield +Removed the usage of setenv to avoid portability issues. - * From Stephan Huber, updated OpenThreads-XCode-project files +Mon, 17 Jul 2006 11:43:26 +0000 +Checked in by : Robert Osfield +Change Unit to Units to keep consistent with OpenGL naming. -2007-05-29 13:28 robert +Mon, 17 Jul 2006 11:37:51 +0000 +Checked in by : Robert Osfield +Added *,/,+ and - keyboard controls for toggling PolygonOffset factor and units - * Added support for specifying which screen number to place the - window +Mon, 17 Jul 2006 11:36:50 +0000 +Checked in by : Robert Osfield +Added getNumLayers method -2007-05-29 10:31 robert +Mon, 17 Jul 2006 10:25:01 +0000 +Checked in by : Robert Osfield +Increased the unit multiplier to 3 to avoid z fighting. - * From Sherman Wilcox, "The issue itself occurs when a model is - tessellated - that has greater than unsigned short number of vertexes. An - object - called vertexPtrToIndexMap contains vertexes and their indexes. - This - std::map object can obviously hold a quantity that is greater - than - unsigned short, however osg::DrawElementsUShort objects were - being - created to reference these vertexes and their indexes. - osg::DrawElementsUShort can only hold indexes that are 16-bit - quantities. - - ... - - proposed_patch_2\tessellator.cpp. This solution examines the size - of - vertexPtrToIndexMap and selects 1 of 3 possible osg::DrawElements - objects: DrawElementsUByte, DrawElementsUShort, or - DrawElementsUInt. - The main drawback of this particular solution is the code - duplication. - However, the repair is straightforward." +Mon, 17 Jul 2006 10:24:31 +0000 +Checked in by : Robert Osfield +Changed the Radeon defaults to 1, 128 for the factor and unit mulitpliers respectively. -2007-05-29 10:01 robert +Fri, 14 Jul 2006 21:02:02 +0000 +Checked in by : Robert Osfield +Updated osgversion and AUTHORS.txt for release - * From Olaf Flebbe, "recently I discovered that the freetype plugin - does not work, because - CMake doesn't recognize it properly on windows. - - 1) the header detection on a directory "freetype" fails, it seems - to - need a filename: "ft2build.h" actually works. - - 2) the 3rdparty I am supplying for FlightGear contains - freetype-2.3.4. I - added the correct library naming for this particular release. - - I double-checked my directory layout with the 3rdparty supplied - by other - OSG contributors." +Fri, 14 Jul 2006 20:50:03 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for the release -2007-05-29 09:57 robert +Fri, 14 Jul 2006 20:46:21 +0000 +Checked in by : Robert Osfield +Updated news for rc2. - * From Olar Flebbe, "Visual Studio 2005 triggered a small glitch in - UnittestFramework.cpp - - Do not derefence it2 if it is at end()." +Fri, 14 Jul 2006 18:40:25 +0000 +Checked in by : Robert Osfield +From Brede Johansen, patch to make osgconv.cpp compile on VC 2005. -2007-05-29 07:25 robert +Fri, 14 Jul 2006 18:37:40 +0000 +Checked in by : Robert Osfield +Updated to officially deprecate VS6.0 support. - * Changed SHORT_NAMES = NO to SHORT_NAMES = YES to avoid crappy - Windows problems +Fri, 14 Jul 2006 18:20:14 +0000 +Checked in by : Robert Osfield +Added optional compilation of setenv code -2007-05-28 15:44 robert +Fri, 14 Jul 2006 14:38:55 +0000 +Checked in by : Robert Osfield +Implemented Radeon workaround for polygonoffset - * Added --object, --ortho and --persp OverlayNode options +Fri, 14 Jul 2006 14:08:33 +0000 +Checked in by : Robert Osfield +Added s/getFactorMultiplier(), s/getUnitMultiplier(), areUnitAndMultipliersSet() and setFactorAndUnitMultipliersUsingBestGuessForDriver() static methods to osg::PolygonOffset to help implement workarounds for lack of portablity of settings between different hardware. -2007-05-28 15:27 robert +Fri, 14 Jul 2006 14:04:54 +0000 +Checked in by : Robert Osfield +Removed the default loading of bluemarble.ive - * Fixed handle on non ellipsoid models +Fri, 14 Jul 2006 11:34:13 +0000 +Checked in by : Robert Osfield +Fixed popStateSet -2007-05-28 15:17 robert +Fri, 14 Jul 2006 11:29:41 +0000 +Checked in by : Robert Osfield +Removed debug info - * Improved the accuracy of the overlaynode settings +Fri, 14 Jul 2006 11:04:24 +0000 +Checked in by : Robert Osfield +Speeded up merge geometry -2007-05-28 13:56 robert +Thu, 13 Jul 2006 20:50:32 +0000 +Checked in by : Robert Osfield +Typo fixes - * Added project down to base implementation. +Thu, 13 Jul 2006 20:42:10 +0000 +Checked in by : Robert Osfield +Optimized the MERGE_GEODES pass -2007-05-28 10:48 robert +Thu, 13 Jul 2006 19:42:55 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * Updated ChangeLog and AUTHORS.txt for 1.9.6 release +Thu, 13 Jul 2006 15:56:54 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-05-28 10:17 robert +Thu, 13 Jul 2006 15:25:22 +0000 +Checked in by : Robert Osfield +Added StatsVisitor to include/osg/Statistics, and usage of it in osgUtil::Optimizer.Added --optimize option to osgconv - * Updated version number, wrappers and readme for release -2007-05-28 10:14 robert - * From Frauciel Luc, "Added support for other pointers than mouses - by using a nearpoint and farpoint instead of mousex,mousey + - Camera (see Dragger and Dragger.cpp). - The major modification concern the LineProjector class in - Projector.cpp. The intersection was previously done in window - space, I've modified it to compute it in object space." +Thu, 13 Jul 2006 14:58:37 +0000 +Checked in by : Robert Osfield +Added share duplicates traversal to optimizer call -2007-05-28 09:30 robert +Thu, 13 Jul 2006 13:00:22 +0000 +Checked in by : Robert Osfield +Fixed Trajce Nikolov name reversal. - * Removed old ProgrammingGuide as this is now replaced by the - proper Quick Start Guide. +Thu, 13 Jul 2006 11:46:55 +0000 +Checked in by : Robert Osfield +Fixed Statistics::reset() method to include a reset of all member variables -2007-05-27 19:35 robert +Thu, 13 Jul 2006 09:12:49 +0000 +Checked in by : Robert Osfield +Fixed typos. - * Updated wrappers +Thu, 13 Jul 2006 09:01:24 +0000 +Checked in by : Robert Osfield +Fixed management of Text's StateSet so that it works correctly when the DefaultFont is active. -2007-05-27 18:18 robert +Wed, 12 Jul 2006 20:59:06 +0000 +Checked in by : Robert Osfield +Updated NEWS - * Updated wrappers +Wed, 12 Jul 2006 09:50:45 +0000 +Checked in by : Robert Osfield +From Vincent Vivanloc, Removed commas from end of enum lists, and removed semi-colon from end of namespace. -2007-05-27 17:29 robert +Wed, 12 Jul 2006 09:40:03 +0000 +Checked in by : Robert Osfield +From Brede Johansen,"I found some artifacts on some models and traced it back to the +external palette override feature. There are some changes in the +layout of the external record the loader have to take into +consideration. - * Added camera event callback support into osgViewer +The other fix is to remove the OF pools from the user data of the +external ProxyNode when it is no longer needed." -2007-05-27 15:24 robert - * Updated calling of master camera's update callback -2007-05-27 14:52 robert +Tue, 11 Jul 2006 21:53:57 +0000 +Checked in by : Robert Osfield +Removed StateSet::ENCLOSE_RENDERBIN_DETAILS since it is rendendent, and implemented the OVERRIDE_RENDERBIN_DETAILS. - * Added testing to see if camera allows events before automatically - attaching a trackball manipulator +Tue, 11 Jul 2006 14:24:18 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "Here's a small patch to BlendFunc::setFunction(source,destination) to make it consistent with the constructor and prevent the BlendFuncSeparate path being called. This patch fixed the artifact with the osgpointsprite demo on ATI cards reported by Mike Weiblen." -2007-05-27 14:49 robert +Tue, 11 Jul 2006 10:34:41 +0000 +Checked in by : Robert Osfield +From Antoine Hue,"There was a typo in "int setNotifyOffset()", appear to be a getter => +"int getNotifyOffset()". - * Added option for using the different overlay techniques. +Then I have added a switch to create GDALTermProgress only when the +current notify level + local offset permit message display. In fact, if +the offset is set to 0 and the notify level is at the default, DataSet +is quiet but for the GDALTermProgress. That is quite disturbing since +you think the progress is related to the complete processing but it is +actually only related to the GDAL Warp." -2007-05-26 16:02 robert - * Updated wrappers -2007-05-26 15:55 robert +Tue, 11 Jul 2006 10:33:50 +0000 +Checked in by : Robert Osfield +Added preciption effects to NEWS - * Added a basic configure script to allow the setting of Release - build by default. +Tue, 11 Jul 2006 09:06:31 +0000 +Checked in by : Robert Osfield +Updates osgversion and AUTHORS.txt for typo. -2007-05-26 15:49 robert +Thu, 6 Jul 2006 20:44:44 +0000 +Checked in by : Robert Osfield +Updated AUTHORS.txt and ChangeLog for 1.1-rc1 - * Fixes to help C# binding dev. +Thu, 6 Jul 2006 20:43:23 +0000 +Checked in by : Robert Osfield +Tweak for VS6.0 build -2007-05-26 15:47 robert +Thu, 6 Jul 2006 15:47:59 +0000 +Checked in by : Robert Osfield +Fixed scoping for for loop varaible for VS6.0 build. - * From Blake Williams, "I discovered why the \u2013CompositeViewer - option for the osghud example does not work. The run() function - adds a camera manipulator to each view that does not have one - assigned, which causes the view with the HUD camera to point - somewhere other than where it should. I just added a check before - a new default camera manipulator is added to ensure that the view - allows event focus before a camera manipulator is added." - - +Thu, 6 Jul 2006 15:00:51 +0000 +Checked in by : Robert Osfield +Tweaks to try and fix VS6.0 problems. -2007-05-26 15:42 robert +Thu, 6 Jul 2006 14:50:38 +0000 +Checked in by : Robert Osfield +Removed explict definition of osgUtil::Optimizer::StateVisitor to attempt to get round VS 6.0 cruddiness. - * From Charles Cole, "Attached are mods to the OpenFlight plug-in - to help further implement - the specification. With these mods, blink sequences are now - created for - flashing light point nodes, either palletized (v.15.8 and later) - or - non-palletized (15.7 and earlier). Thanks to Brede for his - implementation of the palletized light point nodes. - - There is still work to do on adding the capability to properly - handle - light point system nodes, but this does add some capability that - did not - previously exist. So, I wanted to at least submit this and I will - hopefully provide the additional capability in the near future. - - I've tested the code modifications with Visual Studio 2005. I - don't - have the means to test any other operating system, but I would - suspect - that there shouldn't be any issue (famous last words). I used the - test - files that I uploaded to the users forum to test the changes. - - In addition to the added capability, I changed the light point - node - radius to the "actualPixelSize" value in the file. Previously, - the - radius was set to half the actual pixel size (see - LightPointRecords.cpp). Not sure why this was the case. But, it - was - brought to my attention by a co-worker who created the OpenFlight - files - and was testing them with different viewers. If there's some - history - for setting the radius to half the size, then this change can be - omitted." +Thu, 6 Jul 2006 14:43:30 +0000 +Checked in by : Robert Osfield +Tweaked for loop variaible definition. -2007-05-26 15:17 robert +Thu, 6 Jul 2006 14:36:04 +0000 +Checked in by : Robert Osfield +Updated NEWS and ChangeLog - * Added exclude of svn directories. +Thu, 6 Jul 2006 14:14:19 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, "If a texture is used that is not a multiple of four, and compression was requested through the texture's internal format, the texture's internal format reverts to a non-compressed type and a NOTICE is given. At present, compressed textures must have a multiple of four in each dimension." -2007-05-25 19:35 robert +Thu, 6 Jul 2006 14:10:37 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Charles Cole, "he attached code - implements the LightPointSystem class to allow for the OpenFlight - plug-in to read and handle light point system nodes. The behavior - is - very similar to the old plug-in in that a MultiSwitch node is - created to - handle the "enabled" flag bit set in the node record. The code - also - reverts the changes for the actualPixelSize as mentioned above. - And - lastly, the code requires the previously submitted changes for - the - plug-in. - - As for the other changes, I've tested the code with Visual Studio - 2005 - and the files that I posted in the users forum. - - With all of the submitted changes, the OpenFlight plug-in should - now be - capable of loading files with light point system nodes and the - use of - palletized light points and non-palletized light points. - " +Thu, 6 Jul 2006 14:02:14 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky,"Attached is some fixes for Image::readImageFromCurrentTexture. It was +failing when used with a new Image object (some of the fields were +not set before they were used, and some were set to the wrong values). +A new optional parameter was added to give the desired data type, which +defaults to GL_UNSIGNED_BYTE, so programs should only need a recompile +to work properly." -2007-05-25 19:32 robert - * Comment out the setting of single threading. -2007-05-25 16:00 robert +Thu, 6 Jul 2006 13:06:24 +0000 +Checked in by : Robert Osfield +Fixed typo and unpdated AUTHORS file - * Added s/getOverlayBaseHeight methods +Thu, 6 Jul 2006 11:40:41 +0000 +Checked in by : Robert Osfield +Added setting of name from the .obj goup name and object names. -2007-05-25 15:57 robert +Thu, 6 Jul 2006 11:33:07 +0000 +Checked in by : Robert Osfield +Removed redundent debug message. - * Added some debug message to the set/getWindowSystemInterface - function +Thu, 6 Jul 2006 11:30:20 +0000 +Checked in by : Robert Osfield +Add "hack" fix for black materials being exported from Maya. -2007-05-25 15:27 robert +Thu, 6 Jul 2006 11:08:51 +0000 +Checked in by : Robert Osfield +Tweaked osgversion to catch typos and updates AUTHORS.txt - * Introduce C entry point support for plugin setup for better - static build support +Thu, 6 Jul 2006 10:39:40 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and AUTHORS.txt for release -2007-05-25 15:26 robert +Thu, 6 Jul 2006 10:28:12 +0000 +Checked in by : Robert Osfield +Updated version numbers for 1.1 release - * Added C entry point graphicswindow_X11() to help with static - build support +Thu, 6 Jul 2006 10:27:40 +0000 +Checked in by : Robert Osfield +Tweaked polygon offset -2007-05-25 15:25 robert +Thu, 6 Jul 2006 09:11:15 +0000 +Checked in by : Robert Osfield +From Eric Wing, updaetes to Xcode projects - * Added osgstaticviewer example to demonstrate how to put a static - lib built viewer +Thu, 6 Jul 2006 08:36:12 +0000 +Checked in by : Robert Osfield +From Vivek Rajan, "Rotated text in SCREEN_COORDS was looking a little squished especially in orthographic projection. Performing the rotation before the scaling fixed the problem. I've attached Text.cpp with the fix."From Robert Osfield, in keeping with Vivek's change moved the auto rotate to screen befor the scale as well. -2007-05-25 13:15 robert - * From Luigi Calori, build fixes for Win32 build osg WxWidgets - example -2007-05-25 10:14 robert +Wed, 5 Jul 2006 21:52:36 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, "The attached Texture.cpp fixes a problem when subloading compressed textures. Near the top of the function that implements texture subloading, osg::Texture::applyTexImage2D_subload(), the local variable compressed_image examines the _image's_ pixel format to see if it is compressed. However, further on, in calls to getCompressedSize() the _texture's_ pixel format is used. In my application's Texture2D class, I use osg::Texture::USE_ARB_COMPRESSION to osg::Texture2D::setInternalFormatMode(), which causes the internal format to become one of the generic ARB_COMPRESSED types, which do not have a specific size. Thus the recent warning message added to osg::Texture::getCompressedSize() is triggered. The correct behavior is to use the format mode from the Image class instead of the Texture class within the subload implementation, and then the size is calculated correctly." - * Implemnet clampping of ovleray polytope to base plane +Wed, 5 Jul 2006 21:12:45 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file -2007-05-25 10:13 robert +Wed, 5 Jul 2006 21:12:24 +0000 +Checked in by : Robert Osfield +Fixed typo. - * Changed debug message to INFO +Wed, 5 Jul 2006 20:56:37 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "Changed ">" to ">=" when testing for version 16.1 or later." -2007-05-24 16:11 robert +Wed, 5 Jul 2006 13:44:07 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, "There is code in Image.cpp that calculates the size of a compressed image based on the internal format. There is similar code in the Texture class but it does not account for the ARB types. I modified the Texture class implementation to show a warning when an incomplete internal format is used to calculate the image size." - * From Colin McDonald, "The writeImage method in - ReaderWriterPNM.cpp had an error checking the - accepted file extensions, so that once the plugin was loaded in - the - Registry it would grab any image file write request, regardless - of the - file extension. This was a particular problem if it was - statically loaded." +Wed, 5 Jul 2006 13:31:38 +0000 +Checked in by : Robert Osfield +Added mutex to the test context. -2007-05-24 14:20 robert +Wed, 5 Jul 2006 13:18:00 +0000 +Checked in by : Robert Osfield +Added vertex program hack to get round apparent NVidia bug when handling vertex texture read. - * Improved the polytope cutting and project calculation +Wed, 5 Jul 2006 12:54:18 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file -2007-05-24 10:15 robert +Wed, 5 Jul 2006 12:51:41 +0000 +Checked in by : Robert Osfield +More fixes for typos - * From Peter Hrenka, fixes regarding line-strips and -loops. +Wed, 5 Jul 2006 10:48:04 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file -2007-05-24 09:49 robert +Wed, 5 Jul 2006 10:47:38 +0000 +Checked in by : Robert Osfield +Updated osgversion to correct for ChangeLog typos. - * From Olaf, "there are more dubious calls to istream::readsome - instead of - istream::read. IMHO it does make no sense here and potentially - breaks - this plugin." +Wed, 5 Jul 2006 10:29:46 +0000 +Checked in by : Robert Osfield +Updated ChangeLog. -2007-05-24 08:51 robert +Wed, 5 Jul 2006 10:24:24 +0000 +Checked in by : Robert Osfield +Updated NEWS. - * From Serge Lages, support for install api directories, with - tweaks from Robert Osfield +Wed, 5 Jul 2006 10:23:39 +0000 +Checked in by : Robert Osfield +First steps towards updating NEWS for 1.1 release -2007-05-23 19:30 robert +Wed, 5 Jul 2006 09:52:03 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Fixed brackets +Wed, 5 Jul 2006 08:59:23 +0000 +Checked in by : Robert Osfield +From Markus Trenkwalder, "Mingws gcc includes a file called types.h which in turn defines _TYPES_H_. types.h in the directx plugin defines the same include guard. I've renamed the guard name in this file to _DX_TYPES_H_. Now the plugin compile in mingw too." -2007-05-23 19:25 robert +Wed, 5 Jul 2006 08:55:23 +0000 +Checked in by : Robert Osfield +From Brede Johansen, renaned FLT_preserveFace to preserveFace - * Added automatic building of plugins as static when dynamic build - is switch off. +Tue, 4 Jul 2006 19:58:53 +0000 +Checked in by : Robert Osfield +Changed parameter name from osberver_ptr to observer. -2007-05-23 15:24 robert +Tue, 4 Jul 2006 19:54:29 +0000 +Checked in by : Robert Osfield +From Paul Martz,"Previously, the new OpenFlight plugin only allowed ext ref models to use +their own palettes. With this change, parent models can override child model +palettes with the parent palettes. - * From Anders Backman, add -DJAS_WIN_MSVC_BUILD for Win32 build +These changes are made against very current CVS (just updated about 1/2 hour +ago, eliminated conflicts, and retested before this posting). -2007-05-23 15:14 robert +To regurgitate what I did: - * Made the local shaders definitions static const char to avoid - multiple definiations +A new class, ParentPools (public osg::Referenced), is created when an ext +ref record is parsed, and it is populated with any parent model pools that +should override the child model pools (according to bits in the ext ref +record). The ParentPools object is then set as UserData on the ProxyNode +corresponding to the ext ref. -2007-05-23 14:55 robert +When the ReadExternalsVisitor hits the ProxyNode, it takes its UserData and +sets it as UserData in the Options parameter to the osgDB::ReadNode call, +which then read the ext ref model. In the course of parsing the Options +string, ReaderWriterFLT also looks at the Options UserData and sets the +parent pools in the Document class accordingly. - * Added insertion of center point into object polytope +When palette records are encountered while loading a file, they are ignored +if the corresponding pool was set by the parent. -2007-05-23 13:26 robert +Thanks to Brede for consulting with me on the implementation. +" - * Added angular sorting of the points on the plane intersecting the - cut plane. -2007-05-23 12:35 robert - * Updated wrappers +Tue, 4 Jul 2006 14:37:56 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-05-23 12:21 robert +Tue, 4 Jul 2006 14:18:44 +0000 +Checked in by : Robert Osfield +From Stephan Huber,"attached you'll find some modifications to Producer, osgGA and +osgProducer to enable Mac OS X support for - * Added platform specific GraphicsWindow* headers to public headers - listings ++ scrollwheels, ++ mightymouse-srollballs ++ new tracking-pads with scroll feature ++ tablet-support (pressure, proximity and pointertype) (Wacom only tested) -2007-05-23 11:05 robert +I think there was a bug in the windows-implementation of scroll-wheel +support (wrong order of ScrollingMotion-enum, casting problem) which is +fixed now. - * From Peter Hrenka, (note from Robert Osfield, renamed - GenericPrimitiveFunctor mention below to - TemplatePrimitiveFunctor). - - "Since we desperately needed a means for picking Lines - and Points I implemented (hopefully!) proper geometrical tests - for the PolytopeIntersector. - - First of all I implemented a new "GenericPrimiteFunctor" - which is basically an extended copy TriangleFunctor which also - handles Points, Lines and Quads through suitable overloads of - operator(). I would have liked to call it "PrimitiveFunctor" - but that name was already used... - I used a template method to remove redundancy in the - drawElements method overloads. If you know of platforms where - this will not work I can change it to the style used - in TriangleFunctor. - - In PolytopeIntersector.cpp I implemented a - "PolytopePrimitiveIntersector" which provides the needed - overloads for Points, Lines, Triangles and Quads to - the GenericPrimitiveFunctor. This is then used in the - intersect method of PolytopeIntersector. - - Implementation summary: - - Points: Check distance to all planes - - Lines: Check distance of both ends against each plane. - If both are outside -> line is out - If both are in -> continue checking - One is in, one is out -> compute intersection point (candidate) - Then check all candidates against all other polytope - planes. The remaining candidates are the proper - intersection points of the line with the polytope. - - Triangles: Perform Line-Checks for all edges of the - triangle as above. If there is an proper intersection - -> done. - In the case where there are more than 2 polytope - plane to check against we have to check for the case - where the triangle encloses the polytope. - In that case the intersection lines of the polytope - planes are computed and checked against the triangle. - - Quads: handled as two triangles. - - This is implementation is certainly not the fastest. - There are certainly ways and strategies to improve it. - - - I also enabled the code for PolytopeIntersector - in osgkeyboardmouse and added keybindings to - switch the type of intersector ('p') and the picking - coordinate system ('c') on the fly. Since the - PolytopeIntersector does not have a canonical - ordering for its intersections (as opposed to - the LineSegementIntersector) I chaged the - implementation to toggle all hit geometries. - - - I tested the functionality with osgkeyboardmouse - and several models and it seems to work for - polygonal models. Special nodes such as billboards - do not work. - - - The next thing on my todo-list is to implement - a an improved Intersection-Structure for the - PolytopeIntersector. We need to know - which primitives where hit (and where). - - " +The scrollwheel-code is a bit klunky across platforms, some devices on +OS X can report an absolute delta in pixel-coordinates not only the +direction, so for now there is scrollingMotion (which describes the +direction) and scrolldeltax and scrolldeltay. I decided to leave the +scrollingmotion-stuff to not break old code relying on this." -2007-05-23 10:57 robert - * Added debug timing code -2007-05-22 15:17 robert +Tue, 4 Jul 2006 13:56:38 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * Added _firstTimeToInitEyePoint = true to the setAutoRotateMode to - force the AutoTransform - to recompute its position on next frame. +Tue, 4 Jul 2006 13:56:29 +0000 +Checked in by : Robert Osfield +Change osgText so that the Text drawable now can have its own StateSet that users can assign to it without it being overriden. If none is assigned externally it now uses a StateSet associated wit the Font assigned to the Text. -2007-05-22 14:00 robert +Tue, 4 Jul 2006 13:33:19 +0000 +Checked in by : Robert Osfield +From Brede Johansen,"The attached file corrects two small typos in MultiSwitch.cpp. The +local "values" reference and the "_values" member attribute are of +different types but both are vectors so the size() operator happily +compiles. A renaming of _values to _masks or similar may be a more +future proof solution but the submission only removes the underscore +in two places. - * From Roger James, "Here is a small fix for the ac3d plugin - geode.cpp. The fix is entirely localised to - ac3d::Geode::OutputTriangleStripDARR. - - - - It resolves an issue when processing a DrawArrayLengths with - multiple lengths where the vertex indices were incorrect for all - but the first chunk." +The switch_1701.flt model part of the Creator gallery revealed this bug." -2007-05-22 13:48 robert - * Changed the way the the InputRange is adjusted on the event state - to fix bugs related to picking -2007-05-22 09:32 robert +Tue, 4 Jul 2006 12:57:59 +0000 +Checked in by : Robert Osfield +Fix to Registry::read(ReadFunctor) to better handle reporting of errors - * Added osg::Camera::ProjectionResizePolicy enum and associated - methods for controlling - how the field of view is adjust on window resizes. +Tue, 4 Jul 2006 11:24:36 +0000 +Checked in by : Robert Osfield +Fixed warnings. -2007-05-21 18:46 robert +Tue, 4 Jul 2006 10:55:58 +0000 +Checked in by : Robert Osfield +Warning fix. - * Added extra checks to make sure that graphics operations arn't - done on no longer valid graphics contexts +Tue, 4 Jul 2006 10:52:16 +0000 +Checked in by : Robert Osfield +Warning fix -2007-05-21 18:17 robert +Tue, 4 Jul 2006 09:46:41 +0000 +Checked in by : Robert Osfield +fixed warning and add a few extra tests - * Fixed Viewer::checkWindowStatus() to work correctly when running - single threaded +Tue, 4 Jul 2006 09:18:04 +0000 +Checked in by : Robert Osfield +From Roland Smeenk, Added missing initialization to zero of the _carryOver value in default and copy constructor. -2007-05-21 13:15 robert +Tue, 4 Jul 2006 09:13:15 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, updates to DirectX loader - * Reverting Luigi's addition of argv[1] as it breaks the build. +Mon, 3 Jul 2006 20:28:26 +0000 +Checked in by : Robert Osfield +From Brede Johansen, set the default value of texture wrap mode to REPEAT to fix problem with database without .attr files. -2007-05-21 12:34 robert +Mon, 3 Jul 2006 16:31:30 +0000 +Checked in by : Robert Osfield +Fixed a couple of warnings. - * Updated readme +Mon, 3 Jul 2006 16:21:57 +0000 +Checked in by : Robert Osfield +Fixed orientation and lighting of model. -2007-05-21 12:30 robert +Mon, 3 Jul 2006 15:21:08 +0000 +Checked in by : Robert Osfield +Removed template methods that were break VS6.0 build. - * From Luigi Calori, changed hardwired "cow.osg" paramter to - argv[1] +Mon, 3 Jul 2006 13:53:39 +0000 +Checked in by : Robert Osfield +Added a performace test section to osgunitests, currently just does basic C/C++ tests. -2007-05-21 12:28 robert +Mon, 3 Jul 2006 10:47:16 +0000 +Checked in by : Robert Osfield +Added merge geodes and geometries optimizer call - * Converted tabs to 4 spaces +Mon, 3 Jul 2006 09:26:12 +0000 +Checked in by : Robert Osfield +From Eric Sokolowski, "Added the ability to read and write images directly in the ive plugin, through the osgDB::readImageFile and osgDB::writeImageFile functions. This is useful for storing compressed textures on disk for rapid playback for animations." -2007-05-21 12:26 robert +Mon, 3 Jul 2006 09:22:11 +0000 +Checked in by : Robert Osfield +From Michael Platings, added support for blend seperates to .ive and .osg - * Updated version file for 1.9.5 release +Fri, 30 Jun 2006 13:50:32 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-05-21 11:49 robert +Fri, 30 Jun 2006 13:50:02 +0000 +Checked in by : Robert Osfield +From Michael Platings, added support for glBlendFuncSeperate. - * Fixed const method type +Fri, 30 Jun 2006 13:47:12 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, made a couple of methods static. -2007-05-21 09:27 robert +Thu, 29 Jun 2006 19:38:07 +0000 +Checked in by : Robert Osfield +From David Callu, compile fix for gcc 4.1 - * Updated version numbers for 1.9.5 release +Thu, 29 Jun 2006 15:57:24 +0000 +Checked in by : Robert Osfield +Added support for RenderBin's have a local top level StateSet. This is now used by default in the depth sorted bin. -2007-05-21 09:18 robert +Thu, 29 Jun 2006 11:57:15 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated ChangeLog +Thu, 29 Jun 2006 11:00:08 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-05-21 08:01 robert +Thu, 29 Jun 2006 10:19:44 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Olaf Flebbe, "FlightGear/OSG on Windows did not load the - Texture Fonts. - - 1) TXF Fonts are binary. - 2) Do not rely on the result of istream::readsome if buffer _is_ - empty - and no data have been read before." +Thu, 29 Jun 2006 10:17:19 +0000 +Checked in by : Robert Osfield +Changed _WIN32 to _MSC_VER -2007-05-21 07:54 robert +Thu, 29 Jun 2006 10:06:27 +0000 +Checked in by : Robert Osfield +From Eric Wing, updates to QuickTime plugin - * Added static build support to export macros +Thu, 29 Jun 2006 09:34:41 +0000 +Checked in by : Robert Osfield +Form Brede Johansen, move from istrstream to istringstream. From Robert Osfield, remapped Paul Martz's changes to Pools.h and PaletteRecords.cpp w.r.t texturePatternIndex being a in16, and converted a char* string to a std::string. -2007-05-21 06:57 robert +Thu, 29 Jun 2006 08:08:39 +0000 +Checked in by : Robert Osfield +Changed unsinged int to GLuint for OSX compile fix. - * Added istream:imbue(std::locale::classic()) setting to prevent - non classic locals - from being used when the .osg plugin reads and writes. +Wed, 28 Jun 2006 20:38:32 +0000 +Checked in by : Robert Osfield +Changed unsigned int to GLuint for OSX build. -2007-05-20 17:38 robert +Wed, 28 Jun 2006 14:36:28 +0000 +Checked in by : Robert Osfield +Change internal variables across to being GLuint. - * Introduced VERSION and SOVERSION'ing of libraries. +Wed, 28 Jun 2006 11:37:22 +0000 +Checked in by : Robert Osfield +From Eric Wing, updates to Xcode projects -2007-05-20 13:42 robert +Wed, 28 Jun 2006 11:27:16 +0000 +Checked in by : Robert Osfield +From Eric Wing, updates to Xcode projects - * From Stephan Huber, "attached you'll find some modifications and - enhancements to the carbon's - implementation of GraphicsWindow: - - - usage of WindowData, you can specify an existing window to use - via - osg::Traits - - implementation of setScreenResolution and setScreenRefreshRate - - implementation of setWindowDecoration when window is already - created. - - There seems to be a bug regarding multiple threads and closing - windows, - see my other mail on osg-users. - " +Wed, 28 Jun 2006 10:22:04 +0000 +Checked in by : Robert Osfield +Made the new OpenFlight plugin the default. -2007-05-20 12:29 robert +Wed, 28 Jun 2006 10:00:54 +0000 +Checked in by : Robert Osfield +Added a setRadius into the screen space LOD. - * Added support for version of the osgPlugins directory, which now - gets versioned - according to the OpenSceneGraph/CMakeLists.txt and the - include/osg/Version settings. - These changes mean that the 1.9.5 release will have a - libs/osgPlugins-1.9.5 directory. +Wed, 28 Jun 2006 07:17:56 +0000 +Checked in by : Robert Osfield +From Martin Naylor, build fix for windows. -2007-05-20 11:45 robert +Wed, 28 Jun 2006 07:14:39 +0000 +Checked in by : Robert Osfield +Removed old #include entries. - * Added support for SG_USE_FLOAT_MATRIX and OSG_USE_FLOAT_PLANE in - CMake build and - include/osg/Matrix and include/osg/Plane. +Tue, 27 Jun 2006 20:13:41 +0000 +Checked in by : Robert Osfield +Added setting of the CameraConfig:TheradModelDirective -2007-05-20 11:13 robert +Tue, 27 Jun 2006 13:09:00 +0000 +Checked in by : Robert Osfield +From Eric Wing, added support for outline/shadow and colour gradient effects. - * Fixed build error under float matrix build +Tue, 27 Jun 2006 12:08:30 +0000 +Checked in by : Robert Osfield +From Stephan Huber, remove Platform specific handling of multi-sample setup as its now supported within Producer in a generic way. From Robert Osfield fix to the parameter ordering -2007-05-20 09:55 robert +Tue, 27 Jun 2006 12:05:40 +0000 +Checked in by : Robert Osfield +From Eric Wing, added support for outline/shadow and colour gradient effects. - * From Lugi Calori, added control of lib postfix. +Tue, 27 Jun 2006 10:07:42 +0000 +Checked in by : Robert Osfield +From Terrex and Andrew Sampsom and Don Tidrow and Robert Osfield,email comments from Andew Sampson, -2007-05-19 14:00 robert +"I've contacted Terrex, and obtained the 2.2 version +of their trpage library. The library included a +fork of OSG 0.9.8's txp plugin, modified to load 2.1+ +txp DBs. - * From Stephan Huber, "I cleaned the code a little bit and improved - the handling of loops: - - I added a new protected virtual method to ImageStream called - applyLoopingMode() which is called from setLoopingMode. The - quicktime-plugin has an implementation of applyLoopingMode which - sets - some flags for the quicktime, so that quicktime handles the loop - playback by itself. - - This has some benefits: - - + no gaps when looping audio - + simplified code - - Attached you'll find the modified files, hope you'll find them - useful." +I've done the work of incorporating the changes made +to OSG's txp plugin since 0.9.8 into Terrex's fork. +The forked version is now up-to-date with the changes +made to OSG 0.9.9 and 1.0. -2007-05-19 13:43 robert +Terrex made a lot of changes (especially differences +in whitespace), so the diff between the forked version - * Various additions to better support view dependent overlay node, - and updated wrappers +and OSG 1.0's txp plugin is yucky. I did my best, but -2007-05-19 13:39 robert +keep in mind that this is the result of a 4-way merge +(kinda... terrex-0.9.8, stock-0.9.8, stock-0.9.9, +stock-1.0). - * From Rafa Giatan and Robert Osfield, added support for User - defined events, by adding - UserData to Events. +I really want to see this forked version merged back +into the main OSG branch. The new features offered by -2007-05-19 13:38 robert +this version of the plugin (2.1+ support, variable +LOD support, bug fixes) are worth the trouble." - * Made the near far ratio lower to allow one to be near the terrain - before clipping - comes in to effect +-- -2007-05-19 12:27 robert +Don Tidrow then took this code and added his work. - * From Michael Hartman, "I have made a small change to the - osgviewerMFC application that resolved most of my home computer - issues. It seams that my home computer needed to have the pixel - format set with PFD_DOUBLEBUFFER. - - Also, with the cmake ability you are free to remove the - MFC_OSG_MDI.vcproj file. - " +-- -2007-05-19 12:16 robert +Robert Osfield then fixed all the warnings that abound in the trpage code base. - * From Lugi Calori, fix for Win32 build of osgsimpleviewerWX -2007-05-19 07:08 robert - * In Drawable::releaseGLObjects() replaced glDeleteLists with - Drawable::deleteDisplayList(..) to prevent inappropriate OpenGL - deletion when current thread does have required grpahics contxt +Mon, 26 Jun 2006 20:45:51 +0000 +Checked in by : Robert Osfield +Replaced ref_ptr<>:take with ref_ptr<>:release, and added handling of removeal of ref_ptr<> operator >. -2007-05-18 11:22 robert +Mon, 26 Jun 2006 20:43:18 +0000 +Checked in by : Robert Osfield +Added DeleteHandler flush call. - * Updated wrappers +Mon, 26 Jun 2006 20:41:33 +0000 +Checked in by : Robert Osfield +From Tyge Løvset, ref_ptr<> template constructor, operators and associated functions.From Robert Osfield, tweaks and fixes to the above, also removed the deprecated take() method. -2007-05-18 10:33 robert - * Added support for tracking the CoordinateSystemNode path, and - passing this on to - camera manipulators. -2007-05-18 09:49 robert +Mon, 26 Jun 2006 20:35:10 +0000 +Checked in by : Robert Osfield +Added a functional DeleteHandler. - * Added range of CameranManipulators to allow us to navigate the - scene freely +Mon, 26 Jun 2006 15:18:14 +0000 +Checked in by : Robert Osfield +Fixed crash on osgconv --compressed cow.osg cow.ive -2007-05-18 09:43 robert +Mon, 26 Jun 2006 10:57:17 +0000 +Checked in by : Robert Osfield +Changed GLunit usage to unsigned int. - * Added -f/--fixed option to allow use to freeze the animation of - the cessna. +Mon, 26 Jun 2006 10:39:38 +0000 +Checked in by : Robert Osfield +From Andreas Ekstrand, fix for Windows -2007-05-17 19:58 robert +Mon, 26 Jun 2006 09:56:52 +0000 +Checked in by : Robert Osfield +From Leandro Motta Barros, documentation additions to PrimitiveSet & TriangleFunctor. - * Added support for View::setFustionDistance(..) +Mon, 26 Jun 2006 09:30:16 +0000 +Checked in by : Robert Osfield +From Philipp Siemoleit, There are some group codes (i.e. "62") which are interpreted as + dxfDataType::SHORT. That's right because the dxf-specification defines + "16 bit integer" as the type for the corresponding value. + But readerBase::readGroup() calls readValue(std::ifstream&, unsigned + short). I changed readValue(std::ifstream&, unsigned short) to + readValue(std::ifstream&, short). I found no group code at the dxf-specs + which needs a "16 bit unsigned integer" value. So the + readValue(std::ifstream&, unsigned short) function is obsolete - right? -2007-05-17 15:39 robert - * Improved view dependent camera positioning -2007-05-17 13:20 robert +Mon, 26 Jun 2006 09:18:49 +0000 +Checked in by : Robert Osfield +From David Fries, Reset only the RenderLeaf objects used in the last frame as given by the _currentReuseRenderLeafIndex instead of resetting all leaves which can be very time consuming. - * Added saving and restoring of the near/far planes during Camera - setup +Mon, 26 Jun 2006 09:09:10 +0000 +Checked in by : Robert Osfield +From Martin Naylor, added osgGA dependency to osgkeyboardmouse -2007-05-17 11:55 robert +Fri, 16 Jun 2006 09:28:35 +0000 +Checked in by : Robert Osfield +Fixed typo. - * From Serge Lages, "Here is a modified GraphicsWindowWin32.cpp - which handle double click events. - I've modified the file submitted yesterday by Andre and not the - current SVN version." +Mon, 12 Jun 2006 14:04:40 +0000 +Checked in by : Robert Osfield +Added pick handler. -2007-05-17 11:48 robert +Mon, 12 Jun 2006 11:32:11 +0000 +Checked in by : Robert Osfield +Revamped osgkeyboardmouse to use the osgGA. - * From David Callu, "I have added the uninstall command at the end - of the first file, - and the configuration file template use by the command is the - second file. - - The command use the cmake_install.cmake file which list all file - installed by the install target. - this issue come from the CMake FAQ" +Mon, 12 Jun 2006 09:57:01 +0000 +Checked in by : Robert Osfield +From Mathew May, FreeBSD build fixes. -2007-05-17 11:04 robert +Thu, 8 Jun 2006 15:27:18 +0000 +Checked in by : Robert Osfield +Martin Spindler, new osg::ClampColor state attribute. - * From Michael Hartman, "I have gone in and created a CMakeList.txt - file for osgviewerMFC application. - - Below is the changes made to the included files. The examples - CMakeList.txt file was not included but the code change needed - for osgviewerMFC inclusion is listed below. - - - - CMakeList.txt: - - This is a little different than other example cmakelist.txt files - in that I could not use the setup_example macro. I had to go in - and extract out the important parts of the macro and inline them - in the CMakeList.txt file so that I could add the WIN32 - declaration into the ADD_EXECUTABLE() statement. In the future - the setup_example macro might be modified to support osgviewerMFC - but this is special case so you might not want to muddy the water - for one example. - - - - - - MFC_OSG.h: - - This file had some small changes: - - From: #include - - To: #include - - - - Also added two new function declarations - - Void PreFrameUpdate(void); - - Void PostFrameUpdate(void); - - - - - - MFC_OSG.cpp: - - This file changed only in that I am explicitly showing the viewer - run loop and added the two new functions in the MFC_OSG.h file. - - - - " +Thu, 8 Jun 2006 14:32:02 +0000 +Checked in by : Robert Osfield +From Paul Martz, added support to textured light points into osgSim and OpenFlight loader, as part of the OpenFlight v16.0 spec. -2007-05-17 10:59 robert +Thu, 8 Jun 2006 13:34:29 +0000 +Checked in by : Robert Osfield +From Matt Green, fix to handling of centering of multi-line text entries. - * From Andre Garneau, warnings fixes fo VC++ +Thu, 8 Jun 2006 12:09:51 +0000 +Checked in by : Robert Osfield +From Paul Martz, clean up of comments. -2007-05-17 10:33 robert +Thu, 8 Jun 2006 12:07:11 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, reverted shaders changes due to lack of hardware/driver support - * From Andre Garneau,"Please find attached changes to have the - GraphicsWindowWin32 class - selectively set the pixel format for windows that are inherited, - following - some discussions on the mailing list last week. - - This is implemented through a new traits flag - (setInheritedWindowPixelFormat) with a default state of false (to - avoid - breaking existing applications). When set to true, the pixel - format of the - inherited window will be set according to the traits - specifications. - " +Thu, 8 Jun 2006 11:58:56 +0000 +Checked in by : Robert Osfield +From Gustavo Wagner, addition of trim method to TemplateArray class.From Robert Osfield, made trim method a virtual method of the base Array class +and added a trim implementation to TemplateIndexArray. -2007-05-16 19:19 robert - * Futher work on view dependent OverlayNode -2007-05-16 14:22 robert +Thu, 8 Jun 2006 11:56:07 +0000 +Checked in by : Robert Osfield +From Paul Martz, fixed incorrect filename in project file - * Refactored the internals of OverlayNode +Thu, 8 Jun 2006 11:39:10 +0000 +Checked in by : Robert Osfield +With direction from Paul Melis, fixed bug in CopySharedSubgraphsVisitor which prevented it being applied. Also fix inappropriate comment. -2007-05-16 11:32 robert +Thu, 8 Jun 2006 11:22:45 +0000 +Checked in by : Robert Osfield +From Joan Abadie: patch fixes : "osgDB::makeDirectory doesn't work on win32 when using full path name like : "d:/demo" it tryes a mkdir("d:")." - * Added code for computing the frustum dimensions in local coords - to the overlay node +Thu, 8 Jun 2006 11:19:24 +0000 +Checked in by : Robert Osfield +Added setting of default colour. -2007-05-15 19:45 robert +Thu, 8 Jun 2006 11:18:27 +0000 +Checked in by : Robert Osfield +added SphereSegment test code segment, commented out at pressent. - * From Mathias Froehlich, "This is an other small update for the - ac3d loader: - - It avoids attaching texture coordinates if there is not texture - attached. - - It uses DrawArrayLengths instead of multiple DrawElements." +Mon, 5 Jun 2006 16:25:29 +0000 +Checked in by : Robert Osfield +Added missing clip against maximum azimuth. -2007-05-15 19:32 robert +Mon, 5 Jun 2006 16:25:01 +0000 +Checked in by : Robert Osfield +Added extra SphereSegment intersection tests. - * From Blasius Czink, "when creating windows with decorations - (titlebar) the mouse position - should be adjusted." +Mon, 5 Jun 2006 16:06:29 +0000 +Checked in by : Robert Osfield +Improved stats sizing in presense of wide screens. -2007-05-15 19:25 robert +Mon, 29 May 2006 09:08:48 +0000 +Checked in by : Robert Osfield +Reverted changes from revision 1.4, as they look like a temporary hack not intended to be merged. - * From Laurens Voerman, "Attached is a version of - src\osgViewer\GraphicsWindowWin32.cpp that - allows to render in software. (maybe also in hardware w/o - wglChoosePixelFormatARB)" +Fri, 26 May 2006 15:19:14 +0000 +Checked in by : Robert Osfield +From Jason Baverage, support for interpolating DEM data from GDAL to the positions required for the current tile. -2007-05-15 17:04 robert +Tue, 23 May 2006 19:03:29 +0000 +Checked in by : Robert Osfield +Ran dos2unix of files - * Added code to better compute the view frustum that is appropriate - for a traversed - subgraph. +Mon, 22 May 2006 19:30:07 +0000 +Checked in by : Robert Osfield +Cleaned up the OpenGL error reporting. -2007-05-15 17:04 robert +Tue, 16 May 2006 21:32:37 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * Changed back to use find Qt3 and Qt4 separately to avoid QT error - reports +Tue, 16 May 2006 21:20:36 +0000 +Checked in by : Robert Osfield +Minor tweaks of ints to unsigned ints -2007-05-15 14:55 robert +Tue, 16 May 2006 21:00:45 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, futher work on Uniform array support. - * From John Kelso, Added support for new Sequence options. - From Robert Osfield, updated the above changes to the .ive loader - so that the new addition were tested against the IVE version - number +Tue, 16 May 2006 21:00:15 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, support for new Uniform arrays. From Robert Osfield, refactor of above with original code to ensure backwards compatibility. -2007-05-15 14:53 robert +Tue, 16 May 2006 10:21:59 +0000 +Checked in by : Robert Osfield +Compile fixes for OSX - * Added -n/--no-overlay option +Mon, 15 May 2006 15:46:08 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, support GLSL uniform arrays. A couple of tweaks and fixes from Robert Osfield. -2007-05-15 11:31 robert +Mon, 15 May 2006 13:22:59 +0000 +Checked in by : Robert Osfield +From Paul Martz, "This change is based on current CVS. (Note both Brede and I have submitted changes to this plugin that aren't in current CVS yet -- this change is based on current CVS, not our changed files.)This changes how shader palette records are parsed to support GLSL per the +OpenFlight 16.1 spec. Existing functionality for 16.0 files is preserved. - * From Mathieu Marache, "I tried the latest developper release - 1.9.4 and found that I hadn't - the osgsimpleviewerQt4 example in my Visual studio solutions... - After - looking into it it seems that you cannot have both Qt3 and Qt4 - enabled. After modifying the root CMakeLists.txt to use : - - FIND_PACKAGE(Qt) which should ask you to choose betwwen Qt3 and - Qt4 - if you have both - - instead of : - - FIND_PACKAGE(Qt3) - FIND_PACKAGE(Qt4) - - I had the project generated. But then due to the way CMake - handles Qt4 - I had to modify osgsimpleviewerQt4's CMakeLists.txt to have the - binary - link with QtOpengl4. " +The change to Document.h simply adds an enum for VERSION_16_1." -2007-05-15 11:25 robert - * From Farshid Lashkari, "I made a modification to the - setClientActiveTextureUnit and - setActiveTextureUnit methods of osg::State so they return false - if the - texture unit is outside the range of allowable units for the - driver. - Currently, the functions would return true even if the units are - invalid. This would cause the osg::State to become out of sync - with - the actual driver state, which can cause some bugs in certain - cases. - - The change I made would verify that the unit passed to - setClientActiveTextureUnit is below GL_MAX_TEXTURE_COORDS, and - the - unit passed to setActiveTextureUnit is below - max(GL_MAX_TEXTURE_COORDS,GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS). I - modeled this behavior from the OpenGL docs for these commands - which - can be found here: - - http://www.opengl.org/sdk/docs/man/xhtml/glClientActiveTexture.xml - http://www.opengl.org/sdk/docs/man/xhtml/glActiveTexture.xml - " -2007-05-15 11:22 robert +Mon, 15 May 2006 13:13:16 +0000 +Checked in by : Robert Osfield +Replaced BoundingBox with GeospatialExtents. - * Futher work on new view dependent overlay node +Mon, 15 May 2006 13:12:55 +0000 +Checked in by : Robert Osfield +From Jason Baverage, Added GeospatialExtents bounding box class which used doubles +in place of the original usage of osg::BoundingBox. -2007-05-14 20:23 robert +Added path for computing interpolation elevation data being read from GDAL. - * Set up new view dependent overlay technique control methods -2007-05-14 17:01 robert - * Added include of GraphicsWindow to fix wrapper build error +Mon, 15 May 2006 11:56:59 +0000 +Checked in by : Robert Osfield +From Eric Wing, removed trailing commans from enum lists. -2007-05-14 16:17 robert +Mon, 15 May 2006 11:53:21 +0000 +Checked in by : Robert Osfield +From Eric Wing, compile fix for OSX. - * Removed redundent comment '.' +Mon, 15 May 2006 11:48:05 +0000 +Checked in by : Robert Osfield +From Daniel Trastenjak, added checking of binding modes to ensure that changes are only applied when the binding mode changes, thereby avoiding uncessary calls to dirtyDisplayList.Note, from Robert Osfield, moved bodies of set*Binding() into Geometry.cpp to avoid +clutter in the header. -2007-05-14 16:16 robert - * Fixed parameter name -2007-05-14 16:14 robert +Mon, 15 May 2006 11:38:56 +0000 +Checked in by : Robert Osfield +From Adrian Egli, added std::ifstream::binary qualifier to ifstream usage. - * Clean up comments and rebuilt wrappers. - - Added extra event handlers to osgsimulator example +Mon, 15 May 2006 11:27:07 +0000 +Checked in by : Robert Osfield +From Paul Martz, "add support for the v16.0 "Add" texture environment and "mirrored repeat" wrap mode." -2007-05-14 16:13 robert +Mon, 15 May 2006 11:22:08 +0000 +Checked in by : Robert Osfield +Changed instances of setCoord(const Vec3) to setCoord(const Vec3&) style. - * Replaced TARGET_ADD_LIBRARIES to TARGET_EXTERNAL_LIBRARIES for - WxWidgets to avoid debug - issues +Mon, 15 May 2006 11:18:50 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "- Replaced some member attributes with local variables in Face record. - Multitexture support in Vertex class. - Renamed VertexList to VertexListRecord (VertexList is now a Vertex array) - new Mesh (with reserved field at offset 12, thanks to Paul Martz) - new LocalVertexPool - new MeshPrimitive - Use ProxyNode for externals. - Local cache for externals" -2007-05-14 15:16 robert +Mon, 15 May 2006 09:55:53 +0000 +Checked in by : Robert Osfield +Added VisualStudio project for Quake3 BSP plugin - * Renamed ViewerEventHandler to ViewerEventHandlers +Mon, 15 May 2006 09:46:54 +0000 +Checked in by : Robert Osfield +From Carlos García and Paul Baker, Port of Paul Baker's Quake3 BSP loader to OSG by Carlos García.Added Quake3 BSP plugin. -2007-05-14 15:07 robert - * Renamed the ScreenHandler to WindowSizeHandler, fixed the code - style to be conform more - to the rest of the OSG, and moved the osgviewer across to using - the event handlers - in osgViewer. -2007-05-14 14:41 robert +Tue, 9 May 2006 09:47:26 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "The drawInner() method of osgUtil::RenderStage ignores the checkForGLErrors flag of the osg::State object. The attatched file fixes this." - * From Serge Lages, "Here is a ViewerEventHandler file with a - collection of helper handlers for osgViewer. - Most of the code is from the osgviewer application, I have took - the fullscreen handler and the threading one, and I have just - added a fonctionality to be able to change the screen resolution - in windowed mode." +Tue, 9 May 2006 09:42:17 +0000 +Checked in by : Robert Osfield +From Tree, build fixes for JavaOSG build. -2007-05-14 14:36 robert +Tue, 9 May 2006 09:35:12 +0000 +Checked in by : Robert Osfield +From Farshid Lashari, round funciton. - * Changed tabs to four spaces +Tue, 9 May 2006 09:13:07 +0000 +Checked in by : Robert Osfield +Removed redundent variable declaration. -2007-05-14 09:43 robert +Tue, 9 May 2006 09:12:43 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "The setScale(Vec3) method of osg::AutoTransform does not dirty the matrix. The fix is attached." - * Updated authors file +Thu, 4 May 2006 19:39:58 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-05-14 09:33 robert +Thu, 4 May 2006 19:36:30 +0000 +Checked in by : Robert Osfield +Added removeChild(unsigned int, unsigned int) back in for backward compatibility. - * Updated wrappers and version numbers for 1.9.4 dev release +Thu, 4 May 2006 19:15:52 +0000 +Checked in by : Robert Osfield +Fixed expire of children to work with the new Group::removeChildren method. -2007-05-13 09:54 robert +Tue, 2 May 2006 15:52:46 +0000 +Checked in by : Robert Osfield +Added selective support for thread safe ref/unref such that the rendering backend now doesn't use thread safe ref counting where multi-buffering exists. This reduces the overhead of multi-threading. - * Added TerrainNode::init() and - s/getTreatBoundariesToValidDataAsDefaultValue flag. +Tue, 2 May 2006 09:50:00 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-05-11 20:16 robert +Tue, 2 May 2006 09:49:37 +0000 +Checked in by : Robert Osfield +Fixed docs on GL_SCALE_NORMAL - * Added include +Tue, 2 May 2006 09:45:31 +0000 +Checked in by : Robert Osfield +Reorganised the Group::removeChild and Geode::removeDrawable methods so that removeChild(Node*), removeChild(uint) and equivilant Geode methods are now inline methods, not designed to be overriden, and seperated out the multiple remove method to be called removeChildren(uint, uint) which is now the only virtual method. There removeChildren is now the method to override in subclasses.This reorganisation requires some call code to be rename removeChild usage +to removeChildren. -2007-05-11 19:28 robert - * Updated wrappers -2007-05-11 19:25 robert +Tue, 2 May 2006 09:18:36 +0000 +Checked in by : Robert Osfield +Fixed popping of state frustum. - * Added new areThreadsRunning() method to Viewer and - CompositeViewer. - - Added removeView(View*) method to CompositeViewer - - Added stopping/starting of threads in addView/removeView +Mon, 1 May 2006 16:20:26 +0000 +Checked in by : Robert Osfield +From Colin MacDonald, fixed handling of an adding a graphics context after the creating of the osgText::Text. -2007-05-11 18:25 robert +Mon, 1 May 2006 16:13:37 +0000 +Checked in by : Robert Osfield +Ran dos2unix. - * Added ValidDataOperator base class and NoDataValue and ValidRange - subclasses, and - support for it in osgTerrain::Layer and GeometryTechniqnue. +Mon, 1 May 2006 16:11:30 +0000 +Checked in by : Robert Osfield +From Eric Wing, updated precompiled header list in new project file template. -2007-05-11 13:45 robert +Mon, 1 May 2006 16:05:16 +0000 +Checked in by : Robert Osfield +From Eric Wing, removed trailing semi colonds from namespace end bracket. - * From Uwe Woessner, fixed handling of read/draw buffer in vertical - interlaced stereo +Mon, 1 May 2006 14:51:56 +0000 +Checked in by : Robert Osfield +From Mathew May, FreeBSD support for AMD64. -2007-05-11 13:43 robert +Fri, 28 Apr 2006 10:48:05 +0000 +Checked in by : Robert Osfield +Added catch for thread model w.r.t new PrecipitationEffect not being sensitive to threading issues. - * UPdated wrappers +Tue, 25 Apr 2006 13:50:07 +0000 +Checked in by : Robert Osfield +UPdated wrappers -2007-05-11 12:46 robert +Tue, 25 Apr 2006 12:56:33 +0000 +Checked in by : Robert Osfield +Added UseFarLineSegments option - * Fixed CMake support for osgsimpleviewWX +Tue, 25 Apr 2006 12:39:00 +0000 +Checked in by : Robert Osfield +Implemented seemless update of precipitation properties. -2007-05-11 12:12 robert +Tue, 25 Apr 2006 09:00:07 +0000 +Checked in by : Robert Osfield +Reset the default number of graphics context to 1. - * From Doug McCorkle, removed pfdb from link line +Mon, 24 Apr 2006 21:48:23 +0000 +Checked in by : Robert Osfield +Moved LessFunctor into header. -2007-05-11 09:07 robert +Mon, 24 Apr 2006 16:21:10 +0000 +Checked in by : Robert Osfield +Moved PrecipitationParameters directly into PrecipitationEffect. - * From Gian Lorenzetto, osgsimpleviewWX example, CMake support - added by Robert Osfield +Mon, 24 Apr 2006 11:24:08 +0000 +Checked in by : Robert Osfield +Added depth sorting of cells. -2007-05-11 09:05 robert +Mon, 24 Apr 2006 10:32:33 +0000 +Checked in by : Robert Osfield +Added near/far compute. - * Updated wrappers +Mon, 24 Apr 2006 09:35:01 +0000 +Checked in by : Robert Osfield +Added osgParticle dependency to osgPrecipitation example. -2007-05-11 08:30 robert +Mon, 24 Apr 2006 08:37:04 +0000 +Checked in by : Robert Osfield +Added osgUtil to the osgParticle dependencies. - * From Brad Colbert, removed inappropriate rewind on non looping - code path. +Mon, 24 Apr 2006 06:36:26 +0000 +Checked in by : Robert Osfield +Added support for wind. -2007-05-11 08:19 robert +Sat, 22 Apr 2006 15:08:07 +0000 +Checked in by : Robert Osfield +Moved PrecipitationEffect node into osgParticle. - * From Michael Hartman, " Here is the MFC_OSG example. It is very - basic and the community is welcome to enhance/improve this - example. There is one bug documented in the Readme.txt file that - I just have not had time to solve. Also, the code is built - outside of the OSG environment and uses environment variables to - get to the OSG distribution headers and examples. That should be - the only change a user needs to make to get the code to compile." +Sat, 22 Apr 2006 15:07:36 +0000 +Checked in by : Robert Osfield +Decreased notify level of debug message. -2007-05-10 18:07 robert +Sat, 22 Apr 2006 06:33:01 +0000 +Checked in by : Robert Osfield +Moved PrecipitationDrawable into PrecipitationEffect. - * Added supoort for transforming layers by an offset and scale +Fri, 21 Apr 2006 19:39:05 +0000 +Checked in by : Robert Osfield +Added new precipitation nodes. -2007-05-10 18:07 robert +Fri, 21 Apr 2006 17:16:49 +0000 +Checked in by : Don BURNS +Fixed a cut-n-paste error in the ground intersects. - * Removed rendundent const +Wed, 19 Apr 2006 19:00:04 +0000 +Checked in by : Robert Osfield +Fixed mouse scroll mapping. -2007-05-10 12:49 robert +Wed, 19 Apr 2006 13:04:21 +0000 +Checked in by : Robert Osfield +Convertered shaders across to using modelview matrix instead of uniforms. - * Added automatic detection of alpha values, switching on blending - when alpah!=1.0 +Mon, 17 Apr 2006 19:10:06 +0000 +Checked in by : Robert Osfield +Standardised the bin number of the particle effects -2007-05-10 12:33 robert +Mon, 17 Apr 2006 13:25:33 +0000 +Checked in by : Robert Osfield +Added setting of the FrameStamp on the RenderStage's local GraphicsContext to keep it in sync with the calling graphics context. - * Added automatic enabling of blending when alpha value != 1.0 - occur in the color - or transfer function data. +Fri, 14 Apr 2006 16:44:12 +0000 +Checked in by : Robert Osfield +Added inline shaders so that the tha example can be run from any directory. -2007-05-10 11:36 robert +Fri, 14 Apr 2006 15:03:36 +0000 +Checked in by : Robert Osfield +Further tweaks to settings to improve performance at mid intensity ranges - * From Daniel Sjolie, build fix for Windows +Fri, 14 Apr 2006 14:24:12 +0000 +Checked in by : Robert Osfield +Refined the default settings for rain and snow to achieve better framerates. -2007-05-10 10:52 robert +Fri, 14 Apr 2006 11:04:11 +0000 +Checked in by : Robert Osfield +Added fog parameters settings. - * Added getHWND, getHDC and getWGLContext methods +Fri, 14 Apr 2006 08:28:35 +0000 +Checked in by : Robert Osfield +From Ben Discoe, added missing drawable->dirtyDisplayList(). -2007-05-10 08:20 robert +Thu, 13 Apr 2006 20:21:55 +0000 +Checked in by : Robert Osfield +Added --numberOfParticles, --numberOfCellsX, --numberOfCellsY, --numberOfCellsZ, --boundingBox, --fogEnd and --fogDensity controls - * Added checks against Options to osga plugin to ensure archives - are only cached - when requested, cleaned up the - Registry::openArchiveImplementation function. +Thu, 13 Apr 2006 19:05:26 +0000 +Checked in by : Robert Osfield +Added command line options and various speed improvements. -2007-05-09 13:05 robert +Wed, 12 Apr 2006 11:59:07 +0000 +Checked in by : Robert Osfield +Implement positioning of cells via vertex attribute. - * Commented out debug messages +Wed, 12 Apr 2006 09:42:25 +0000 +Checked in by : Robert Osfield +Moved common uniforms to top of precipitation subgraph.Added a run of the SpatializeGroupVisitor to create a balanced subgraph. -2007-05-09 12:08 robert +Changed the quad to particle transistion distance from 100 to 50m. - * Updated wrappers -2007-05-09 11:11 robert - * From John Kelso, - - "Attached are updates of src/osg/Sequence.spp and - include/osg/Sequence. - - I've taken _sbegin/_send/_ubegin/_uend and _step our of the - include file - and made them local variables in whatever method might need them. - - I got rid of the _recalculate method as it was only getting used - in - one place. - - I also found a cut/paste bug in setMode's START case." - - Note from Robert Osfield, Also includes some guards against - crashes that was occuring in this new - code when handling empty Sequences. +Tue, 11 Apr 2006 19:56:53 +0000 +Checked in by : Robert Osfield +Added support for LOD's with transistion between quads and point rendering. -2007-05-09 10:42 robert +Tue, 11 Apr 2006 13:22:59 +0000 +Checked in by : Robert Osfield +Added support for point sprite particle effects. - * Set default texture size back to 1024x1204 +Tue, 11 Apr 2006 10:53:46 +0000 +Checked in by : Robert Osfield +Added point and line paths. -2007-05-09 10:41 robert +Tue, 11 Apr 2006 08:44:26 +0000 +Checked in by : Robert Osfield +Added setting of the DisplaySettings::setMaxNumberOfGraphicsContext() to the number of contexts required by Producer. - * Added GL_MAX_TEXTURE_SIZE check and use of OSG_MAX_TEXTURE_SIZE - env var to help - hint to osgText that the native OpenGL implementation only - supports textures up to - a given size. +Mon, 10 Apr 2006 15:45:59 +0000 +Checked in by : Robert Osfield +From Martin Naylor, osgprecipitation project file. -2007-05-09 10:31 robert +Fri, 7 Apr 2006 19:54:44 +0000 +Checked in by : Robert Osfield +Added mipmap generation. - * Added use of OSG_MAX_TEXTURE_SIZE for clamping texture sizes. +Fri, 7 Apr 2006 18:24:52 +0000 +Checked in by : Robert Osfield +Added quad based rain effect -2007-05-09 10:01 robert +Thu, 6 Apr 2006 14:06:22 +0000 +Checked in by : Robert Osfield +From Brede Johansen, added MergeGeode visitor to osgUtil::Optimizer. - * From Mike Weiblen, with mods of using references by Robert - Osfield for efficiency. Submission notes from Mike: - "By repurpose, I'm creating a new plugin that uses much of the - .osg fileformat, - but with some changes. Specifically, I'm creating a ".osgfs" - plugin, which - represents the scenegraph hierarchy as a filesystem of nested - subdirectories and - individual files for each node, rather than nested braces with - everything in a - single monolithic file. I intend to incorporate file alteration - monitor events - to watch the filesystem for modifications and automatically - reload. - - The problem I'm running into is osgDB is too tightly coupled to - the .osg format. - osgDB::Output::writeObject() contains literal .osg - format-specific strings like - "{" to represent the Object hierarchy at too low a semantic - level. I propose - using virtual methods; my plugin can then derive from - osgDB::Output and - represent Object hiearchy differently. - " +Wed, 5 Apr 2006 15:13:17 +0000 +Checked in by : Robert Osfield +Added beginings osgprecipitation example. -2007-05-09 09:43 robert +Tue, 4 Apr 2006 23:22:34 +0000 +Checked in by : Don BURNS +Fixed a bug in the DelaunayTriangulator uniquify points method. Was always skipping the first point. - * From Alan Harris, "Registry and Archive - ~~~~~~~~~~~~~~~~~~~~~~~~~ - This is a simple change to permit databases other than those - named - "*.osga" to be used. It is hardcoded in read() at present. - - It is non-critical and does not affect existing program - functionality. - - Registry and Registry.cpp - ~~~~~~~~~~~~~~~~~~~~~~~~~ - Added a new typedef: typedef std::vector< std::string> - ArchiveExtensionList; - - a list of extensions: ArchiveExtensionList _archiveExtList; - - and an "add" method: addArchiveExtension(const std::string ext) - - This is initialised by adding "osga" in Registry() and used in - Registry::read() where the list is searched for the extension - used. - - Archive.cpp - ~~~~~~~~~~~ - This submission is a little more tentative. openArchive() is - modified to - automatically add the filename extension to the Registry - extension list. - " +Tue, 4 Apr 2006 14:10:48 +0000 +Checked in by : Robert Osfield +Added missing .js file. -2007-05-09 09:26 robert +Tue, 4 Apr 2006 13:47:35 +0000 +Checked in by : Robert Osfield +From Joran Jessurun and Chris Hanson, Visual Studio Static build support. - * Added signOrZero template method, and to - Matrix_implementation.cpp usage of this - method in the get(Quat&) code. +Tue, 4 Apr 2006 13:20:12 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-05-09 07:54 robert +Tue, 4 Apr 2006 12:58:56 +0000 +Checked in by : Robert Osfield +Converted SceneHandlerList to use Producer::ref_ptr<> - * Added imageData block initialized to 0 for first construction of - GlyphTexture +Tue, 4 Apr 2006 12:53:10 +0000 +Checked in by : Robert Osfield +From Eric Wing, XCode project files. -2007-05-08 15:32 robert +Mon, 3 Apr 2006 19:14:58 +0000 +Checked in by : Robert Osfield +#if'd out use of barrier for stats collection. - * Further work on dome correction +Mon, 3 Apr 2006 18:25:31 +0000 +Checked in by : Robert Osfield +Temporary fix for hang in stats when multi-threaded. -2007-05-08 12:18 robert +Fri, 31 Mar 2006 01:37:38 +0000 +Checked in by : Don BURNS +Don Tidrow's ifdef for MingW - * Firt cut at full dome correction of wrap around movies and - imagery +Thu, 30 Mar 2006 10:20:11 +0000 +Checked in by : Robert Osfield +Build fixes to cope with changes to Producer/osgProducer. -2007-05-08 10:02 robert +Wed, 29 Mar 2006 23:32:51 +0000 +Checked in by : Don BURNS +Updates to osgProducer to bring it up to speed with changes in Producer - * Added CullSettings inheritance mask for LIGHTING_MODE and LIGHT +Tue, 28 Mar 2006 16:08:32 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, changes to internal help class in prep for array uniform support. Small tweaks for build under Linux from Robert Osfield. -2007-05-07 22:07 robert +Tue, 28 Mar 2006 14:45:48 +0000 +Checked in by : Robert Osfield +From Glenn Waldrom, addition of .ive support for PriorityOffset and PriorityScale. - * Added s/getLightingMode and s/getLight to osg::View to allow - control of the viewers - global light source. +Tue, 28 Mar 2006 10:45:15 +0000 +Checked in by : Robert Osfield +From Eric Sokolosky, added help for PRODUCER_CAMERA_BLOCK_ON_VSYNC -2007-05-07 19:48 robert +Tue, 28 Mar 2006 10:28:49 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, added support for new OSG_IMAGE_FILE_NAME env var for setting the default name to use when writing out captured images from the viewer. - * Added missing HelpHandler::reset() implementation +Mon, 27 Mar 2006 20:30:10 +0000 +Checked in by : Robert Osfield +Updated ChangeLog. -2007-05-07 07:58 robert +Sat, 18 Mar 2006 07:07:19 +0000 +Checked in by : Robert Osfield +From Farshid Lasharki, added IO suppoty fo osgParticle::ConstantRateContour - * Updated ChangeLog and AUTHORS.txt for release +Fri, 17 Mar 2006 22:25:32 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-05-07 07:51 robert +Fri, 17 Mar 2006 22:23:37 +0000 +Checked in by : Robert Osfield +Added exports. - * Updated version numbers for 1.9.3 release, combined INSTALL.txt - and README.txt +Fri, 17 Mar 2006 22:22:57 +0000 +Checked in by : Robert Osfield +From Keith Steffen, changed instance of sun to sun_geode to avoid Solaris10 build issue with it defining "sun"?#! -2007-05-05 17:05 robert +Fri, 17 Mar 2006 14:05:40 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, Added ability to read/write the texture tile settings of osgParticle::Particle to .osg files. - * Added extra external libs +Fri, 17 Mar 2006 11:28:35 +0000 +Checked in by : Robert Osfield +From Sohey Yamamoto, fixed eroneous CHECK_BLACK_LISTED_MODES enum value, changing 0xA0 to 0x100 -2007-05-05 17:02 robert +Wed, 15 Mar 2006 15:49:21 +0000 +Checked in by : Robert Osfield +Added createEvent() convinience method. - * Added extra libs to COLLADA plugin, but still need to set - LD_LIBRARY to libs even though they are static!?#!? +Wed, 15 Mar 2006 12:26:48 +0000 +Checked in by : Robert Osfield +Added comment on the meaning of the matrix paramter in the computeIntersections methods. -2007-05-05 16:24 robert +Wed, 15 Mar 2006 12:26:10 +0000 +Checked in by : Robert Osfield +Added moving sphere segment intersections. - * Added preliminary Performer plugin support, note, still missing - are a range of Performer database libs that will be required. +Wed, 15 Mar 2006 11:21:44 +0000 +Checked in by : Robert Osfield +From Martin Naylor, build fix for Win32. -2007-05-05 16:11 robert +Wed, 15 Mar 2006 10:36:10 +0000 +Checked in by : Robert Osfield +From Martin Naylor, added ESRIShape.dsp project - * Added OpenVRML support +Tue, 14 Mar 2006 13:18:21 +0000 +Checked in by : Robert Osfield +Build fixes -2007-05-05 15:36 robert +Tue, 14 Mar 2006 09:33:14 +0000 +Checked in by : Robert Osfield +Added 21 as the version number of xine video plugin to allow it work with latest versions of xine. - * Added CMake support for pnm plugin +Tue, 14 Mar 2006 09:23:30 +0000 +Checked in by : Robert Osfield +From Martin Naylor, added normals VS project -2007-05-05 08:22 robert +Mon, 13 Mar 2006 21:29:17 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "The following patch adds a multisample option to the osg::DisplaySettings class. OsgCameraGroup will now read the setting from the DisplaySettings instead of hardcoding the value. I added the following commandline option to be able to set the multisample value:--samples - * Added support for normals plugin +One thing to note, OsgCameraGroup would previously check if the +computer is an SGI and set multisample to 4. I retained this check in +DisplaySettings to be backwards compatible." -2007-05-05 08:18 robert - * Added ToPortToCmake.txt to record what modules need port to - CMake. -2007-05-04 19:17 robert +Mon, 13 Mar 2006 21:20:07 +0000 +Checked in by : Robert Osfield +From Andrew Sampson, "The terravista terrain generation tool can insert references to external model files into a terrapage tile. It unfortunately does not update the bounding sphere of that tile to include the extents of the external model. This means that if a large model (such as an airfield model) is attached to a tile, the model will disappear when the tile is off-screen (outside the view volume), even though the model is on-screen." - * Added first cut a Xine support +Mon, 13 Mar 2006 13:19:37 +0000 +Checked in by : Robert Osfield +Added an EventQueue directly into osgProducer::Viewer. -2007-05-04 14:25 robert +Thu, 9 Mar 2006 15:16:18 +0000 +Checked in by : Robert Osfield +Checked in the genwrapper generated Export.cpp. This does seem to be an eroneously built file though since Export.cpp doesn't appear in the other plugins... I have checked it in here to keep the builds running, there isn't actually any useful body in the Export.cpp. - * Added first cut of Cmake COLLADA support +Thu, 9 Mar 2006 13:02:11 +0000 +Checked in by : Robert Osfield +Ran dos2unix on new OpenFlight files. -2007-05-04 13:41 robert +Wed, 8 Mar 2006 21:38:37 +0000 +Checked in by : Robert Osfield +From Brede Johansen, new OpenFlight plugin!!!!!By default the original flt plugin is still used, to select at runtime +the new plugin set the env OSG_OPEN_FLIGHT_PLUGIN=new - * Added COLLADA CMAkeLists.txt, doesn't work yet as we done yet - have a FindCOLLADA.cmake but it is a start -2007-05-04 13:20 robert - * Added support for jp2 plugin +Wed, 8 Mar 2006 16:11:54 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, added osg::getGlVersion() and fixed a minor typo in Texture3D. -2007-05-04 12:06 robert +Wed, 8 Mar 2006 15:40:02 +0000 +Checked in by : Robert Osfield +Added EventQueue. - * Removed margin +Wed, 8 Mar 2006 15:30:07 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "A while back the behaviour of extension alias' was modified so that the user can override existing alias'. The change allowed for circular references, so the createLibraryNameForExtension would get caught in an endless loop. The following fix will catch circular references." -2007-05-04 12:05 robert +Wed, 8 Mar 2006 15:26:39 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I noticed that sometimes when a particle emitter is re-enabled, a few particles will appear at the location it was disabled at. The problem is that the previous local to world matrix is not being updated while it is disabled. I modified the particle processor so that it will set the dirty flag for the previous local to world matrix when the processor is skipped for a frame, since the value will no longer be relevant." - * Reorganised the managment of margins around glyphs so that is - done entirely - with src/osgText/Font.cpp rather than the font plugins or - Text.cpp +Wed, 8 Mar 2006 15:16:59 +0000 +Checked in by : Robert Osfield +From Roger James, "1. Fixed a problem with the caching of textures when the associated image file was not in the current working directory. In this case the texture object was being placed in the cache with the short filename, but was looked up with the full path.2. Fixed a problem with the caching of textures when CACHE_IMAGES was enabled. This caused a conflict is the names used to cache the image and texture objects. -2007-05-04 08:48 robert +3. Fixed a problem where AC3D generates surfaces with duplicate vertex indices. - * From Luigi Calori, Win32 build fix +4. Removed what I believe are redundant calls to the tesselator. -2007-05-04 08:45 robert +5. Added a couple of asserts which should fire in debug mode if my assumptions about 4. are incorrect. - * From Mathias Froehlich, "Attached is a change that does no longer - set the render bin details in nodes - other than drawables. I guess that this way I am sure to not - introduce - hierarchical render bins in loaded models." +6. Removed obviously unused code. (Stuff that was commented or ifdeffed out.)" -2007-05-04 08:40 robert +Note, from Robert Osfield, changed the asserts to if () report error using notify so we can catch errors in both optimized and debug builds, but without crashing. - * From David Callu, fixed incorrect array usage. -2007-05-03 16:23 robert - * Added CartizianLocator +Wed, 8 Mar 2006 14:09:47 +0000 +Checked in by : Robert Osfield +Converted osgGA::GUIEventAdapter into a concrete class capable of respresenting keyboard and mouse events.Added osgGA::EventQueue class to support a thread safe event queue and adaption +of keyboard and mouse events. -2007-05-03 15:21 robert +Removed osgProducer::EventAdapter as GUIEventAdapter replaces it. - * Updated wrappers +Adapted osgProducer and examples to work with the new changes to osgGA. -2007-05-03 14:51 robert - * Added return *this to operator = -2007-05-03 14:47 robert +Tue, 7 Mar 2006 18:26:32 +0000 +Checked in by : Don BURNS +Improved the GET protocol for the http socket. By adding Connection: close the server sends a EOF immediately after the data, improving performance because readers are not left waiting for EOF. - * Added osgUtil into lib list +Sun, 5 Mar 2006 20:46:59 +0000 +Checked in by : Robert Osfield +Began work on making EventVisitor capable of adapting events directly. -2007-05-03 11:11 robert +Thu, 2 Mar 2006 20:39:20 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, support for writing to istream for the the TIFF plugin and support for controlling PNG compression level via the the ReaderWriter::Option string "PNG_COMPRESSION " - * Added virtual orientationOpenGL() method into - osgTerrain::Locator. +Thu, 2 Mar 2006 20:31:40 +0000 +Checked in by : Robert Osfield +Added automatic toggling between png and jpeg when compressImageData option is used. Jpeg is used to compress RGB data only, the just of the formats are passed on to the png plugin. -2007-05-03 10:10 robert +Thu, 2 Mar 2006 15:26:12 +0000 +Checked in by : Robert Osfield +From Robert Swain, compile fix for debian unstable. - * Added OpenThreads to TARGET_COMMON_LIBRARIES +Thu, 2 Mar 2006 14:58:13 +0000 +Checked in by : Robert Osfield +From Farshid Lashakari, support for png write. -2007-05-03 10:06 robert +Wed, 1 Mar 2006 10:17:53 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've attached another modified version of the IVE loader which supports compressing the image data. The option to compress the data is "compressImageData". Currently it uses the jpeg plugin to write the image. Maybe we could add an option that allows the user to specify which image format to use. The jpeg writer supports specifying the quality of the jpeg, so you could use the following command line to convert the skydome.osg model to IVE using 50% jpeg quality:osgconv -O "compressImageData JPEG_QUALITY 50" skydome.osg skydome.ive" - * Moved the OpenThreads link locally to each lib -2007-05-03 08:50 robert - * Added support for setting OpenThreads_SOURCE_DIR to help the - install of OpenThreads headers +Tue, 28 Feb 2006 21:18:45 +0000 +Checked in by : Robert Osfield +Added TextureRectangle.cpp -2007-05-02 19:57 robert +Tue, 28 Feb 2006 20:10:25 +0000 +Checked in by : Robert Osfield +Compile fix. - * Added OpenThreads wrappers +Tue, 28 Feb 2006 19:46:02 +0000 +Checked in by : Robert Osfield +From Brede Johansen, added missing array handling into Geometry::accept(AttributeFunctor& af) and Geometry::accept(ConstAttributeFunctor& af). -2007-05-02 18:07 robert +Tue, 28 Feb 2006 19:36:18 +0000 +Checked in by : Robert Osfield +Further clean up of RefNodePath references. - * Added CMake support for local OpenThreads build +Tue, 28 Feb 2006 19:12:27 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-05-02 16:36 robert +Tue, 28 Feb 2006 18:54:29 +0000 +Checked in by : Robert Osfield +Fixes to removed dependency on RefNodePath. - * Added svn:externals for include/OpenThreads and src/OpenThreads +Mon, 27 Feb 2006 19:51:32 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-05-02 13:58 robert +Mon, 27 Feb 2006 19:49:47 +0000 +Checked in by : Robert Osfield +Ported NodeTrackCallback and NodeTrackManipulator across to use oberserver_ptr instead of RefNodePath.Removed now redundent RefNodePath. - * Introduced new tesslation technique that adjusts the - triangulation so that the - diagonal goes between the corners with least vertical deviation. -2007-05-01 18:03 robert - * Further perfomrmance optimizations and clean up on new - VBO/EBO/PBO API. +Mon, 27 Feb 2006 19:48:34 +0000 +Checked in by : Robert Osfield +Added support in osg::computeWorldToLocal and compteLocalToWorld functions for automatically stripping any absolute or root CameraNode's from the NodePaths.Added osg::Node::getWorldMatrices() convinience method. -2007-05-01 09:29 robert - * Cleaned up the optional code paths in new VBO code -2007-05-01 07:31 robert +Mon, 27 Feb 2006 19:44:33 +0000 +Checked in by : Robert Osfield +Added new observer_ptr templated smart pointer to allow one to retain pointers to objects but have the pointer reset to null if that object is deleted. - * Updated wrappers +Sun, 26 Feb 2006 17:45:52 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I've made some changes to the IVE loader which will add the capability of saving image files inside the IVE file. Currently, only the raw image data is saved into the file. If your model uses jpg images as textures then this will cause your file size to increase.I've added an option that will embed the original image file into the +IVE file. The IVE file will then attempt to read the image from +memory. Since most image loaders support reading from memory, this +shouldn't be a problem. To use this new feature the user must specify +the option "includeImageFileInIVEFile" when converting to IVE. -2007-05-01 06:40 robert +I tested this out on the "skydome.osg" model that comes with OSG. +Using the old method, the IVE file size would be 785 KB, with the new +method it is only 42 KB. - * Added direct links to the CMake build pages +Also, I've added the support for TextureRectangle's to the IVE reader/writer." -2007-05-01 06:28 robert - * Moved VBO switching code into inline methods into osg::State to - speed performance -2007-04-30 22:12 ewing +Fri, 24 Feb 2006 13:57:47 +0000 +Checked in by : Robert Osfield +Added debugging code to help pick out instablilities in osgParticle. Debugging code now commented out. - * Fixes to resync Xcode project with current tree. - flt files are missing. I'm not sure if it was intentionally - removed from the project, so I left the everything in place, but - removed the target from the build aggregate targets so it doesn't - get in the way of the build system. - Added back osgTerrain to the project (don't know who deleted - those). SDL's aggregate target is also missing. +Fri, 24 Feb 2006 13:56:07 +0000 +Checked in by : Robert Osfield +Added clamping of the wind force contribution to acceletion of particle so that the de-acceleration never exceed the actual wind vector itself. -2007-04-30 15:10 robert +Thu, 23 Feb 2006 20:37:19 +0000 +Checked in by : Robert Osfield +Completed .osg support for ClusterCullingCallback. - * Added initalization of _startTick to CompositeViewer +Thu, 23 Feb 2006 16:47:36 +0000 +Checked in by : Robert Osfield +Disabled the running of tristripping and smoothing from within the Simplifier. -2007-04-30 14:49 robert +Thu, 23 Feb 2006 12:41:05 +0000 +Checked in by : Robert Osfield +From Gordon Tomlinson, spelling fixes. - * From Jeremy Moles, fixed missing intialization of _startTick - member variable. +Thu, 23 Feb 2006 12:39:31 +0000 +Checked in by : Robert Osfield +Fixed function name call. -2007-04-30 12:18 robert +Wed, 22 Feb 2006 20:51:26 +0000 +Checked in by : Robert Osfield +Fixed getBound() comment. - * Implementated new dirty buffer mechansim for BufferObjects to - make it more efficient +Wed, 22 Feb 2006 19:28:34 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-04-30 09:47 robert +Wed, 22 Feb 2006 19:14:01 +0000 +Checked in by : Robert Osfield +Fixed typo of Validity. - * Added TerrainNode::setColorFilter(layerNum,Filter) to allow - developers to set - what type of texture filter to use, either LINEAER and NEAREST. +Wed, 22 Feb 2006 16:05:37 +0000 +Checked in by : Robert Osfield +From Thom Carlo, with tweak from Robert Osfield, removed the setting of the outline colour (the emission part of material) during setup of the Carton effects for the second pass. -2007-04-30 08:37 robert +Wed, 22 Feb 2006 14:35:06 +0000 +Checked in by : Robert Osfield +Fixed documentation. - * Updated ChangeLog and AUTHORS file +Wed, 22 Feb 2006 14:31:13 +0000 +Checked in by : Robert Osfield +Added support for OpenGL mode black listing to provide better support for extension checking and invalidation of OpenGL modes associated with extensions. -2007-04-30 08:31 robert +Tue, 21 Feb 2006 21:29:49 +0000 +Checked in by : Robert Osfield +Added ClusterCullingCallback.cpp - * Updated version number for 1.9.2 dev release +Tue, 21 Feb 2006 21:28:57 +0000 +Checked in by : Robert Osfield +Added initial cut of ClusterCullingCallback .osg support. -2007-04-29 20:19 robert +Tue, 21 Feb 2006 14:34:58 +0000 +Checked in by : Robert Osfield +From Gordon Tomlinson, spelling fixes. - * Updated wrappers +Tue, 21 Feb 2006 13:55:30 +0000 +Checked in by : Robert Osfield +From Gordon Tomlinson, VS2005 Syntax highling regonition. -2007-04-29 20:13 robert +Tue, 21 Feb 2006 13:51:10 +0000 +Checked in by : Robert Osfield +From Paul Martz, "I've attempted to make AutoTransform override computeBounds() to return an invalid bounding sphere if it hasn't seen a cull traversal yet. It depends on _firstTimeToSetEyePoint, which is initially true, then false after a cull. There might be a better way? If so, let me know.This change does resolve the issue I had encountered with auto scale to +screen and incorrect culling." - * Added temporary code (but comment out) for testing VBO - performance -2007-04-29 20:10 robert - * Added a MatrixTransform set up to provide a local origin for - better precision. +Tue, 21 Feb 2006 12:39:47 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov, "small fix for the flt loader - the back color of the bidirectional light points" -2007-04-29 08:12 robert +Mon, 20 Feb 2006 21:05:23 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, spelling corrections and a few Doxgen comments. - * Further work on new VertexBufferObject/ElementsBufferObject - support +Mon, 20 Feb 2006 20:06:26 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, "There was a problem with the PNG plugin when it encounters an image that is less than 8 bits per pixel (this can happen with greyscale or paletted images). It was a pretty simple problem to fix." -2007-04-27 17:03 robert +Mon, 20 Feb 2006 19:13:11 +0000 +Checked in by : Robert Osfield +From Nathan Monteleone, addition of AutoTransform support. - * Added back in osg::Geometry path +Mon, 20 Feb 2006 16:50:47 +0000 +Checked in by : Robert Osfield +Moved the intialization variable reset to end of the init funciton to avoid multi-thread initialization from producing different results. -2007-04-27 14:52 robert +Mon, 20 Feb 2006 16:20:50 +0000 +Checked in by : Robert Osfield +From Ed Ralston, "According to the OSX Developer Documentation, CFRelease cannot be called with a NULL argument.This patch prevents osgDB::FileUtils from doing this." - * Further work on the new VBO support -2007-04-27 10:29 robert - * From Eric Wing, - " - Here are more changes for the CMake scripts: - - - I removed CMAKE_INSTALL_PREFIX in FindOpenThreads as a follow - up to - the discussion thread. - - - I introduced an experimental CMAKE_PREFIX_PATH to replace it. - - - I added CMAKE_PREFIX_PATH, CMAKE_INCLUDE_PATH, and - CMAKE_LIBRARY_PATH to the CMake GUI so users can enter values - there - instead of in the environment. - - - I added OPENSCENEGRAPH_*_VERSION variables (MAJOR, MINOR, - PATCH). - These should be kept up-to-date with the real version numbers. - Mac - bundles like to have version information so users can find out - the - version they are running through standard About panels and also - automated system reporters for troubleshooting/bug tracking. In - theory, this information could be used for library versioning. - We should do the same for OpenThreads, but I forgot about it. - - - I added some Mac Info.plist stuff (which uses the version - information). - - " +Mon, 20 Feb 2006 15:46:29 +0000 +Checked in by : Robert Osfield +Added missing swap byte operations to readVec*sArray() methods. -2007-04-27 09:49 robert +Mon, 20 Feb 2006 15:32:03 +0000 +Checked in by : Robert Osfield +From Daniel Larimer, fixed error is swap byte code handling vector - * Fixed tabbing +Mon, 20 Feb 2006 15:25:09 +0000 +Checked in by : Robert Osfield +From Markus Trenkwalder, "when building debug libs in mingw the .dll.a files are not copied to the lib/MINGW(32) folder. The makefiles in the attached zip should fix this." -2007-04-26 16:50 robert +Thu, 9 Feb 2006 19:31:05 +0000 +Checked in by : Don BURNS +Fixed a bug spotted in UFOManipulator where a Vec3's 4th component was being inspected (ip[3]). - * Added using of VertexBufferObject and ElementsBufferObject - classes +Thu, 9 Feb 2006 12:20:42 +0000 +Checked in by : Robert Osfield +Added BlenColour(Vec4) constructor and updated wrappers. -2007-04-26 16:50 robert +Wed, 8 Feb 2006 23:41:32 +0000 +Checked in by : Don BURNS +Added a filter to the Delaunay Triangulator to insure that incoming points are unique in the X and Y components. - * Further work VertexBufferObject and ElementsBufferObject classes +Mon, 6 Feb 2006 20:36:09 +0000 +Checked in by : Robert Osfield +Added s/getDoTriStrip and s/getSmoothing method. -2007-04-26 08:26 robert +Mon, 6 Feb 2006 19:41:30 +0000 +Checked in by : Don BURNS +Added normals and ESRIshape directories to makedirdefs - * Updated wrappers +Mon, 6 Feb 2006 19:40:45 +0000 +Checked in by : Don BURNS +Added 'normals' pseudoloader -2007-04-26 08:11 robert +Mon, 6 Feb 2006 19:16:04 +0000 +Checked in by : Robert Osfield +Improved default settings, re-enambled smoothing and tri stripping of sampled data. - * From Brad Colbert, "Added a new method to ImageStream called - getLength that is used to - return the length of the stream. - - Implemented the virtual methods in QuicktimeImageStream, - (getLength, - getReferenceTime, setTimeMultiplier), to return valid value for - each. - " +Mon, 6 Feb 2006 17:12:35 +0000 +Checked in by : Robert Osfield +Added support for up sampling by dividing longest edges. -2007-04-26 08:07 robert +Sun, 5 Feb 2006 21:53:37 +0000 +Checked in by : Robert Osfield +From David Guthrie, OSX marco reworking to better handling different OSX versions. - * From Eric Wing, Added quicktime CMakeLists.txt +Sat, 4 Feb 2006 21:25:33 +0000 +Checked in by : Robert Osfield +From Edmond Gheury, fixe and bug in the PrimitiveShapeVisitor. -2007-04-25 18:50 robert +Sat, 4 Feb 2006 21:20:25 +0000 +Checked in by : Robert Osfield +From Marco Jez, " I've modified in order to make FBO mipmapping work. In FrameBufferObject.cpp there is also another fix: when initializing a FBO attachment from a CameraNode attachment, the renderbuffer's format must be set to the attachment's internal format, not to the image's pixel format.Another problem is that attaching a renderbuffer to the FBO through +CameraNode is not simple (if not impossible) if you don't intend to specify +an Image object. Probably CameraNode could be enriched with an +"attach(buffer, width, height, format)" method. For example if you attach a +color buffer as a texture whose size is different than that of the +CameraNode's viewport you also need to attach a depth buffer of the same +size, because the depth buffer that is automatically attached by RenderStage +has the viewport's size. FBOs require that all attachment have the same +dimensions, so said setup will fail if you can't specify a custom depth +renderbuffer" - * Added VertexBufferObject and ElementBufferObject class - interfaces, and wired - up osg::Array and osg::DrawElements* to these respectively. - - Updated wrappers -2007-04-25 15:32 robert - * Added --static and --vbo options to allow the user to toggle - on/off dynamic updating - of geometry and use of vertex buffer objects. +Sat, 4 Feb 2006 21:12:45 +0000 +Checked in by : Robert Osfield +From Brad Anderegg, add _frameNumber and associated code to ensure that particles only get updated once per frame. -2007-04-25 10:32 robert +Sat, 4 Feb 2006 21:06:48 +0000 +Checked in by : Robert Osfield +From Chris Hanson, added get methods for size of file request and data to compile lists. - * Updated wrappers +Tue, 24 Jan 2006 17:43:53 +0000 +Checked in by : Don BURNS +Changes to zip and tgz plug-ins to allow for use of TEMP variable on Windows. Submitted by Zach Deedler -2007-04-25 10:32 robert +Tue, 24 Jan 2006 12:02:40 +0000 +Checked in by : Robert Osfield +cleaned up clampNearNar code. - * Cleaned up numToTop method +Mon, 23 Jan 2006 20:38:28 +0000 +Checked in by : Robert Osfield +Improved the env var reporting to avoid the overlong lines. -2007-04-25 10:12 robert +Mon, 23 Jan 2006 20:16:05 +0000 +Checked in by : Robert Osfield +Added explanation of --no-terrain-simplification - * From Martin Aumueller, fixed unused parameter warnings +Sat, 21 Jan 2006 13:02:03 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-04-25 09:32 robert +Wed, 18 Jan 2006 12:16:45 +0000 +Checked in by : Robert Osfield +From Marco Jez, adding osgDB::findDataFile() usage. - * From Martin Aumueller, " - a collegue of mine noticed that on Windows and X11 the modifier - state (such as - Alt or Ctrl) would be applied one key press too late: e.g. press - & hold Alt, - press a, release Alt, press a, press a would generate the key - sequence a, - Alt-a, a instead of Alt-a, a, a. - - The problem is also present on Carbon. Moving the call to - setModKeyMask in - front of the call to keyPress fixed it for me on Carbon and X11. - I suppose - that this will fix the problem for Windows as well." +Wed, 18 Jan 2006 12:13:48 +0000 +Checked in by : Robert Osfield +From Marco Jez:here is a patch that enables a new option named "BIND_TEXTURE_MAP" in the LWO plugin. Its purpose is to allow explicit binding between texture UV maps defined in the LWO file and OpenGL texture units, overriding the default mechanism that allocates texture units automatically. This is useful when you have an UV map built in Lightwave (for example an atlas map) but no textures actually using it, so you can keep the UV map (that would be discarded otherwise) and add a texture later int your program. -2007-04-25 09:21 robert +Syntax is: +BIND_TEXTURE_MAP - * From Eric Wing, - "These enhancements make it much easier to control which - libraries get - found by FIND_ using environmental variables. The problem with - the old - script was that CMake searches what it considers system paths - first. - This makes it difficult to override in the case where you might - have a - stable version in /usr/local, but are trying to build a bleeding - edge - release in the non-standard location /bleeding-edge. - - I went to the CMake mailing list hoping to find a good solution - to - this. Unfortunately, there isn't one, and I have to do something - rather bone-headed in the Find module. Basically, I have to run - FIND_ - twice: once with default search paths turned off and my - environmental - variables listed, and again with standard search paths reenabled. - At - least it works. - - I also added a few more environmental variables, specifically: - OPENTHREADS_INCLUDE_DIR - OPENTHREADS_LIBRARY_DIR - - These two variables address the shortcoming of OPENTHREADS_DIR in - the - case where the include path and library path don't share a common - parent. - - Put all this together, and you can setup an automated shell - script or - Microsoft .bat file to configure and build your application in an - automated step. - - - You still should be able to use the key CMake variables like - CMAKE_INCLUDE_PATH and CMAKE_LIBRARY_PATH to find things, but it - will - occur after the environmental paths are searched. The reason for - this - is that the OPENTHREADS_INCLUDE_DIR and OPENTHREADS_LIBRARY_DIR - are - more specific. This prevents the accidental ordering problem - where you - might use CMAKE_INCLUDE_PATH to find some other component like - GLUT, - but didn't want to accidentally include an older version of - OpenThreads located in the same area. - - As the ultimate override, you can still pass -DVAR=value - arguments to - cmake and it will take these above all else. However, it's safer - for - people to not use these in case we modify the script and change - the - variable names. - - Finally, I'm wondering if we can kill the ${CMAKE_INSTALL_PREFIX} - searches in the Find module. As I've said before, this is kind of - a - hack and the variable wasn't really intended to be used in this - way. - And I just got bitten by it in some bad corner cases. The problem - is - that if you don't explicitly set the ${CMAKE_INSTALL_PREFIX}, - CMake - sets a default value for it (such as /usr/local). The problem is - that - /usr/local may not be the place you want searched. If you wait to - set - the ${CMAKE_INSTALL_PREFIX} in the ccmake GUI, then FIND_ is - already - run once on ${CMAKE_INSTALL_PREFIX=/usr/local. If you were - planning to - change the value in the GUI, it's too late if you had a stuff in - /usr/local because FIND_ already found something and won't change - the - value when you reconfigure since it is already set. You will have - to - manually change the value yourself. Furthermore, as another - problem - example, on the Mac, /Library/Frameworks is supposed to be - searched - before /usr/local, but ${CMAKE_INSTALL_PREFIX} kept causing stuff - in - /usr/local to be hit first which took me a really long time to - understand how this was happenning. The work around is that I - must - push the ${CMAKE_INSTALL_PREFIX} search to the very end as not to - conflict with anything else. But I think it would be much better - if we - removed it entirely. - - And with so many different environmental variables at our - disposal, I - don't think we need this one: - - (Checked by CMake automatically:) - CMAKE_INCLUDE_PATH - CMAKE_SYSTEM_INCLUDE_PATH - CMAKE_LIBRARY_PATH - CMAKE_SYSTEM_LIBRARY_PATH - PATH - LIB - - (Checked by us:) - OPENTHREADS_INCLUDE_DIR - OPENTHREADS_LIBRARY_DIR - OPENTHREADS_DIR - OSG_INCLUDE_DIR - OSG_LIBRARY_DIR - OSG_DIR - " -2007-04-25 09:16 robert - * From Eric Wing, "lwo must link to osgFX or undefined symbols - ensue." +Wed, 18 Jan 2006 12:03:55 +0000 +Checked in by : Robert Osfield +From Maya Leonard, ERSIShape VS project file, and compile fixes for Win32. -2007-04-25 09:14 robert +Wed, 18 Jan 2006 11:45:58 +0000 +Checked in by : Robert Osfield +From Marco Jez, addition of glw extension checking under Windows, and tweaks to BlendEquation and RenderStage to correct the extensions being tested. - * From Eric Wing, "I made a mistake in my IF() checks for - FOO_CONFIG_HAS_BEEN_RUN_BEFORE. - I was using ${FOO_CONFIG_HAS_BEEN_RUN_BEFORE} instead of just - FOO_HAS_BEEN_RUN_BEFORE. - - In this case, it happened to work out to still be correct, but in - general it shouldn't have the ${}. (I really hate this syntax.)" +Tue, 17 Jan 2006 17:04:40 +0000 +Checked in by : Robert Osfield +From Zbigniew Sroczynski, fix for handling of paths with spaces. -2007-04-24 19:08 robert +Tue, 17 Jan 2006 15:18:44 +0000 +Checked in by : Robert Osfield +Added new BoxPlacer files. - * From Jeremy Moles, Added check for image transluceny to image - loaded code, placing - the image quad into the transparent bin for images with alpha - values. +Tue, 17 Jan 2006 15:17:15 +0000 +Checked in by : Robert Osfield +From Zach Deedler, addition of osgParticle/BoxSpacer. -2007-04-24 19:03 robert +Mon, 16 Jan 2006 17:05:17 +0000 +Checked in by : Robert Osfield +Improved handling of clean up of osg::Program/osg::Shader on closing of a graphis context. - * From Martin Aumueller, "the new Inventor plugin needs some - changes in order to compile against OpenInventor. - Just as in the pre-r6419 I used the COIN_BASIC_H define in order - to discriminate - between the two versions of Inventor. - - Additionally, I had to change the CMakeLists.txt to use the - proper include path. - " +Mon, 16 Jan 2006 17:03:34 +0000 +Checked in by : Robert Osfield +Fixed indenting. -2007-04-24 13:12 robert +Thu, 12 Jan 2006 22:43:36 +0000 +Checked in by : Robert Osfield +Added support for tracking mouse movement and computing the intersection of the mouse position into texture coords. - * From Jan Peciva, - "I was working on a new version of Inventor plugin. - It was inspired by the need to get correct and high quality - conversion, - so I verified the plugin on complex models and made number of - serious fixes: - - - the geometry is not two times on the output file (!) - - SoVRMLImageTexture: VRML texture support was rewritten - according to - Inventor programming practices, since it does not worked - correctly on - many models (Anyway, thanks for Gerrick Bivins to introduce it.) - - osg::ref wrong usage related crash fixed - - code cleaning and texture code overhaul - - LOD fixes - - appended README.txt with all the contributors I was able to get - from - SVN logs" +Tue, 3 Jan 2006 16:52:06 +0000 +Checked in by : Robert Osfield +Added ability to write out the selected parts of the scene graph. -2007-04-24 13:11 robert +Tue, 3 Jan 2006 10:44:14 +0000 +Checked in by : Robert Osfield +Moved the body of the FBOExtensions::instance() to the .cpp and added bool to control whether that an FBOExtensions structure can be created if missing. - * Added CMake support for lwo plugin. +Mon, 2 Jan 2006 12:03:18 +0000 +Checked in by : Robert Osfield +Standardised compile code to use _maximumNumOfObjectsToCompilePerFrame. -2007-04-24 12:59 robert +Fri, 23 Dec 2005 10:59:31 +0000 +Checked in by : Robert Osfield +Ported picking across to using PickVisitor. - * Added compile path support for XINE, Inventor and LibXML +Fri, 23 Dec 2005 10:59:12 +0000 +Checked in by : Robert Osfield +Added setting of the parent path on the new PickVisitor. -2007-04-23 20:21 robert +Thu, 22 Dec 2005 14:06:33 +0000 +Checked in by : Robert Osfield +Seperated out the view and model matrices in IntersectVisitor to allow handling of world coordinates better when using PickVisitor. - * Updated version to 1.9.1 +Wed, 21 Dec 2005 10:32:48 +0000 +Checked in by : Robert Osfield +Added support for an externally referenced shader file, via the keyword combinations file "shader.vert" -2007-04-22 21:54 robert +OR - * Updated AUTHORS file for 1.9 developer release + file shader.vert. -2007-04-22 21:53 robert - * Updated ChangeLog -2007-04-22 21:40 robert +Tue, 20 Dec 2005 09:29:26 +0000 +Checked in by : Robert Osfield +Removed "if (mapExt!=toExt)" from alias map assignement to allow aliases to be overriden for all cases. - * Added --version-number support +Tue, 20 Dec 2005 09:13:59 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, compile fix -2007-04-22 21:18 robert +Mon, 19 Dec 2005 15:05:26 +0000 +Checked in by : Robert Osfield +Added check against the validity of the _inverse matrix pointer. - * From Michael Platings, "In the "new method" 3DS loader, inverse - matrices were applied to - vertices, but not normals, which caused some models to appear - with - normals doubly rotated. I've now added some code to transform the - normals." +Mon, 19 Dec 2005 14:48:04 +0000 +Checked in by : Robert Osfield +From Ali Botorabi, adding of osg::Depth support in .ive format. -2007-04-22 20:19 robert +Mon, 19 Dec 2005 13:57:04 +0000 +Checked in by : Robert Osfield +Added debugging info for future reference (currently commented out.) - * Unified the setup of version numbers so that they all are based - on the version - number setup in the include/osg/Version header file. +Mon, 19 Dec 2005 13:40:32 +0000 +Checked in by : Robert Osfield +Added transform of the eye point into local coordinates to properly account for transforms within the scene graph. -2007-04-21 12:29 robert +Mon, 19 Dec 2005 12:00:40 +0000 +Checked in by : Robert Osfield +Fixed computeWindowMatrix so that it properly accounts for x,y position of the viewport. - * Added osgSim dependency to txp plugin +Mon, 19 Dec 2005 11:18:26 +0000 +Checked in by : Robert Osfield +From Eric Wing, made getLineCount() const. -2007-04-21 11:24 robert +Sun, 18 Dec 2005 16:06:17 +0000 +Checked in by : Robert Osfield +Improved handling of clamping of projection matrix for scenes with close to zero depth range. - * Added include directory to get txp plugin building +Fri, 16 Dec 2005 17:01:30 +0000 +Checked in by : Robert Osfield +Fixed null matrix op. -2007-04-20 16:17 robert +Fri, 16 Dec 2005 16:27:17 +0000 +Checked in by : Robert Osfield +Fixed handling of absolute transforms in IntersectVisitor. - * Added support for sorting the graphics contexts so that the first - context/window - returned from Viewer::getContexts/getWindows will be the left - most window on the lowest screen number. - - Added ability for StatsHandler and HelpHandler to support end - users setting their - Camera's graphics context. +Fri, 16 Dec 2005 14:53:51 +0000 +Checked in by : Robert Osfield +Fixed typo in text string. -2007-04-20 16:15 robert +Fri, 16 Dec 2005 11:04:33 +0000 +Checked in by : Robert Osfield +Added back in Switch::removeChild(Node*) - * Added delay between sequential threading model changes to prevent - the system from locking up - with 'm' is held down, which previous would cause the threading - model to be thrashed. +Thu, 15 Dec 2005 20:56:06 +0000 +Checked in by : Robert Osfield +Added proper catch of Paul de Repentinguy name -2007-04-16 19:40 robert +Thu, 15 Dec 2005 19:38:24 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * From Jason Howlett, using suggestion from Robert Osfield, - "CullVisitor.cpp was modified, beginning at line 1115. Code was - added to - check if the camera inherits its cull mask. If not, the - CullVisitor sets - its traversal mask to the camera's cull mask." +Thu, 15 Dec 2005 17:14:40 +0000 +Checked in by : Robert Osfield +Improved stats handling, and fixed a couple of stats bugs. -2007-04-16 19:34 robert +Thu, 15 Dec 2005 16:30:31 +0000 +Checked in by : Robert Osfield +From Jason Beverage, added option to control whether simplification of tiles is done during osgdem builds. - * Implement basic TerrainGeometry code +Thu, 15 Dec 2005 16:24:22 +0000 +Checked in by : Robert Osfield +From Matthew May, fixes for threading problems under FreeBSD build. -2007-04-16 18:33 robert +Thu, 15 Dec 2005 15:50:17 +0000 +Checked in by : Robert Osfield +Removed Switch::removedChild(Node*) as the Group::removeChild(Node*) implementation should be sufficient, as it calls the virtual removeChild(uint,uint). - * Added logo and txp CMakeLists.txt files. The txp build is - temporarily commented out while the build is fixed. +Thu, 15 Dec 2005 15:36:55 +0000 +Checked in by : Robert Osfield +From Paul de Repentigny, ciyple fo fixes for the DXF reader. -2007-04-16 12:21 robert +Thu, 15 Dec 2005 15:25:02 +0000 +Checked in by : Robert Osfield +From Yefei He, fix to QUAD_STRIP stats. - * Updated wrappers +Fri, 9 Dec 2005 22:53:32 +0000 +Checked in by : Robert Osfield +Updated version/revision for 1.0.0 release. -2007-04-16 12:20 robert +Fri, 9 Dec 2005 20:17:11 +0000 +Checked in by : Robert Osfield +Updated NEWS and AUTHORS files for the release. - * Cleaned up state management code +Fri, 9 Dec 2005 20:10:22 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for 1.0 release. -2007-04-16 12:18 robert +Fri, 9 Dec 2005 20:03:04 +0000 +Checked in by : Robert Osfield +Fixed typo in comments and onscreen help. - * Fixed bug associated with complex RenderBin setup. +Fri, 9 Dec 2005 19:54:31 +0000 +Checked in by : Robert Osfield +Fixed the text to match the implementation. -2007-04-16 06:03 robert +Fri, 9 Dec 2005 19:34:09 +0000 +Checked in by : Robert Osfield +From Thom DeCarlo, changed of ?= to = in Cygwin/minw options for INST_LOCATION. - * Bumbped the version number up to 1.9, in preperation for using - odd release numbers - for development releases, odd versions for stable releases. +Fri, 9 Dec 2005 19:14:55 +0000 +Checked in by : Robert Osfield +From Simon Julier, library reordering for compiling osgTerrain under cygwin. -2007-04-15 20:53 robert +Fri, 9 Dec 2005 16:00:01 +0000 +Checked in by : Robert Osfield +Changed constructors to use unsigned int to get round VS6.0 + wrapper problems. - * Fixed choice of display +Fri, 9 Dec 2005 15:05:50 +0000 +Checked in by : Robert Osfield +From Simon Julier, fix for .exe extension under Mingw/Cygwin. -2007-04-15 12:09 robert +Fri, 9 Dec 2005 14:52:19 +0000 +Checked in by : Robert Osfield +Build fix for VS6.0 in the template constructors - * Updatged ChangeLog using svn2log, osgversion to handle new SVN - based ChangeLog, and updated AUTHORS.txt +Fri, 9 Dec 2005 11:22:09 +0000 +Checked in by : Robert Osfield +From Eric Wing, added missing removeChildren method. -2007-04-14 08:31 robert +Fri, 9 Dec 2005 09:38:46 +0000 +Checked in by : Robert Osfield +From Eric Sokolosky, add setting of _cameraRequiresSetUp in constructor to avoid uninitialized variable. - * Added an #include and extern "C" around - X11ErrorHandling to prevent Solaris build errros +Thu, 8 Dec 2005 22:12:42 +0000 +Checked in by : Robert Osfield +Updated NEWS. -2007-04-13 19:28 robert +Thu, 8 Dec 2005 20:32:06 +0000 +Checked in by : Robert Osfield +From Paul Martz, changed Vec3 to Vec3d to ensure that the lazy evaluation of computeBound work properly. - * Added some debugging +Thu, 8 Dec 2005 14:08:09 +0000 +Checked in by : Robert Osfield +From Simon Julier, fixed typo of unknown. -2007-04-13 19:28 robert +Thu, 8 Dec 2005 12:02:06 +0000 +Checked in by : Robert Osfield +Updated AUTHORS and ChangeLog for rc9. - * Updated wrappers +Thu, 8 Dec 2005 11:53:06 +0000 +Checked in by : Robert Osfield +Updated NEWS from wiki ammendments. -2007-04-13 14:54 robert +Thu, 8 Dec 2005 11:37:55 +0000 +Checked in by : Robert Osfield +From Simon Julier, build fixes for Cygwin/mingw - * Added fullscreen toggle event handler +Thu, 8 Dec 2005 11:01:38 +0000 +Checked in by : Robert Osfield +Added support for pre and post relative transforms on cameranode. -2007-04-13 14:54 robert +Thu, 8 Dec 2005 10:06:57 +0000 +Checked in by : Robert Osfield +Added CameraNode::releaseGLObejcts() to help in clean up, and changed the ordering in SceneView::flushDeleteGLObjects() so that fbo's are deleted before any texture objects they use are deleted. - * Added usleep's to avoid X11 errors when doing X11 calls to close - to changes in - window size or decoration. +Thu, 8 Dec 2005 10:03:39 +0000 +Checked in by : Robert Osfield +Changed s/getGdalDataset() methods to use void* to avoid introspeciton wrapping problems. -2007-04-13 14:23 robert +Thu, 8 Dec 2005 08:57:16 +0000 +Checked in by : Robert Osfield +From Eric Wing, fix to comment. - * Added setWindowRectangle implementation for GraphicsWindowWin32, - and - place holder for setWindowRectangle implementation for - GraphicsWindowCarbon. +Wed, 7 Dec 2005 15:29:29 +0000 +Checked in by : Robert Osfield +Added new Node::getParentalNodePaths() method.Added better handling in computeIntersections(..) of nodes that are internal +to the scene graph, correctly accounting for the accumulated transforms. -2007-04-13 13:28 robert +Changed the EventVisitor so that it only traveses active children rather than +all children. - * Updated wrappers +Updated wrappers. -2007-04-13 13:22 robert - * Added s/getWindowRectangle to GraphicsWindow and implementation - in GraphicsWindowX11 -2007-04-13 13:19 robert +Wed, 7 Dec 2005 15:26:45 +0000 +Checked in by : Robert Osfield +From Antonoine Hue, a small modification to the osgTerrain::DataSet to be able to pass an already opened GDAL Dataset to the osgTerrain::DataSet::Source - * Changed hitItr to be a const_iterator. +Wed, 7 Dec 2005 12:29:36 +0000 +Checked in by : Robert Osfield +Updated NEWS for release -2007-04-13 10:14 robert +Wed, 7 Dec 2005 11:38:39 +0000 +Checked in by : Robert Osfield +From Eric Wing, fixed typo induced bug. - * From Eric Wing, "I added a warning message for Mac users about - the Universal Binary - problem." +Wed, 7 Dec 2005 11:36:56 +0000 +Checked in by : Robert Osfield +Added Camera::isRenderToTextureCamera() method, and improved support in PickVisitor and IntersectVisitor for CameraNode, including the ignoring of render to texture cameras, such that HUD's etc are still intersected against. -2007-04-12 17:30 robert +Wed, 7 Dec 2005 10:25:50 +0000 +Checked in by : Robert Osfield +Moved PickVistor into osgUtil - * Fixed variable name dereference +Wed, 7 Dec 2005 09:48:28 +0000 +Checked in by : Robert Osfield +Enabled thread safe counting by default. -2007-04-12 10:14 robert +Tue, 6 Dec 2005 21:59:43 +0000 +Checked in by : Robert Osfield +Improved the PickVisitor to make it more flexible and robust. - * Added different cmake version requirements across platforms +Tue, 6 Dec 2005 12:07:34 +0000 +Checked in by : Robert Osfield +Removed osgdemeter example from distribution because it no longer compiles, and Demeter itself nolonger compiles, osgdemeter has now been moved to the community section of openscenegraph.org. -2007-04-12 10:06 robert +Tue, 6 Dec 2005 11:24:24 +0000 +Checked in by : Robert Osfield +Added checks in the drawImplementation to catch when attribute bindings are set on but the relevant arrays remain unset, this prevents previous crash when this occured. - * From Eric Wing, "Adding back missing search paths in - FindOpenThreads.cmake. Also fixed - a bug regarding when to set the debug version. It waited until - both - include and library were set, but it shouldn't wait on include. - - Also added a fix to the optional warning flags." +Tue, 6 Dec 2005 10:26:48 +0000 +Checked in by : Robert Osfield +From Gideon May, fixed typo in docs. -2007-04-12 09:59 robert +Tue, 6 Dec 2005 10:18:33 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, removed second redundent dirtyDisplayList() call. - * Added SETUP_COMMANDLINE_APPLICATION and SETUP_COMMANDLINE_EXAMPLE - macros +Tue, 6 Dec 2005 10:16:21 +0000 +Checked in by : Robert Osfield +From Louis Hamilton, fix to LightPoint's under 64 bit build, changing longs to ints in colour conversion code. -2007-04-12 09:33 robert +Mon, 5 Dec 2005 20:11:50 +0000 +Checked in by : Robert Osfield +Changed debug message to INFO. - * From Eric Wing, - "Attached is a patch allows access access to the CMake - MACOSX_BUNDLE - option. Now SETUP_APPLICATION and SETUP_EXAMPLE take an - additional - optional parameter that specifies if the program is a command - line - application or a GUI application (think: IS_COMMANDLINE_APP). - Passing - 1 means true (is_commandline_app). Passing 0 or omitting the - parameter - means false. - - I changed the scripts for osgversion and osgunittests to support - this - option because I believe they are command line apps. Are there - any - others?" +Mon, 5 Dec 2005 10:24:02 +0000 +Checked in by : Robert Osfield +Attempt at build fixes for IRIX. -2007-04-12 09:32 robert +Mon, 5 Dec 2005 10:23:37 +0000 +Checked in by : Robert Osfield +Removed the closeLibraries call from the registry singleton desctuction. - * Updated wrappers +Mon, 5 Dec 2005 10:08:52 +0000 +Checked in by : Robert Osfield +From Geoff Michel, Fix to prevent Producer::Trackball being set up with a negative radius. -2007-04-12 09:32 robert +Sun, 4 Dec 2005 20:08:41 +0000 +Checked in by : Robert Osfield +Fixed tabbing. - * From Mike Wittman, fix to CopyOp&. +Sat, 3 Dec 2005 15:12:52 +0000 +Checked in by : Robert Osfield +Added OSG_EXPORT to PrimitiveSet. -2007-04-12 09:18 robert +Sat, 3 Dec 2005 00:03:31 +0000 +Checked in by : Robert Osfield +Moved the body of the getNumPrimitives() into the .cpp. - * From Eric Wing, "Minor robustness fix to osgsimpleviewerCocoa." +Fri, 2 Dec 2005 12:30:14 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, AUTHTORS.txt and osgversion for next release candidate. -2007-04-11 17:39 robert +Fri, 2 Dec 2005 12:10:02 +0000 +Checked in by : Robert Osfield +Fixed typos in NEWS, improved formating. - * Prep work on new TerrainGeometry Drawable which supports - selective display list/VBO's usage. - - Updated wrappers +Fri, 2 Dec 2005 11:59:36 +0000 +Checked in by : Robert Osfield +Updated NEWS with quotes. -2007-04-11 11:20 robert +Fri, 2 Dec 2005 09:57:19 +0000 +Checked in by : Robert Osfield +Added a static_cast to get round IRIX64 build problem. - * Changed the parameter handling so that it supports left to right - inheritance of settings +Fri, 2 Dec 2005 00:25:40 +0000 +Checked in by : Robert Osfield +From Marco Jez, hack/fix for VS compile/link problems related to STL containers. -2007-04-11 11:20 robert +Fri, 2 Dec 2005 00:21:00 +0000 +Checked in by : Robert Osfield +Updated NEWS - * Added support for multiple colour layers, and fixed handling of - elevation - and colour layers having different locator +Thu, 1 Dec 2005 16:44:40 +0000 +Checked in by : Robert Osfield +Updated NEWS -2007-04-11 08:35 robert +Thu, 1 Dec 2005 16:43:40 +0000 +Checked in by : Robert Osfield +Added comments. - * From Eric Wing, - " - Changes include: - - A internal cache flag that can be used to detect if this is the - first - time running the CMake configuration. This is needed to work - around - stupid CMake UI shortcomings about the UI not reflecting anything - you - SET unless you use FORCE. But if you use FORCE, you override - anything - the user may try to set/override unless you have an exception - check. - It turns out the exception check you need is often the first-run - check. This flag is potentially useful for other things too. - - An optional switch that turns on more aggressive warnings based - on - your compiler. - - Some Apple specific stuff for detecting the OS version and - enabling - Universal Binaries (and some additional compiler flags that are - good - but gcc version dependent). The version check code is - unfortunately - really fragile. I need to lobby CMake to return the OS X version - number for us. FYI, building Universal will fail with the current - CMake release due to a bug, but is now fixed in CVS. - " +Thu, 1 Dec 2005 14:37:15 +0000 +Checked in by : Robert Osfield +From Ali Botorabi, fixed the setDefault() fallback to properly handle the case when no scene view light is requested. -2007-04-11 08:33 robert +Thu, 1 Dec 2005 14:09:38 +0000 +Checked in by : Robert Osfield +Added TestSupportCallback to properly handle querry of OpenGL support of vertex texturing in GLSL. - * Removed tabs +Thu, 1 Dec 2005 13:38:27 +0000 +Checked in by : Robert Osfield +From Thom DeCarlo, build fix for Cygwin. -2007-04-10 13:58 robert +Thu, 1 Dec 2005 13:19:16 +0000 +Checked in by : Robert Osfield +From Geoff Michel, fixed the handling of zfar values of 0.0. - * Removed old GNUmakefile.inst files +Wed, 30 Nov 2005 15:30:40 +0000 +Checked in by : Robert Osfield +Updated NEWS. -2007-04-10 13:23 robert +Tue, 29 Nov 2005 22:29:44 +0000 +Checked in by : Robert Osfield +Updated changed log for 1.0-rc7. - * Updated INSTALL and README to refect new Cmake build +Tue, 29 Nov 2005 18:38:40 +0000 +Checked in by : Robert Osfield +Added default opening of the file as a binary file, and once the type is confirmed then close and reopen as an ascii as required. This is done to get round problems under Windows.Also made the running of the SmoothingVisitor optional, now use -O smooth to +make the loader run the osgUtil::SmoothingVisitor over the model. -2007-04-10 13:15 robert - * Removed the bin and lib directories as these are now built - automatically by CMake. -2007-04-10 13:12 robert +Tue, 29 Nov 2005 14:20:37 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, osgversion.cpp and AUTHORS.txt for 1.0-rc6. - * Removed more of the old VisualStudio build system +Tue, 29 Nov 2005 14:07:39 +0000 +Checked in by : Robert Osfield +Updated NEWS with second draft of press release. -2007-04-10 13:10 robert +Tue, 29 Nov 2005 12:09:45 +0000 +Checked in by : Robert Osfield +Added CameraBarrierCallback so that multi-thread multi-cameras are synconized correctly when do stats collection. - * Removed old gmake and VisualStudio build files +Tue, 29 Nov 2005 11:39:07 +0000 +Checked in by : Robert Osfield +From Eric Wing, fixes for "warning: converting of negative value '-0x00000000000000001' to 'unsigned int'" -2007-04-10 12:11 robert +Tue, 29 Nov 2005 08:59:30 +0000 +Checked in by : Robert Osfield +Switched off the VBO usage in osgparametric as it was tripping up ATI and 3DLabs drivers. - * Updated to refect new incldue/osgViewer/Win32 directory for - GraphicsWindowWin32 +Mon, 28 Nov 2005 20:08:36 +0000 +Checked in by : Robert Osfield +Added temporary ref_ptr to prevent the _image going out of scope due to another thread complete the texture::apply() while the present texture::apply() is still running. -2007-04-10 11:09 robert +Mon, 28 Nov 2005 10:58:09 +0000 +Checked in by : Robert Osfield +Fixed warning. - * Updated wrapper to honour move of GraphicsWindow* - include/osgViewer/api/ +Mon, 28 Nov 2005 09:15:46 +0000 +Checked in by : Robert Osfield +From Gideon May, port to OSX of GLUT examples. -2007-04-10 11:03 robert +Sun, 27 Nov 2005 15:32:57 +0000 +Checked in by : Robert Osfield +From Geoff Michel, fix for the scaling of the random number generation. - * Create new incliude/osgViewer/api directory to hold platform - specific classes such as GraphicsWindow implementations. - - Moved GraphicsWindowWin32,X11 and Carbon into their api/Win32, - api/X11 and api/Carbon directories. +Fri, 25 Nov 2005 20:23:07 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and authors file. -2007-04-06 19:51 robert +Fri, 25 Nov 2005 19:18:12 +0000 +Checked in by : Robert Osfield +From John Donovan, typo fixes. - * Fixed the handle of triangle fan. +Fri, 25 Nov 2005 14:58:37 +0000 +Checked in by : Robert Osfield +Added disable of spurious VS6.0 warning. -2007-04-06 19:38 robert +Fri, 25 Nov 2005 13:45:23 +0000 +Checked in by : Robert Osfield +Fixed docs of setImage. - * Added extra check to prevent calling frame() when the window has - been closed. +Fri, 25 Nov 2005 12:31:04 +0000 +Checked in by : Robert Osfield +Added releaseGLObjects to PrimitiveSet. -2007-04-06 15:36 robert +Fri, 25 Nov 2005 10:32:25 +0000 +Checked in by : Robert Osfield +Fixed typo of dxf. - * From Eric Wing, pedantic warning fixes +Thu, 24 Nov 2005 19:53:20 +0000 +Checked in by : Robert Osfield +Lightened by the ambientBias term. -2007-04-06 15:35 robert +Thu, 24 Nov 2005 15:18:12 +0000 +Checked in by : Robert Osfield +Added FBO deletion support, and better FBO querry and fallback mechansim in RenderStage. - * Updated wrappers +Thu, 24 Nov 2005 15:17:28 +0000 +Checked in by : Robert Osfield +Changed the VS template export block to just compile when VS verion >= 1300 (VS.NET onwards.) -2007-04-06 15:13 robert +Thu, 24 Nov 2005 10:28:09 +0000 +Checked in by : Robert Osfield +Changed the default value of Texture::_resizeNonPowerOfTwoHint to true, to improve the backwards compatibility of peformance on systems that have OpenGL2.0 drivers but without hardware that can't handle non power of two textures. - * From Eric Wing, pedantic warning fixes +Thu, 24 Nov 2005 10:14:05 +0000 +Checked in by : Robert Osfield +Added automatic setting of thread safe reference counting when multi-threaded cameras are used. -2007-04-06 14:40 robert +Wed, 23 Nov 2005 16:32:55 +0000 +Checked in by : Robert Osfield +Changed CameraNode::getDataChangeMutex() to be a pointer rather than a reference to get around osgIntrospeciton build problem with the OpenThreads::Mutex copy constructor being private. - * From Laurens Voerman, "I've added the code to set up quad_stereo - properly. I have tested with - WinXP / VC8, stereo is working. I also added code to set - sampleBuffers - and samples. These cannot yet be properly set, tested (windows - only ) by - changing _numMultiSamples in DisplaySettings::setDefaults() and - recompiling." +Wed, 23 Nov 2005 16:24:50 +0000 +Checked in by : Robert Osfield +Updated AUTHORES, ChangeLog, NEWS and version number for 1.0-rc6 -2007-04-06 14:38 robert +Wed, 23 Nov 2005 15:25:56 +0000 +Checked in by : Robert Osfield +Changed the linux implement of getGLExtensionFuncPtr to querry for glXGetProcAddressARB and then use this if its available, otherwise fallback to the original dlsym usage. - * From Mike Wittman, "1. Disable suppression of osg::CullStack. - I've been building the osgWrapper code successfully with this - change on both Windows and Linux, but I believe you said you got - some (unspecified) errors when you tried it before. If it still - causes problems, could you post the errors so I can try to solve - them? - - - - 2. Change osg::GraphicsContext from object-type to - abstract-object-type. The current setting is incorrect because - the class is actually abstract." +Wed, 23 Nov 2005 13:44:27 +0000 +Checked in by : Robert Osfield +Added multi-buffering of the CameraNode::_renderingCache to help cope with multiple graphis context usages. -2007-04-06 14:36 robert +Wed, 23 Nov 2005 12:16:22 +0000 +Checked in by : Robert Osfield +Fixed mistmatch of ReadFileCallback type. - * From Laurens Voerman, "attached is - OpenSceneGraph\src\osgViewer\GraphicsWindowWin32.cpp - I've added the code to get the osgViewer working on windows - displays - with less than 32 bit color. Only tested with 16 bit color." +Wed, 23 Nov 2005 10:16:25 +0000 +Checked in by : Robert Osfield +Moved getGLExtensionFuncPtr implementation into the .cpp to make it easier to change it implementation without forcing a complete recompile. -2007-04-06 14:33 robert +Wed, 23 Nov 2005 10:15:11 +0000 +Checked in by : Robert Osfield +From Marco Jez, typo fix if GL extension name. - * Add setting of ShadowVolumeGeometry draw mode +Tue, 22 Nov 2005 21:14:26 +0000 +Checked in by : Robert Osfield +Simplified the TangentSpaceGenerator so that is automatically converts any models with indices to one without indices and then runs the tangent space generation code on the result. -2007-04-05 20:27 robert +Tue, 22 Nov 2005 14:35:12 +0000 +Checked in by : Robert Osfield +From Markus Trenkwalder, fixed placment of libs in mingw build. - * Set default ShadeModel back to SMOOTH +Tue, 22 Nov 2005 13:56:50 +0000 +Checked in by : Robert Osfield +Added missing dirtyDisplayList call into osg::Geometry::set calls. -2007-04-05 16:12 robert +Tue, 22 Nov 2005 13:14:00 +0000 +Checked in by : Robert Osfield +Added DatabasePager::s/getDrawablePolicy() to allow the way that the display list/VBO settings are applied to loaded databases. - * Added constructor argument to ShadeModel +Tue, 22 Nov 2005 10:26:27 +0000 +Checked in by : Robert Osfield +Added check against LODScale being zero, and fixed the search for the maximum LOD range in the pixel size range fallback. -2007-04-05 15:04 robert +Tue, 22 Nov 2005 10:08:00 +0000 +Checked in by : Robert Osfield +From Chris Hanson, add LODScale support to pixel based LOD range selection. - * Commented out superfluous debug messages +Tue, 22 Nov 2005 09:57:32 +0000 +Checked in by : Robert Osfield +From Jason Daly, (with small tweak by Robert Osfield) fix for Prorgram::removeShader(Shader*) so that it properly remove the shader and its entry in the _shaderList. -2007-04-05 14:56 robert +Tue, 22 Nov 2005 09:51:02 +0000 +Checked in by : Robert Osfield +From Eric Wing, warning fixes for gcc4.0/OSX. - * Added better handling of colour layer/elevation layer/transfer - function combinations and - use of 16bit luminance format for colour layers used as input to - transfer functions +Tue, 22 Nov 2005 09:47:18 +0000 +Checked in by : Robert Osfield +From Marco Jez, fix for wchar_t being redefined. -2007-04-04 09:07 robert +Mon, 21 Nov 2005 16:29:47 +0000 +Checked in by : Robert Osfield +Updated NEWS - * Added support for flushing buffer objects +Mon, 21 Nov 2005 16:15:48 +0000 +Checked in by : Robert Osfield +Updated ChangeLog and authors file. -2007-04-04 08:09 robert +Mon, 21 Nov 2005 13:51:24 +0000 +Checked in by : Robert Osfield +From Roger James, reworked the export of std::vector<> on standard types to prevent problems with .lib being built for all targets under VS7.x - * From Paul Martz, added osgViewer headers to VS syntax - highlighting. +Sun, 20 Nov 2005 22:07:43 +0000 +Checked in by : Robert Osfield +Replaced asserts with notification of error. -2007-04-04 08:06 robert +Sun, 20 Nov 2005 22:06:16 +0000 +Checked in by : Robert Osfield +From Donn Mielcarek, added support Materials being declared globally. - * Removed OpenThreads reference +Sat, 19 Nov 2005 12:18:51 +0000 +Checked in by : Robert Osfield +Updated ChangeLog, osgversion and AUTHORS file. -2007-04-04 08:05 robert +Fri, 18 Nov 2005 17:04:55 +0000 +Checked in by : Robert Osfield +Added the ability for osgParticle::ParticleEffect to switch off the automatic setup. Normally the automatic setup is useful, but in the case of the .osg support this automatic update was forcing premature loading of imagery that wasn't necessarily, and can lead to reports of looking for files that arn't present. - * Updated wrappers +Fri, 18 Nov 2005 15:00:34 +0000 +Checked in by : Robert Osfield +Added s/getCenter and s/getRotation methods, and updated wrapper. -2007-04-04 08:05 robert +Fri, 18 Nov 2005 14:49:05 +0000 +Checked in by : Robert Osfield +From Toshiyuki Takeahei, addition of s/getDistance() methods - * From Mike Wittman, C# build fixes +Fri, 18 Nov 2005 14:46:38 +0000 +Checked in by : Robert Osfield +The OpenFlight plugin was crashing with pre 15.6 .flt files that contained light points. This was due to the mismatch is size and fiels in the LightPointRecord before 15.6 and after it, the OSG's flt plugin was assuming just 15.6 record structure. As a temporary solution I have disabled the processing of light point records on .flt file version before 15.6, this allows these files to be loaded safely, but without light points. -2007-04-03 19:42 robert +Fri, 18 Nov 2005 10:03:11 +0000 +Checked in by : Robert Osfield +From Andrew Reyonolds : changed the endian conversion code to work on a temporary rather then on a flt structure to prevent repeated conversion of the same value, something that led to eroneously large light point string sizes. - * From Andy Skinner, warning fix for Windows 64-bit build +Fri, 18 Nov 2005 09:52:24 +0000 +Checked in by : Robert Osfield +From Rodger James, changed the Win32 static library compilation support to use OSG_LIBRARY_STATIC to avoid problems with building libs when not required. -2007-04-03 19:18 robert +Thu, 17 Nov 2005 20:22:55 +0000 +Checked in by : Robert Osfield +Replaced tabs with spaces in examples. - * Added assignment of hieghts texture coords +Thu, 17 Nov 2005 17:45:04 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-04-03 15:39 robert +Thu, 17 Nov 2005 17:44:48 +0000 +Checked in by : Robert Osfield +Convert tabs to spaces. - * Preliminary work on TransferFunction support +Thu, 17 Nov 2005 15:18:48 +0000 +Checked in by : Robert Osfield +From Toshiyuki Takahei, added #pragam to avoid build problem with special characters. From Robert Osfield, added #if _MSC_VER to restrict pragma usage to just VisualStudio, and added comment explaining all the extra parsing code in osgversion. -2007-04-03 11:04 robert +Thu, 17 Nov 2005 15:03:51 +0000 +Checked in by : Robert Osfield +Replaced tabs with spaces. - * From Eric Wing, adding message w.r.t debug OpenThreads library - for when its not available. +Thu, 17 Nov 2005 13:35:53 +0000 +Checked in by : Robert Osfield +Coverted tabs to space in core libraries. -2007-04-02 13:06 robert +Thu, 17 Nov 2005 11:27:25 +0000 +Checked in by : Robert Osfield +From Toshiyuki Takahei, fixed order intialiation problem in Viewer::selectCameraManipulator(..). - * Added setValue method and osg::Image setup to - osg::TransferFunction1D, and setup - of TransferFunction1D into osgterrain example. +Thu, 17 Nov 2005 11:22:09 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, "fix for another one of those GLSL syntax errors that slip thru the nvidia compiler. gl_TexCoord[] is an array of vec4, and must be reduced to a vec2 for use with texture2D()" -2007-04-01 11:19 robert +Thu, 17 Nov 2005 11:13:36 +0000 +Checked in by : Robert Osfield +From Eric Sokolosky, for Cygwin and Minw sections changed definition of INST_SHARE so that it is based on INST_LOCATION, providing the same default as before but also allow it to be override by env vars when required. - * Added support for texture layer. +Thu, 17 Nov 2005 11:09:22 +0000 +Checked in by : Robert Osfield +From Eric Sokolosky, made spacing more consistent. -2007-03-30 15:16 robert +Thu, 17 Nov 2005 11:03:20 +0000 +Checked in by : Robert Osfield +From Mikkel Gjøl, addition of paramter set/get methods to osgGA::*Manipulators, change of ' ' to GUIEventAdapter::KEY_Space, fix to url in Matrix_implementation.cpp. Syntax fixes by Robert Osfield to above submission fix inconsistencies with normal OSG coding style. - * Added debugging code +Thu, 17 Nov 2005 09:57:40 +0000 +Checked in by : Robert Osfield +Improved handling of core OSG being compile with float Matrices. -2007-03-30 14:57 robert +Thu, 17 Nov 2005 09:20:58 +0000 +Checked in by : Robert Osfield +Added (_data || rhs._data) extra qualify to Image::compare is data equal test. - * Added support for reading values from an ImageLayer, and building - of the - elevation data in GeometryTechnique. +Wed, 16 Nov 2005 21:08:16 +0000 +Checked in by : Robert Osfield +Removed redundent copyop. -2007-03-30 14:57 robert +Wed, 16 Nov 2005 20:27:28 +0000 +Checked in by : Robert Osfield +Ran dos2unix on makefile. - * Added support 16bit intensity formats +Wed, 16 Nov 2005 16:35:56 +0000 +Checked in by : Robert Osfield +Started experimenting with sections and table of contents. -2007-03-29 19:42 robert +Wed, 16 Nov 2005 16:30:51 +0000 +Checked in by : Robert Osfield +Converted remaining osg::Matrix usage to osg::Matrixd. - * Converted osg::HeightField across to using a osg::FloatArray - internally to enable - it to be assigned as a vertex attribute array to an - osg::Geometry. - - Removed the osgTerrain::ArrayLayer as its no longer required - thanks to the above change - which makes the osgTerrain::HeightFieldLayer more flexible. - - Updated wrappers +Wed, 16 Nov 2005 12:14:18 +0000 +Checked in by : Robert Osfield +Updated changelog and authors file. -2007-03-29 19:39 robert +Wed, 16 Nov 2005 12:07:21 +0000 +Checked in by : Robert Osfield +Fixed typo entry. - * Fixed missing initializer in Options constrctor +Wed, 16 Nov 2005 09:28:09 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, support for ARB_texture_rectangle extension name. -2007-03-29 15:41 robert +Tue, 15 Nov 2005 22:18:29 +0000 +Checked in by : Robert Osfield +From Joakim Simonsson/Robert Osfield. Fixed line endings. - * Removed the using to avoid VS 7.1 build problem +Tue, 15 Nov 2005 22:14:50 +0000 +Checked in by : Robert Osfield +Did a unix2dos and trimmed end of file of rendundent newlines. -2007-03-29 14:45 robert +Tue, 15 Nov 2005 22:07:54 +0000 +Checked in by : Robert Osfield +Added proper descriptions of examples in place of the copy and paste description. - * Added creation of basic geoemtry to test Locator and extents +Tue, 15 Nov 2005 21:47:24 +0000 +Checked in by : Robert Osfield +From Eric Wing, compile fixes. -2007-03-29 12:41 robert +Tue, 15 Nov 2005 21:24:35 +0000 +Checked in by : Robert Osfield +From Gideon May, "I've added an alias for the new mpeg 4 format used by quicktime and podcasts." - * Updated wrappers +Tue, 15 Nov 2005 18:31:40 +0000 +Checked in by : Robert Osfield +From Sean Spicer, compile fixes for Intel compiler. -2007-03-29 10:56 robert +Tue, 15 Nov 2005 16:15:26 +0000 +Checked in by : Robert Osfield +From Joakim Simonsson, updated VS handling of extensionless headers to be consistent with 1.0 release of OSG - * From Eric Wing, added handling of CMAKE_THREAD_LIBS_INIT +Tue, 15 Nov 2005 16:06:09 +0000 +Checked in by : Robert Osfield +Fixed typo of Jason. -2007-03-29 10:13 robert +Tue, 15 Nov 2005 15:07:43 +0000 +Checked in by : Robert Osfield +Updated authors list from osgversion -r ChangeLog output. - * Added missing return value +Tue, 15 Nov 2005 15:07:17 +0000 +Checked in by : Robert Osfield +Updated the output of the contributors list. -2007-03-29 09:29 robert +Tue, 15 Nov 2005 14:25:03 +0000 +Checked in by : Robert Osfield +Added catch of erase of the last element of heap. - * From Eric Wing, "Added the conditionals for SDLMain." +Tue, 15 Nov 2005 11:43:29 +0000 +Checked in by : Robert Osfield +From Marco Jez, warning fixes. -2007-03-28 16:28 robert +Tue, 15 Nov 2005 11:39:48 +0000 +Checked in by : Robert Osfield +Warning fixes. - * Added support for compute the extents on local NDC coordiantes of - the - elevation and colour layers +Tue, 15 Nov 2005 11:23:44 +0000 +Checked in by : Robert Osfield +Warning fix. -2007-03-28 15:05 robert +Tue, 15 Nov 2005 10:05:31 +0000 +Checked in by : Robert Osfield +Added remapping of Drew's fullname. - * From Mike Wittman, "Here is a change to the .cpp file to fix it - by disambiguating the cull invocation." +Tue, 15 Nov 2005 08:56:05 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, switched off lighting of points to make them clearer -2007-03-28 14:50 robert +Tue, 15 Nov 2005 08:43:24 +0000 +Checked in by : Robert Osfield +Warning fix. - * Removed the Found OpenThreads message +Mon, 14 Nov 2005 21:40:28 +0000 +Checked in by : Robert Osfield +Fixed handling of initials. -2007-03-28 14:50 robert +Mon, 14 Nov 2005 20:54:53 +0000 +Checked in by : Robert Osfield +Added typo correction for "Jolley". - * Removed the d during debug build of wrappers on non MSVC - platforms +Mon, 14 Nov 2005 20:51:28 +0000 +Checked in by : Robert Osfield +Added more typo catches. -2007-03-28 11:30 robert +Mon, 14 Nov 2005 17:21:49 +0000 +Checked in by : Robert Osfield +Further improvements to the name filtering. - * Removed deprecated drawImplementation(State&) method from - Drawable and Drawable::DrawCallback +Mon, 14 Nov 2005 17:15:58 +0000 +Checked in by : Robert Osfield +Improved handling on special characters in names -2007-03-28 08:53 robert +Mon, 14 Nov 2005 17:07:11 +0000 +Checked in by : Robert Osfield +Added support for mining the ChangeLog for a list of contributors. - * From Martin Amueller, Add libosgGA and libosgText for OSX build +Mon, 14 Nov 2005 13:34:47 +0000 +Checked in by : Robert Osfield +Updated changelog. -2007-03-28 08:52 robert +Mon, 14 Nov 2005 12:49:05 +0000 +Checked in by : Robert Osfield +Fixed warnings in geo plugin - * Replaced the X11 Window by Carbon WindowRef in the WindowData - structure. +Mon, 14 Nov 2005 11:14:58 +0000 +Checked in by : Robert Osfield +Updated package version to 1.0,0 -2007-03-28 08:43 robert +Mon, 14 Nov 2005 11:08:16 +0000 +Checked in by : Robert Osfield +From Toshiyuki Takehei, typo fix of getTrackerMode(). - * From Martin Aumueller, "in order to remove a dependency on Coin3D - (which is GPLed) and make it work - with SGI's OpenInventor, I had to change - OpenSceneGraph/src/osgPlugins/Inventor, as SoVRMLImageTexture is - not avaible - in SGI's Inventor. " - - From Robert Osfield, tweaked the above so that it uses Coin - headers to switch on coin features: - - #ifdef COIN_SOCALLBACKACTION_H - #define USE_COIN 1 - #endif +Mon, 14 Nov 2005 11:00:36 +0000 +Checked in by : Robert Osfield +Change the KeySwitchMatrixManipulator so that it two sets of getMatrixManipulator methods, two that takes an index,two that takes a key value. Updated the ViewEventHandler so the it now uses the getMatrixManipulatorWithIndex() method to avoid previous ambiguity. -2007-03-28 07:34 robert +Mon, 14 Nov 2005 09:31:06 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari : "I reported earlier about a problem with a custom emitter I was using. I spent some more time debugging and it turns out there was a bug in the ParticleSystem::update_bounds function. When the bound is being reset, both the min and max are being set to the same postion without the radius being subtracted/added to it. When there is only one particle alive in the system this causes it to be culled by small feature culling. I've modifed the function so that when the bound is reset, the radius is subtracted/added to the position. This fixes my problem." - * From Luigi Calori, added Find3rdPartyDependencies.cmake +Sat, 12 Nov 2005 21:29:59 +0000 +Checked in by : Robert Osfield +From Geoff Michel, geo plugin updated to for latest updates in .geo format. -2007-03-27 21:44 robert +Sat, 12 Nov 2005 13:38:32 +0000 +Checked in by : Robert Osfield +Added support for ConnectedParticleSystem. - * From Luigi Calori, "here is a patch to use Mike 3rdParty - dependencies - It should not be introusive to any other palatform apart MSVC, - but in order to link to debug-specific libs - I had to change plugins CMakeLists to differentiate debug/release - linkage, I have used the same macro used in core libs - Now the macro used for plugin and examples linking test for - existance of TARGET_LIBRARIES_VARS - that holds the names of the variables that have to be used for - linking" +Sat, 12 Nov 2005 13:27:49 +0000 +Checked in by : Robert Osfield +Added .osg support for osgParticle::SmokeTrailEffect -2007-03-27 19:39 robert +Fri, 11 Nov 2005 19:29:53 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * Updated wrappers +Fri, 11 Nov 2005 17:00:36 +0000 +Checked in by : Robert Osfield +Added scene stats support to osgProducer::ViewerEventHandler. -2007-03-27 19:27 robert +Fri, 11 Nov 2005 14:22:57 +0000 +Checked in by : Robert Osfield +Added s/getMaxNumOfTextureUnits control to osgGA::StateSetManipulator, and set the default to 4. - * Add computeBound support to TerrainNode and Layer. +Fri, 11 Nov 2005 12:45:59 +0000 +Checked in by : Robert Osfield +Fixes for VS6.0 build. -2007-03-27 16:05 robert +Fri, 11 Nov 2005 08:45:18 +0000 +Checked in by : Robert Osfield +From Markus Trenkwalder, fix for Mingw build - * Removed the flt plugin from OpenSceneGraph/trunk, this project - can now be found in the deprecated directory. +Thu, 10 Nov 2005 20:56:16 +0000 +Checked in by : Robert Osfield +From Marco Jez, compile for a syntax error problem. -2007-03-27 16:01 robert +Thu, 10 Nov 2005 20:20:13 +0000 +Checked in by : Robert Osfield +Added /Zm200 to loads of project to try and salavage something from VS6.0 being such a bog awful compiler. - * Rearranged the traversal and initialization of TerrainTechnique +Thu, 10 Nov 2005 20:04:16 +0000 +Checked in by : Robert Osfield +Fixes for VS6.0 -2007-03-27 11:23 robert +Thu, 10 Nov 2005 19:32:37 +0000 +Checked in by : Robert Osfield +Fixes for dumb VS6.0 compiler - * Added EllipsoidLocator. +Thu, 10 Nov 2005 19:16:01 +0000 +Checked in by : Robert Osfield +Fixes for VS6.0 -2007-03-27 08:43 robert +Thu, 10 Nov 2005 17:24:41 +0000 +Checked in by : Robert Osfield +Compile fixes for VS6.0. - * Added #include for non Win32/Mingw build +Thu, 10 Nov 2005 16:47:48 +0000 +Checked in by : Robert Osfield +From Markus Trenkwalder, added freetype-config support to Mingw section. -2007-03-27 08:40 robert +Thu, 10 Nov 2005 15:52:02 +0000 +Checked in by : Robert Osfield +Added osgshaderterrain and osgparametric to runexamples.bat - * Added -lgdi32 to CYGWIN path +Thu, 10 Nov 2005 15:27:49 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-03-26 19:38 robert +Thu, 10 Nov 2005 15:25:06 +0000 +Checked in by : Robert Osfield +Added better control for cancel GraphicsThreads. - * Fixed header files specification +Thu, 10 Nov 2005 14:41:42 +0000 +Checked in by : Robert Osfield +Ran unix2dos on OpenSceneGraph.dsw -2007-03-26 19:24 robert +Thu, 10 Nov 2005 11:56:18 +0000 +Checked in by : Robert Osfield +Fixed typo of CoordinateSystem. - * Added return false; to default implementations of convert - functions +Thu, 10 Nov 2005 11:39:01 +0000 +Checked in by : Robert Osfield +Addd OsgSceneHandler::s/getCleanUpOnNextFrame() and support for it in the draw() method, when CleanUpOnNextFrame is enabled the next frame simple deleted OpenGL objects without doing any draw traversal. -2007-03-26 16:32 robert +Thu, 10 Nov 2005 10:29:56 +0000 +Checked in by : Robert Osfield +Added checks against the values returned from dynamic_cast<>'s. - * Added GeometryTechnique +Thu, 10 Nov 2005 09:42:34 +0000 +Checked in by : Robert Osfield +Compile fixes for VS7.1 -2007-03-26 16:28 robert +Wed, 9 Nov 2005 22:09:46 +0000 +Checked in by : Don BURNS +small change to test osg-cvs.... - * Removed WindowData parameter from init(). +Wed, 9 Nov 2005 22:07:47 +0000 +Checked in by : Don BURNS +Small modification to change 2004 to 2005 in README.txt (this is mostly a test of osg-cvs) -2007-03-26 15:52 robert +Wed, 9 Nov 2005 20:30:47 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Added Locator and layer setting to osgterrain example +Wed, 9 Nov 2005 20:26:34 +0000 +Checked in by : Robert Osfield +Added release and flush of OpenGL objects after build of the terrain database to prevent the build graphics context state leaking into the viewers graphics context set. -2007-03-26 13:02 robert +Wed, 9 Nov 2005 20:24:47 +0000 +Checked in by : Robert Osfield +Added a s/getState() to osgTerrain::DataSet to allow better integration with applications. - * From Luigi Calori, "when we link against something that comes out - from a Find... we ususally have a variable - available like OPENTHREADS_LIBRARY, - so I' ve set up a macro that uses the variable name expanded for - linking, and test if a variable ${LINK_VAR_NAME}_DEBUG - like OPENTHREADS_LIBRARY_DEBUG exists and in case uses it for - linking in debug mode. - I' ve also set up FindOpenThreads to set up these variables. - I had to edit the core libraries CMakeLists to add the calls to - the macros used. - I' ve tested under MSVC" +Wed, 9 Nov 2005 17:20:15 +0000 +Checked in by : Robert Osfield +Added some docs on command line options. -2007-03-26 13:00 robert +Wed, 9 Nov 2005 17:19:34 +0000 +Checked in by : Robert Osfield +Added writing of commandline options in getFormatedString when there is no description string. - * From Mike Wittman, "This is another weirdo change to support code - generation. It brings all the Drawable::supports and - Drawable::accepts overloads into the ShapeDrawable scope to avoid - errors invoking the ones that are not defined in ShapeDrawable. - Currently you'll get compilation errors if you pass a - Drawable::AttributeFunctor or PrimitiveIndexFunctor to the - "accept" function invoked on a ShapeDrawable pointer or - reference, since those overloads are only defined in the base - class. You'll also get the same error passing a - PrimitiveIndexFunctor to the "supports" function. These errors - occur because C++ function overload resolution does not cross - inheritance boundaries." +Wed, 9 Nov 2005 17:08:50 +0000 +Checked in by : Robert Osfield +Moved the blink sequence light points down so they are visible in the default camera position. -2007-03-26 09:48 robert +Wed, 9 Nov 2005 17:06:12 +0000 +Checked in by : Robert Osfield +Changed the NO_ROTATION label so it is aligned with the XZ plane to make it easier to see. - * Changed the external library specification to use - TARGET_EXTERNAL_LIBRARIES +Wed, 9 Nov 2005 15:27:30 +0000 +Checked in by : Robert Osfield +Quick updates to NEWS. -2007-03-25 11:47 robert +Wed, 9 Nov 2005 15:19:11 +0000 +Checked in by : Robert Osfield +Updated ChangeLog - * Removed OpenThreads from the list of TARGET_COMMON_LIBRARIES to - prevent double - linking of OpenThreadsd and OpenThreads during debug build. +Wed, 9 Nov 2005 15:14:15 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-03-23 17:37 robert +Wed, 9 Nov 2005 15:11:22 +0000 +Checked in by : Robert Osfield +Added the support in AnimationPathCallback for taking a pivot, axis and rotation rate paramters in its constructor to allow it to be used to create rotations around a point. This provides the same interface and functionality as osgUtil::TransformCallback but has the advantage and AnimationPathCallback is fully supported by the .osg and .ive file formats. - * From Mike Wittman, "This change fixes a couple bugs in the - osgIntrospection protected function support. I missed adding the - protected/public specifier on a couple recursive invocations, so - those functions are not currently returning protected functions - for base classes when they should." +Wed, 9 Nov 2005 13:39:48 +0000 +Checked in by : Robert Osfield +Updated the runexamples.bat to include glsl_mandelbrot.osg and glsl_julia.osg references -2007-03-23 17:27 robert +Wed, 9 Nov 2005 13:39:08 +0000 +Checked in by : Robert Osfield +Reduced the size of the "oversized" cessna.osg - * From Mike Wittman, remove redundent const from in front of - unsigned int. - From Robert Osfield, updated wrappers +Wed, 9 Nov 2005 13:26:11 +0000 +Checked in by : Robert Osfield +Added a test of isRealized to requestWrapPointer to prevent a deadlock condition occur when a wap pointer is done before a window is realized. -2007-03-23 10:11 robert +Wed, 9 Nov 2005 13:18:46 +0000 +Checked in by : Robert Osfield +Update texture file names to reflect new files in OpenSceneGraph-Data distribution. - * Added missing StencilTwoSided header +Wed, 9 Nov 2005 11:59:18 +0000 +Checked in by : Robert Osfield +Added dxf VS6.0 project -2007-03-23 08:53 robert +Wed, 9 Nov 2005 10:49:56 +0000 +Checked in by : Robert Osfield +Bumped the version numbers up to 1.0 in preparation for 1.0-rc1. - * Added automatic creation of lib bin and lib/osgPlugins +Wed, 9 Nov 2005 10:41:52 +0000 +Checked in by : Robert Osfield +Fixed warnings. -2007-03-22 15:39 robert +Wed, 9 Nov 2005 10:37:10 +0000 +Checked in by : Robert Osfield +Fixed compile warning. - * Added osgPlugins as a temporary work around for keeping cmake - build compiling plugins +Wed, 9 Nov 2005 09:30:16 +0000 +Checked in by : Robert Osfield +Updated the bin number to be 100 for the logo overlay to force it to draw later. -2007-03-22 14:45 robert +Tue, 8 Nov 2005 16:41:34 +0000 +Checked in by : Robert Osfield +Added .ive support for osg::Texture SourceFormat and SourceType - * Added CMake build suppport for osgsimpleviewerQT4 +Tue, 8 Nov 2005 16:22:33 +0000 +Checked in by : Robert Osfield +Added support for SourceType and SourceFormat to .osg. -2007-03-22 14:44 robert +Tue, 8 Nov 2005 16:02:09 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * Added CMake QT3, FLTK and osgintrospection example build support. +Tue, 8 Nov 2005 15:52:21 +0000 +Checked in by : Robert Osfield +From Brad Colbert/Robert Osfield: added s/getSourceFormat and s/getSourceType to osg::Texture along with support for this Texture1D, 2D, 3D, TextureCubeMap and TextureRectangle. The new SourceFormat and SourceType parameters are only used when no osg::Image is assigned to an osg::Texture, and main use is for render to texture effects.Added support for --hdr option in osgprerender, which utilises the new Texture::setSourceFormat/Type() methods. -2007-03-22 14:06 robert - * Added CMake build support for GLUT and SDL examples -2007-03-22 13:38 robert +Tue, 8 Nov 2005 14:03:00 +0000 +Checked in by : Robert Osfield +Updated wrappers - * From Eric Wing, added ${MATH_LIB} to osg CMakeLists.txt and - definition of this to m under unix +Tue, 8 Nov 2005 13:51:28 +0000 +Checked in by : Robert Osfield +From Colin McDonald, fixed image size calculation in getTotalSizeInBytesIncludingMipmaps(), added checks on success of opening files for writing in the .ive plugin. -2007-03-22 13:37 robert +Tue, 8 Nov 2005 11:46:52 +0000 +Checked in by : Robert Osfield +Added sorting and clearing of pre and post RenderStages stored in RenderStage, and added some debugging comments which are currently commented out from compilation - these are left in just in case future debug work requires them. - * Updated the header list +Tue, 8 Nov 2005 09:36:42 +0000 +Checked in by : Robert Osfield +Changed the occluder traversal so that checks the children of the SceneView's Cameara rather than starting at the camera itself. -2007-03-22 12:58 robert +Mon, 7 Nov 2005 16:52:09 +0000 +Checked in by : Robert Osfield +Renamed VisualStudio.dsw to OpenSceneGraph.dsw - * Fixed link name +Mon, 7 Nov 2005 16:48:45 +0000 +Checked in by : Robert Osfield +Improved the handling of CameraNode and viewers with projection matrices contained NaN's. -2007-03-21 17:18 robert +Mon, 7 Nov 2005 15:46:05 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, proper c++ cast instead of c-cast for ApplicationUsage - * Added ImageLayer, ArrayLayer and HeightFieldLayer classes +Mon, 7 Nov 2005 15:43:29 +0000 +Checked in by : Robert Osfield +From Steve Lunsford, added psuedo event dispatch to init within selectCameraManipulator to force the new minpulator to update correctly. -2007-03-21 16:34 robert +Mon, 7 Nov 2005 14:42:36 +0000 +Checked in by : Robert Osfield +From David Spilling, added "noRotation" ReaderWriter::Option into the .obj plugin to enable disabling of the automatic rotation from Y up coordinate frame to Z up coordinate frame. - * Added GeometryTechinque to osgTerrain. Added usage of - GeometryTechnique into osgterrain example - - Added --width and --height command line options to osgdistortion - to allow users - to control the window size. +Mon, 7 Nov 2005 13:54:25 +0000 +Checked in by : Robert Osfield +From Marco Jez, Added an unregister of the GraphicsContextImplement on unload. -2007-03-21 09:42 robert +Mon, 7 Nov 2005 12:41:32 +0000 +Checked in by : Robert Osfield +From David Spilling, fix for typo of OVERRIDE. - * Removed erroneous entry of GNUmakefile +Mon, 7 Nov 2005 11:14:23 +0000 +Checked in by : Robert Osfield +From Gideon May, compile fixes for OSX. -2007-03-20 17:07 robert +Mon, 7 Nov 2005 11:09:59 +0000 +Checked in by : Robert Osfield +From Norman Vine, "Cygwin uses unix style path separators" - * Added osg:: to computeLocalToWorld to fix build under VS7. +Mon, 7 Nov 2005 11:05:16 +0000 +Checked in by : Robert Osfield +From Wang Lam,"The changes allow users of OpenSceneGraph to call a new function readFontStream() to load fonts from a std::istream, rather than from the local filesystem by name. Such a call may be used, for example, if the user has a font fetched over a network, or a font available in memory without a correspondng filename.The changes implement the new function by following the corresponding code +for readFontFile(). readFontStream() reads a stream into memory, and +holds that memory for FreeType. -2007-03-20 11:19 robert +As a basic test, I mangled the osgtext example to use +readFontStream(std::ifstream("font")) in lieu of a readFontFile call, and +the modified example ran completely." - * From Luigi Calori, clean up CMakeLists.txt -2007-03-20 09:50 robert - * From Philip Lowman, added support for Inventor +Mon, 7 Nov 2005 10:29:24 +0000 +Checked in by : Robert Osfield +From Ruben (with a few addition/changes from Robert), fixed the commandline of the osgsimplifier example. It now reads --ratio and --max-error.--------------------------------------------------- -2007-03-19 19:05 robert - * From Andreas Goebel, build fix -2007-03-19 17:24 robert +Fri, 4 Nov 2005 19:00:49 +0000 +Checked in by : Robert Osfield +Added extra debugging checks on FBO's - * Moved the TARGET_NAME setting into the OsgMacroUtils.cmake. +Fri, 4 Nov 2005 12:08:16 +0000 +Checked in by : Robert Osfield +Improved support for texture subload/render to texture in various Texture classes and RenderStage. -2007-03-19 17:18 robert +Thu, 3 Nov 2005 21:35:45 +0000 +Checked in by : Robert Osfield +Improvements to CameraNode IO support, now handles render to texture. - * Moved the TARGET_NAME setting into the SETUP_APPLICATION/EXAMPLE - macro +Thu, 3 Nov 2005 19:20:04 +0000 +Checked in by : Robert Osfield +Changed the CameraNode read/write code to use Transform as its parent. -2007-03-19 14:10 robert +Thu, 3 Nov 2005 17:12:49 +0000 +Checked in by : Robert Osfield +Removed debugging message - * Added CMake support for txf, osgViewer and osgShadow plugins +Thu, 3 Nov 2005 17:08:40 +0000 +Checked in by : Robert Osfield +Further work on osg::CameraNode support. -2007-03-19 13:26 robert +Thu, 3 Nov 2005 15:59:17 +0000 +Checked in by : Robert Osfield +Further work on added IO support from CameraNode. - * Ran dos2unix on CMakeLists.txt files. +Thu, 3 Nov 2005 12:25:25 +0000 +Checked in by : Robert Osfield +Completed osg::CameraView support in .osg and .ive formats. -2007-03-19 12:30 robert +Thu, 3 Nov 2005 10:59:22 +0000 +Checked in by : Robert Osfield +Added env var docs on OSG_MAX_TEXTURE_SIZE - * From Luigi Calori, move to using local CMakeLists.txt files and - explicit file lists. - - From Robert Osfield, small ammendments of the above to seperate - example and application installs, and fix the osgPlugins install - directory. +Thu, 3 Nov 2005 10:57:10 +0000 +Checked in by : Robert Osfield +Added --help-env option. -2007-03-19 11:47 robert +Thu, 3 Nov 2005 10:18:19 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated wrappers +Thu, 3 Nov 2005 10:16:38 +0000 +Checked in by : Robert Osfield +Added initial CameraNode and CameraView stups for the .ive loader -2007-03-19 11:35 robert +Thu, 3 Nov 2005 10:01:09 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, added writeEnvironmentSettings to help report what OSG centric environment variables are used. - * From Andreas Goebel, add -lgdi to GNUmakefile +Thu, 3 Nov 2005 09:03:46 +0000 +Checked in by : Robert Osfield +Added CameraNode.cpp and CameraView.cpp -2007-03-19 11:25 robert +Wed, 2 Nov 2005 19:52:58 +0000 +Checked in by : Robert Osfield +Inital work on adding .osg support for CameraNode and CameraView. - * Further work on TerrainNode +Wed, 2 Nov 2005 19:35:35 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-03-19 10:54 robert +Wed, 2 Nov 2005 19:15:41 +0000 +Checked in by : Robert Osfield +Added request for accumulator buffer. - * Build fixes +Wed, 2 Nov 2005 19:15:18 +0000 +Checked in by : Robert Osfield +Added support in DisplaySettings and OscCameraGroup for requesting accumulator buffer. -2007-03-19 10:38 robert +Wed, 2 Nov 2005 16:20:55 +0000 +Checked in by : Robert Osfield +From Alan Ott, added support for palletted imagery. - * Further work on osgterrain example +Wed, 2 Nov 2005 15:56:29 +0000 +Checked in by : Robert Osfield +From Brede Johnasen, changed wrap mode to CLAMP_TO_EDGE to avoid edges being seen when zoomed into the reflectio map. -2007-03-18 11:04 robert +Wed, 2 Nov 2005 15:23:54 +0000 +Checked in by : Robert Osfield +Added handling of CameraNode into PickVisitor in src/osgProducer/Viewer.cpp. This is unlikely to be the final solution, but does at least fix part of the problem of handling picking HUD's underneath CameraNodes. - * Removed now redundent method +Wed, 2 Nov 2005 14:24:29 +0000 +Checked in by : Robert Osfield +From Marco Jez, added Image/ path to image files to help find them from the OpenSceneGraph-Data directory. -2007-03-16 14:28 robert +Wed, 2 Nov 2005 14:22:31 +0000 +Checked in by : Robert Osfield +From Marco Jez, moved the rear view camera's viewport to the bottom left of window to accomdate a greater range of display sizes. From Robert Osfield, made the background colour of the intersted camera a scaled down verson of the main background colour to make it more obvious. - * From David Callu, " bug: - Lost the functionality to find the real type pointed by a - pointer. - Ex: a osg::Node pointer point on a osg::Group, if I look for - information - on the pointer type, the introspection say it is a "osg::Node*". - But if I want information on the pointed type, - the introspection must return the "osg::Group". - - - This bug come from the - osgIntrospection::Value::Ptr_instance_box::ptype() function. - In the original version, this function use the member - "Instance_base *inst_" - like this : - typeof(*static_cast *>(inst_)->_data) - - But in the new version, this function use the template argument - "T": - typeof(typename remove_pointer::type) - - This is a good meta-programming use, but here we need a dynamic - request. - - Moreover the "typeof" macro define in "Reflection" header accept - only a type in parameter with the new version. - - - - fix: - Add the macro "typeofvalue" in "Reflection" header which accept a - value or a type in parameter. - Restore original code in - osgIntrospection::Value::Ptr_instance_box::ptype() function. - " +Wed, 2 Nov 2005 12:22:12 +0000 +Checked in by : Robert Osfield +Added a setSupportsDisplayList(false) to constructor to prevent end users enabling display lists, something that can break the osgText's managment of state. -2007-03-16 14:27 robert +Wed, 2 Nov 2005 11:55:02 +0000 +Checked in by : Robert Osfield +Fixed setCameraRequiresSetUp so it properly uses the bool passed to it. - * Updated wrappers +Wed, 2 Nov 2005 11:33:10 +0000 +Checked in by : Robert Osfield +Added doc comment and removed redundent inline keyword -2007-03-16 13:22 robert +Wed, 2 Nov 2005 10:57:42 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, "I need the ability to check for a font file without actually loading the font object. I've modified font.h/cpp of osgText so that it exports the findFontFile function." - * Added WindowData structures to GraphicsWindowX11,Win32 and Carbon - to help support - GraphicsWindow inheriting their window handles from an external - toolkit +Wed, 2 Nov 2005 10:55:20 +0000 +Checked in by : Robert Osfield +From Marco Jez, commented out debuggin message. -2007-03-16 10:02 robert +Wed, 2 Nov 2005 10:49:38 +0000 +Checked in by : Robert Osfield +Added static orthoNormal function to match equivilant in Matrixd - * From Per Fahlberg, "To get the latest OSG to build under IRIX - with the MIPSpro compiler I - had to add -LANG:libc_in_namespace_std=OFF to DEF in the makedefs - file. - The modified file is attached." +Wed, 2 Nov 2005 10:45:56 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "Fix for missing class name qualifier on the orthoNormal function." -2007-03-15 13:17 robert +Wed, 2 Nov 2005 10:29:38 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "Fixes for some duplicate global symbol definitions in the plugins, which cause errors when creating a statically linked executable." - * From Philip Lowman, added gdi32 entry fro Mingw build +Wed, 2 Nov 2005 10:29:13 +0000 +Checked in by : Robert Osfield +Fixed compile warning -2007-03-14 12:59 robert +Tue, 1 Nov 2005 20:16:31 +0000 +Checked in by : Robert Osfield +Changed the error number reporting to be reported as hex. - * Name fixes +Tue, 1 Nov 2005 19:32:26 +0000 +Checked in by : Robert Osfield +Added an image negation callback to the render to image. Added commandline docs for the new --image and --texture-rectangle options. -2007-03-14 12:43 robert +Tue, 1 Nov 2005 19:31:30 +0000 +Checked in by : Robert Osfield +Removed the double call to the camera post draw callback. - * Added osgterrain example +Tue, 1 Nov 2005 17:07:55 +0000 +Checked in by : Robert Osfield +Added usage of image copy and modification. -2007-03-14 12:42 robert +Tue, 1 Nov 2005 15:39:26 +0000 +Checked in by : Robert Osfield +Set the draw and read buffer to GL_NONE when using FBO's, thereby avoid invalid enumrates being generated. - * Added osgterrain to build +Tue, 1 Nov 2005 15:23:03 +0000 +Checked in by : Robert Osfield +Improved handling of osg::Image copying. -2007-03-14 12:31 robert +Tue, 1 Nov 2005 11:18:40 +0000 +Checked in by : Robert Osfield +From Brad Colbert, Added checking for a NULL return string rom gluErrorString (with slight reformating of this by Robert Osfield.) - * Updated wrappers +Tue, 1 Nov 2005 11:00:07 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-03-14 12:00 robert +Tue, 1 Nov 2005 10:42:54 +0000 +Checked in by : Robert Osfield +Added RenderTargetFallback option into osg::CameraNode. - * Added class shells for osgTerrain::Locator and osgTerrain::Layer - classes +Mon, 31 Oct 2005 16:40:23 +0000 +Checked in by : Robert Osfield +From Steve Lunsford, "Attached is a copy of TXPNode.cpp with the repaired computeBounds call. I discovered that TXPNodes were being culled out prematurely because the loaded sub-tiles resulted in a computed bounds that was smaller than the extents indicated in the archive. I think this fix should be fine. I can't think of any reason why we would want to use anything other than the archive extents." -2007-03-14 11:24 robert +Mon, 31 Oct 2005 14:48:11 +0000 +Checked in by : Robert Osfield +Added default setting of _threading_model to ThreadPerCamera when multiple cameras are present, and SingleThreaded when a single camera is being used. - * Renamed HeightFieldNode and HeightFieldRenderer to TerrainNode - and TerrainTechnique respectively +Mon, 31 Oct 2005 11:43:54 +0000 +Checked in by : Robert Osfield +From Brede Johansen, "some tweaks to the osgSim lightpoints.- The first change is to start fadeing a lightpoint just before the +maximum distance of a light is reached. +- The second change is to start fading a lightpoint when pixelSize is +less than _minPixelSize instead of 1.0." -2007-03-14 10:02 robert - * Changed typeid(CullVisitor) check to dynamic_cast -2007-03-13 20:09 robert +Sat, 29 Oct 2005 11:29:58 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * Fixed spacing of message +Sat, 29 Oct 2005 10:04:35 +0000 +Checked in by : Robert Osfield +Added catch for NULL return from glGetString( GL_VERSION ); -2007-03-13 20:06 robert +Sat, 29 Oct 2005 09:52:56 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * Added lib64 to search path for OpenThreads +Fri, 28 Oct 2005 18:39:14 +0000 +Checked in by : Robert Osfield +From Marco Jez, Fix for the class name lookup in osgDB::Registry::writeObject(), which can silently fail when a NodeKit's class (for example osgNVCg::Program) has the same name as that of an OSG's class (for example osg::Program). -2007-03-13 12:25 robert +Fri, 28 Oct 2005 18:37:15 +0000 +Checked in by : Robert Osfield +Fixed env var docs for sharing graphics contexts. - * From Mathieu Narache, build fixes for IRIX64 +Fri, 28 Oct 2005 14:02:37 +0000 +Checked in by : Robert Osfield +Added warning message for when no file is loaded. -2007-03-13 11:58 robert +Fri, 28 Oct 2005 13:18:09 +0000 +Checked in by : Robert Osfield +From Ravi Mathur, "Here is an update to BlendEquation that adds checking for the SGIX_blend_alpha_minmax and EXT_blend_logic_op extensions. It is tested with the osgblendequation example. If the extensions are not supported, a WARN level notification is generated." - * Fixed gif plugin entry so that it uses GIFLIB_ rather than GIF to - match it up - to the CMakeModels/FindGIFLIB.cmake entry +Fri, 28 Oct 2005 13:11:56 +0000 +Checked in by : Robert Osfield +Moved SceneView across to use an osg::CameraNode to store the projection and view matrices, the viewport, the clear colour and the subgraph needing rendered. This is done transparently so all existing functionality will behave as before. What it does add is the ability to set a SceneView directly by a single osg::CameraNode when required. -2007-03-13 08:18 robert +Fri, 28 Oct 2005 10:33:11 +0000 +Checked in by : Robert Osfield +Changed debug message from NOTICE to INFO level of notification - * Checked in missing implementation of cleanSceneGraph. +Fri, 28 Oct 2005 10:11:12 +0000 +Checked in by : Robert Osfield +Added command line option --overlay to turn on the use of an OverlayNode. -2007-03-12 21:23 robert +Fri, 28 Oct 2005 09:20:21 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * Changed the lib and executable local build so that they all go in - bin and lib respectively. +Fri, 28 Oct 2005 08:35:55 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, added check to make sure that vertex texture was supported in the OpenGL driver. -2007-03-12 21:13 robert +Thu, 27 Oct 2005 13:53:55 +0000 +Checked in by : Robert Osfield +Added option to osgdepthpartion for loading the model specified on the commandline. - * Added IF(BUILD_OSG_WRAPPERS) arouind osgintrospection example +Thu, 27 Oct 2005 11:15:25 +0000 +Checked in by : Robert Osfield +Added documentation line about 32 being the maximum permitted number of line segmenets -2007-03-12 12:46 robert +Thu, 27 Oct 2005 11:11:02 +0000 +Checked in by : Robert Osfield +Added error message to report when too many line segments are added to an IntersectVisitor. - * Fixed install paths of wrappers and plugins +Thu, 27 Oct 2005 10:48:44 +0000 +Checked in by : Robert Osfield +Added support for tracking the directory of the output file whilst still maintaining local file references within this directory. -2007-03-12 12:14 robert +Thu, 27 Oct 2005 09:38:06 +0000 +Checked in by : Robert Osfield +From Ravi Mathur, "New functionality is the ability to automatically determine the maximum traversal depth necessary to obtain an accurate estimate of the minimum number of required cameras. In addition, the user can specify an absolute maximum traversal depth that will not be exceeded." - * Removed GDAL references +Thu, 27 Oct 2005 09:37:38 +0000 +Checked in by : Robert Osfield +From Geoff Michel, update to osgdelaunday. -2007-03-12 12:13 robert +Wed, 26 Oct 2005 20:30:15 +0000 +Checked in by : Robert Osfield +From Don Tidrow, bug fix to setOutputTextureFiles(bool). - * Removed GDAL references +Wed, 26 Oct 2005 20:22:59 +0000 +Checked in by : Robert Osfield +Added friend declarations of nested classes to prevent compile problems under VS6.0 -2007-03-12 11:49 robert +Wed, 26 Oct 2005 20:00:10 +0000 +Checked in by : Robert Osfield +Changed the minimum tile image size to be 4x4 to avoid problems in mipmap generation that was occuring at sizes of 2x2, seemingly somewhere in the OpenGL driver. - * Cleaned up the ordering of the code component compilation +Wed, 26 Oct 2005 16:02:24 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, "changed two set methods (setFocalLength,setFieldOfView) to perform assignment." -2007-03-12 11:48 robert +Wed, 26 Oct 2005 09:22:13 +0000 +Checked in by : Robert Osfield +From Geoff Michel, compile fixes for VS6.0 - * Fixed osgTerrain CMakeLists.txt so it didn't include DataSet or - GDAL references +Tue, 25 Oct 2005 18:34:46 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-03-12 08:32 robert +Tue, 25 Oct 2005 15:49:48 +0000 +Checked in by : Robert Osfield +Added command line support for the interlaced stereo modes. - * From Luigi Calori, fixes for building wrappers with lib prefix. +Tue, 25 Oct 2005 15:43:04 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari & Robert Osfield: Added support for VERTICAL_INTERLACE and HORIZONTAL_INTERLACE stereo modes use the stencil buffer. -2007-03-11 13:23 robert +Tue, 25 Oct 2005 14:01:50 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * Renamed the follow plugins to facilitate CMake build - - lib3ds -> 3ds - ac3d -> ac - directx -> x - ESRIShape -> shp +Tue, 25 Oct 2005 13:28:48 +0000 +Checked in by : Robert Osfield +From Geoff Michel, added support for constrain delaunay triangultion, and osgdelaunay example. -2007-03-11 13:21 robert +Tue, 25 Oct 2005 13:24:39 +0000 +Checked in by : Robert Osfield +Added check against glGetString(GL_VERSION) returning NULL. - * Moved introspection build into optional compile section +Tue, 25 Oct 2005 10:30:32 +0000 +Checked in by : Robert Osfield +Added missing projects -2007-03-11 13:15 robert +Tue, 25 Oct 2005 10:29:11 +0000 +Checked in by : Robert Osfield +Added osgcatch project - * Changed the output directory for wrappers to osgPlugins and the - name to osgwrapper_ to - make it consitent with the previous places used for wrappers. - - Note, the wrappers still compile to libosgwarapper_, this will - need fixing. +Tue, 25 Oct 2005 10:12:18 +0000 +Checked in by : Robert Osfield +Added missing projects. -2007-03-11 11:48 robert +Tue, 25 Oct 2005 09:54:15 +0000 +Checked in by : Robert Osfield +From Markus Trenkwalder, added meanigful return types in Registry::read(const ReadFunctor& readFunctor) for ERROR_IN_READING_FILE and FILE_NOT_FOUND cases. - * Added inheritedWindowData member variable to Traits. +Tue, 25 Oct 2005 09:49:53 +0000 +Checked in by : Robert Osfield +Added protected destructors. -2007-03-10 17:29 robert +Tue, 25 Oct 2005 09:43:37 +0000 +Checked in by : Robert Osfield +From Don Tidrow, removed unncessary includes. - * From Bob Kuehne, fix for AGL build of osgViewer +Tue, 25 Oct 2005 09:23:21 +0000 +Checked in by : Robert Osfield +From Brede Johansen, changed osg_InverseViewMatrix to osg_ViewMatrixInverse to bring into line with OpenGL shader languague conventions.From Robert Osfield, changed the SceneView::ActiveUnforms enum to from INVERSE_VIEW_MATRIX_UNIFORM +VIEW_MATRIX_INVERSE_UNIFORM to be convistent with the above change. -2007-03-10 12:27 robert - * Updated wrappers -2007-03-10 11:56 robert +Mon, 24 Oct 2005 18:51:36 +0000 +Checked in by : Robert Osfield +Changes to fix divide by 0 warning under VS. - * Correct TransferFunction entry. +Mon, 24 Oct 2005 13:49:19 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-03-10 11:53 robert +Mon, 24 Oct 2005 13:46:31 +0000 +Checked in by : Robert Osfield +Fixed compile warnings. - * Added preliminary work on osg::TransferFunction +Mon, 24 Oct 2005 11:46:51 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, "some fixes for OSG_OPTIMIZER envar parsing and help display" -2007-03-10 11:38 robert +Mon, 24 Oct 2005 11:44:07 +0000 +Checked in by : Robert Osfield +From Marco Jez, added missing example project files. - * Updated wrappers +Mon, 24 Oct 2005 11:37:03 +0000 +Checked in by : Robert Osfield +From Tony Horrobin: "This is a small fix for flt2osg.[cpp|h] that handles + old style road segments ( from Multigen II w/road + tools on IRIX ) in the same way as the newer road + constructions. ie create a group and do a nested + traversal. -2007-03-10 11:38 robert + This makes roads appear in older format files where + there was previously a gap. This actually works + properly with the paths which are marked as hidden in + the openflight database." - * From Luigi Calori, CMakeLists.txt support for wrappers -2007-03-09 16:25 robert - * From Luigi Calori, "Here are some fix for building plugin net and - installing .lib under lib under WIndows + some setting - (commented) coming from previous build setup" +Mon, 24 Oct 2005 11:34:12 +0000 +Checked in by : Robert Osfield +From Don Tidrow, "I discovered that externally-referenced models in the TXP format didn't get positioned correctly when the TXP database was built using the 'tile-offset' mode. I've included a tarball with what I believe are the needed changes - they work for the sample databases I have available, but not all conditions have been tested. I've set things up such that these changes shouldn't affect 'normal' txp databases." -2007-03-09 14:54 robert +Mon, 24 Oct 2005 11:25:20 +0000 +Checked in by : Robert Osfield +Warning fixes for Win32 build. - * From Luigi Calori, improvements to handling of install under Unix +Mon, 24 Oct 2005 10:53:01 +0000 +Checked in by : Robert Osfield +Added copyright notices. -2007-03-09 14:54 robert +Mon, 24 Oct 2005 10:51:50 +0000 +Checked in by : Robert Osfield +Added beginnings of Programming Guide, and NodeTrackerCallback. - * Commenting out Matrix_implementation.cpp entry to avoid it being - installed. +Fri, 14 Oct 2005 21:40:03 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, compile fix for VS 2002. -2007-03-09 13:47 robert +Fri, 14 Oct 2005 21:38:44 +0000 +Checked in by : Robert Osfield +From Brede Johansen, fixed INVERSE_VIEW_MATRIX_UNIFORM enum value. - * Added application_ and example_ before application and example - projects. - - Converted the application CMakeLists.txt and macros to work with - the ADD_OSG_APPLICATION macro. - - Removed the GDAL checks in the examples/CMakeLists.txt +Fri, 14 Oct 2005 09:29:13 +0000 +Checked in by : Robert Osfield +From Farshid Laskari, changed the compute of the text bounding box to include the spaces. -2007-03-09 09:08 robert +Thu, 13 Oct 2005 12:51:00 +0000 +Checked in by : Robert Osfield +Renamed osgUtil::RenderGraph to osgUtil::StateGraph - * Setting of binary/exe path moved to root CMakeLists.txt +Thu, 13 Oct 2005 10:29:40 +0000 +Checked in by : Robert Osfield +Changed the "Cessna" text so that it is sized according to OBJECT_COORDS rather than SCREEN_COORDS as the later was causing problems with the pixel size based LOD selection. -2007-03-09 09:07 robert +Thu, 13 Oct 2005 08:18:12 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * Ran dos2unix +Thu, 13 Oct 2005 08:07:36 +0000 +Checked in by : Robert Osfield +Added Producer.lib to osgdepthpartion project file -2007-03-08 21:19 robert +Thu, 13 Oct 2005 08:05:46 +0000 +Checked in by : Robert Osfield +Added PRODUCER_INSTALLED=yes make options to the unix build system, not defining PRODUCER_INSTALLED=yes or setting it to another value than yes (i.e no) will result in the osgProducer library, OSG applications and demos not being built.PRODUCER_INSTALLED=yes is the default. - * From Luigi Calori, fixed build of freetype and zlib. -2007-03-08 15:33 robert - * From Lugi Calori, tweaks to macros and addition of - CMAKE_INSTALL_PREFIX to FindOpenThreads +Wed, 12 Oct 2005 18:42:36 +0000 +Checked in by : Robert Osfield +Added SmokeTrailEffect which renders created particles as single quad or line strip, in the case of the quad strip the strip is aligned to the be orthogonal with the eye point. -2007-03-08 15:31 robert +Tue, 11 Oct 2005 09:47:28 +0000 +Checked in by : Robert Osfield +Added new shell of new class ConnectedParticleSystem, which will be used for managing connect particle system for the purpose of doing missile trails etc. - * Ran dos2unx of CMakeLists.txt files +Mon, 10 Oct 2005 10:10:44 +0000 +Checked in by : Robert Osfield +From Ravi Mathur, osgdepthpartition example program. -2007-03-08 15:29 robert +Mon, 10 Oct 2005 09:17:22 +0000 +Checked in by : Robert Osfield +From Alberto Jaspe, added double precision interpolation method - * From Luigi Calori, added support macro based build of plugins +Fri, 7 Oct 2005 07:46:48 +0000 +Checked in by : Robert Osfield +Added into CVS missing PolgonMode files. -2007-03-06 12:03 robert +Thu, 6 Oct 2005 20:02:18 +0000 +Checked in by : Robert Osfield +Improved the UpdateCameraAndTexGenCallback so it properly handles rotation and translations within the reflector nodepath. - * Added application CMakeLists. +Thu, 6 Oct 2005 15:43:29 +0000 +Checked in by : Robert Osfield +From Brede Johansen, added support for PolygonMode into .ive format. -2007-03-06 12:02 robert +Thu, 6 Oct 2005 15:41:47 +0000 +Checked in by : Robert Osfield +Changed the fallback code to use the result form the realize() call, removed the code path from running a PBuffer as a seperate graphics context (this was found to be slower than running single threaded so its not worth the extra complexity). - * From Luigi Calori, quick hack to make example compile in source. +Thu, 6 Oct 2005 13:31:23 +0000 +Checked in by : Robert Osfield +Added env var reporting for the OSG_CAMERA_THREADING and OSG_SHARE_GRAPHICS_CONTEXTS env vars. -2007-03-06 12:01 robert +Thu, 6 Oct 2005 13:20:08 +0000 +Checked in by : Robert Osfield +Added catch for disabling ThreadPerCamera when contexts are shared. - * Changed _pixel_x and _pixel_y to be floats +Thu, 6 Oct 2005 11:26:07 +0000 +Checked in by : Robert Osfield +Improved the fallback mechanism from FBO, down to PBuffer_RTT down to PBuffer down to frame buffer. -2007-03-06 11:20 robert +Wed, 5 Oct 2005 16:21:51 +0000 +Checked in by : Robert Osfield +Moved the testing and setting up of FBO/Pbuffer extension from CullVisitor to support into RenderStage to allow better fallback implementations. - * Added support for 4,7,12,16 bit luminance and intensity formats +Wed, 5 Oct 2005 09:48:53 +0000 +Checked in by : Robert Osfield +Added support for CameraView into NodeVistor, and support for CameraNode and CameraView into the AnimationPathCallback so you can now animate both via animation paths. -2007-03-05 17:46 robert +Tue, 4 Oct 2005 18:50:00 +0000 +Checked in by : Robert Osfield +Added code paths for PBuffer RTT support. - * Updated wrappers +Tue, 4 Oct 2005 13:41:20 +0000 +Checked in by : Robert Osfield +Added osg::CameraView to help application/modellers position their cameras in scenes. Note, CameraView is *not* a camera, it isn't an active object, but a passive one that camera must track each frame to following the path of the CameraView. -2007-03-05 17:34 robert +Mon, 3 Oct 2005 19:37:54 +0000 +Checked in by : Robert Osfield +From Keith Steffen, fixed bug in StateSet::clear() where parents of texture attributes where not being reset correctly due to incorrect ordering of _textureAttributeList.clear(). - * From Mike Wittman, " noticed that some type references of - osg::Drawable::AttributeFunctor, - osg::Drawable::ConstAttributeFunctor, and - osg::StateAttribute::ModeUsage in osg and osgSim were not being - properly reflected in osgIntrospection. This appears to be due to - Doxygen not handling nested types from superclasses if they're - not qualified when referenced in subclasses. - - - - These changes add the necessary superclass type qualification so - that Doxygen now recognizes the references." +Mon, 3 Oct 2005 19:33:54 +0000 +Checked in by : Robert Osfield +From MFM, Added FreeBSD specific implementation for getGLExtensionFuncPtr using dlsym(RTLD_DEFAULT, xxx) -2007-03-05 13:27 robert +Mon, 3 Oct 2005 19:24:12 +0000 +Checked in by : Robert Osfield +Added a couple of (double) casts for VS7 build. - * From Luigi Calori, added marco support +Mon, 3 Oct 2005 19:18:53 +0000 +Checked in by : Robert Osfield +Added closing of loops. -2007-03-05 12:11 robert +Mon, 3 Oct 2005 16:13:26 +0000 +Checked in by : Robert Osfield +Added fusing of ends of lines - * Added missing files +Mon, 3 Oct 2005 13:19:03 +0000 +Checked in by : Robert Osfield +Improved handling of convex azim ranges. -2007-03-05 12:09 robert +Sat, 1 Oct 2005 19:28:34 +0000 +Checked in by : Robert Osfield +Added test cases for SphereSegment intersection code. - * Added missing files +Sat, 1 Oct 2005 19:27:52 +0000 +Checked in by : Robert Osfield +Added a dirtyDisplayList() to the setColor() and setTesselationHint() methods. -2007-03-04 13:05 robert +Sat, 1 Oct 2005 12:23:10 +0000 +Checked in by : Robert Osfield +Adding handling of case of convex azimuth side ways of sphere segment. - * From Eric Wing and others, first cut of CMake build support +Fri, 30 Sep 2005 19:36:22 +0000 +Checked in by : Robert Osfield +Changed the line intersection algorithm to computer full line intersections then trim down to size by intersecting with the sphere segmenet sufaces -2007-03-04 13:04 robert +Thu, 29 Sep 2005 15:55:55 +0000 +Checked in by : Robert Osfield +Fix to intersection code. - * From Mike Wittman, updated project to reflect new additions to - osgIntrospection +Thu, 29 Sep 2005 13:07:26 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-03-04 13:04 robert +Thu, 29 Sep 2005 13:00:23 +0000 +Checked in by : Robert Osfield +From Marco Jez, fix for gcc build. - * Fixed command line parameter reporting +Thu, 29 Sep 2005 10:25:44 +0000 +Checked in by : Robert Osfield +Fixed typo of Primitive -2007-03-04 13:03 robert +Thu, 29 Sep 2005 10:22:06 +0000 +Checked in by : Robert Osfield +Added setOverlayClearColor and setTexEnvMode and automatic set up of TexEnv. - * From Mike Wittman, updates to support new protected method - support +Thu, 29 Sep 2005 09:49:20 +0000 +Checked in by : Robert Osfield +From Marco Jez, added fallback to TextureCubeMap subloading that calls load when mipmaps are required, but non are present. -2007-03-02 16:14 robert +Thu, 29 Sep 2005 09:36:51 +0000 +Checked in by : Robert Osfield +Fixed typo of CameraNode::setRenderTargetImplementation(..) - * Added proper maths for distortion correction of pufferfish dome. +Wed, 28 Sep 2005 16:05:35 +0000 +Checked in by : Robert Osfield +From Volker Walkiewicz (with tweaks from Robert Osfield):Fix to the update of the error metrics on the edges in the simplification mesh that are affected by an edge collapse. -2007-03-01 13:41 robert +Addition of 'n' and 'p' keyboard control in osgsimplifier example to allow users to control the sample ratio manually. - * Changed the index value to 0 of the token vector, wheras original - the 1 was used, the - later causing a crash when only one token was available. Also - clean up #if #else #endif - block to help make the code more readable and maintainable. This - bug and fix - was found by Anders Backman, but final implementation done by - Robert Osfield. -2007-03-01 12:10 robert - * From David Gurhrie, "Here is the updated txp loader code that we - modified before to store - some of the material codes in the userdata field. It now takes an - option string to enable adding the extra data and doesn't add it - by - default." +Wed, 28 Sep 2005 14:18:31 +0000 +Checked in by : Robert Osfield +From Marco Jez, "Problems fixed:1. type converters created automatically by the I_BaseType macro use +static_cast<> even for base-to-derived conversions. dynamic_cast<> should be +used instead. +2. as a consequence of the above fix, I_BaseType must now differentiate +between polymorphic and non-polymorphic base classes, because the latter +can't be dynamic_cast'd to derived classes. Some template magic (see +is_polymorphic<> in ReflectionMacros) is used to detect polymorphism at +compile time (I'm NOT sure it works on all platforms as it's partly +implementation-dependent. Please test!). +3. predefined custom property getters/setters/counters/etc. (as those +defined for STL containers) only work on Value objects that contain +non-pointer instances. This was an unwanted restriction that no longer +exists. -2007-03-01 11:58 robert +Wrappers will need to be recompiled. This is a good time to give them a +fresh update with genwrapper. - * Updated wrappers +NOTE: fix #1 should get rid of those crashes and strange behaviours that +some users noticed while using osgIntrospection through osgTcl or in their +own code." -2007-03-01 11:54 robert - * From Mike Wittman, added protected function support -2007-03-01 10:43 robert +Wed, 28 Sep 2005 14:05:05 +0000 +Checked in by : Robert Osfield +From Chris Hanson, "The following files are drop-in replacements for the include/*/Export files to permit building statically linked osg libraries under Win32." - * From Jean-Sebastien Guay, fix Windows build by adding space in - where previous editing had removed it. +Wed, 28 Sep 2005 13:55:22 +0000 +Checked in by : Robert Osfield +From Leandro Motta Barros: fixed type of ATTRIBUTE_* -2007-03-01 09:19 robert +Wed, 28 Sep 2005 13:53:54 +0000 +Checked in by : Robert Osfield +From A. Botorabi, "slightly modified osgUtil's TangentSpaceGenerator class to allow the option for using or not using geom's indices for tangent space vectors generation. now, Ruben's code is also used (it was disabled before). in order to keep backward compatibility, the compute method behaves as before in default case." - * Added osgShadow to dependencies of osgdepthshadow example +Wed, 28 Sep 2005 13:45:32 +0000 +Checked in by : Robert Osfield +From Joran Jessurun, comments explaining font search rules -2007-02-28 12:15 robert +Wed, 28 Sep 2005 13:39:26 +0000 +Checked in by : Robert Osfield +From Joran Jessurun, added font search fallbck that strips the leading path from the font file and then looks again. - * Ran cleanup to fix tabs +Wed, 28 Sep 2005 13:33:58 +0000 +Checked in by : Robert Osfield +From Chris Hanson: Spelling fixes in include/osg/LOD -2007-02-28 11:18 robert + Negated priority in PagedLOD when using _rangeMode==PIXEL_SIZE_ON_SCREEN - * Added support for direction lights to ShadowTexture + Added clampedPixelSize() methods to CullStack and CullingSet to return fabs()ed values. -2007-02-28 11:12 robert + Changed LOD and PagedLOD ::traverse to use clampedPixelSize() methods. - * From Mihai Radu, Added support for directional lights to - ShadowMap -2007-02-28 10:10 robert - * Added mention of LODScale in docs +Tue, 27 Sep 2005 20:28:42 +0000 +Checked in by : Robert Osfield +Added degugging methods. -2007-02-28 10:08 robert +Tue, 27 Sep 2005 14:48:09 +0000 +Checked in by : Robert Osfield +From Don Tidrow, Added support for locally referenced origins. - * From Paul Martz, updated the LOD documentation +Tue, 27 Sep 2005 12:15:40 +0000 +Checked in by : Robert Osfield +Various improvements to the sphere segment intersection code. -2007-02-27 21:31 robert +Mon, 26 Sep 2005 11:24:37 +0000 +Checked in by : Robert Osfield +Set the defaul clear colour to 0,0,0,0. - * Added osgTerrain into default build of wrappers +Mon, 26 Sep 2005 11:24:14 +0000 +Checked in by : Robert Osfield +Added TexEnv DECAL mode. -2007-02-27 21:18 robert +Sun, 25 Sep 2005 20:41:56 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, fixes from VS 7.1 build. - * Further clean up for refernces to osgTerrain/DataSet +Sat, 24 Sep 2005 16:11:55 +0000 +Checked in by : Don BURNS +Brede's changes for limited morphed vertex support. These changes allow a model with morphed vertecies to load correctly with LOD switches, but does not implement the vertex morphing. -2007-02-27 21:16 robert +Sat, 24 Sep 2005 14:53:22 +0000 +Checked in by : Robert Osfield +Improvements to the clipping of polygons at boundary edges. - * Removed osgdem as its now part of the VirtualPlanetBuilder - project +Wed, 21 Sep 2005 14:38:36 +0000 +Checked in by : Robert Osfield +Further work on intersection code. -2007-02-27 21:12 robert +Mon, 19 Sep 2005 19:49:23 +0000 +Checked in by : Robert Osfield +Added multiple intersect triangle visualization for testing purposes. - * Moved include/osgTerrain/DataSet/.cpp, gdal plugin and osgdem out - into the VirtualPlaneBuilder project. - - Updated examples to remove DataSet/GDAL dependency. - - Updated wrappers +Mon, 19 Sep 2005 15:33:25 +0000 +Checked in by : Robert Osfield +From Mike Weiblen: support for OSGHANGGLIDE_REVERSE_CONTROLS env which reverses the pitch and roll control to account from Mike's "unique" way of flying hang gliders :-) -2007-02-27 14:09 robert +Mon, 19 Sep 2005 15:28:31 +0000 +Checked in by : Robert Osfield +From Ravi Mathur, added extension checks for point sprite support. From Robert Osfield, tweaks of the above to use osg::buffer_object and a local struct to store initialized to help with multi-thread and out of order context usage. - * Ammend the references to ReentrantMutex and ReadWriteMutex to - related to their move to OpenThreads +Mon, 19 Sep 2005 14:07:44 +0000 +Checked in by : Robert Osfield +Added support for "-O OutputTextureFiles" options string in .osg plugin to allow texture files to be written out when writing out a .osg file. -2007-02-27 13:16 robert +Mon, 19 Sep 2005 13:15:59 +0000 +Checked in by : Robert Osfield +Added countMultipleIntersections to help with debugging. - * Moved osgProducer and osgproducerviewer out into their own - repository. - - Clean up the source for remaining references to - osgProducer/Producer. +Sat, 17 Sep 2005 18:50:26 +0000 +Checked in by : Robert Osfield +Improved the region classifaction of the intersection code. -2007-02-27 11:51 robert +Fri, 16 Sep 2005 14:52:56 +0000 +Checked in by : Robert Osfield +Improved accuracy of spheresegment to mesh intersections uses mathematical models of surface geometry. - * Added --label and --subscript options to allow us to create - custom logos +Fri, 16 Sep 2005 09:28:22 +0000 +Checked in by : Robert Osfield +Added Azimuth and Elevation intersector functors. -2007-02-26 14:36 robert +Thu, 15 Sep 2005 20:55:35 +0000 +Checked in by : Robert Osfield +Changed destinationRowDelta and destination_pixelSpace to int's, solving a memory corruption crash under 64 bit build. - * Fixed auto rotate to screen so that it handles scales in to the - parental path +Thu, 15 Sep 2005 20:03:37 +0000 +Checked in by : Robert Osfield +Added line connectivity code. -2007-02-26 13:01 robert +Thu, 15 Sep 2005 09:03:14 +0000 +Checked in by : Robert Osfield +Moved copyLeavesFromRenderGraphListToRenderLeafList into public. - * Completed changes to osgManipulator to make it more flexible - w.r.t viewer usage, and - ported osgmanipulator example across of osgViewer +Mon, 12 Sep 2005 19:42:36 +0000 +Checked in by : Robert Osfield +Added querry of video size during open() call and associated allocImage to ensure that the imagestream passed back is of a valid size. -2007-02-26 11:23 robert +Sun, 11 Sep 2005 19:12:54 +0000 +Checked in by : Robert Osfield +From Henrique Bucher, add check against null light entry in LightPool. - * Removed ReentrantMutex +Sun, 11 Sep 2005 19:08:41 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, append "\fonts" to end of windows font search path. -2007-02-25 20:05 robert +Sun, 11 Sep 2005 19:05:30 +0000 +Checked in by : Robert Osfield +From Sondra Iverson, "The options to rewind/restart and to toggle looping in the osgmovie example have been implemented. " - * Further work on add serialization support for osgViewer - configurations +Sun, 11 Sep 2005 19:02:20 +0000 +Checked in by : Robert Osfield +converted hardware tabs to spaces. -2007-02-25 19:59 robert +Sun, 11 Sep 2005 19:00:57 +0000 +Checked in by : Robert Osfield +From Sonda Iverson, fix for repeated pause/unpause toggleing in Xine plugin - * Added new osgViewer plugin to help with serializing in/out of - viewer configurtions +Sat, 10 Sep 2005 13:07:08 +0000 +Checked in by : Robert Osfield +From Joran Jessurun, fix to let the Viewer::computeNearFarPoints function work correctly when used with multiple camera's on one render surface. -2007-02-24 19:54 robert +Sat, 10 Sep 2005 12:51:18 +0000 +Checked in by : Robert Osfield +Removed some debugging messages - * Set propset in .dsp to fix eol to CRLF +Sat, 10 Sep 2005 12:51:03 +0000 +Checked in by : Robert Osfield +Added more intersection testing code. -2007-02-24 19:51 robert +Fri, 9 Sep 2005 20:26:50 +0000 +Checked in by : Don BURNS +Added initial ESRIShape file loader.Untabbed and formated LOGO loader. Removed extraneous noise from NET loader - * Set svn::eol style to CRLF -2007-02-24 09:04 robert - * Added makefile +Fri, 9 Sep 2005 15:42:48 +0000 +Checked in by : Robert Osfield +Removed duplicate typedef. -2007-02-23 21:06 robert +Fri, 9 Sep 2005 11:13:40 +0000 +Checked in by : Robert Osfield +Added triangle index functor to src/osgUtil/SphereSegment.cpp for computing the intersection between an indivual geometry and the sphere segment.Converted the terrain in osgspheresegment to be an osg::Geometry based +drawable rather than a osg::ShapeDrawable/osg::HeightField one to make it +more practicle to use as a test for the new SphereSegment intersection code. - * Used Mike Wittman suggestion from setting CRLF on .dsp files -2007-02-23 16:31 robert - * Moved Block, ReentrantMutex and ReadWriteMutex into OpenThreads. +Thu, 8 Sep 2005 18:56:37 +0000 +Checked in by : Robert Osfield +Added PolytopeVisitor to SphereSegment.cpp to help cull down to only drawables that intersect with the frustum of the SphereSegment. PolytopeVisitor may eventually be pulled out to be more generally used along the lines of osgUtil::IntersectVisitor. -2007-02-23 12:14 robert +Thu, 8 Sep 2005 13:10:04 +0000 +Checked in by : Robert Osfield +Added initial interface for computing intersections between sphere segments and terrain. - * Updated wrappers +Wed, 7 Sep 2005 16:18:43 +0000 +Checked in by : Robert Osfield +Added support for cullable state, that uses a polytope to define the extents of objects that will be influenced by it. -2007-02-23 11:53 robert +Tue, 6 Sep 2005 20:28:53 +0000 +Checked in by : Robert Osfield +Added a grid of lines into the OverlaySubgraph to demonstate use the OverlayNode for applying general drawing onto terrain. - * Added bool View::Slave::_useMastersSceneData to help manage HUD's - and RTT - cameras that are embedded in the Viewer's View +Tue, 6 Sep 2005 19:54:29 +0000 +Checked in by : Robert Osfield +Added s/getContinousUpdate(bool) method to OverlayNode. -2007-02-23 11:52 robert +Tue, 6 Sep 2005 15:48:18 +0000 +Checked in by : Robert Osfield +Added osgSim::OverlayNode to osganimate and osgspheresegment examples, and added support for setting texture size hint and coping with scene graphs with CoordinateSystemNode in them. - * Added new --Viewer and --CompositeViewer for implementation of - HUDs +Mon, 5 Sep 2005 13:27:48 +0000 +Checked in by : Robert Osfield +Changed #if -2007-02-23 11:51 robert +Mon, 5 Sep 2005 13:26:50 +0000 +Checked in by : Robert Osfield +Added checking of EventVisitor type - * Clean up the handling of views without camera manipulators, and - cameras that - don't allow camera focus +Mon, 5 Sep 2005 13:23:27 +0000 +Checked in by : Robert Osfield +Fixed VisitorType of EventVisitor -2007-02-22 16:42 robert +Mon, 5 Sep 2005 13:19:20 +0000 +Checked in by : Robert Osfield +Added event handler to shader code so that alphaCuttOff, transparency and sampleDensity are controlled via 'a', 't' and 'd' respectively. - * Implement basic full dome correction with projecto pointing - upwards and at center - of dome. +Mon, 5 Sep 2005 10:40:04 +0000 +Checked in by : Robert Osfield +Integrated shaders into source. -2007-02-22 11:17 robert +Mon, 5 Sep 2005 09:14:30 +0000 +Checked in by : Robert Osfield +Added all sides of the shader cube - * Moved distortion mesh creation out into seperate function +Mon, 5 Sep 2005 07:48:55 +0000 +Checked in by : Robert Osfield +Added preliminary GLSL shader path for volume rendering. -2007-02-22 10:56 robert +Sun, 4 Sep 2005 11:17:00 +0000 +Checked in by : Robert Osfield +Standardised the Vec* class interfaces, and added num_components enum to aid generic programming. - * Removed the compile objects in init in the - SceneView::setDefaults() setup. +Sun, 4 Sep 2005 06:36:52 +0000 +Checked in by : Robert Osfield +Added support in osgTerrain/osgdem for setting the image format to use when writing tiles out to disk -2007-02-22 10:31 robert +Sat, 3 Sep 2005 20:56:25 +0000 +Checked in by : Robert Osfield +Changed red()/green()/blue()/alpha() to r()/g()/b()/a() for greater consistency across Vec* classes and with OpenGL Shander Lanaguage. - * Fixed calculation of inverted coordindates +Sat, 3 Sep 2005 20:54:32 +0000 +Checked in by : Robert Osfield +Added release() to all GraphicsOperations in GraphicsThread. -2007-02-22 09:16 robert +Fri, 2 Sep 2005 20:06:11 +0000 +Checked in by : Robert Osfield +Added commandline arguments for controlling number of cameras through to the windowing library to use. - * Added STATIC_OBJECT_DETECTION optimizer pass to OpenFlight plugin +Fri, 2 Sep 2005 13:10:46 +0000 +Checked in by : Robert Osfield +Added clean up class to help improve the exit of GraphicsThread -2007-02-21 21:20 robert +Fri, 2 Sep 2005 10:35:38 +0000 +Checked in by : Robert Osfield +Renamed osgUtil::RenderStageLighting osgUtil::PositionalStateContainer - * From Brede Johansen, Thanks for the model it helped to understand - the problem. In Creator the "Last Frame Duration" is performed on - the last frame of the last loop iteration, I tried to use it for - the last frame of every loop iteration. As you already have - explained we need a custom Sequence node. In the osgSim nodekit - we already have a couple of specialized nodes for the OpenFlight - format. We need an osgSim::GroupAnimation but I don't have the - time right now to take this challenge. Until then I have modified - my last attempt to work with the current osg::Sequence node by - ignoring the "Last Frame Duration". +Thu, 1 Sep 2005 19:55:41 +0000 +Checked in by : Robert Osfield +Removed redundent code. -2007-02-21 20:47 robert +Thu, 1 Sep 2005 19:12:06 +0000 +Checked in by : Robert Osfield +Fixed typo - * Removed debugging info +Thu, 1 Sep 2005 06:19:03 +0000 +Checked in by : Robert Osfield +Added osgcamera projects -2007-02-21 20:38 robert +Wed, 31 Aug 2005 20:39:05 +0000 +Checked in by : Robert Osfield +Removed circular reference of osg::CameraNode, fixing memory leak. Added a auto exit after a maximum number of frames are completed. - * Added the default setting of the SceneView's camera onto the - RenderStage to - allow SceneView to automatically support FBO, PBuffers, image and - texture copies and - Camera post draw callbacks +Wed, 31 Aug 2005 15:04:27 +0000 +Checked in by : Robert Osfield +Added osgSim::OverlayNode setup in osgsimulation, and added preliminary test code to the osgSim::OverlayNode to test osgsimulation/the architecture. -2007-02-21 19:41 robert +Wed, 31 Aug 2005 13:43:29 +0000 +Checked in by : Robert Osfield +Set number of cameras to 3. - * Added ability to discount Camera's that arn't appropriate for - event focus +Wed, 31 Aug 2005 12:56:15 +0000 +Checked in by : Robert Osfield +Added graphics context pointer to osg::Texture in prep for support for Pbuffer Render To Texture. -2007-02-21 19:41 robert +Wed, 31 Aug 2005 12:49:23 +0000 +Checked in by : Robert Osfield +Disable the glFinishBarrierOp usage as glFinish was spin locking the CPU :-| - * Wired up RTT cubemap cameras and simple distortion mesh. +Wed, 31 Aug 2005 10:55:58 +0000 +Checked in by : Robert Osfield +Seperated out the cull and draw traversals into their own operations, and added a glFinishBarrierOp which can be placed between the cull and the draw or after swap. -2007-02-21 19:06 robert +Wed, 31 Aug 2005 09:21:34 +0000 +Checked in by : Robert Osfield +Add comments explain how example works. - * Added Camera::s/getAllowsEventFocus() method to allow osgViewer - to have non interfactive cameras such as RTT ones +Tue, 30 Aug 2005 22:28:30 +0000 +Checked in by : Robert Osfield +Added support for GrapicsOpeations that are reused each frame, cleaned up osgcamera example. -2007-02-21 15:15 robert +Tue, 30 Aug 2005 19:20:19 +0000 +Checked in by : Robert Osfield +Compile fix. - * Wojciech Lewandowski: "TexGenNode::TexGenNode( TexGen * texGen ) - constructor does not initialize ReferenceFrame. I am not sure - maybe this was the intent but first constructor does it so I - don't see a reson why third one shouldn't." +Tue, 30 Aug 2005 19:19:49 +0000 +Checked in by : Robert Osfield +From Colin McDonald, fix for big endian systems -2007-02-21 14:17 robert +Tue, 30 Aug 2005 19:03:02 +0000 +Checked in by : Robert Osfield +Added name and keep member variables to osg::GraphicsThread::Operation to allow the names of the operations to be logged for stats purposes, or used when do searches of the operation list. The keep member variable tells the graphics thread run loop wether to remove the entry from the list once its been called. - * Removed debug messages +Tue, 30 Aug 2005 14:41:08 +0000 +Checked in by : Robert Osfield +Clean up and fixes to GraphicThread class, and osgcamera example. -2007-02-21 13:48 robert +Tue, 30 Aug 2005 09:33:42 +0000 +Checked in by : Robert Osfield +From Norman Vine, fixed small typo. - * Removed the exclusion of CullSettings from the genwrapper.conf, - and then changed the CullStack RefMatrix& methods to RefMatrix* - as the RefMatrix& versions caused the wrappers to fail. +Mon, 29 Aug 2005 20:38:46 +0000 +Checked in by : Robert Osfield +Fixed reading and writng of data. -2007-02-21 11:46 robert +Mon, 29 Aug 2005 20:16:15 +0000 +Checked in by : Robert Osfield +Added scratch pad reset. - * Removed GL_TEXTURE_RECTANGLE_NV entries +Mon, 29 Aug 2005 19:57:02 +0000 +Checked in by : Robert Osfield +Implement a scratch pad for writing and read data to, to solve issue between running a master and slave on a mix of 32bit and 64bit. -2007-02-20 21:06 robert +Mon, 29 Aug 2005 14:05:30 +0000 +Checked in by : Robert Osfield +Improved support for keyboard/mouse events in osgcluster. - * Further work on dome RTT +Mon, 29 Aug 2005 12:25:16 +0000 +Checked in by : Robert Osfield +Added extra debug info. -2007-02-20 20:56 robert +Mon, 29 Aug 2005 12:05:17 +0000 +Checked in by : Robert Osfield +Added extra access methods on osgProducer::KeyboardMouseCallback, and added support for reading and writing keyboard/mouse events in osgcluster. - * Fixed inheritance check for copying clear colour to slave cameras +Sun, 28 Aug 2005 19:07:09 +0000 +Checked in by : Robert Osfield +Disabled the pbuffer graphics thread. -2007-02-20 16:46 robert +Sun, 28 Aug 2005 15:49:58 +0000 +Checked in by : Robert Osfield +From Marco Jez, fixed typo of OverlayNode.cpp. - * Added inhertCullSettings before SceneView::cull() calls +Fri, 26 Aug 2005 20:01:21 +0000 +Checked in by : Robert Osfield +Added OveralyNode into VS project file, and fleshed out more code in the OveralyNode implementation. -2007-02-20 11:44 robert +Fri, 26 Aug 2005 14:00:02 +0000 +Checked in by : Robert Osfield +Added beginings of new OverlayNode, for managing a render to texture which is then used to overaly other parts of the scene such as terrain. - * Added beginings of full dome correction support, starting with 6 - slave camera - configuration. +Fri, 26 Aug 2005 13:26:02 +0000 +Checked in by : Robert Osfield +Added --num-components option. -2007-02-20 09:48 robert +Fri, 26 Aug 2005 08:48:54 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, fixed warnings. - * Added missing \ to end osgGA entry +Thu, 25 Aug 2005 19:23:58 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, added istream support to JPEG plugin. -2007-02-20 09:48 robert +Thu, 25 Aug 2005 18:18:27 +0000 +Checked in by : Don BURNS +made removeExpiredSubgraphs virtual. - * Added osgViewer and osgShadow to the wrapper build directories +Thu, 25 Aug 2005 17:53:01 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, warning fixes for g++ 4.0 under Fedora Core 4. -2007-02-19 20:57 robert +Thu, 25 Aug 2005 14:37:21 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, Support for reading TIF images from stream, and support from reading and writing RGB image to/from stream. - * Added g/setUpdateVistor method +Thu, 25 Aug 2005 14:12:08 +0000 +Checked in by : Robert Osfield +Added support for rapid movement of the emitter, with particle now seeding between the position of the emitter in the previous frame and the new position in the new frame, the number of particles added also scales up to compensate for this movement. -2007-02-19 16:59 robert +Wed, 24 Aug 2005 19:21:12 +0000 +Checked in by : Robert Osfield +Removed old commented out code. - * Added command line arguments descriptions +Wed, 24 Aug 2005 19:20:36 +0000 +Checked in by : Robert Osfield +From Domenico Mangieri, added constructor. -2007-02-19 16:45 robert +Wed, 24 Aug 2005 11:53:13 +0000 +Checked in by : Robert Osfield +From Gordon Tomlinson: " This fixes some crashing issues I was having with certain FLT files that only had partial colour palettesWhich are typically found in older 14.x files and file converted through Polytrans or Deep exploration etc. - * Added -1, -2 and -3 model creation options to osgshadow example. +The code that grabs the color entries in ConvertFromFLT::visitColorPalette was assuming that there were full +palettes always coming in and stepping was out of bounds in certain cases (not all) and thus crashing with +access violations etc, -2007-02-19 15:42 robert +Although the normal from Creator is to have 1024 or 512 entries , this is not a really requirement of the format, just the way Creator creates its default palettes etc. - * Updated wrappers +Code changed to look at the number of entries and use just those and fills in any missing entries with a default white colour" -2007-02-19 15:26 robert - * Added support for ShadowTexture and ShadowMap to osgshadow - example -2007-02-19 14:21 robert +Wed, 24 Aug 2005 10:48:24 +0000 +Checked in by : Robert Osfield +From Farshid Lashari, added support for reading from std::istream's to the BMP, GIF, PNG and TGA image plugins - * Added option to use osgShadow::ShadowMap technique +Mon, 22 Aug 2005 15:13:04 +0000 +Checked in by : Robert Osfield +From Geoff Michel, added normal definition for tesselation -2007-02-19 14:20 robert +Mon, 22 Aug 2005 14:13:28 +0000 +Checked in by : Robert Osfield +From Carlo Camporesi, fixed .ive handling of character height and aspect ratio. - * Implemented basic ShadowMap technique +Mon, 22 Aug 2005 14:07:47 +0000 +Checked in by : Robert Osfield +From Domenico Mangieri:"I've added a Plane constructor which accepts a normal and a point. +I also removed calculateUpperLowerBBCorners() from the Plane(const +Vec3& v1, const Vec3& v2, const Vec3& v3) since the constructor is +using the function set(const Vec3& v1, const Vec3& v2, const Vec3& v3) +which already computes the upper and lower bounding box." -2007-02-19 12:13 robert - * Moved CameraCullCallback into ShadowTechnique scope to make it - more resusable between various Techniques -2007-02-18 15:24 robert +Mon, 22 Aug 2005 13:58:23 +0000 +Checked in by : Robert Osfield +From Domenico Mangieri, addded some missing const qualifiers in osgUtil::SceneView. - * Wired up the texgen to complete the first iteration of - ShadowTexture effect +Mon, 22 Aug 2005 13:54:43 +0000 +Checked in by : Robert Osfield +From Fabio Mierlo,"I add a new option in the HDR Reader. -2007-02-18 14:21 robert +The RAW option store the RGBE values into a Image, to use +this option you need to decode the RGBE value in the frag- +ment shader. Follow the cube map glsl decoder: - * From Andre Garneau: - * Fix for the aspect ratio not being properly set when screens - have - different aspect ratios. - * Minor fix for makeCurrentImplementation being called directly - instead of - makeCurrent() causing the owning thread pointer not being tracked - * Fix for osglauncher so that it sets its update text regions to - DYNAMIC to - prevent multi-threading issues. +vec4 textureCubeRGBE( uniform samplerCube sampler, vec3 coords ) +{ + ivec4 rgbe = textureCube( sampler, coords ) * 255. + 0.5; + float e = rgbe.a - ( 128 + 8 ); + return vec4( rgbe.rgb * exp2( e ), 1.0 ); +} -2007-02-17 17:16 robert +This option is usefull for who have a outdate hardware like +FX cards and want to do cool things. - * Added basic set up of the RTT camera. +Finally this patch is need by a new HDR Rendering example +that I will put on the Wiki." -2007-02-17 14:37 robert - * From Paul Martz, "Add GL_TEXTURE_RECTANGLE to list of acceptable - texture modes" -2007-02-16 17:45 robert +Mon, 22 Aug 2005 13:45:15 +0000 +Checked in by : Robert Osfield +From Joseph Winston, "Corrected displayed comment about the text size to match the actual text size." - * Fixed genwrapper so that it handles .svn directories, updated - wrappers +Mon, 22 Aug 2005 13:03:23 +0000 +Checked in by : Robert Osfield +Tweaked flight manipulator pitch sensitivity. -2007-02-16 17:35 robert +Sun, 21 Aug 2005 15:32:38 +0000 +Checked in by : Robert Osfield +Added OSG_EXPORT to GrephicsThread and fixed typo in osg.dsp. - * Updated wrappers +Sat, 20 Aug 2005 08:59:03 +0000 +Checked in by : Robert Osfield +Further work on GraphicsContext/GraphicsThread -2007-02-16 17:34 robert +Sat, 20 Aug 2005 08:20:26 +0000 +Checked in by : Robert Osfield +From Joseph Winston, removed #include - * Added new osg::ComputeBoundsVisitor +Thu, 18 Aug 2005 20:35:19 +0000 +Checked in by : Robert Osfield +Added GraphicsThread class -2007-02-16 16:37 robert +Thu, 18 Aug 2005 20:33:38 +0000 +Checked in by : Robert Osfield +Added GraphicsThread to project file - * Added pushViewport/popViewport to CullVisitor::apply(Camera&) +Thu, 18 Aug 2005 20:17:51 +0000 +Checked in by : Robert Osfield +Various updates to support the new GraphicsThread class. -2007-02-16 15:29 robert +Thu, 18 Aug 2005 09:36:40 +0000 +Checked in by : Robert Osfield +Added beginings of GraphicsThread class - * Updated wrappers +Thu, 18 Aug 2005 08:37:01 +0000 +Checked in by : Robert Osfield +Implemented more SceneView operations in main as a move to try and replace SceneView usage in this example. -2007-02-16 15:17 robert +Wed, 17 Aug 2005 16:13:06 +0000 +Checked in by : Robert Osfield +Replaced osgUtil::SceneView usage by osg::CameraNode - * From Roland Smeenk, "ClipNode contains a method getClipPlaneList - that should actually be called setClipPlaneList." +Wed, 17 Aug 2005 10:12:49 +0000 +Checked in by : Robert Osfield +Merged RenderToTextureStage functionality into RenderStage -2007-02-16 15:14 robert +Wed, 17 Aug 2005 08:50:17 +0000 +Checked in by : Robert Osfield +Fix compile under x64_32. - * Fixed typo +Wed, 17 Aug 2005 07:27:51 +0000 +Checked in by : Robert Osfield +Disabled assembly code for x64_64 paths. -2007-02-16 13:33 robert +Tue, 16 Aug 2005 13:29:07 +0000 +Checked in by : Robert Osfield +Added realize() and isRealized() methods to osg::GraphicsContext.Added osgcamera example that uses osg::GraphicsContext to create the required +window for rendering too, will eventually use osg::CameraNode to replace usage +of osgUtil::SceneView. - * From Stephan Huber, "I added a bool to GraphicsContext::Traits to - indicate wether to use the - multithreaded-opengl-engine on os x or not. I set its default to - false, - perhaps other os x users can test this setting with their - data/apps, to - see if we can enable it by default. - - I changed also the borderless-window-type, so expos?works - correctly." -2007-02-16 13:17 robert - * Removed debugging readImageFile, and done further work on RTT - setup. +Mon, 15 Aug 2005 13:54:25 +0000 +Checked in by : Robert Osfield +Added osgshaderterrain example. -2007-02-16 10:20 robert +Tue, 9 Aug 2005 14:13:24 +0000 +Checked in by : Robert Osfield +Added base texture support. - * Fleshed out a bit more of the ShadowTexture implementation +Tue, 9 Aug 2005 10:48:50 +0000 +Checked in by : Robert Osfield +Added getStartTick() acess method -2007-02-16 10:19 robert +Tue, 9 Aug 2005 10:48:26 +0000 +Checked in by : Robert Osfield +Added getDisplayList access method - * Added osgShadow::ShadowTexture set up +Tue, 9 Aug 2005 10:47:21 +0000 +Checked in by : Robert Osfield +Fixed indenting and typo -2007-02-16 06:39 robert +Tue, 9 Aug 2005 09:11:15 +0000 +Checked in by : Robert Osfield +Added GLSL shader pathway into osgforest. - * Added enabling of the stencil buffer when setting up ShadowVolume - path +Sat, 6 Aug 2005 19:19:15 +0000 +Checked in by : Robert Osfield +Added setting up of Producer::VisualChooser. -2007-02-16 06:11 robert +Sat, 6 Aug 2005 19:18:53 +0000 +Checked in by : Robert Osfield +Change the frame reference time so that it uses the same time as the KeyboardMouseCallback. - * From Eric Wing, updates to XCode projects and introduction of two - SDL OSX files to the osgsimpleviewerSDL example +Sat, 6 Aug 2005 19:16:53 +0000 +Checked in by : Robert Osfield +Set the double buffer off when setting up pbuffers. -2007-02-16 05:46 robert +Sat, 6 Aug 2005 04:33:56 +0000 +Checked in by : Robert Osfield +Added blend shadow fragment shader - * Fixed typo that was breaking the build +Sat, 30 Jul 2005 18:44:18 +0000 +Checked in by : Robert Osfield +Added setStateSet(0) to destructors to force the problem clean up of attached StateSets. -2007-02-15 22:28 robert +Wed, 27 Jul 2005 13:38:15 +0000 +Checked in by : Robert Osfield +From Pavel Moloshtan, setting of the cull traversal mask which visiting camera subgraphs. (with small tweak from Robert Osfield to remove compile warnings.) - * Added support for using the new osgShadow plugin as a psuedo - loader such that: - - osgviewer cow.osg.shadow - - Or to ShadowVolume rechnique specifically: - - osgviewer cow.osg.sv.shadow +Wed, 27 Jul 2005 11:27:44 +0000 +Checked in by : Robert Osfield +Further work on trying to get glGenerateMipMapEXT working in conjunction with frame buffer objects. Still don't work under Linux yet through :-| -2007-02-15 17:31 robert +Wed, 27 Jul 2005 09:37:26 +0000 +Checked in by : Robert Osfield +From Marco Jez, added setEventHandled() and getEventHandled() to osgGA::EventVisitor. - * Added .osg support for osgShadow NodeKit +Tue, 26 Jul 2005 21:07:31 +0000 +Checked in by : Robert Osfield +From Jeremy Bell,"My patch is a slight refactoring of the mac specific code in +Registry.cpp and FileUtils.cpp, specifically around the library and +resource file path initilialization methods. This patch cleans up a +lot of the mac specific code by moving repeated code into separate +local functions in FileUtils.cpp that are only compiled on mac builds. +It also adds one function to the API, +appendPlatformSpecificResourceFilePaths in FileUtils. This function +will mirror the already existing +appendPlatformSpecificLibraryFilePaths except for resource file paths. +Currently this function is empty except when built on the mac, in +which case it will add the application bundle's internal Resources +folder and the bundle's parent folder. Previously this code was +implemented as a separate mac specific #ifdef block in Registry.cpp +around the initDataFilePathList method. However, it now is implemented +in appendPlatformSpecificResourceFilePaths in FileUtils.cpp and the +initDataFilePathList method is now the same on all platforms. This +patch should behave the same as before on non-mac platforms. -2007-02-15 17:25 robert +This patch already includes the fix that Eric mentioned earlier. This +patch is based off of the 0.99 release code. I have tested this patch +using the following testing scheme: - * Added support for using the scenes light source setting to set up - the - ShadowVolume's effect light parameters +Make a proper bundled application. +While Run from the Finder: + Test that it finds plugins in its internal plugins path. + Test that it finds resources in its internal resources path. + Test that it finds resources in the bundle's parent directory + Test that it finds plugins in the user's Application Support Directory + Test that it finds plugins in the system's Application Support Directory + Test that it finds plugins in the Network Application Support Directory + Check the plugin and resource path lists after they have been +initialized to see if they are in the correct order -2007-02-15 15:06 robert +While Run from the command line (both from it's parent directory and +from inside the /Contents/MacOS directory) and repeat the above tests. +Check that it also finds plugins and resources within the paths +defined by various environment variables. - * Addd an #ifdef _WIN32 to force SingleThreaded usage under Windows - when no - threading model is specified. +Now, Make an application that is NOT bundled/command line only + Test that it does NOT try to look in an internal bundle +plugin/resource directory for plugins or resources. + Test that it finds plugins/resources in the paths defined by the +environment variables. +" -2007-02-15 15:03 robert - * From Mike Wittman, "The template-argument-list errors look to be - due to a lack of spaces in the typeof macro. Here's a new - Reflection header which should fix those problems. For - consistency I think that's the best solution." -2007-02-15 14:53 robert +Tue, 26 Jul 2005 20:31:43 +0000 +Checked in by : Robert Osfield +From Eric Wing, fix to be able to handle "spacial" characters under OSX. - * Reorganised the text comments so that they are shorter length, - and hopefully will - avoid VS2003's silly text string limits when compiling - osgIntrospection wrappers +Tue, 26 Jul 2005 16:05:42 +0000 +Checked in by : Robert Osfield +From Brede Johansen, fix to the isImageTranslucent() method. -2007-02-15 14:47 robert +Tue, 26 Jul 2005 15:49:19 +0000 +Checked in by : Robert Osfield +From Fabio Mierlo, removed cast from float to RGB8, to allow native float imagery to be correctly importated from HDR files.From Robert Osfield, tweaked the above to allow the original casting to RGB8 as an +options switched on by a osgDB::ReaderWriter::Options string with a value of "RGB8". - * Twaaked comments -2007-02-15 14:04 robert - * From André Garneau, Win32 build fixes +Mon, 25 Jul 2005 16:12:24 +0000 +Checked in by : Robert Osfield +Perliminary support for glGenerateMinMapEXT. -2007-02-15 12:24 robert +Mon, 25 Jul 2005 14:28:22 +0000 +Checked in by : Robert Osfield +Added handling of automatic setting up of the contextID. - * Added context sharing support. +Mon, 25 Jul 2005 13:05:57 +0000 +Checked in by : Robert Osfield +Added support for TextureCubeMap into osgUtil::RenderToTextureStage. -2007-02-15 12:11 robert +Sun, 24 Jul 2005 20:31:21 +0000 +Checked in by : Robert Osfield +Added post draw callback to osg::CameraNode/osgUtil::RenderToTextureStage.Added support for Texture1D, 2D, 3D and TextureRectangle into osgUtil::RenderToTextureStage. - * Fixed handling of warp pointer for when its called at startup and - the - event queue isn't yet initialized the window range. -2007-02-15 10:25 robert - * Removed inappropriate Stats:: prefix +Sun, 24 Jul 2005 11:06:39 +0000 +Checked in by : Robert Osfield +Port Impostor across to use the new osg::CameraNode. -2007-02-15 09:31 robert +Sat, 23 Jul 2005 19:08:02 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * Fixed warnings +Sat, 23 Jul 2005 19:05:42 +0000 +Checked in by : Robert Osfield +Added osg::CameraNode to ImpostorSprite in prep for moving across to using camera node in pre rendering of impostors. -2007-02-15 09:17 robert +Sat, 23 Jul 2005 15:21:18 +0000 +Checked in by : Robert Osfield +Attached ImpostorSpriteManager to the CullVisitor. - * Added extra spaces between <> template declarations +Fri, 22 Jul 2005 16:25:38 +0000 +Checked in by : Robert Osfield +Renabled impostor support using old style RenderToTextureStage setup. -2007-02-15 08:29 robert +Fri, 22 Jul 2005 09:31:19 +0000 +Checked in by : Robert Osfield +Added glSissor suppor via new osg::Scissor class. Added .osg support for osg::Scissor. Added .ive support for osg::Viewport and osg::Scissor. - * Updated wrappers +Fri, 22 Jul 2005 08:21:17 +0000 +Checked in by : Robert Osfield +Added missing typedef -2007-02-15 08:29 robert +Thu, 21 Jul 2005 20:45:16 +0000 +Checked in by : Robert Osfield +Fixed compile error. - * Removed setFrameStamp +Thu, 21 Jul 2005 19:37:44 +0000 +Checked in by : Robert Osfield +Added GraphicsContextImplementation -2007-02-15 01:45 robert +Thu, 21 Jul 2005 19:27:19 +0000 +Checked in by : Robert Osfield +Implemented the beginings of the osgProducer::GraphicsContexImplementation.Added options into osgprerender for controlling how to do the pre rendering i.e. +--fbo, --pbuffer, --fb --window, and also added the option for controlling the +window size with --width and --height. - * Added checks into Viewer set up of Camera stats so that stats are - reused if already present. - - Added use of ref_ptr into StatsHandler's callbacks -2007-02-15 01:23 robert - * Improved the update of the shadow volume. +Thu, 21 Jul 2005 08:43:24 +0000 +Checked in by : Robert Osfield +Checked in graphics context. -2007-02-15 00:53 robert +Wed, 20 Jul 2005 19:42:59 +0000 +Checked in by : Robert Osfield +From Marco Jez (with tweaks by Robert Osfield) : clean up of inheritance from std::vector<> classes - * Removed extrandous Stats:: prefix +Wed, 20 Jul 2005 15:55:07 +0000 +Checked in by : Robert Osfield +Added new osg::GraphicsContext base class -2007-02-14 20:44 robert +Wed, 20 Jul 2005 14:31:54 +0000 +Checked in by : Robert Osfield +Removed osgIntrospection wrappers - * Added support for osg::State::DynamicObjectCount into the RTT - codes +Wed, 20 Jul 2005 08:03:37 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-02-14 20:14 robert +Tue, 19 Jul 2005 20:40:29 +0000 +Checked in by : Robert Osfield +Added wrapper projects and updates of autogenerated wrappers. - * Added support for sharing context to GraphicsWindowX11 +Tue, 19 Jul 2005 20:01:00 +0000 +Checked in by : Robert Osfield +Added support for multiple colour buffers into osg::CameraNode/osgUtil::CullVisitor -2007-02-14 17:28 robert +Tue, 19 Jul 2005 16:30:55 +0000 +Checked in by : Robert Osfield +Ported all the render to texture examples across to using the new osg::CameraNode. Added support for texture cube maps in FBO + CameraNode. - * Added getState()->setGraphicsContext(this); to the various - GrpahicsWindow implementations +Fri, 15 Jul 2005 21:47:11 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-02-14 16:29 robert +Fri, 15 Jul 2005 19:24:46 +0000 +Checked in by : Robert Osfield +Added return 1. - * Renenabled the toggling on the CullPerCameraDrawPerContext - threading model in the thread event handler. +Fri, 15 Jul 2005 16:26:45 +0000 +Checked in by : Robert Osfield +Added .osg suppot for new alignment modes -2007-02-14 16:24 robert +Fri, 15 Jul 2005 16:22:53 +0000 +Checked in by : Robert Osfield +From Yuri Vilmanis, improved multi-line justifaction support and new alignment modes - * Added use of Mutex into osg::Stats to better handle - multi-threaded usage +Fri, 15 Jul 2005 14:41:19 +0000 +Checked in by : Robert Osfield +Renamed Byte2,3,4 and Short2,3,4 and UByte4 to use the Vec*b, Vec*s and Vec4ub form -2007-02-14 16:16 robert +Fri, 15 Jul 2005 10:48:23 +0000 +Checked in by : Robert Osfield +From Brede Johansen, fixed range check - * Changed the initialized osg Drager:::PointerInfo::hitIter to - prevent compile problems under Windows +Fri, 15 Jul 2005 09:56:36 +0000 +Checked in by : Robert Osfield +Fixed bug in ProxyNode write out where non existant children were written out. -2007-02-14 15:25 robert +Fri, 15 Jul 2005 08:32:36 +0000 +Checked in by : Robert Osfield +Added reference frame to TexGenNode - * From Michael Platings, "I was getting a 0 byte memory leak - reported when loading 3ds files, so - I've changed line 196 from: - - viewport->layout.viewL=(Lib3dsView*)calloc(sizeof(Lib3dsView),views); - - to: - - viewport->layout.viewL= views ? - (Lib3dsView*)calloc(sizeof(Lib3dsView),views) : 0;" +Fri, 15 Jul 2005 08:31:02 +0000 +Checked in by : Robert Osfield +Cleaned up osghud and osgprerender examples -2007-02-14 14:58 robert +Thu, 14 Jul 2005 21:04:40 +0000 +Checked in by : Robert Osfield +Updates - * Changed the report of lack of WGL_SWAP_METHOD_ARB so that it is - INFO rather than WARN. +Thu, 14 Jul 2005 20:32:25 +0000 +Checked in by : Robert Osfield +Fix PagedLOD::addChild(,,) so that they allocate the correct size of range data. -2007-02-14 14:53 robert +Thu, 14 Jul 2005 13:21:11 +0000 +Checked in by : Robert Osfield +Added back in the call to drawPreRenderStages() as this shouldn't interfere with the stereo code in SceneView as RenderStage should automatically only allow themselves to be draw on per frame. - * From Stephan Huber, "attached you'll find an update for the - XCode-project. - - I added the osgShadow as a framework and osgManipulator as a - framework, - (and the corresponding examples) I removed (hopefully) all - references to - osg-/Producer where necessary, and some minor stuff." +Thu, 14 Jul 2005 10:34:46 +0000 +Checked in by : Robert Osfield +Removed the set culling active flag setting -2007-02-14 14:36 robert +Thu, 14 Jul 2005 10:27:00 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, addiding of Program::validateProgram and osg::isNotifyEnabled() method - * Added OSG_RUN_FRAME_COUNT env var which enables a limited run of - specified - frame numbers when Viewer::run is called. +Thu, 14 Jul 2005 10:18:05 +0000 +Checked in by : Robert Osfield +Changed osgpagedlod example to convert LOD nodes into PagedLOD ones. -2007-02-14 13:18 robert +Thu, 14 Jul 2005 10:17:20 +0000 +Checked in by : Robert Osfield +Added missing copy _referenceFrame in copy constructor - * Introduced new osg::Object::DataVariance type of UNSPECIFIED, and - changed the deafult - values of DataVariance to UNSPECIFIED to all types. +Sun, 10 Jul 2005 14:50:52 +0000 +Checked in by : Robert Osfield +Ported osgshadow across to using new osg::CameraNode -2007-02-14 12:42 robert +Sat, 9 Jul 2005 14:35:35 +0000 +Checked in by : Robert Osfield +Ported osgdistortion example across to using osg::CameraNode. - * Set the DataVariance of updating text to DYNAMIC +Sat, 9 Jul 2005 09:56:49 +0000 +Checked in by : Robert Osfield +From Paul Martz, fix to memory leak of StateSet's -2007-02-14 12:40 robert +Fri, 8 Jul 2005 19:45:18 +0000 +Checked in by : Robert Osfield +From Jason Beverage, fix to setting of grey band. - * From Jean-Sebastien Guay, fixed path. +Fri, 8 Jul 2005 19:33:38 +0000 +Checked in by : Robert Osfield +From Tom Jolly, added setPulse -2007-02-14 12:00 robert +Fri, 8 Jul 2005 14:46:13 +0000 +Checked in by : Robert Osfield +From Marco Jez, added missing method implementations to CameraNode and added check to ensure FBO extension is support to RenderToTextureStage. - * Removed debugging run method. +Thu, 7 Jul 2005 14:14:38 +0000 +Checked in by : Robert Osfield +Tweaks for better OSX paging support, 6 and 9 keys for control drive manipulator up and down looking, and removed redundent API from osg::Geometry. -2007-02-14 11:24 robert +Tue, 5 Jul 2005 15:57:53 +0000 +Checked in by : Robert Osfield +From Pavel Moloshtan, Byte2,3,4 and Short2,3,4 classes and their Array counterparts. With a few build tweaks and bug fixes by Robert Osfield. - * Added computeDataVariance method into osg::Object and - implementations in Drawable and StateSet, - and calling of osgUtil::StaticObjectDetectionVisitor in - osgViewer::Viewer +Sun, 3 Jul 2005 19:58:21 +0000 +Checked in by : Robert Osfield +Changed notice to be an info message -2007-02-14 11:21 robert +Sat, 2 Jul 2005 08:11:55 +0000 +Checked in by : Robert Osfield +Added support for equalizing the normals along tile boundaries. - * From Mike Wittman, added spaces into < > macros +Fri, 1 Jul 2005 09:10:37 +0000 +Checked in by : Robert Osfield +Added support for point sprites -2007-02-13 22:39 robert +Thu, 30 Jun 2005 09:08:31 +0000 +Checked in by : Robert Osfield +Added tri sripping and support for outputing files. - * Fixed warning +Thu, 30 Jun 2005 07:59:32 +0000 +Checked in by : Robert Osfield +Romoved redudent gdal link -2007-02-13 22:24 robert +Wed, 29 Jun 2005 15:52:01 +0000 +Checked in by : Robert Osfield +Added smoothing and tri strip pass. - * Fixed warnings +Wed, 29 Jun 2005 10:23:34 +0000 +Checked in by : Robert Osfield +Added support nesting the parameter specification within a [x,y,z] block and float parameters -2007-02-13 22:22 robert +Wed, 29 Jun 2005 10:21:49 +0000 +Checked in by : Robert Osfield +From Colin McDonald, build fix for Solaris - * Fixed warning +Tue, 28 Jun 2005 17:53:48 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, icon file. -2007-02-13 22:16 robert +Tue, 28 Jun 2005 09:34:20 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, "some polish for 1.0: centralizes the icon resource definition and adjusts all app and example projects to use that single defn. The various existing resources.rc files should be deleted." - * Fixed warnings. +Mon, 27 Jun 2005 14:28:29 +0000 +Checked in by : Robert Osfield +Added / and * controls of the distance attentuations of the point size extension -2007-02-13 20:32 robert +Mon, 27 Jun 2005 08:54:43 +0000 +Checked in by : Robert Osfield +Added missing dirtyBound(). - * Added -losgText to example that used osgViewer but didn't - previously include -losgText +Fri, 24 Jun 2005 20:19:12 +0000 +Checked in by : Robert Osfield +From David Spilling, fixed the incircle test so it handles colinear points. -2007-02-13 17:39 robert +Fri, 24 Jun 2005 19:50:14 +0000 +Checked in by : Robert Osfield +From Colin McDonald, "On fixing the pointer access I discovered that reading osga archives containing ive files went into a cpu loop. This turned out to be a problem with proxy_streambuf on Solaris. Public methods in the Solaris streambuf standard library implementation rely on the gptr() being set, which proxy_streambuf was not doing. So I have modified proxy_streambuf to set the input sequence pointers, and have also aligned it more with the standard library streambuf implementation where all input is through underflow(), not uflow() which merely calls underflow() and advances the pointer."From Robert Osfield, change from using pointer cast and assignment to using + a templated _write and _read method to avoid pointer aliasing to 2/4/8 + byte boundaries that some computer system may produce. These changes + where inspried by Colin McDonalds change to using memcpy, these + changes weren't merged as memcpy is not as clear in naming as _read, + _write and memcpy will incurr a function call just for copy a + uint. - * Changed the DeleteHandler so by default it doesn't cache objects -2007-02-13 16:03 robert - * Added OSG_THREADING environmental variable to - osgViewer::Viewer::suggestBestThreadingModel +Fri, 24 Jun 2005 15:39:29 +0000 +Checked in by : Robert Osfield +From Colin McDonald: "Some makedefs fixes for Solaris: -2007-02-13 15:57 robert + For multithreaded applications the -mt option must be specified on both + the compile and link steps, to ensure correct behaviour. According to + the Sun compiler documentation it sets REENTRANT flags in the system + header files, and links the -lthread library in the correct order. - * Reduced the RTT texture size to 256x256 to make setup quicker + When compiling shared libraries the -KPIC option should be specified. + Although Solaris will handle shared libraries without + position-independent code there is a performance penalty. The linker + reference manual says: 'If a shared object is built from code that is + not position-independent, the text segment will usually require a large + number of relocations to be performed at runtime. Although the runtime + linker is equipped to handle this, the system overhead this creates can + cause serious performance degradation'." -2007-02-13 15:24 robert - * From John Shue, "Modified OpenSceneGraph/Make/makedefs to add - -pipe gcc command line - option to FreeBSD build." -2007-02-13 14:42 robert +Fri, 24 Jun 2005 15:34:46 +0000 +Checked in by : Robert Osfield +From Martijn Kragtwijk: "I ran into the same problems as Karl Martensson (http://openscenegraph.org/archiver/osg-users/2005-June/0575.html); after switching children of a Switch node off and on again, they become unpickable. This issue occurs first in 0.9.9, with 0.9.8 everything is fine. My fix involves calling dirtyBound() every time the on/off-values of the Switch are changed" - * Added support for ColorMask to .ive plugin +Fri, 24 Jun 2005 15:30:11 +0000 +Checked in by : Robert Osfield +From David Guthrie, "The call NSLookupAndBindSymbol was changed to NSLookupSymbolInModule. The former call would lookup the named symbol NOT in the current dynamic library, but in the entire running program while the call NSLookupSymbolInModule, takes the handle to the library the symbol should be found in. This means the current code will fail if one loads multiple bundles at runtime and attempts to load the same named symbol from each one." -2007-02-13 14:19 robert +Fri, 24 Jun 2005 15:15:55 +0000 +Checked in by : Robert Osfield +Moved the working createPagedLODScene() implemention into createScene() method replacing the original flaky code. - * From Brede Johansen, - "Geometry.cpp - Make sure number of normals match number of vertices when lit or - vertex-normal pairs are separated when geometries are merged by - the - optimizer. - - Ancillary.cpp - Improved support for multitexture effect field and use texture - environment from .attr file. - - PaletteRecords.cpp - Use search path when looking for shader files. - - PrimaryRecords.cpp - Added preset uniforms "TextureUnit0", "TextureUnit1", - "TextureUnit2" - and "TextureUnit3" for GLSL shaders." +Wed, 22 Jun 2005 11:26:56 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, fixes to shaders to correct modification of varying types -2007-02-13 13:58 robert +Wed, 22 Jun 2005 11:02:37 +0000 +Checked in by : Robert Osfield +Disabled NPO2T on GeforceFX. - * From Eric Wing, "Here are some updates for osgsimpleviewerCocoa. - - New features and enhancements: - - Shared OpenGL contexts - - Multithreaded OpenGL Engine support - - Localizable string support - - Offscreen rendering (to framebuffer object) for: - - Copy/Paste (to image) support - - Drag-and-drop (as source image) support - - Print to Printer/PDF - - Dock minimization picture - - More robust initializer handling - - Fix to better handle hardware surfaces in - NSScrollViews/NSSplitViews - - Use of respondsToSelector and instancesRespondToSelector to - demonstrate runtime feature checking to provide access to newer - features while still compiling on and supporting legacy versions - - The new file "Localizable.strings" needs to be placed inside the - English.lproj directory." +Wed, 22 Jun 2005 11:01:22 +0000 +Checked in by : Robert Osfield +Added experimental OpenGL shader path for positioning of trees (doens't work yet though..) -2007-02-13 13:47 robert +Tue, 21 Jun 2005 16:10:04 +0000 +Checked in by : Robert Osfield +Added option for terrain texturing. - * Added support for osg::Stencil into .ive +Tue, 21 Jun 2005 15:24:23 +0000 +Checked in by : Robert Osfield +Added matrix and simple vertex shader paths. -2007-02-13 12:17 robert +Tue, 21 Jun 2005 15:13:42 +0000 +Checked in by : Robert Osfield +Combined uniforms. - * From Ulrich Hertlein, added support for osg::BlendColor to .ive - format. +Tue, 21 Jun 2005 12:12:50 +0000 +Checked in by : Robert Osfield +Tweaked the vertex program. -2007-02-13 12:11 robert +Mon, 20 Jun 2005 21:10:32 +0000 +Checked in by : Robert Osfield +Added very simply osgparametric example which uses an OpenGL shader program to create an animated parametric surface. - * Added support for osg::BlendColor to .osg plugin +Mon, 20 Jun 2005 10:38:39 +0000 +Checked in by : Robert Osfield +From Tom Jolly, added method for getting the number of frames. -2007-02-13 11:32 robert +Mon, 20 Jun 2005 10:36:06 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, " - adjustments to improve namespacing on VS - clarify compilation status message" - * Added setDataVariance(DYNAMIC) to the scores text entires to - prevent the - DrawThreadPerContext for crashing due to double buffering of - dynamic data. +Mon, 20 Jun 2005 10:28:52 +0000 +Checked in by : Robert Osfield +From Andreas Jochens (submitted by Loic Dachary), addintion of forward declare of class Progam; to fix compile problem under gcc4.0/amd64/debian unstable. -2007-02-13 09:38 robert +Mon, 20 Jun 2005 10:16:30 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, added OSG_EXPORT to FrameBufferObject files. - * Changed the BlendFunction StateSet to DYNAMIC +Thu, 16 Jun 2005 14:01:38 +0000 +Checked in by : Robert Osfield +Further FBO support work. -2007-02-13 09:33 robert +Thu, 16 Jun 2005 13:53:52 +0000 +Checked in by : Robert Osfield +From Pavel Moloshtan, added support of Drawable::Extensions::glDeleteQueries() - * From Mike Wittman, support for reference parameters +Thu, 16 Jun 2005 11:45:50 +0000 +Checked in by : Robert Osfield +Added copyright notices. -2007-02-13 09:27 robert +Thu, 16 Jun 2005 11:42:59 +0000 +Checked in by : Robert Osfield +Moved FBO support from osgfbo example into core osg. - * Added setDataVariance(DYNAMIC) to _inputText to prevent problems - when running in DrawThreadPerContext threading model. +Wed, 15 Jun 2005 20:06:10 +0000 +Checked in by : Robert Osfield +Futher work on FBO support -2007-02-12 18:02 robert +Wed, 15 Jun 2005 20:05:47 +0000 +Checked in by : Robert Osfield +Added automatic creation of texture when size is set but not osg::Image is assigned. This is useful for FBO usage. - * Updated wrappers +Wed, 15 Jun 2005 11:49:25 +0000 +Checked in by : Robert Osfield +From David Guthrie, " In the constructor in removes any options beginning with "-psn" from argv on OSX by calling the "remove" method. When a .app run is created in OSX, which is required to get a fully functioning UI application, the OSX finder passes a -psn_XXXX option to the application where the XXXX refers to a unique process number. An example option would be "- psn_0_37617665". The argument parser was choking on this option in all the osg example applications." -2007-02-12 17:59 robert +Wed, 15 Jun 2005 10:59:10 +0000 +Checked in by : Robert Osfield +Added osgmultiplecameras example and support for pre/post multiplaction. - * From Mike Wittman, "Here is the next in the series of changes I'm - making to OSG introspection to support the attributes needed for - C# bindings. This change adds virtual/pure virtual attributes to - MethodInfo and an explicit attribute to ConstructorInfo using the - implementation strategy that David Callu recommended a few months - back (thanks David!). This change updates both genwrapper and - osgIntrospection, and assumes the osgIntrospection reference - support that's still pending in your submission queue." +Tue, 14 Jun 2005 20:51:35 +0000 +Checked in by : Robert Osfield +Work on the RenderToTexture usage of the new osg::CameraNode. Both osghud and osgprerender now ported across to osg::CameraNode. -2007-02-12 17:14 robert +Tue, 14 Jun 2005 13:16:58 +0000 +Checked in by : Robert Osfield +Added osg::CameraNode. - * From Mike Wittman, "These changes add support for reflection of - reference and const reference type representations via - osgIntrospection::Type. This covers just the static type - information; the dynamic behavior via - Type::createInstance/Type::InvokeMethod should not be affected." +Tue, 14 Jun 2005 09:12:45 +0000 +Checked in by : Robert Osfield +Removed reference to non existant AVI plugin -2007-02-12 15:59 robert +Tue, 14 Jun 2005 08:48:48 +0000 +Checked in by : Robert Osfield +Fixed position of glBindBuffer. - * Updated wrappers +Mon, 13 Jun 2005 20:03:26 +0000 +Checked in by : Robert Osfield +Fixed with the reprojection so that it doesn't promote all source data to RGBA, but only does this for RGB data. -2007-02-12 13:51 robert +Mon, 13 Jun 2005 11:14:42 +0000 +Checked in by : Robert Osfield +From Ken Sewell, fixed for x86_64 build. - * Added automatic scaling and translation of help to make sure it - always - fits on screen +Thu, 9 Jun 2005 19:02:55 +0000 +Checked in by : Robert Osfield +From Marco Jez, added project files for osgfbo example. -2007-02-12 13:39 robert +Thu, 9 Jun 2005 11:53:23 +0000 +Checked in by : Robert Osfield +Fixed makefiles - * Added osgViewer::HelpHandler +Thu, 9 Jun 2005 11:08:37 +0000 +Checked in by : Robert Osfield +From Marco Jez, added example that uses FBO extension to do prerendering. -2007-02-11 22:01 robert +Thu, 9 Jun 2005 09:27:43 +0000 +Checked in by : Robert Osfield +Added \n to end of a couple shader source lines. - * Updated wrappers +Thu, 9 Jun 2005 08:29:22 +0000 +Checked in by : Robert Osfield +Added texture2D shader source -2007-02-11 21:24 robert +Wed, 8 Jun 2005 15:57:05 +0000 +Checked in by : Robert Osfield +Added experiment GLSL fragment shader to clip out dark areas of videos. - * Incresed the resolution of the trackball dragger geometry +Wed, 8 Jun 2005 13:20:09 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-02-11 21:12 robert +Wed, 8 Jun 2005 13:16:19 +0000 +Checked in by : Robert Osfield +Moved the set/getName() support from osg::Node etc into the osg::Obejct base class - * Changed osgManipulator::Dragger::handle(..) method to use a - nested PointerInfo - class to encapsulate the pixel coords, SceneView and picking - operations in prep for - making the code more general purpose, and less reliant on classes - like osgUtil::SceneView and osgUtil::IntersectVisitor. +Wed, 8 Jun 2005 10:39:43 +0000 +Checked in by : Robert Osfield +Added sizeof(std::string) test to osgunittests -2007-02-11 15:42 robert +Wed, 8 Jun 2005 10:36:56 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, added GLSL datatypes mat2 and mat3 to osg::Uniform, with .osg and .ive support - * Added osgText to dependency of osgmanipualator example. +Wed, 8 Jun 2005 08:33:59 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, "modified .rot pseudoloader plugin so rotation order actually matches the embedded documentation" -2007-02-11 15:41 robert +Mon, 6 Jun 2005 10:18:33 +0000 +Checked in by : Robert Osfield +From Mathia Walker: bug fix to LOD ranges in TXP plugin to avoid cracks:"I took a closer look at the conditional code in +SeamFinder::seamReplacement(). - * Fixed Producer lib entry +Because _info.minRange is a double and lod->getMinRange(0) is a float, +the difference will be calculated with double precision. If +_info.minRange is cast as a float it is exactly the same value as +lod->getMinRange(0) and the difference is exactly zero. -2007-02-11 12:23 robert +So if you change - * Updated wrappers -2007-02-11 12:22 robert + if((fabs(_info.minRange-lod->getMinRange(0))<0.001)&&(fabs(_info.lod0Range-lod->getMaxRange(0))<0.001)) - * Changed the osg::Shape related projectors so that they used - pointers rather - than references. +to -2007-02-11 10:33 robert - * From Vivek Rajan, new osgManipulator library, with a few minor - tweaks and rename for osgDragger to osgManipulator for build by - Robert Osfield. - Vivek's email to osg-submissions: - - "I'm happy to release the osgdragger nodekit to the OSG - community. I - implemented the nodekit for my company, Fugro-Jason Inc., and - they - have kindly agreed to open source it. - - The nodekit contains a few draggers but it should be easy to - build new - draggers on top of it. The design of the nodekit is based on a - SIGGRAPH 2002 course - "Design and Implementation of Direct - Manipulation in 3D". You can find the course notes at - http://www.pauliface.com/Sigg02/index.html. Reading pages 20 - 29 - of - the course notes should give you a fair understanding of how the - nodekit works. - - The source code also contains an example of how to use the - draggers." + if((fabs((float)_info.minRange-lod->getMinRange(0))<0.001)&&(fabs((float)_info.lod0Range-lod->getMaxRange(0))<0.001)) -2007-02-10 18:01 robert +it works a lot better." - * From Vivek Rajan, MatrixDecomposition implementaion, adapted by - Robert Osfield - to be part of osg::Matrixf and osg::Matrixd classes. -2007-02-09 21:31 robert - * Cleaned up osgshadow example so that it now relies upon osgShadow - for its - shadow implementation +Sun, 5 Jun 2005 18:41:23 +0000 +Checked in by : Robert Osfield +Changed VisualStudio 7.0 reference to 7.x -2007-02-09 16:31 robert +Sun, 5 Jun 2005 18:40:49 +0000 +Checked in by : Robert Osfield +From Adam Richard, fixed typos + explanation how to use project files. - * From Carlo Camporesi, "In attach there is a little bug fix to net - plugin. The modify allow the plugin to accept url with port - number in this way: - - http://"address ":"portnumber"/ - " +Tue, 31 May 2005 06:21:16 +0000 +Checked in by : Robert Osfield +From Tim Daust, "I fixed the getScale functions in matrixf and matrixd. It was returning the values of the diagonal of the matrix, which only returns the scale if there is not a rotation. I fixed this by returning the length of the vectors that form the basis. I also added a function to orthonormalize the rotation component of the matrix. I seem to always run into situations where non uniform (or even uniform) scale complicate my calculations, and I thought other members of the community could use this function as well." -2007-02-09 16:27 robert +Tue, 31 May 2005 05:48:27 +0000 +Checked in by : Robert Osfield +Small fixes to NEWS - * Updated wrappers +Tue, 31 May 2005 05:47:40 +0000 +Checked in by : Robert Osfield +Changed char* to const char* -2007-02-09 16:03 robert +Tue, 31 May 2005 05:46:41 +0000 +Checked in by : Robert Osfield +From Tom Jolly, fixes to the mapping of the billboard rotate mode. - * Moved the basic ShadowVolume code into osgShadow +Tue, 31 May 2005 05:37:13 +0000 +Checked in by : Robert Osfield +Added ability to toggle on/off the pre compile of OpenGL objects in the DatabasePager via the setDoPreCompile(bool) method or via the env var OSG_DO_PRE_COMPILE=ON or OFF. -2007-02-09 14:54 robert +Mon, 30 May 2005 16:15:11 +0000 +Checked in by : Robert Osfield +Added support for reading: OSG_MINIMUM_COMPILE_TIME_PER_FRAME - * From Yefei He, " I wrote a class derived from CopyOp that - preserves the multi-parent - structure of scene graphs. I only considered the case of - DEEP_COPY_NODES, - but it is sufficient for me. It is not the most elegant way -- I - used - a map to list all the already cloned nodes with multiple parents, - to be - looked up whenever such a node is revisited. The good part is, it - works." - - From Robert Osfield, fixed build problems under Linux 64 due to - use of int's to store Node* - in internal maps used in above custom CopyOp. Added ref_ptr<> - usage to main to - prevent memory leaks +and -2007-02-09 14:35 robert + OSG_MAXIMUM_OBJECTS_TO_COMPILE_PER_FRAME - * From Joakim Simmonsson, fixed inconsistent newlines +environmental variable during the initialization of the DatabasePager +to allow apps to be tweaked for best database pager behavior. -2007-02-09 14:21 robert - * From Paul Martz, "Make DelaunayTriangulator less verbose - It was - outputting a non-warning with notify level set to WARN; changed - it to INFO to make it less verbose." -2007-02-09 13:51 robert +Thu, 26 May 2005 14:38:08 +0000 +Checked in by : Robert Osfield +Reverted release number to 0 (development version). - * Changed GraphicsWindowX11 so that it creates two Display* - connextions to the Xserver, - one for the graphics thread, one for the main thread that - querries events +Thu, 26 May 2005 13:56:23 +0000 +Checked in by : Robert Osfield +From James French, fix for multiple definitionwhen compiling osg + plugins into monolithic dll. -2007-02-09 13:36 robert +Wed, 25 May 2005 20:02:25 +0000 +Checked in by : Robert Osfield +Updated Version numbers for release.UPdated wrappers. - * Added #if #else #endif blocks to Viewer::realize() and run() for - the purposes of testing -2007-02-09 12:08 robert - * Removed debug message +Wed, 25 May 2005 17:19:47 +0000 +Checked in by : Robert Osfield +From Blake Williams, fix for VS8.0 build -2007-02-08 22:36 robert +Wed, 25 May 2005 16:42:36 +0000 +Checked in by : Robert Osfield +Renamed ExplosionDebriEffect to ExplosionDebrisEffect - * From André Garneau, "Attached is a fix for the hang occuring on - Win32 when the thread model is changed. - - The issue was caused by the mutex in the - ViewerDoubleBufferRenderingOperation being released even though - they were not owned. This was causing the underlying critical - section object lock count values becoming negative; the next time - the lock was acquired it would block because of that." +Wed, 25 May 2005 15:35:51 +0000 +Checked in by : Robert Osfield +Updated change log.From Fredric Marmond, changed unsigned int to unsigned long to avoid compile errors under 64 bit compile. -2007-02-08 22:31 robert - * From Brian Keener, fixes for Cygwin filename handling -2007-02-08 20:30 robert +Wed, 25 May 2005 15:34:10 +0000 +Checked in by : Robert Osfield +Added file to osgkeyboardmouse invokation. - * From Charles Cole, "The program database filename was changed for - the osgviewer application such - as to not conflict with the program database file generated by - the core - osgViewer library. This change allows for both the application - and library - to be used in debugging mode within Visual Studio. This change - has been - tested with Visual Studio 2005 (VS8)." +Wed, 25 May 2005 11:45:02 +0000 +Checked in by : Robert Osfield +Updated doxgen docs. -2007-02-08 20:27 robert +Wed, 25 May 2005 09:50:11 +0000 +Checked in by : Robert Osfield +Changd unsigned int's to unsigned char* to fix gcc3.4 64 bit issues. - * Updated wrappers +Wed, 25 May 2005 09:48:10 +0000 +Checked in by : Robert Osfield +Updated NEWS -2007-02-08 19:34 robert +Tue, 24 May 2005 20:45:34 +0000 +Checked in by : Robert Osfield +Updated NEWS - * Further work on osgShadow::ShadowTechnique API +Tue, 24 May 2005 18:57:13 +0000 +Checked in by : Robert Osfield +Added pragma to remove warnings under VS.8.0 -2007-02-08 17:23 robert +Tue, 24 May 2005 15:34:23 +0000 +Checked in by : Robert Osfield +Updates to clean up wrapper generation, and to update wrappers - * Flesh out more of basic ShadowTechnique and ShadowedScene API. +Tue, 24 May 2005 15:23:23 +0000 +Checked in by : Robert Osfield +Did a dos2unix on all files -2007-02-08 15:47 robert +Tue, 24 May 2005 10:46:21 +0000 +Checked in by : Robert Osfield +Added check for an empty compile lists. - * Fixed the FlattenStaticTransform visitor so that it excludes - subgraphs that - contain PagedLOD nodes +Tue, 24 May 2005 10:37:18 +0000 +Checked in by : Robert Osfield +Added re-entrent mutex to serialize access to OpenFlight plugin to prevent any multi-threaded issues. -2007-02-08 15:01 robert +Mon, 23 May 2005 11:27:52 +0000 +Checked in by : Robert Osfield +Updated changelog - * Cleaned up readString +Mon, 23 May 2005 11:18:01 +0000 +Checked in by : Robert Osfield +Added new examples to runexamples -2007-02-08 14:59 robert +Mon, 23 May 2005 11:00:03 +0000 +Checked in by : Robert Osfield +Updated news. - * Fixed return in readString. +Sun, 22 May 2005 20:30:30 +0000 +Checked in by : Robert Osfield +Changed .png files to .jpg to help save space in OpenSceneGraph-Data. -2007-02-08 12:47 robert +Sun, 22 May 2005 20:19:26 +0000 +Checked in by : Robert Osfield +Added scoring, welcome page, you've lost and you've won pages. - * Added the threading model to stats +Sat, 21 May 2005 21:19:11 +0000 +Checked in by : Robert Osfield +Added support for multiple levels, and exit on lose of all lives or on finishng the highest level. -2007-02-08 12:24 robert +Sat, 21 May 2005 12:57:28 +0000 +Checked in by : Robert Osfield +Updates to osgcatch game to allow different types of falling objects - * Added threading model option to command line parameters +Sat, 21 May 2005 09:55:43 +0000 +Checked in by : Robert Osfield +Maded debugging output write out at INFO level -2007-02-08 12:21 robert +Fri, 20 May 2005 22:15:57 +0000 +Checked in by : Robert Osfield +Tweaked wrappers by hand to get them to compile - * Added check in setThreadingModel so that it only sets up - threading if the viewer is realized +Fri, 20 May 2005 21:12:57 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-02-08 12:20 robert +Fri, 20 May 2005 21:01:57 +0000 +Checked in by : Robert Osfield +Fixed doxygen comments. - * Fixed setThreadModel method so that is doesn't try to set up - threading unless - the viewer is realized +Fri, 20 May 2005 18:35:30 +0000 +Checked in by : Robert Osfield +Removed references to removed files. -2007-02-08 12:14 robert +Fri, 20 May 2005 15:45:12 +0000 +Checked in by : Robert Osfield +Reworking to avoid compile issues under VS6.0. - * Updated the handling of closing of windows +Fri, 20 May 2005 11:35:08 +0000 +Checked in by : Robert Osfield +Removed remaining references to old DX writer. -2007-02-08 11:30 robert +Fri, 20 May 2005 11:33:22 +0000 +Checked in by : Robert Osfield +Removed long unused and out of date DX writer plugin from distribution, will now be placed on the wiki just in case its needed. - * Added better clean up of paramters on X display in - GraphicsWindowX11:closeImplementation +Fri, 20 May 2005 06:39:41 +0000 +Checked in by : Robert Osfield +Added env var report. -2007-02-08 11:26 robert +Thu, 19 May 2005 21:42:38 +0000 +Checked in by : Robert Osfield +From Martin Aumueller, fixed copy and paste error on getActiveUniforms(). - * From Stefan Eilemann, addd more extensive XErrorHandler output +Thu, 19 May 2005 15:17:53 +0000 +Checked in by : Robert Osfield +Added support for setting the default render bin sort mode via the env OSG_DEFAULT_BIN_SORT_MODE variable or via or RenderBin::setDefaultRenderBinSortMode() method. -2007-02-08 11:24 robert +Thu, 19 May 2005 09:22:45 +0000 +Checked in by : Robert Osfield +From Alberto Farre, added support for caching of ProxyNode children. - * Added setting of the DatabasePager's affinity. +Wed, 18 May 2005 21:45:30 +0000 +Checked in by : Don BURNS +Fixed fullscreen toggle in ViewerEventHandler that assumed the first RenderSurface was a window (not a pbuffer). -2007-02-08 10:46 robert +Wed, 18 May 2005 21:34:55 +0000 +Checked in by : Don BURNS +PBuffer example revamped to use a normal CameraConfig for setting up the PBuffer and main cameras, and a PBufferTexture2D for the texture, rather than a subload callback - * From Donn Mielcarek, "We generated some bad ive files in our - database. In - some of the files, the function readInt() would return - a 0 size. While linux will happily continue on, - creating 0 sized arrays, Windows immediately - blows up, with sparks sometimes flying out the - side of the machine! - - I added a simple check for zero size in - each of the functions that allocates arrays - based on the size variable, and I thought - I'd pass it along. Now the program will - not die if it encounters an ive file with bad - data." +Wed, 18 May 2005 21:31:51 +0000 +Checked in by : Robert Osfield +Updated NEWS, ChangeLog and runexamples.bat. -2007-02-07 21:56 robert +Wed, 18 May 2005 21:17:31 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * Updated wrappers +Wed, 18 May 2005 19:55:14 +0000 +Checked in by : Robert Osfield +Added s/getClearMask() support to osg::ClearNode, osgUtil::SceneView and the .osg plugin. -2007-02-07 21:48 robert +Wed, 18 May 2005 19:04:35 +0000 +Checked in by : Robert Osfield +From Joakim Simonsson, DOFTransform multiplication order support added to .ive format. With tweak from Robert Osfield to wrap new read and write with a new version number to allow old files contain DOFTransforms to continue to work. - * Changed the setting of need to traverse during the update - traverse so it is only enabled when animation is switched on. +Wed, 18 May 2005 18:43:03 +0000 +Checked in by : Robert Osfield +From Joakim Simonsson: "DOFAnimation's default state could now be controlled by the RW option. -2007-02-07 21:16 robert + The option string is "dofAnimation" - * Disabled the toggling to ThreadModel - CullThreadPerCameraDrawThreadPerContext + If the option string is omitted the default animation state is off." -2007-02-07 16:32 robert - * Added new Transform::ReferenceType enum - ABSOLUTE_RF_INHERIT_VIEWPOINT to support - internal RTT cameras that wish to use the main cameras view/eye - point for LOD and other - distance based tests. -2007-02-07 16:27 robert +Wed, 18 May 2005 18:31:03 +0000 +Checked in by : Robert Osfield +Fixed copy and paste mistakes in setEventCallback methods - * Set the DataVariance to DYNAIMC for the StateSet of with the - dynamically updating Uniform +Tue, 17 May 2005 20:12:13 +0000 +Checked in by : Robert Osfield +Added RADEON as render type for disabling mipmapped NPO2T -2007-02-07 14:53 robert +Tue, 17 May 2005 15:00:43 +0000 +Checked in by : Robert Osfield +Cleaned up in prep for release. - * Fixed bug in AutoTransform::accept() that was related to the - accept() method - checking the nodemask as it should. +Tue, 17 May 2005 14:25:11 +0000 +Checked in by : Robert Osfield +Improved the handling of data attached to proxy nodes -2007-02-06 20:03 robert +Tue, 17 May 2005 13:50:07 +0000 +Checked in by : Robert Osfield +Changed the default behavior to not writing out proxynode children. - * From Stephan Huber, "thomas kirk schrieb: - > I put this at the end of realizeImplementation; someone with - better knowledge - > of Carbon programming may see a more appropriate place for the - call. - - I moved your code into the ctor of the - OSXCarbonWindowingSystemInterface - so it get called only once. Can you test it again, if it works on - your side? - - I also disabled multithreaded-rendering because it slowed down - the - rendering on my machine by a factor of 3. Perhaps we can make it - optional to test it on other machines. - - I had some problems implementing pbuffer-support for os x and - stopped it - for now until I have more time to investigate the issues. - " +Tue, 17 May 2005 13:47:13 +0000 +Checked in by : Robert Osfield +Improved the handling of writing out of proxy node files. -2007-02-06 17:34 robert +Tue, 17 May 2005 13:34:04 +0000 +Checked in by : Robert Osfield +From Daniel Sjölie, for the purpose of maintainability, made the load proxy nodes code the standard, remove the older code that remained as part of #else #endif blocks, and remove the erroneous implementation of caching of proxynodes. - * From André Garneau, "Attached is an improved Win32 keyboard - handler that should now map key events similarly to the X11 - implementation: - - * Key event handler now reports left or right SHIFT, CTRL and ALT - key variants on key press and release events." +Tue, 17 May 2005 13:24:34 +0000 +Checked in by : Robert Osfield +Added destructor to fix Cygwin build problem. -2007-02-06 17:01 robert +Tue, 17 May 2005 11:11:58 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * From Stefan Eileman, fixes for OSX gmake build to allow AGL or - X11 implementation of osgViewer +Tue, 17 May 2005 11:00:13 +0000 +Checked in by : Robert Osfield +Added differentiation between Non power of two textures when mip mapped vs when not mipped mapped to get round the issue of incomplete support under ATI cards. -2007-02-06 17:00 robert +Tue, 17 May 2005 09:53:41 +0000 +Checked in by : Robert Osfield +Removed old GeoSet backward compatibility code since its now redudent. - * Updated wrappers +Tue, 17 May 2005 09:06:12 +0000 +Checked in by : Robert Osfield +From Thom DeCarlo, build fixes for Cygwin. -2007-02-06 16:23 robert +Mon, 16 May 2005 18:24:11 +0000 +Checked in by : Robert Osfield +Fixed name. - * Re-enabled processor affinity +Mon, 16 May 2005 17:37:25 +0000 +Checked in by : Robert Osfield +Update to NEWS w.r.t contributors -2007-02-06 14:38 robert +Mon, 16 May 2005 17:17:53 +0000 +Checked in by : Robert Osfield +Bumped version numbers to 0.9.9 in rediness for 0.9.9 release. - * Added new Viewer threading model options +Mon, 16 May 2005 16:50:55 +0000 +Checked in by : Robert Osfield +Updated NEWS and ChangeLog in prep for release -2007-02-06 14:20 robert +Mon, 16 May 2005 15:51:57 +0000 +Checked in by : Robert Osfield +Warning fixes for IRIX - * Updated wrappers +Mon, 16 May 2005 15:50:35 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-02-06 14:20 robert +Mon, 16 May 2005 14:27:03 +0000 +Checked in by : Robert Osfield +Changed the getHitList and getNumHits methods to take const osg::LineSegment* as a parameter. - * Clean up getDrawable() method +Mon, 16 May 2005 14:09:39 +0000 +Checked in by : Robert Osfield +Workaround for Mipspro compiler bug. -2007-02-06 13:44 robert +Mon, 16 May 2005 11:22:25 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * Fixed Suse9.3 build problem due to different handling Quat copy - constuctor +Mon, 16 May 2005 11:18:11 +0000 +Checked in by : Robert Osfield +Fixed method signatures. -2007-02-06 11:03 robert +Mon, 16 May 2005 10:12:22 +0000 +Checked in by : Robert Osfield +Added osgUtil osgDB osgFX osgText osgTerrain osgGA osgProducer to the list of wrapper libraries. - * Further work on support for ThreadPerCamera, and improved the - efficiency of SingleThraeded +Mon, 16 May 2005 09:41:10 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-02-05 14:56 robert +Sun, 15 May 2005 20:32:10 +0000 +Checked in by : Robert Osfield +From Marco Jez, fixes to/and for osgIntrospection. - * Tweak API and updated wrappers to get wrappers to build +Sun, 15 May 2005 20:31:22 +0000 +Checked in by : Robert Osfield +Moved computeBounds into public scope. -2007-02-05 13:44 robert +Sun, 15 May 2005 05:47:14 +0000 +Checked in by : Robert Osfield +From John Grant, added getDrawableList() const. - * Added Camera's s/getCameraThread() and updated wrappers +Sat, 14 May 2005 18:57:47 +0000 +Checked in by : Robert Osfield +From Marco Jez, added export symbols. -2007-02-05 12:13 robert +Sat, 14 May 2005 14:31:37 +0000 +Checked in by : Robert Osfield +From Marco Jez, change of Doxygen docs name of class from UFOManipulator to osgGA::UFOManipulator, done to avoid automated wrapper issues. - * Updated wrappers +Fri, 13 May 2005 21:39:34 +0000 +Checked in by : Robert Osfield +Yet another using namespace osg to try and work out the spat betwen MipsPro and VS.6.0. -2007-02-05 11:48 robert +Fri, 13 May 2005 21:38:34 +0000 +Checked in by : Robert Osfield +From Tom Jolly, removing trailing comma for last entries in enums to fix IRIX compile warnings. - * From Gordon Tomlinson, "I have attached the 3 files we had to - change to fix a proble we were seeing with using Symbol Fonts - - // GT: fix for symbol fonts (i.e. the Webdings font) as the wrong - character are being - // returned, for symbol fonts in windows (FT_ENCONDING_MS_SYMBOL - in freetype) the correct - // values are from 0xF000 to 0xF0FF not from 0x000 to 0x00FF (0 - to 255) as you would expect. - // becuase Microsoft uses a private field for its symbol fonts - ........ - " +Fri, 13 May 2005 14:54:34 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, updated project files to link to new 3rdParty libs -2007-02-05 11:14 robert +Fri, 13 May 2005 14:36:42 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * From Brede Johansen, "I have made some changes to support light - sources in the new - OpenFlight loader." +Fri, 13 May 2005 13:29:45 +0000 +Checked in by : Robert Osfield +Moved BaseOptimizerVisitor out of Optimizer into osgUtil namespace to try and get round MipsPro compile problems. -2007-02-05 10:48 robert +Fri, 13 May 2005 12:06:58 +0000 +Checked in by : Robert Osfield +Refinement of includes to help IRIX build - * From Brede Johansen, added OSG_EXPORT to DeleteHandler for - windows build +Fri, 13 May 2005 11:11:52 +0000 +Checked in by : Robert Osfield +Cross platform build fixes. -2007-02-05 10:44 robert +Fri, 13 May 2005 09:52:17 +0000 +Checked in by : Robert Osfield +Added #include "dxfBlock.h" - * From Paul Martz, "Here's my changes to Registry to allow - extension alias mapping via a config file. I also attached a - sample file that tests the parsing, but this is just FYI and not - for inclusion in CVS. - - To set up extension aliases using a config file, an app calls: - osgDB::Registry::instance()->readPluginAliasConfigurationFile(), - passing in the file name as the parameter. (Of course this should - be done before loading any files whose names depend on the - mapping.) osgDB will search for the file using OSG_FILE_PATH. - - The file should contain a line for each mapping, with the "map" - extension first, followed by a space or tab, then the plugin - identifier. For example, a file containing this line: - - flt OpenFlight - - would map the ".flt" extension to the OpenFlight plugin." +Fri, 13 May 2005 09:05:10 +0000 +Checked in by : Robert Osfield +Added /Zm200 -2007-02-02 22:30 robert +Fri, 13 May 2005 08:54:11 +0000 +Checked in by : Robert Osfield +Removed unused function. - * Convert GraphicsThread/GraphicsOperation to more generic - OperationsThread/Operation. - This paves the way to running cull traversals in seperate - threads. - - Updated wrappers +Thu, 12 May 2005 20:59:53 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, Added queries of compilation state to Shader (for symmetry with Program's link state queries) -2007-02-02 16:51 robert +Thu, 12 May 2005 20:46:12 +0000 +Checked in by : Robert Osfield +fixed warning. - * From Eric Sokolowski, added support for the new Text line spacing - parameter to the .osg and .ive formats. +Thu, 12 May 2005 20:35:15 +0000 +Checked in by : Robert Osfield +From Jan Ciger, gcc 4.0 compile fix. -2007-02-02 12:41 robert +Thu, 12 May 2005 20:06:39 +0000 +Checked in by : Robert Osfield +Updated wrappers. - * Added a concrete osg::DeleteHandler implementation which provides - support for - retain objects for several frames before deleting them. Also - added RenderStageCache - into CullVistor.cpp that is used for handling RTT osg::Camera's - that are being - used in double buffered SceneView usage. +Thu, 12 May 2005 20:03:55 +0000 +Checked in by : Robert Osfield +Fixed pairing of write and read of Matrixd -2007-02-01 11:07 robert +Thu, 12 May 2005 19:14:17 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, osgpbuffer now needs to link w/ Producer (fixed .dsp file attached) - * Improved the toggling on/off of thrading modes +Thu, 12 May 2005 19:05:33 +0000 +Checked in by : Robert Osfield +Added missing Uniform(Matrixd) constructor implementation -2007-02-01 11:07 robert +Thu, 12 May 2005 15:51:28 +0000 +Checked in by : Robert Osfield +From Alberto Farre,"ConvertFromFLT::addMultiTexture makes ENDIAN conversion for SMultiTexture + struct attributes. + When an flt object is multi-instantiated y should be done just first time, + because SMultiTexture struct is always the same, currently is being done for + each instance. - * Moved the init traversal from cull() to the draw() to prevent - graphics context - calls being made during the cull traversal - something that - breaks the - ThreadPerCamera model in osgViewer + Attached file fix the problem but perhaps a more clean fix would be making + ENDIAN conversion at writing attributes time instead of at reading time. " -2007-01-31 22:24 robert - * Further work on new threading model. -2007-01-31 11:12 robert +Thu, 12 May 2005 14:48:56 +0000 +Checked in by : Robert Osfield +Added IO support for new intialBound and callbacks to .osg, and initialBound to .ive - * Removed old #if #else #end block +Thu, 12 May 2005 14:03:22 +0000 +Checked in by : Robert Osfield +Added new Node/Drawable::s/getInitialBound and Node/Drawable::s/getComputeBoundCallback methods and reimplement computeBound so that it passes back a bounding volume rather than modifying the local one. -2007-01-30 17:38 robert +Thu, 12 May 2005 08:58:28 +0000 +Checked in by : Robert Osfield +Added setTextureFileName method. - * Refactored the ViewerRenderingOperation so that the timer querry - code is in a separate ViewerQuerySupport class +Thu, 12 May 2005 08:54:11 +0000 +Checked in by : Robert Osfield +Added clear of lazy uniform updating structure on relink, also added debug output of shader being compiled. -2007-01-30 17:12 robert +Thu, 12 May 2005 07:47:43 +0000 +Checked in by : Robert Osfield +Moved OpenGL2 definitions from Uniform header to GL2Extensions - * Added display listing of ShadowVolume +Wed, 11 May 2005 21:36:04 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-01-30 15:37 robert +Wed, 11 May 2005 21:06:29 +0000 +Checked in by : Robert Osfield +Added missing required includes - * Added automatic aspect ratio adjustmeent to - View::setUpViewAcrossAllScreens() and setUpViewOnSingleScreen. +Wed, 11 May 2005 20:37:22 +0000 +Checked in by : Robert Osfield +Compile fix. -2007-01-30 14:47 robert +Wed, 11 May 2005 20:05:51 +0000 +Checked in by : Robert Osfield +Updated wrappers - * Updated wrappers +Wed, 11 May 2005 19:59:21 +0000 +Checked in by : Robert Osfield +Moved GL2Extensions back out of Program and into its own header file. -2007-01-30 14:32 robert +Wed, 11 May 2005 19:34:03 +0000 +Checked in by : Robert Osfield +From Don Tidrow, "I added some code to assign the archive pointer in TXPnode with the archive that ReaderWriterTXP actually loads. I also added a function in TXPArchive to help in manipulating the lightpoints." - * From Eric Sokolwsky, "osgText is a useful node kit, but when - longer paragraphs are displayed - on the screen, it looks more aesthetically pleasing to have a - larger - gap between lines than is given by default. I added a new - parameter, - lineSpacing, in the Text class to allow the line spacing to be - adjustable - by the application. The default value is 0 meaning there is no - extra - spacing given. The value should be given as a percentage of the - character - height. A good value for longer paragraphs is 0.25 (25%) or - more." +Wed, 11 May 2005 19:32:57 +0000 +Checked in by : Robert Osfield +Changed the info log so that it output to INFO on success, to WARN when an error has occured. -2007-01-30 14:18 robert +Wed, 11 May 2005 19:14:36 +0000 +Checked in by : Robert Osfield +From Nathan Monteleone, rewrote the osgpbuffer example so that it uses Producer xplatform support for pbuffer instead of Win32 specific pathways as support before. (with a few code tweaks to simplfy the code, by Robert Osfield). - * From Bryan Thrall, "The osgDB::ReaderWriter and - osgDB::ReaderWriter::Options classes have - copy constructors that take a const osg::CopyOp rather than a - osg::CopyOp&, forcing an unnecessary copy. The attached header - fixes - this, based off OSG 1.2. - - Also fixed duplicate "or" openArchive()'s comment." +Wed, 11 May 2005 16:05:27 +0000 +Checked in by : Robert Osfield +Added .osg support for new ParticleEffect::s/getDefaultParticleTemplate. -2007-01-30 13:48 robert +Wed, 11 May 2005 15:26:16 +0000 +Checked in by : Robert Osfield +Added support for setting the texture filename and more fine control over the particle template used in ParticleEffects - * Added support for compute average stats attributes in inverse - space to improve - the quality of frame rate reporting. +Wed, 11 May 2005 13:40:07 +0000 +Checked in by : Robert Osfield +Fixed compile warning. -2007-01-30 12:09 robert +Wed, 11 May 2005 13:37:38 +0000 +Checked in by : Robert Osfield +Completed GLSL support in .ive - * Disabled the alternating directions of drawing of state sorted - render leaves as it - was interferring with anaglyphic stereo used in the osgstereimage - example. +Wed, 11 May 2005 11:42:09 +0000 +Checked in by : Robert Osfield +Further work on GLSL support in .ive -2007-01-30 11:47 robert +Wed, 11 May 2005 11:41:44 +0000 +Checked in by : Robert Osfield +Cleaned up API of BindAttributeLocation, added deletion of shader objects. - * Updated wrappers +Tue, 10 May 2005 20:20:20 +0000 +Checked in by : Robert Osfield +Put in place the class to implement GLSL support in .ive -2007-01-30 11:40 robert +Tue, 10 May 2005 18:21:31 +0000 +Checked in by : Robert Osfield +Moved the infolog to the error handling block and upping its notification level to WARN to provide better feedback on failure with needing to use DEBUG notification level. - * Added Stats::collectStats(string,bool) controls, - getAveragedAttribute methods into osg::Stats class, and - related support into osgViewer::Viewer and - osgViewer::StatsHandler. - - Added lazy updating of text in StatsHandler HUD to minimize the - impact of - slow text updating on observed frame rates. +Tue, 10 May 2005 16:13:37 +0000 +Checked in by : Robert Osfield +Added tab to space converted to .obj plugin -2007-01-30 09:55 robert +Tue, 10 May 2005 13:56:05 +0000 +Checked in by : Robert Osfield +Added support for PROTECTED and OVERRIDE to uniforms. - * Added support for per frame alternating the direction that - SORT_BY_STATE bins are - rendered. The alternation makes it more likely that OpenGL - objects will still - be in video ram. +Tue, 10 May 2005 10:01:13 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, bumped IVE version number to 9, and added support in Texture for _borderWidth _useHardwareMipMapGeneration _unrefImageDataAfterApply _clientStorageHint _resizeNonPowerOfTwoHint -2007-01-29 22:59 robert +Tue, 10 May 2005 09:07:38 +0000 +Checked in by : Robert Osfield +Changed -ne to $LINK_ECHO_OPTION to fix cross platform compile issues - * Made _useMainThreadForRenderingalTraversal(false) +Tue, 10 May 2005 08:07:37 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, and non power of two resize hint support to .osg ascii -2007-01-29 22:44 robert +Mon, 9 May 2005 15:29:18 +0000 +Checked in by : Robert Osfield +Added code to prevent ProxyNode's from been "flattened" by osgUtil::Optimizer::FlattenStaticTransforms. - * Began work on providing support for threading camera cull - traversals in parallel with - the previous frames draw traversal. Changes range from - osg::State, through osgUtil::RenderBin, through to osgViewer +Mon, 9 May 2005 13:09:07 +0000 +Checked in by : Robert Osfield +Removed deprecated API in preparation for 0.9.9 release. -2007-01-28 17:32 robert +Mon, 9 May 2005 10:17:56 +0000 +Checked in by : Robert Osfield +Added osgUtil, osgDB, osgFX, osgParticle, osgSim, osgTerrain, osgGA and osgProducer to osgWrappers directory.Enabled the build of osgWrappers/osg, osgWrappers/osgPartile and osgWrappers/osgSim, +but not osgUtil, osgDB, osgFX, osgTerrain, osgGA and osgProducer due to compile +errors. I am assuming that these compilers are fixable so I'm checked all the +source code so that members of the community can help fix them. - * Added very simple relaxing of traits by dividing required red, - green, blue, alpha and depth by 2. -2007-01-28 17:12 robert - * Added use of Viewe Realize graphics operation. +Sun, 8 May 2005 19:21:43 +0000 +Checked in by : Robert Osfield +Removed debug info -2007-01-28 17:11 robert +Sun, 8 May 2005 18:37:13 +0000 +Checked in by : Robert Osfield +Updated osgWrappers. - * Added set/getRealizeOperation() to Viewer and CompositeViewer +Sun, 8 May 2005 15:24:26 +0000 +Checked in by : Robert Osfield +Added missing copy of _stereo -2007-01-28 09:53 robert +Sat, 7 May 2005 20:47:09 +0000 +Checked in by : Robert Osfield +Added more comprehensive releaseGLObjects(State*=0) throughout Nodes, Drawables,StateSet, and osgDB::Registry.Added cleanup_frame() from to osgProducer::OsgCamerGroup to help with proper +clean of OpenGL objects before exit, and modified osgviewer, osghangglider, +osgwindows examples to do the extra frame call to cleanup_frame() before exit. - * Updated wrappers -2007-01-28 09:30 robert - * From Vlad Danciu, fixed leaf depth sort functor +Sat, 7 May 2005 09:17:55 +0000 +Checked in by : Robert Osfield +From Tim Daoust/Robert Osfield, added Font::releaseGLobjects(State*state=0) to facilate clean up of scene when a graphics context is deleted/reused. -2007-01-28 09:17 robert +Fri, 6 May 2005 19:44:24 +0000 +Checked in by : Robert Osfield +Added handling of sharing of graphics context data which is now supported by Producer. You can get the osgProducer::Viewer to share graphics contexts by using the env var OSG_SHARE_GRAPHICS_CONTEXTS set to ON or OFF i.e. setenv OSG_SHARE_GRAPHICS_CONTEXTS ON - * From Mike Wittman, "This file removes the virtual destructor of - osgText::String. It seemed wrong that osgText::String should have - a vtable since it is treated like a value type, and any - subclasses containing additional data would effectively be - subject to slicing during standard usage. This stuck out as an - anomaly when classifying the OSG types for C# bindings." -2007-01-27 17:57 robert - * Added osg::PolygonMode to local StateSet to protect it from being - affected by - stateset manipulator. +Fri, 6 May 2005 17:43:40 +0000 +Checked in by : Robert Osfield +Added X11 include and lib paths to find freetype under OSX. -2007-01-27 17:52 robert +Fri, 6 May 2005 14:28:43 +0000 +Checked in by : Robert Osfield +Made OSX default to using single threaded keyboard mouse. - * Updated wrappers +Fri, 6 May 2005 14:07:02 +0000 +Checked in by : Robert Osfield +Made USE_AGL=yes the default under OSX. -2007-01-27 14:27 robert +Fri, 6 May 2005 10:32:31 +0000 +Checked in by : Robert Osfield +Added osg_DeltaFrameTime uniform to default set. - * Added access methods to PositionStateContainer +Fri, 6 May 2005 09:58:49 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, further work on GLSL support -2007-01-27 14:27 robert +Fri, 6 May 2005 09:04:41 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, support for non power of two extension. - * Added light source. +Thu, 5 May 2005 21:21:14 +0000 +Checked in by : Robert Osfield +Fix for OSX build across both Tiger and 10.3.x -2007-01-27 12:54 robert +Thu, 5 May 2005 20:05:11 +0000 +Checked in by : Robert Osfield +Removed rgb alias for Quicktime mapping since the Quicktime is not reliable at loading all rgb files that the standard OSG rgb reader can read. - * Further work on shadow CullCallback +Thu, 5 May 2005 19:46:04 +0000 +Checked in by : Robert Osfield +Changed check() method name to checkConsistency() to avoid perculiar OSX Tiger build error. -2007-01-27 12:54 robert +Thu, 5 May 2005 14:03:54 +0000 +Checked in by : Robert Osfield +Removed the defaulting to setting the camera threading model to MultiThreaded, instead leave it to Producer's defaults. - * Added _sorted flag into RenderBin to prevent a bin being sorted - twice in one frame +Thu, 5 May 2005 12:30:54 +0000 +Checked in by : Robert Osfield +Added support for osg_FrameNumber, osg_FrameTime, osg_ViewMatrix, osg_InverseViewMatrix into SceneView, controlled via a setActiveUniforms(.) method. -2007-01-27 11:13 robert +Thu, 5 May 2005 09:18:03 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, added Texture::Extension support for non power of two extension. - * Changed osgUtil::RenderBin and osg::State to allow nesting of - StateSet's associated with RenderBin's. +Wed, 4 May 2005 11:38:34 +0000 +Checked in by : Robert Osfield +Fix for Tiger build -2007-01-26 21:22 robert +Wed, 4 May 2005 09:11:32 +0000 +Checked in by : Robert Osfield +Fixed bug where the Optimizer::StateVisitor was trying to optimize non existant StateSet's. - * Further work on building the rendering back end from the intial - traversal of the - scene graph +Tue, 3 May 2005 22:02:37 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-01-26 16:08 robert +Tue, 3 May 2005 21:53:25 +0000 +Checked in by : Robert Osfield +From Alberto Farre, "Missed a FilepathList pop_back line from my last submission.I have also commented out the option string set with FLT_VER because it +overwrites other option string and I found it redundant and not needed." - * Added Program pointer to help with uniform apply. -2007-01-26 09:44 robert - * Added custom callback to capture RenderBins +Tue, 3 May 2005 21:49:21 +0000 +Checked in by : Robert Osfield +Removed the default compile of single threaded KeyboardMouse -2007-01-25 12:16 robert +Tue, 3 May 2005 21:46:47 +0000 +Checked in by : Robert Osfield +Added support for lazy state updating of uniforms. - * #ifdef'd out the artifical simulation time code +Tue, 3 May 2005 16:34:54 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, OSX 10.4 fix. -2007-01-25 12:02 robert +Tue, 3 May 2005 14:31:01 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, fixes for OSX 10.4 build. - * Added osg::FrameStamp::set/getSimulationTime(). - - Added setting of osg_SimulationTime and osg_DeltaSimulationTime - to the uniforms set by SceneView - - Added frame(double simulationTime) and advance(double - simulationTime) parameters to - osgViewer::SimpleViewer, Vewer and CompositeViewer. - - Updated various examples and Nodes to use SimulationTime where - appropriate. +Tue, 3 May 2005 10:09:51 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-01-25 10:02 robert +Tue, 3 May 2005 06:23:02 +0000 +Checked in by : Robert Osfield +Removed Impostor.cpp - * From Gordon Tomlinson, fixes to - BoundingSphere::expandBy(BoundingSphere&) +Mon, 2 May 2005 20:00:42 +0000 +Checked in by : Robert Osfield +Fixed TIFF readers handling of interleaved data -2007-01-24 12:59 robert +Mon, 2 May 2005 19:42:13 +0000 +Checked in by : Robert Osfield +Improvements to the repojection code so that it can generate RGBA reprojected data. - * Updated wrappers +Mon, 2 May 2005 14:16:25 +0000 +Checked in by : Robert Osfield +Added support for generating RGBA, RGBA-16 and RGBA-compressed texture databases -2007-01-24 12:35 robert +Mon, 2 May 2005 13:00:17 +0000 +Checked in by : Robert Osfield +Added support for reading from RGBA source textures - * From Martin Spott, "To enable osgviewer to link on Solaris added - -lmtsk as SunOS/SunStudio implements some threading stuff in - libmtsk." +Mon, 2 May 2005 10:18:37 +0000 +Checked in by : Robert Osfield +Added support for optimization of Uniforms -2007-01-24 12:28 robert +Mon, 2 May 2005 09:57:58 +0000 +Checked in by : Robert Osfield +Improved the handling of update/event callbacks on Drawable and Geodes - * Added support for GUIEventAdapter::setHandled +Mon, 2 May 2005 09:34:27 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, added \n newlines to inline shader program strings. From Robert Osfield, changed tabs to spaces. -2007-01-24 12:21 robert +Sun, 1 May 2005 21:33:12 +0000 +Checked in by : Robert Osfield +Moved Impostor from osg to osgSim .osg plugin - * Added setHandled/getHandled to osgGA::GUIEventAdapter +Sun, 1 May 2005 20:56:44 +0000 +Checked in by : Robert Osfield +Added include for OSX build -2007-01-24 11:18 robert +Sun, 1 May 2005 19:48:49 +0000 +Checked in by : Robert Osfield +Moved osg::Impostor to osgSim::Impostor, as Impostor isn't a core feature. - * Added ability to generate various cube faces for testing and - switch handler to toggle between different models. +Sun, 1 May 2005 10:34:48 +0000 +Checked in by : Robert Osfield +From Don Tidrow, spelling fixes -2007-01-24 10:02 robert +Sat, 30 Apr 2005 15:16:05 +0000 +Checked in by : Robert Osfield +Added RemoveLoadedProxyNodes pass to Optimizer, set on by default at present. - * From André Garneau, " - - - - * Setup proper pixel format for ATI boards (removal of - WGL_SWAP_METHOD_ARB specification from the requested pixel format - since unsupported by the ATI driver) - - * Fix to create sample OpenGL window on the proper display - device. This is the temporary window used to choose the desired - pixel format. In the previous version, this window was always - created on the primary display device, even though it had - potentially different pixel formats compared to the target - display device containing the window to be created. - - * Implementation of - WindowingSystemInterface::setScreenResolution() method - - * Implementation of - WindowingSystemInterface::setScreenRefreshRate() method - - * Implementation of GraphicsWindow::requestWarpPointer() method - - * Implementation of GraphicsWindow::useCursor() method and - associated trait support. This can be used in two ways; first, - when the graphics trait requested indicates that no cursor should - be present, a new cursor-less window class is used to create the - window. When a cursor-enabled window creation is requested, - another window class is used. After creation of a window, it is - also possible to toggle the cursor state by using the - GraphicsWindow::useCursor method. - - * The way the mouse behaves is now compatible with the behaviour - seen on X11; i.e. when pressing a mouse button, the window where - the pointer is located will capture the mouse input and release - it only after the button has been released. This results in all - mouse movement events being dispatched to the window where the - button was pressed initially until it is released. This improves - the interaction with graphics windows. - - - - * Preparation work has been done to support the ability of moving - a window from one screen to another screen and recreating its - rendering context when this happens. This has been tested with a - mix of NVIDIA and ATI cards and works properly. For the moment - being, this feature is commented out due to changes in the core - OSG libraries that have been done but need to be submitted later - this week for approval by Robert. - - - - Upcoming features - - - - * Support for moving windows from one screen to another screen - seamlessly - - - - * Ability to set the window (i.e. the application itself creates - the rendering window and passes it to the GraphicsWindowWin32 - class) - - - - * Other miscellaneous items" - - --------------------------------------------------- +Sat, 30 Apr 2005 13:54:21 +0000 +Checked in by : Robert Osfield +From Geoff Michel : ac3d loader - better sharing of states between objects and Roger James' bug fix for missing normals. -2007-01-23 17:42 robert + Tesselator.cpp - faster processing of polygon tesselation for single triangles (which dont need to be tesselated) - * Added cube test model. + osgtesselate.cpp - added wrap for texture so that appearance is as originally. Default texture behaviour has changed to clamp." -2007-01-23 17:29 robert - * changed build order so that osgText gets built before osgViewer -2007-01-23 16:32 robert +Sat, 30 Apr 2005 07:25:15 +0000 +Checked in by : Robert Osfield +Combine LOD fixed properly this time :) - * Fixed tabbing +Sat, 30 Apr 2005 07:22:56 +0000 +Checked in by : Robert Osfield +fixed combined LOD bug -2007-01-23 16:28 robert +Sat, 30 Apr 2005 07:02:02 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, Progra/Shader fixes - * Updated wrappers +Fri, 29 Apr 2005 20:57:04 +0000 +Checked in by : Robert Osfield +Updated wrappers -2007-01-23 16:27 robert +Fri, 29 Apr 2005 20:56:20 +0000 +Checked in by : Robert Osfield +Added support for controlling the frequency of checking for OpenGL errors via: enum CheckForGLErrors + { + /** NEVER_CHECK_GL_ERRORS hints that OpenGL need not be checked for, this + is the fastest option since checking for errors does incurr a small overhead.*/ + NEVER_CHECK_GL_ERRORS, + /** ONCE_PER_FRAME means that OpenGl errors will be checked for once per + frame, the overhead is still small, but at least OpenGL errors that are occurring + will be caught, the reporting isn't fine grained enough for debugging purposes.*/ + ONCE_PER_FRAME, + /** ONCE_PER_ATTRIBUTE means that OpenGL errors will be checked for after + every attribute is applied, allow errors to be directly associated with + particular operations which makes debugging much easier.*/ + ONCE_PER_ATTRIBUTE + }; - * Commented out the default saving of models + /** Set whether and how often OpenGL errors should be checked for.*/ + void setCheckForGLErrors(CheckForGLErrors check) { _checkGLErrors = check; } -2007-01-23 16:26 robert + /** Get whether and how often OpenGL errors should be checked for.*/ + CheckForGLErrors getCheckForGLErrors() const { return _checkGLErrors; } - * Added osg::StateSet* parameter to constructor to make it more - convinient to set - up the StateSetManipulator and moved the initialization of - locally cached states - into the handle method to ensure a representative version of the - StateSet is captured -2007-01-23 16:02 robert - * Added #define of GL_QUERY_RESULT and GL_QUERY_RESULT_AVAILABLE +Fri, 29 Apr 2005 18:51:14 +0000 +Checked in by : Robert Osfield +VS.7.1 linker warning fix -2007-01-23 15:51 robert +Fri, 29 Apr 2005 13:30:59 +0000 +Checked in by : Robert Osfield +Commented out notify messages to prevent crash under OSX at start up. - * Added single screen option +Fri, 29 Apr 2005 11:22:15 +0000 +Checked in by : Robert Osfield +Compile fix -2007-01-23 14:43 robert +Fri, 29 Apr 2005 11:19:58 +0000 +Checked in by : Robert Osfield +Moved osgIntrospection across to standard OSG coding style. - * Added command line help +Fri, 29 Apr 2005 10:06:50 +0000 +Checked in by : Robert Osfield +Added Copyright -2007-01-23 14:10 robert +Fri, 29 Apr 2005 09:47:57 +0000 +Checked in by : Robert Osfield +Moved osgParticle across to standard OSG coding style. - * Added delete selected object using delete and back space key, and - added save option +Fri, 29 Apr 2005 06:32:45 +0000 +Checked in by : Robert Osfield +Coding style update -2007-01-23 13:54 robert +Fri, 29 Apr 2005 06:32:13 +0000 +Checked in by : Robert Osfield +Moved to standard OSG coding style. - * Adde osgText dependency to osgViewer +Thu, 28 Apr 2005 19:50:07 +0000 +Checked in by : Robert Osfield +Reduced the verboseness of the notifaction messages -2007-01-23 13:28 robert +Thu, 28 Apr 2005 19:41:16 +0000 +Checked in by : Robert Osfield +Fixed the Mingw settings for GDAL_LIBS (was written as GDAL_LIB which wasn't being picked up as the GNUmakefiles were looking for GDAL_LIBS). - * Made stats bars transparent and improved positioning +Thu, 28 Apr 2005 19:24:09 +0000 +Checked in by : Robert Osfield +Changed the default texture size to 512x512 to reduce the number of textures required when rendering text. -2007-01-23 13:16 robert +Thu, 28 Apr 2005 19:08:44 +0000 +Checked in by : Robert Osfield +Removed old LUMINANCE_ALPHA code pathways since they are no longer used. - * Made two sided stencil the default +Thu, 28 Apr 2005 18:55:08 +0000 +Checked in by : Robert Osfield +Added proper handling of freeing of font implememtation either when unloading the freetype plugin or deleting osgText::Font first. -2007-01-23 12:10 robert +Thu, 28 Apr 2005 12:45:55 +0000 +Checked in by : Robert Osfield +Added version number #define's - * Added stats and range of keyboard mouse handling to osgshadow - example +Thu, 28 Apr 2005 05:58:20 +0000 +Checked in by : Robert Osfield +Added check to see if autoTransformCache had been initialized before using it in the computeBound. -2007-01-23 11:56 robert +Thu, 28 Apr 2005 05:21:27 +0000 +Checked in by : Robert Osfield +From Farshid Lashkari, removed redundent fusion distance calculations from computeRightEyeProjectionImplementation and computeLeftEyeProjectionImplementation methods. - * Added ability to customize the keys used to control stats +Thu, 28 Apr 2005 05:15:21 +0000 +Checked in by : Robert Osfield +From Marco Jez, changed = to ?= in COMPILE_INTROSPECTION line -2007-01-23 11:01 robert +Thu, 28 Apr 2005 05:12:54 +0000 +Checked in by : Robert Osfield +From Marco Jez, converted line endings to unix. - * Moved StatsHandler into its own seperate header/source in - osgViewer. +Thu, 28 Apr 2005 05:08:02 +0000 +Checked in by : Robert Osfield +From Marco Jez, added -ne option echo usage to fix stdout/stderr redirection error under Mingw. -2007-01-23 10:38 robert +Tue, 26 Apr 2005 20:35:53 +0000 +Checked in by : Robert Osfield +From Ruben, fix for PIV executation by disabling MMXEXT selection. - * Added ticks to stats display +Tue, 26 Apr 2005 19:34:03 +0000 +Checked in by : Robert Osfield +From Brede Johansen, tweaks to emitter classes to make them more extensible. -2007-01-22 21:16 robert +Tue, 26 Apr 2005 18:55:51 +0000 +Checked in by : Robert Osfield +Added $(GL_LIBS) to link line to get things linking ok under OSX. - * Further work on GPU stats +Tue, 26 Apr 2005 14:29:25 +0000 +Checked in by : Robert Osfield +Updated wrappers. -2007-01-22 17:39 robert +Tue, 26 Apr 2005 13:15:27 +0000 +Checked in by : Robert Osfield +Added support for per context extension string.Note, this required adding a unsigned int context ID to the osg::isGLUExtensionSupported(,) +and osg::isGLExtensionSupported(,) functions. This may require reimplementation +of end user code to accomodate the new calling convention. - * Further work on stats -2007-01-22 13:13 robert - * Added camera stats +Tue, 26 Apr 2005 11:20:19 +0000 +Checked in by : Robert Osfield +Added #include for VS.NET build -2007-01-22 11:22 robert +Tue, 26 Apr 2005 09:58:19 +0000 +Checked in by : Robert Osfield +Added support notification of Drawable parents of StateSet that event/update callbacks have been called. - * Improvements to stats +Tue, 26 Apr 2005 07:49:18 +0000 +Checked in by : Robert Osfield +From Vivek Rajan, "osg::Text was getting stretched when the CharacterSizeMode was set to SCREEN_COORDS and the SceneView's projection matrix was set to an Ortho2D matrix (sceneView->setProjectionMatrixAsOrtho2D(-1,1,-1,1)).Computing the pixel size separately vertically and horizontally, and +setting the scaling factors appropriately based on that fixed the +problem." -2007-01-22 09:28 robert - * From Mathias Fröhlich, "Attached is a small change that makes the - txf loader render the same resulting - text than an other well known txf loader. That means drawing them - one on top - of the other I can only see differences due to different - mipmapping ... - - That is it introduces an additional gap of 0.1*height between the - glyphs. - There is an additional mapping between upper and lowercase - characters if one - of them is not available in the txf file. - And we have an artificial blank character that is very often - missing in txf - files." -2007-01-21 20:41 robert +Mon, 25 Apr 2005 20:46:46 +0000 +Checked in by : Robert Osfield +Updated wrappers using Marco Jez's genwrapper utility. - * Further work on stats +Mon, 25 Apr 2005 20:34:23 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, added support for --clear-color r,g,b,a and --clear-color r,g,b to osgProducer::Viewer. -2007-01-21 18:46 robert +Mon, 25 Apr 2005 14:28:16 +0000 +Checked in by : Robert Osfield +Reduced the verbosness of debugging messages - * Added osgproducerviewer, in the form of orignal Producer based - osgviewer, leaving the - new osgViewer based osgviewer focused on just osgViewer - functionality. +Mon, 25 Apr 2005 13:37:12 +0000 +Checked in by : Robert Osfield +Futher work on supporting update and event callbacks in StateSet, Uniform and StateAttribute -2007-01-21 18:34 robert +Mon, 25 Apr 2005 13:27:56 +0000 +Checked in by : Robert Osfield +Added SINGLE_THREADED_KEYBOARDMOUSE pathway as a means of testing exit issues. - * Changed the camera with focus code to only accept cameras with - valid views - as ones that can recieve focus. +Mon, 25 Apr 2005 11:05:02 +0000 +Checked in by : Robert Osfield +Futher work on adding event and update callbacks to StateSet, Uniform and StateAttributes -2007-01-21 18:24 robert +Sun, 24 Apr 2005 21:04:54 +0000 +Checked in by : Robert Osfield +Added ParentList's into StateSet, Uniform and StateAttribute in preparation for providing update and event handling. - * Initial on screen stats support +Sun, 24 Apr 2005 19:30:01 +0000 +Checked in by : Robert Osfield +Added THREAD_ infront of PRIORITY_MIN settings to reflect changes to OpentThreads -2007-01-21 11:18 robert +Sat, 23 Apr 2005 16:09:20 +0000 +Checked in by : Robert Osfield +Added MergeGeometryVisitor::setTargetMaximumNumberOfVertices(uint); - * Removed gl includes +Sat, 23 Apr 2005 10:45:38 +0000 +Checked in by : Robert Osfield +Removed the use of the post swap callback -2007-01-20 09:48 robert +Sat, 23 Apr 2005 10:41:30 +0000 +Checked in by : Robert Osfield +Added missing bodes of Uniform::operator = and setEvent/UpdateCallback in StateSet. - * Updated wrappers +Sat, 23 Apr 2005 10:31:52 +0000 +Checked in by : Robert Osfield +Added support for using TextureRectangle in --move support in readNodeFile -2007-01-20 09:44 robert +Fri, 22 Apr 2005 22:45:39 +0000 +Checked in by : Robert Osfield +Preliminary steps to adding update and event callbacks to StateSet, StateAttribute and Uniform. - * Fixed the output of texture files +Fri, 22 Apr 2005 20:56:03 +0000 +Checked in by : Robert Osfield +From Brede Johansen, tweaked refraction and fresnel coefficients for a better visual effect. -2007-01-20 09:03 robert +Fri, 22 Apr 2005 15:44:21 +0000 +Checked in by : Robert Osfield +Improved handling of unsupported formats - * Added OSG_EXPORT to Stats to fix Windows build +Fri, 22 Apr 2005 15:44:03 +0000 +Checked in by : Robert Osfield +Improved handling of unsupported file formats. -2007-01-19 20:25 robert +Fri, 22 Apr 2005 15:43:34 +0000 +Checked in by : Robert Osfield +Improved handling of invalid imagery in BufferObject - * Added stats for update, event and rendering traversals +Fri, 22 Apr 2005 14:40:22 +0000 +Checked in by : Robert Osfield +Removed unusaged methods -2007-01-19 19:53 robert +Fri, 22 Apr 2005 14:40:06 +0000 +Checked in by : Robert Osfield +From Tree, removed dependency on Producer - * Added new osg::Stats class for collecting frame stats of - different sorts. - Added s/getStats() to osg::View and osg::Camera. - Added population of View::getStats() with frame stats in - osgViewer/Viewer. - Added Basic StatsHandler to osgviewer example. +Fri, 22 Apr 2005 13:47:54 +0000 +Checked in by : Robert Osfield +Removed ViewPoint.h and .cpp from the ive plugin -2007-01-19 14:41 robert +Fri, 22 Apr 2005 13:32:46 +0000 +Checked in by : Robert Osfield +Cleaned up the xine plugin to better handle unsupported video files. - * Added EXT_timer_query support +Fri, 22 Apr 2005 07:13:50 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, added support for samplers and mat4 to .osg -2007-01-18 22:32 robert +Thu, 21 Apr 2005 21:07:27 +0000 +Checked in by : Robert Osfield +Added initialize of version number - * Added osg::StencilTwoSided state attribute to wrap up the - stencil_two_sided extension. - - Added path in osgShadow work for using StencilTwoSided to - accelerate shadow volume rendering. +Thu, 21 Apr 2005 21:05:48 +0000 +Checked in by : Robert Osfield +From Garrat Potts, fixed face memory leak in FreTypeFont destructor. -2007-01-18 17:00 robert +Wed, 20 Apr 2005 19:53:07 +0000 +Checked in by : Robert Osfield +Small tweaks - * Added support for stencil GL_INCR_WRAP and GL_DECR_WRAP - operations +Wed, 20 Apr 2005 18:50:50 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, removed Uniform not quite ready notice, and added .h files into osgshaders project file. -2007-01-18 09:56 robert +Wed, 20 Apr 2005 14:51:13 +0000 +Checked in by : Robert Osfield +Removed the enabling of the point smooth mode. - * From André Garneau, "Attached is a fix in the GraphicsWindowWin32 - class to allow the following usage pattern to work properly; - create window, delete window, create window, etc. In all the - tests I made I was always creating-deleting and then shutting - down the application so this pattern was untested. The - osgtexture3d & osgsimulation examples were also using this - pattern so would not work. They are working fine now." +Wed, 20 Apr 2005 12:32:43 +0000 +Checked in by : Robert Osfield +From Brede Johnansen, adding support for EXT, ARB and GL version 1.4 point parameters. -2007-01-18 09:03 robert +Wed, 20 Apr 2005 09:55:24 +0000 +Checked in by : Robert Osfield +Removed increment of the cursor position by the bearing value in the compute last character code as this should not be used when moving the cursor. - * Build fix for Win32 +Wed, 20 Apr 2005 08:51:48 +0000 +Checked in by : Robert Osfield +Commented out support for the -m option for inserting 3d models in a terrain database, as this feature isn't yet supported by osgTerrain. -2007-01-17 21:11 robert +Tue, 19 Apr 2005 07:37:59 +0000 +Checked in by : Robert Osfield +From Reinhard Sainitzer, bug fix, added missing break; - * Added extra methods WindowSystemInterface for controlling frame - rate and resolution, and adde useCursor flag. +Mon, 18 Apr 2005 18:23:25 +0000 +Checked in by : Robert Osfield +Removed eroneous /dv1 flag (should have been /vd1, but it this is default anway so can safely remove entirely). -2007-01-17 15:59 robert +Mon, 18 Apr 2005 13:36:10 +0000 +Checked in by : Robert Osfield +Further work on uniforms support in .osg - * From Joakim Simonsson, added osgDB::concateFile and - osgDB::getRealPath. - - Tweaks by Robert Osfield - Moved methods to FileNameUtils, added - unix - implementation of getRealPath add extern and OSGDB_EXPORT to - function declarations. +Mon, 18 Apr 2005 13:29:59 +0000 +Checked in by : Robert Osfield +Added more complete support for writing out data of Uniforms -2007-01-17 14:40 robert +Mon, 18 Apr 2005 12:34:28 +0000 +Checked in by : Robert Osfield +Added next stage of support for osg::Uniform in .osg plugin - * From André Garneau, threading bug fixes - moving scoped statics - out of scope to be global statics +Mon, 18 Apr 2005 09:17:56 +0000 +Checked in by : Robert Osfield +Removed mpeg plugin from CVS, now moved to the Community section of openscenegraph.org as a seperate project. -2007-01-17 14:21 robert +Sun, 17 Apr 2005 19:14:32 +0000 +Checked in by : Robert Osfield +Fixed typo in testLookAt debug info. - * From André Garneau, Implementation osg GraphicsWindowWin32 +Sun, 17 Apr 2005 19:10:32 +0000 +Checked in by : Robert Osfield +Fixed warnings. -2007-01-16 22:10 robert +Sun, 17 Apr 2005 11:35:26 +0000 +Checked in by : Robert Osfield +Changed the animation on default to false, so things only move if you ask them to. - * Updaed wrappers +Sun, 17 Apr 2005 11:30:33 +0000 +Checked in by : Robert Osfield +From Marco Jez, osgWrappers updates to latest changes in core osg. -2007-01-16 22:00 robert +Sun, 17 Apr 2005 10:41:23 +0000 +Checked in by : Robert Osfield +Moved istream/ostream includes out of Vec3f, and reimpleted osg::Matrix*::compare. - * Removed the automatic registration of - GraphicsContextImplementation. +Sun, 17 Apr 2005 09:41:48 +0000 +Checked in by : Robert Osfield +From Tony Horrobin, fix for VS6.0 -2007-01-16 21:40 robert +Sat, 16 Apr 2005 17:44:11 +0000 +Checked in by : Robert Osfield +From Marco Jez, added operator >> for Plane and Quat to io_utils, and added OSG_EXPORT to PerContextProgram. - * Fixed compile warning +Sat, 16 Apr 2005 10:18:56 +0000 +Checked in by : Robert Osfield +Fixed wrapping of text string to allow internal "" strings -2007-01-16 19:18 robert +Sat, 16 Apr 2005 10:11:18 +0000 +Checked in by : Robert Osfield +From Mike Weiblen,added debug info to osg::Program and changed shader uniform names to avoid conflict with built in functions - * Cleaned up CompositeViewer interface and added event traversal of - views +Sat, 16 Apr 2005 04:00:18 +0000 +Checked in by : Don BURNS +CHanged line 101 in PageLOD.cpp to read if ( in->getVersion() >= VERSION_0006 ) { setDatabasePath(in->readString()); }instead of + if ( in->getVersion() > VERSION_0006 ) { + setDatabasePath(in->readString()); + } -2007-01-16 17:10 robert +Seems DatabasePath _is_ present in ive files of version 6. - * Added PickHandler to osgmultiplecameras examples -2007-01-16 17:08 robert - * Added debug messages +Fri, 15 Apr 2005 20:59:24 +0000 +Checked in by : Robert Osfield +Moved Plane and Quat << operators into the io_utils headers -2007-01-16 16:02 robert +Fri, 15 Apr 2005 20:44:28 +0000 +Checked in by : Robert Osfield +Added dxf to the list of projects - * Reverted the FlightManipulator usage +Fri, 15 Apr 2005 20:39:06 +0000 +Checked in by : Robert Osfield +From Paul de Repentinguy, DXF loader plugin. Ported to Linux by Robert Osfield. -2007-01-16 16:01 robert +Fri, 15 Apr 2005 20:11:50 +0000 +Checked in by : Robert Osfield +From Joran Jessurun, Added setting of original node mask to flatten transforms - * Further work on CompositeViewer +Fri, 15 Apr 2005 20:05:30 +0000 +Checked in by : Robert Osfield +Added setValue and setSwitchSet methods -2007-01-16 15:05 robert +Fri, 15 Apr 2005 18:28:44 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, fix for Win32 build - * Added mouseWarped call into View::requestWarpPointer +Fri, 15 Apr 2005 10:15:26 +0000 +Checked in by : Robert Osfield +Removed link reference to osgGL2 in doxygen file, added osgIntrospection -2007-01-16 14:15 robert +Fri, 15 Apr 2005 10:09:51 +0000 +Checked in by : Robert Osfield +Changed all instances of /vd0 to /vd1 - * Further work on event handling in CompositeViewer +Fri, 15 Apr 2005 09:56:28 +0000 +Checked in by : Robert Osfield +In the ldexp(,) call removed the /256.0f by replacing it with a -8 on the exponent. -2007-01-16 14:13 robert +Fri, 15 Apr 2005 08:35:06 +0000 +Checked in by : Robert Osfield +Removed osgGL2 from CVS, osgGL2 now can be found on the Community/NodeKits section on the OSG website. - * Added extra view combinations too commandline +Thu, 14 Apr 2005 21:41:28 +0000 +Checked in by : Robert Osfield +Updated Copyright notices to 1998-2005. -2007-01-16 08:56 robert +Thu, 14 Apr 2005 20:34:59 +0000 +Checked in by : Robert Osfield +Changed uint for unsigned int. - * Work on CompositeViewer and related calsses to implement viewers - with multiple views +Thu, 14 Apr 2005 20:14:53 +0000 +Checked in by : Robert Osfield +Uniforms open for business :) -2007-01-15 16:12 robert +Thu, 14 Apr 2005 20:05:16 +0000 +Checked in by : Robert Osfield +Fixed getUniformLocation and getAttribLocation methods - * Updated wrappers +Thu, 14 Apr 2005 15:53:28 +0000 +Checked in by : Robert Osfield +Removed setProgram from osg::StateSet as Program works just fine right now as a standard osg::StateAttribute and set in a StateSet with setAttribute. -2007-01-15 16:09 robert +Thu, 14 Apr 2005 11:28:23 +0000 +Checked in by : Robert Osfield +Preparation for moving osgGL2 out of the core OSG into its own seperate distribution. - * Improved handling of intersection computations on datasets with - multiple cameras +Thu, 14 Apr 2005 08:00:25 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, fixed copy and paste error in new osgshaders.cpp example. -2007-01-15 14:46 robert +Thu, 14 Apr 2005 07:55:45 +0000 +Checked in by : Robert Osfield +From Joson Daly, fix for forward/backward/swing animation handling both 15.8 and versions prior to 15.8, and..." Here's another fix for OpenFlight. The symptom was that ATTR files were +not being read correctly, and the TexEnv on a texture that should have +been set to DECAL was instead defaulting to MODULATE. The cause is that +the ATTR reader cannot tell by itself what version it's reading (the +version information isn't present in the ATTR files), and instead relies +on the ReaderWriter::Options passed in to get the OpenFlight version. - * Added FramStamp into osgViewer::Viewer and added ability to - handle setSceneData - during during the application running. +My change clones the current ReaderWriter::Options and prepends the +appropriate FLT_VER option before the ReaderWriterATTR object is +called. I also made the parsing of the FLT_VER string and value more +robust in the ReaderWriterATTR itself. I think I commented things OK, +but let me know if you need me to explain anything." -2007-01-15 11:44 robert - * Added terrain manipulator. -2007-01-15 10:11 robert +Wed, 13 Apr 2005 18:19:38 +0000 +Checked in by : Robert Osfield +From Terry Welsh, added copy texture support to TextureRectangle - * From Brede Johansen, "The OpenFlight loader already have a - caching mechanism for externals. - The cache works for nested externals but is cleared before the - master - flight file is returned. I implemented texture caching using the - same - mechanism." +Wed, 13 Apr 2005 14:31:25 +0000 +Checked in by : Robert Osfield +Added applying of all parents uniforms -2007-01-15 09:56 robert +Wed, 13 Apr 2005 14:12:06 +0000 +Checked in by : Robert Osfield +Added basic support for applying uniforms to programs, non lazy state updating is yet applied though. - * From Paul Martz and Geoff Michel, Paul updated Geoff's bug fixes - to DelaunaryTraingulator.cpp to reflect recent tessellator - spelling changes +Wed, 13 Apr 2005 12:00:28 +0000 +Checked in by : Robert Osfield +Work in progress on shader language uniform support -2007-01-15 09:30 robert +Tue, 12 Apr 2005 19:28:37 +0000 +Checked in by : Robert Osfield +Added #if block for swith between imagery - * Added setting of the update visitors' traversal number +Tue, 12 Apr 2005 19:17:01 +0000 +Checked in by : Robert Osfield +Fixed bug -2007-01-15 09:14 robert +Tue, 12 Apr 2005 08:59:33 +0000 +Checked in by : Robert Osfield +Added inline to float convertComponent(,) - * Reverted the experimental shader code +Tue, 12 Apr 2005 08:55:52 +0000 +Checked in by : Robert Osfield +From Olaf Flebbe, change from powf to ldexp. -2007-01-14 20:23 robert +Mon, 11 Apr 2005 17:14:17 +0000 +Checked in by : Robert Osfield +Renamed SG_LIBRARY and SG_EXPORT macro's to OSG_LIBRARY and OSG_EXPORT - * Added releaseContext to end of GraphicsThread::run() +Mon, 11 Apr 2005 15:40:30 +0000 +Checked in by : Robert Osfield +Changed optimization flag to -O instead of -O2 to aid compile speed. -2007-01-12 22:07 robert +Mon, 11 Apr 2005 15:22:29 +0000 +Checked in by : Robert Osfield +From Olaf Flebbe, compile fix for Sun. - * From Riccardo Corsi, "this should be the final version of the - qt-plugin ported to windows and cleaned up to avoid crashes on - exit. - Stephan and I tested it on Mac and Win. - Just a couple of notes: - - * the plugin is able to load both regular 2D images and movie - stream. There is a #define QT_HANDLE_IMAGES_ALSO mechanism to - indicate whether to use it for images or not. This is defined by - default on Mac only, to avoid conflicts with the standard windows - plugins. See comments on QTUtils.h - - * de-initialization of quicktime before exit is now left to an - observer, which calls exitQuicktime() when last media loaded with - the plugin is released. This prevent a crash on exit without need - of any extra call external to the plugin." +Mon, 11 Apr 2005 15:17:24 +0000 +Checked in by : Robert Osfield +Moved #include from header into .cpp to clean up build. -2007-01-12 22:01 robert +Mon, 11 Apr 2005 15:01:57 +0000 +Checked in by : Robert Osfield +Build fix - * Added explicit to ParticleEffect constructors +Mon, 11 Apr 2005 10:12:32 +0000 +Checked in by : Robert Osfield +Fixed warning, and sorted entries in GNUmakefile -2007-01-12 21:44 robert +Mon, 11 Apr 2005 08:15:43 +0000 +Checked in by : Robert Osfield +Added friend class PerContextProgram; - * From Tom Jolley, "There was some unnecessary creation and - deletion of Particle objects in - include/osgParticle/ParticleSystem. I replaced - - Particle(ptemplate? *ptemplate: _def_ptemp) - - with - - ptemplate? *ptemplate: _def_ptemp - - in a couple of places. This should make particle creation and - reuse go - a little faster without all that memory allocation and copying." +Mon, 11 Apr 2005 07:51:43 +0000 +Checked in by : Robert Osfield +From Olaf Flebbe, Fixed cross platform compile error -2007-01-12 21:33 robert +Sun, 10 Apr 2005 21:26:49 +0000 +Checked in by : Robert Osfield +From Randall Hopper, fixed typo of setRedMask. - * From Stephan Huber, "New features: - + Multi-display-support - + automatic hiding of the menubar/dock if one of the windows - intersects - the menubar/dock - - Bugfixes: - + event-handling was done by the first opened window, other - windows did - not receive events -- fixed - + mouse-coordinates were absolute, now they are relative to the - window. - - known bugs: - + windows with decoration and in fullscreen-size are moved by the - system - a little bit, so that the titlebar is accessible/visible. So if - you want - real fullscreen-windows, don't decorate the window :) - - I updated the XCode-project-file so all ported examples are - linked - against osgViewer." +Sun, 10 Apr 2005 21:25:37 +0000 +Checked in by : Robert Osfield +Further work on kiddies game. -2007-01-12 21:05 robert +Sat, 9 Apr 2005 11:17:12 +0000 +Checked in by : Robert Osfield +Fixed typo - * Added Viewer::setEndBarrierPosition method, change - Viewer::setKeySetsDone(int) to setKeyEventSetDone(int), - added support for toggling threading model and end barrier - position into osgviewer +Fri, 8 Apr 2005 19:40:16 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, osgGLUTsimple and osgGLUTkeyboardmouse examples -2007-01-12 19:09 robert +Fri, 8 Apr 2005 19:39:05 +0000 +Checked in by : Don BURNS +Added check for _last_of for fileName and merged all definitions for socklen_t to one line. - * Moved the signalBeginFrame to the start of the rendering - traversal. +Fri, 8 Apr 2005 19:29:12 +0000 +Checked in by : Robert Osfield +From Marco Jez, updates to reflect new osgIntrospection API -2007-01-12 15:08 robert +Fri, 8 Apr 2005 18:46:51 +0000 +Checked in by : Robert Osfield +From Stephan Huber, changed fixed string sizes for dynamically allocated ones in OSX file system gets. - * Added support for animation path manipulator to osgViewer path +Fri, 8 Apr 2005 14:44:44 +0000 +Checked in by : Robert Osfield +From James French, a tweak with fix a compile problem related to STLport. -2007-01-12 14:45 robert +Fri, 8 Apr 2005 14:11:15 +0000 +Checked in by : Robert Osfield +From Olad Flebbe, compile fix for HP-UX. - * Add manually sync of the EventQueue's startTick with the - osg::Timer::startTick +Fri, 8 Apr 2005 14:10:22 +0000 +Checked in by : Robert Osfield +Moved UByte4 i/ostream support into io_utils. -2007-01-12 12:10 robert +Fri, 8 Apr 2005 14:09:32 +0000 +Checked in by : Robert Osfield +From James French, fix to header guard - * Added a default StateSet to osg::View's master Camera. Wired up - osgViewer::Viewer so - that the master Camera's StateSet is passed to osgUtil::SceneView - to use as its global StateSet. +Fri, 8 Apr 2005 13:52:03 +0000 +Checked in by : Robert Osfield +From Stephan Huber (contains Registry.cpp changes from David Guthrie): "Attached is the new source for the Quicktime-Plugin which adds the ability to write pictures in various formats (tested: jpg, png, tif, psd) (24bit + 32bit only, 8bit not tested)There are changes in the attached osgDB::Registry, which allows osg to +find resources/plugins in the right folders under OS X" -2007-01-12 11:38 robert +Note, from Robert Osfield, changed the FilePathList* filepath + delete to a +FilePathList filepath to avoid possible memory leaks when expections are thrown/ +make it more maintainable. Also didn't merge the automatic playing of movies. - * Added osgGA Trackball, Flight and Drive camera manipulators, and - StateSetManipulator to the osgViewer path in osgviewer -2007-01-12 10:28 robert - * Implement a GraphicsOperation to test extension availability +Fri, 8 Apr 2005 13:10:44 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, updates to GL Shadler Language support -2007-01-12 10:28 robert +Fri, 8 Apr 2005 13:06:14 +0000 +Checked in by : Robert Osfield +From Carlo Camporesi, add support for text into .ive plugin, tweak by Robert Osfield to allow font names to be exported correctly with extension - * Fixed comment +Fri, 8 Apr 2005 12:22:03 +0000 +Checked in by : Robert Osfield +Added #include -2007-01-12 10:26 robert +Fri, 8 Apr 2005 10:32:10 +0000 +Checked in by : Robert Osfield +Added #include - * Added osgViewer path into osgviewer, old osgProducer version - remains accessible - via --osgProducer command line option +Fri, 8 Apr 2005 09:59:40 +0000 +Checked in by : Robert Osfield +Added #include -2007-01-11 17:15 robert +Fri, 8 Apr 2005 09:55:52 +0000 +Checked in by : Robert Osfield +Reverted back to not test version of osgsimulation - * Ported osgmotionblurr across to osgViewer +Fri, 8 Apr 2005 09:51:56 +0000 +Checked in by : Robert Osfield +Added #include -2007-01-11 17:00 robert +Fri, 8 Apr 2005 09:45:06 +0000 +Checked in by : Robert Osfield +Added #include - * Added setting of DisplaySettings +Fri, 8 Apr 2005 09:36:42 +0000 +Checked in by : Robert Osfield +Added #include -2007-01-11 16:59 robert +Fri, 8 Apr 2005 09:18:15 +0000 +Checked in by : Robert Osfield +Added #include - * Added stencil buffer setting +Fri, 8 Apr 2005 09:14:50 +0000 +Checked in by : Robert Osfield +Added io_utils include -2007-01-11 15:54 robert +Fri, 8 Apr 2005 09:13:07 +0000 +Checked in by : Robert Osfield +Added osg/io_utils include - * Updated wrappers +Fri, 8 Apr 2005 09:01:23 +0000 +Checked in by : Robert Osfield +Moved the istream and ostream support from Vec* and Matrix* into a seperate io_utils file. -2007-01-11 15:53 robert +Thu, 7 Apr 2005 21:28:57 +0000 +Checked in by : Robert Osfield +Added iostream operators - * Added #include +Thu, 7 Apr 2005 20:28:36 +0000 +Checked in by : Robert Osfield +From Olaf Flebbe, removed supporios BufferObject:: -2007-01-11 15:48 robert +Thu, 7 Apr 2005 20:23:58 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, "adds sourcefiles for beginnings of .osg fileformat i/o support > - enhancemens to core GLSL classes to support file i/o" - * Removed examples: - - osgcameragroup - osgsimpleviewerProducer - osgsimplepager +Thu, 7 Apr 2005 20:20:09 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, ported osgshaders example from osgGL2 to core osg based. -2007-01-11 15:19 robert +Thu, 7 Apr 2005 20:08:54 +0000 +Checked in by : Robert Osfield +Warning fixes by Mike Weiblen + Robert Osfield - * Ported following examples to osgViewer: - - osgteapot - osgtessellate - osgtext - osgtexture1D - osgtexture2D - osgtexture3D - osgtexturerectangle - osgvertexprogram - osgvolume - osgwindows - osgsimple - osgkeyboardmouse +Thu, 7 Apr 2005 20:06:16 +0000 +Checked in by : Robert Osfield +From Marco Jez, .dsp updates -2007-01-11 14:53 robert +Thu, 7 Apr 2005 20:00:17 +0000 +Checked in by : Robert Osfield +From Marco Jez, improvements to osgIntrospection, and new automatically generated osgWrappers/osg set. - * Fixed the setWindowSize so that it sets the input range to - 0,0,width,height rather - than x,y,x+width,y+height as mouse coordinates move relative to - the window, not the - screens origin. +Thu, 7 Apr 2005 17:15:48 +0000 +Checked in by : Don BURNS +Set PagedLOD::removeExpiredSubgraph() to be virtual -2007-01-11 12:06 robert +Thu, 7 Apr 2005 16:09:34 +0000 +Checked in by : Robert Osfield +Fix to compute coordinate frame callback so that it can handle scaled coordinate frames, rescaling as required. - * Added DisplaySettings support into osgViewer::Viewer +Thu, 7 Apr 2005 15:27:53 +0000 +Checked in by : Robert Osfield +Fixed the MatrixTransform(Matrix&) constructor so that it correct sets _inverseDirty = true; -2007-01-11 11:47 robert +Thu, 7 Apr 2005 13:49:54 +0000 +Checked in by : Robert Osfield +Introduced a flight path that goes around the earth going into the north and sound hemisphere's with heading and roll adjustment. - * Ported follow examples to osgViewer: - - osgshape - osgsimplifier - osgsimulation - osgslice - osgspacewarp - osgspheresegment - osgspotlight - osgstereoimage +Thu, 7 Apr 2005 10:55:17 +0000 +Checked in by : Robert Osfield +Fixed sort of sources so that the layer number is taken into account. -2007-01-11 10:35 robert +Thu, 7 Apr 2005 10:19:47 +0000 +Checked in by : Robert Osfield +Fixed layer and levels handling in reprojection of source imagery. - * Added support for setThreadSafeRefUnref into TexGenNode +Wed, 6 Apr 2005 20:54:36 +0000 +Checked in by : Robert Osfield +Beginnings of litte kiddies game example, written in collaboration with my 5 year old daughter who is the game designer and artist on this little task :) -2007-01-11 10:21 robert +Tue, 5 Apr 2005 19:08:48 +0000 +Checked in by : Don BURNS +Rolled in Olaf's changes for HP-UX build - * Added setThreadSafeRefUnref, resizeGLObjectBuffers and - releaseGLObjects to OverlayNode +Mon, 4 Apr 2005 20:25:57 +0000 +Checked in by : Robert Osfield +Renamed _A and _B to make them more meanigful -2007-01-10 21:05 robert +Mon, 4 Apr 2005 18:07:27 +0000 +Checked in by : Don BURNS +Removed annoying "Can't find the ground" message - * Ported following examples to osgViewer: - - osgshaders - osgshaderterrain - osgshadow - osgshadowtexture +Mon, 4 Apr 2005 16:06:28 +0000 +Checked in by : Robert Osfield +Fixed output of MultiTextureControl. -2007-01-10 14:56 robert +Mon, 4 Apr 2005 15:23:18 +0000 +Checked in by : Robert Osfield +Added layer support - * Ported osgconv and osgdem across to osgViewer +Mon, 4 Apr 2005 13:50:07 +0000 +Checked in by : Robert Osfield +From Marco Jez, updates to osgIntrospection. -2007-01-10 13:52 robert +Mon, 4 Apr 2005 13:49:20 +0000 +Checked in by : Robert Osfield +Made osgIntrospection an optional compile - * Ported following examples to osgViewer: - - osgparticleeffects - osgphotoalbum - osgpick - osgpoints - osgpointsprite - osgprecipitation - osgprerender - osgprerendercubemap - osgreflect - osgscalarbar - osgscribe - osgsequence - osgplanets +Mon, 4 Apr 2005 13:22:24 +0000 +Checked in by : Robert Osfield +Fixed comment -2007-01-10 10:40 robert +Mon, 4 Apr 2005 12:24:18 +0000 +Checked in by : Robert Osfield +Fixes for VS6.0 build - * Added support for vertex ratios into LineSegmentIntersector. +Mon, 4 Apr 2005 11:47:50 +0000 +Checked in by : Robert Osfield +From Carlo Camporesi,fixed for loop bug -2007-01-10 10:09 robert +Mon, 4 Apr 2005 11:42:43 +0000 +Checked in by : Robert Osfield +Added missing makefiles - * Added View::computeIntersection implementation for a node withing - a scene graph. +Mon, 4 Apr 2005 11:22:43 +0000 +Checked in by : Robert Osfield +From Alberto Farre, nested files bug fix. -2007-01-09 17:35 robert +Mon, 4 Apr 2005 11:18:02 +0000 +Checked in by : Robert Osfield +From Alberto Farre: "Here there are fixes for several flt loader problems.First one was an small bug when root database was an empty string we got a database path "/" instead of "./". +Second one is more complex. Flt loader works in two passes, first one reads flt database and second one builds osg scenegraph. Special care must be taken for properly tracking database path as nested files are entered. Because textures are loaded in second pass, mentioned care should be taken once again. I wrote time ago a piece of code and I placed it in both files fltFile.cpp and flt2osg.cpp. After a long period offline I have seen the portion of code at flt2osg was missing, I just made some tests and I could see it is still required. - * Added View::computeIntersections methods +Finally, I have seen that pool.cpp always try to make IMAGE cache instead of reading what Options says. -2007-01-09 14:35 robert +Aditonally, I recently wrote an osg change, now it has external references "a la flt" what is called osg::ProxyNode. As part of the change now flt loader builds external references as ProxyNodes. I made the same mistake like pool.cpp and always made ARCHIVE cache instead of see what Options says, it has also been fixed." - * From Jan Ciger, Tolga Abaci, Bruno Herbelin : OpenVRML 0.14.3 - based .wrl/VRML plugin -2007-01-09 11:42 robert - * From Geoff Michel, "New delaunay triangulator attached. I hadn't - realised that the erase() method was not erase (first, last) but - erase (first, one after the last one you want deleted). This made - a big difference; however some of the edges of the terrain were - not included as edges in the terrain so I increased the size of - the supertriangle, which works but reduces accuracy due to the - larger range of coordinates in the supertriangle. (A larger - supertriangle forces the triangles using supertriangle vertices - to be long and thin, making the triangulation fit the convex hull - of the terrain.) - - The loss of accuracy should not affect 'normal' users with - terrains that are roughly square (say up to 100:1 aspect ratio) - and where the Z range is comparable to the X-Y range. Retested - with Pauls data, amalric's strange polygon constraint and the - standard test constraints. - - I also added 2 tests for routines with a NULL argument passed to - them (no-one would usually pass a NULL pointer to these routines - unless - as I did in testing- you remove some of the constraints - but still pass their pointer to the routine). And I removed 3 - tests for triangles which are already removed when generating the - geometry. - - NB Paul - the previous delaunay triangulator fails under VS8 IF - it has any constraints as it attempts to use some vertices that - have already been deleted when applying the constraints to edges. - Under VS6 and less rigorous compilers it works as the deleted - vertices are still in the points stl::Vector; however any added - vertices would replace one of the supertriangle vertices with - non-disastrous but wrong results." - - Note, merged with latest name changes in CVS. +Mon, 4 Apr 2005 10:08:15 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, updates to Shander Language support -2007-01-09 10:06 robert +Mon, 4 Apr 2005 10:05:35 +0000 +Checked in by : Robert Osfield +Added FluidProgram - * From Stephan Huber, GraphicsWindowCarbon implementation +Mon, 4 Apr 2005 09:22:59 +0000 +Checked in by : Robert Osfield +From Mike Weiblen (VisualStudio.dsw changes done by hand by Robert), fixes to VS project files -2007-01-09 09:16 robert +Mon, 4 Apr 2005 08:47:21 +0000 +Checked in by : Robert Osfield +Added osgparticleeffects example - * Changed osgparticle's osgProducer dependency to osgViewer +Mon, 4 Apr 2005 07:54:52 +0000 +Checked in by : Robert Osfield +Improved ParticleEffects -2007-01-09 09:14 robert +Sat, 26 Mar 2005 10:04:31 +0000 +Checked in by : Robert Osfield +From Farshid Laskari, addiition of FrontFace support to .ive - * Fixed typo +Fri, 25 Mar 2005 11:17:33 +0000 +Checked in by : Robert Osfield +From Waltice (don't have full name at time of submission), added support for 16bit tiff files -2007-01-08 22:54 robert +Fri, 25 Mar 2005 11:07:48 +0000 +Checked in by : Robert Osfield +Added State::getActiveUnit and usage of it in the glTexCopyImage*() implementations - * Build fixes +Fri, 25 Mar 2005 11:06:44 +0000 +Checked in by : Robert Osfield +Made the ground intersection warning just output to INFO level. -2007-01-08 22:44 robert +Thu, 24 Mar 2005 09:37:45 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, "updates for GLSL core integration: Code compiles and runs on win32. Basic functionality of Program and Shader in place. Program derived from StateAttribute. Uniform value propagation is not yet functional (in development) Includes some patches by Nathan Cournia. includes example testcase to demo use of new classes." - * Removed reference to Producer +Wed, 23 Mar 2005 21:00:28 +0000 +Checked in by : Robert Osfield +From Marco Jez, fixed constness of data return type -2007-01-08 22:40 robert +Wed, 23 Mar 2005 20:48:50 +0000 +Checked in by : Robert Osfield +From Randall Hopper, with small order tweak from Robert and addition to GNUmakefile.inst, added $(GDAL_LIBS) to fix build under FreeBSD. - * Removed debug messages +Wed, 23 Mar 2005 20:38:40 +0000 +Checked in by : Robert Osfield +From Mike Weiblen: change paths to .cpp files from "examples" to "applications" -2007-01-08 21:57 robert +Wed, 23 Mar 2005 20:35:19 +0000 +Checked in by : Robert Osfield +Fixed indenting. - * Fixed comment +Wed, 23 Mar 2005 20:34:02 +0000 +Checked in by : Robert Osfield +From Mike Weiblen: "Fix for VS7.1 warning C4715: not all control paths return a value" -2007-01-08 21:55 robert +Wed, 23 Mar 2005 20:31:42 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, " Move update of shader values after shader rebuild opportunity, to ensure uniform state of shaders is consistent" - * Added genwrapper.conf to OSG CVS +Wed, 23 Mar 2005 17:05:21 +0000 +Checked in by : Robert Osfield +Added extra controls for ParticleEffects. -2007-01-08 21:29 robert +Wed, 23 Mar 2005 10:46:08 +0000 +Checked in by : Robert Osfield +Fixed the scaling in pixelSize computation and the autoscale usage of it. - * From Paul Martz, speeling fixes for Tessellator/Tessellation. +Wed, 23 Mar 2005 10:41:51 +0000 +Checked in by : Robert Osfield +Removed multiple inheritance from TechniqueEventHandler. -2007-01-08 21:19 robert +Wed, 23 Mar 2005 08:30:15 +0000 +Checked in by : Robert Osfield +Commented out the if (!node->getName().empty()) return false; in isOperationPermissibleImplementation() - * Tessellator name changes +Tue, 22 Mar 2005 21:06:06 +0000 +Checked in by : Robert Osfield +Added MatrixManipulator::s/getIntersectTraversalMask(uint) to allow control of which subgraphs should be used in intersection calculations. Updated Terrain,Drive and UFO manipulator to use this new flag. -2007-01-08 20:46 robert +Tue, 22 Mar 2005 20:26:45 +0000 +Checked in by : Robert Osfield +Moved ParticleSystemUpdater into ParticleEffect nodes to simplify usage of nodes. - * Improved resizeGLObjectBuffers support +Tue, 22 Mar 2005 17:00:41 +0000 +Checked in by : Robert Osfield +Fixed the double transform of ParticleEffects -2007-01-08 20:40 robert +Tue, 22 Mar 2005 12:11:03 +0000 +Checked in by : Robert Osfield +Updated sphere segment example to use original osgsimulation source, adding in terrain, moving models and particle effects. - * Improved the handling a releaseGLObjects() and add - setThreadSafeRefUnref and resizeGLObjectsBuffers methods +Tue, 22 Mar 2005 12:04:03 +0000 +Checked in by : Robert Osfield +Corrected orientation of aeroplane and direction of rotation around earth. -2007-01-08 19:58 robert +Mon, 21 Mar 2005 00:33:37 +0000 +Checked in by : Don BURNS +Added getCameraByName method to viewer - * Added releaseContextImplementation method +Sun, 20 Mar 2005 23:57:17 +0000 +Checked in by : Don BURNS +Added getCameraByName method to viewer and home(double currentTime) to MatrixManipulator, UFO, Trackball and ANimation manipulator. -2007-01-08 19:33 robert +Sun, 20 Mar 2005 23:29:05 +0000 +Checked in by : Don BURNS +Updated some visual studio files for the new applications. - * Updated wrappers +Sun, 20 Mar 2005 21:43:33 +0000 +Checked in by : Don BURNS +Added (for real this time) application project files for visual studio -2007-01-08 19:29 robert +Fri, 18 Mar 2005 11:21:01 +0000 +Checked in by : Robert Osfield +Added support for handling transparent geometries and textures. - * Changed the return types of makeCurrent to bool, and added a bool - GraphicsContext::releaseContext method - along with implementations in osgViewer. +Fri, 18 Mar 2005 11:07:35 +0000 +Checked in by : Robert Osfield +Moved osgarchive, osgconv, osgdem, osgversion and osgviewer .dsp's to applications folder. -2007-01-08 16:20 robert +Fri, 18 Mar 2005 10:46:15 +0000 +Checked in by : Robert Osfield +Moved COMPILE_EXAMPLES ?= no to top of Make/dependencies to make it more clear, and removed the application programs fully from the examples list - * Added GraphicsContext::ResizedCallback and - GraphicsContext::resizedImplementation. - Added message on non implementation of GraphicsContext::valid(). - Added prelimary GraphicsContext clean up support. +Fri, 18 Mar 2005 10:45:18 +0000 +Checked in by : Robert Osfield +Removed the redundent subclassing from osg::NodeVisitor in examples event handlers -2007-01-08 14:12 robert +Fri, 18 Mar 2005 10:27:49 +0000 +Checked in by : Robert Osfield +updates to reflect changes to StateAttribute::Types - * Added Tessellator +Fri, 18 Mar 2005 10:00:16 +0000 +Checked in by : Robert Osfield +From Alberto Farre, fixes to ProxyNode. -2007-01-08 13:28 robert +Fri, 18 Mar 2005 09:48:09 +0000 +Checked in by : Robert Osfield +From Marco Jez, added OSGNVEXT_ prefex to StateAttribute enums. - * Fixed spelling of Tessellator in comment +Fri, 18 Mar 2005 09:37:46 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, "minor patches to osgFX consisting of changing from "state.matrix.modelview[0]" to the equivalent "state.matrix.modelview". Per ARB_vertex_program, the "[0]" syntax is supported only when EXT_vertex_weighting or ARB_vertex_blend are supported." -2007-01-08 12:04 robert +Fri, 18 Mar 2005 02:45:54 +0000 +Checked in by : Robert Osfield +Improvements to the handling of textures and texture coords. - * From Mathias Fröhlich, txf plugin for reading .txf textured - texture files. +Fri, 18 Mar 2005 02:45:02 +0000 +Checked in by : Robert Osfield +Made the can't find ground intersection message only appear as INFO. -2007-01-08 11:37 robert +Fri, 18 Mar 2005 02:44:08 +0000 +Checked in by : Robert Osfield +Added support for a new IsOperationPermissibleForObjectCallback in osgUtil::Optimizer. - * Updated wrappers +Fri, 18 Mar 2005 02:42:59 +0000 +Checked in by : Robert Osfield +Made supports(..) methods use support(const ...) -2007-01-08 11:23 robert +Fri, 18 Mar 2005 01:51:13 +0000 +Checked in by : Don BURNS +Randal Hopper fix to GNUmakefile for osgsimulation. - * From Paul Martz and Robert Osfield, renamed - include/osgUtil/Tesselator and associated classes/references to - Tessellator etc. +Thu, 17 Mar 2005 19:32:09 +0000 +Checked in by : Robert Osfield +Added extra controls into osgDB::DatabasePager for customizing how much time is allocated to compiling and deleting OpenGL objects, also added support into osgProducer::OsgSceneHandler.cpp for these new parameters.The new cotrols are: -2007-01-08 10:00 robert + DatabasePager::s/getTargetFrameRate(..) + DatabasePager::s/getMinimumTimeAvailableForGLCompileAndDeletePerFrame() + DatabasePager::s/getMaximumNumOfObjectsToCompilePerFrame() - * Ported following examples to osgViewer: - osggeodemo - osggeometry - osghud - osgimpostor - osgkeyboard - osglauncher - osglight - osglightpoint - osglogicop - osglogo - osgmovie - osgmultiplecameras - osgmultitexture - osgoccluder - osgparametric - osgparticle -2007-01-07 20:52 robert - * From Stephan Huber, updated Xcode projects for changes to - examples ported over to osgViewer +Thu, 17 Mar 2005 18:29:56 +0000 +Checked in by : Don BURNS +Removed redundant examples, that have been moved to the applications directory -2007-01-07 17:29 robert +Thu, 17 Mar 2005 14:40:30 +0000 +Checked in by : Robert Osfield +Added guard to texture image to avoid seg fault when dealing with incomplete databases. - * From André Garneau, added export to StatsVisitor +Thu, 17 Mar 2005 10:24:22 +0000 +Checked in by : Robert Osfield +Added check against node.getName() into isNodeEmpty(Node&) method so that nodes with names arn't assumed to be empty. -2007-01-07 10:00 robert +Thu, 17 Mar 2005 08:54:23 +0000 +Checked in by : Robert Osfield +Added if (image ..) check to prevent seg fault on imcomplete models - * Added setThreadSafeRefUnref to LightSource +Wed, 16 Mar 2005 20:44:10 +0000 +Checked in by : Robert Osfield +Added --addMissingColours / --addMissingColor support into osgconv which provides a mechansim for adding in a white colour where none previously existed. This solves the problem that exists on some databases where no colour is present, causing the colour to be inherited randomly. -2007-01-06 21:35 robert +Wed, 16 Mar 2005 14:48:52 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, added UFOManipulator to osgGA project file. - * Ported osgcopy, osgcubemap, osgdelaunay, osgdepthpartion, - osgdistortion, osgfadetext, osgforest and osgfxbrowser to - osgViewer +Wed, 16 Mar 2005 14:14:12 +0000 +Checked in by : Robert Osfield +Added --smooth option to osgconv -2007-01-06 21:06 robert +Wed, 16 Mar 2005 14:09:03 +0000 +Checked in by : Robert Osfield +Removed applications from examples list - * Added View::setUpViewOnSingleScreen(uint) method to help set up - view on - a single full screen window +Mon, 14 Mar 2005 09:28:31 +0000 +Checked in by : Robert Osfield +Changed tabs to four spaces -2007-01-05 21:23 robert +Mon, 14 Mar 2005 09:13:38 +0000 +Checked in by : Robert Osfield +From Marco Jez, fix for data corruption bug in TypedMethodInfo*::invoke() - * Add trackball manipulator usage +Sun, 13 Mar 2005 21:22:56 +0000 +Checked in by : Robert Osfield +Added guard to osgdem build -2007-01-05 21:19 robert +Sun, 13 Mar 2005 17:51:31 +0000 +Checked in by : Don BURNS +Added GNUmakefile for the new applications directory - * Ported osgcluster to osgViewer. +Sun, 13 Mar 2005 17:26:52 +0000 +Checked in by : Robert Osfield +Added osgGL2 to .ive list of dependencies -2007-01-05 20:28 robert +Sun, 13 Mar 2005 05:02:02 +0000 +Checked in by : Don BURNS +Chagned osg::Matrix to osg::Matrixd - * Fixed genwrapper to add include of osg/Camera. +Sun, 13 Mar 2005 01:47:46 +0000 +Checked in by : Don BURNS +Added applications directory. Copied (not moved) osgarchive osgconv osgdem osgversion osgviewerinto applications directory. Leaving them in the examples directory +as well, for now. -2007-01-05 17:21 robert +Made examples optional via the make COMPILE_EXAMPLES=yes option - * Updated wrappers +Added static lib and static plugin build support. -2007-01-05 16:48 robert - * Simplified the nameing of updateTraversal etc methods -2007-01-05 16:46 robert +Sat, 12 Mar 2005 15:57:44 +0000 +Checked in by : Don BURNS +Added M_PI definition for winders - * Cleaned up graphics window setup and added clear graphics window - to single window, - multiple camera setup. +Sat, 12 Mar 2005 05:31:26 +0000 +Checked in by : Don BURNS +Added a few things to osgProducer::Viewer to support UFO manipulator and cleaned up UFOManipulator. -2007-01-05 16:24 robert +Fri, 11 Mar 2005 20:29:21 +0000 +Checked in by : Robert Osfield +Added support for set/getUniform and set/getProgram into osg::StateSet. - * Ported osgcegui across to osgViewer +Fri, 11 Mar 2005 20:19:16 +0000 +Checked in by : Robert Osfield +Fixed old handle(..) method call parameters -2007-01-05 16:19 robert +Fri, 11 Mar 2005 17:48:01 +0000 +Checked in by : Don BURNS +Added methods getCameraManipulatorNameList() and selectCameraManipulatorByName(). - * Ported osgcallback to osgViewer +Fri, 11 Mar 2005 17:46:34 +0000 +Checked in by : Don BURNS +Added the 'H' - home to usage message -2007-01-05 16:13 robert +Fri, 11 Mar 2005 17:46:12 +0000 +Checked in by : Don BURNS +Changed class name to UFO instead of UFOManipulator to conform to the other manipulators - * Ported osgbluemarble to osgViewer +Fri, 11 Mar 2005 09:53:13 +0000 +Checked in by : Robert Osfield +Improvements to handling smoothing -2007-01-05 16:00 robert +Fri, 11 Mar 2005 06:10:07 +0000 +Checked in by : Don BURNS +Added UFO Manipulator to Viewer - * Ported osgblendequation across to osgViewer +Fri, 11 Mar 2005 06:09:38 +0000 +Checked in by : Don BURNS +Added UFOManipulator to Viewer -2007-01-05 15:54 robert +Fri, 11 Mar 2005 06:09:16 +0000 +Checked in by : Don BURNS +Added UFO manipulator - * Ported osgbillboard over to osgViewer +Thu, 10 Mar 2005 11:11:57 +0000 +Checked in by : Robert Osfield +Added null pointer check to avoid crash -2007-01-05 15:52 robert +Wed, 9 Mar 2005 22:01:15 +0000 +Checked in by : Robert Osfield +Added support for writing base layer 0 texture into texture layer 1 and above to use as a background. - * Simplified the osganimate and osgautotransform mains, removing - most or all of the argument parser code. +Wed, 9 Mar 2005 20:40:31 +0000 +Checked in by : Robert Osfield +Improvements to MultiTextureControl and texture layer handling in osgTerrain::DataSet. -2007-01-05 15:32 robert +Wed, 9 Mar 2005 16:54:10 +0000 +Checked in by : Robert Osfield +Added osgFX::MultiTextureControl node for managing blending between different texture layers. - * Fixed aspect ratio. +Tue, 8 Mar 2005 16:51:48 +0000 +Checked in by : Robert Osfield +Added basic multiple texture layer support into osgTerrain::DataSet. -2007-01-05 15:30 robert +Mon, 7 Mar 2005 22:02:44 +0000 +Checked in by : Robert Osfield +First steps to adding support for multiple texture layers. - * Cleaned up the GraphicsWindow setup +Mon, 7 Mar 2005 17:25:30 +0000 +Checked in by : Robert Osfield +From Ruben, added handling of vertex indices.Note from Robert. New codes produces errors when running +osgfxbrowser cow.osg so I have elected to keep the original +implementation of compute_basis_vectors around and as the default +compile to keep the CVS version working. Ruben's new version +of compute_basis_vectors has to be explicitly compiled in by +toggling an #if 1 block to #if 0. -2007-01-05 15:24 robert - * Added GraphicsContext support for clearing the graphis context. - The clearing - is off by default (ClearMask is 0), but can be switched on when - ClearMask is - non zero. GraphicsContext::clear() is called after each swap - buffers -2007-01-05 14:57 robert +Mon, 7 Mar 2005 14:38:43 +0000 +Checked in by : Robert Osfield +Sebastien Grignard, fixed getMember methods to properly use const type. - * Replace osgProducer reference by osgViewer +Mon, 7 Mar 2005 14:30:55 +0000 +Checked in by : Robert Osfield +From Marco Jez, improved Texture2D and Image handling of compare(). -2007-01-05 14:56 robert +Mon, 7 Mar 2005 14:27:34 +0000 +Checked in by : Robert Osfield +Added ProxyNode.h - * Moved osgautotransform across to osgViewer +Mon, 7 Mar 2005 14:16:15 +0000 +Checked in by : Robert Osfield +Added support for event callbacks -2007-01-05 14:50 robert +Mon, 7 Mar 2005 14:14:35 +0000 +Checked in by : Robert Osfield +From Sebastien Grignard, added support for reading and writing callbacks - * Converted osganimate projects across to osgViewer +Mon, 7 Mar 2005 14:06:09 +0000 +Checked in by : Robert Osfield +From Alberto Farre, addition of ProxyNode, with support in .osg, .ive and .flt loaders -2007-01-05 14:48 robert +Mon, 7 Mar 2005 12:32:58 +0000 +Checked in by : Robert Osfield +Fixed tabbing. - * Converted osganimate example to osgViewer +Mon, 7 Mar 2005 12:14:24 +0000 +Checked in by : Robert Osfield +From Marco Jez, "Current version of the LWO plugin creates one Geode with a single Geometry for each Lighwave surface, in order to keep surface names (geometries can't have names). The attached fix adds a plugin option named "COMBINE_GEODES" that allows to place all geometries under a single Geode whenever possible, thus offering better chances of further optimization through osgUtil::Optimizer. The downside is that surface names are no longer stored in the scene graph when using this option." -2007-01-05 13:16 robert +Mon, 7 Mar 2005 12:05:48 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, warning fix for VS7.1 - * Added int return type of Viewer::run(). +Mon, 7 Mar 2005 12:05:22 +0000 +Checked in by : Robert Osfield +Added the use of pixel buffer object in ImageStream so that it is only compiled in on non OSX platforms. -2007-01-05 13:15 robert +Mon, 7 Mar 2005 11:58:41 +0000 +Checked in by : Robert Osfield +Added looping - * Made the custom window set up a runtime option +Thu, 3 Mar 2005 12:40:15 +0000 +Checked in by : Robert Osfield +Added checking for video file via normal file path checking and handling of .xine extension as a special case for XINE style filenames. -2007-01-05 13:06 robert +Thu, 3 Mar 2005 12:35:07 +0000 +Checked in by : Robert Osfield +Added video aliases to xine plugin - * Tweaked comments +Thu, 3 Mar 2005 12:33:07 +0000 +Checked in by : Robert Osfield +Added improved handling of center justificaion of multiline text -2007-01-05 13:01 robert +Thu, 3 Mar 2005 12:25:37 +0000 +Checked in by : Robert Osfield +Added EDventVisitor reference - * Added a workaround for computing the time of an event. +Wed, 2 Mar 2005 15:06:23 +0000 +Checked in by : Don BURNS +In osg::isGLUExtensionSupported, fixed gluGetString to call GLU_EXTENSIONS rather than GL_EXTENSIONS. -2007-01-05 12:22 robert +Sat, 26 Feb 2005 21:44:16 +0000 +Checked in by : Robert Osfield +From Paul Melis, fixed typo of setFunctionMask. - * Removed commented out checkEvents calls +Fri, 25 Feb 2005 23:02:23 +0000 +Checked in by : Robert Osfield +Improved support GUIEventHandler's being node event callbacks. -2007-01-05 10:59 robert +Fri, 25 Feb 2005 23:01:07 +0000 +Checked in by : Robert Osfield +Added event callback to Optizimer isNodeEmpty function - * Added Viewer::isRealized() and run() methods to make it easier to - set up and run a viewer, taking care of realized() calls if not - already - done, and assigning trackball manipulator if not already - assigned. +Fri, 25 Feb 2005 14:02:48 +0000 +Checked in by : Robert Osfield +Added support for new event visitor type into osgGA and osgProducer::Viewer, and event callback into Drawable. -2007-01-05 09:55 robert +Fri, 25 Feb 2005 11:26:28 +0000 +Checked in by : Robert Osfield +Added reference to avifile based plugin. - * Removed inappropriate comment about normal orientation. +Fri, 25 Feb 2005 08:38:05 +0000 +Checked in by : Robert Osfield +New simplified timer implementation. -2007-01-04 21:58 robert +Thu, 24 Feb 2005 17:07:37 +0000 +Checked in by : Robert Osfield +Added pause, rewind and play support into xine plugin. - * Changed compile paths into runtime selected paths using command - line parameters +Thu, 24 Feb 2005 13:33:35 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, adding prelimimnary GL Shader Language support into core OSG lib. with renaming and reordering by Robert Osfield, -2007-01-04 21:51 robert +Wed, 23 Feb 2005 12:50:10 +0000 +Checked in by : Robert Osfield +Made Referenced::ref() and unref() inline methods. - * Removed now redundent calls to set up view +Tue, 22 Feb 2005 20:56:56 +0000 +Checked in by : Robert Osfield +Removed the default play() in the MPEG, QuickTime and Xine plugins, moving it into the osgmovie application, and into readNodeFile method where --movie is now available for detecting movie code. -2007-01-04 21:49 robert +Tue, 22 Feb 2005 20:25:58 +0000 +Checked in by : Robert Osfield +Made the osg::Referenced Mutex be declared as a pointer to a Mutex, with the Mutex allocated dynamically when required. Added the following methods to help manage the usage of the mutex: void setThreadSafeRefUnref(bool threadSafe); - * Moved the set of GraphicsContext RenderingOperations into Viewer. + bool getThreadSafeRefUnref() const; -2007-01-04 21:35 robert - * In Viewer::realize() added default fallback of calling - setUpViewAcrossAllScreens() - when no windows have previously been set up. -2007-01-04 21:28 robert +Tue, 22 Feb 2005 19:19:50 +0000 +Checked in by : Robert Osfield +Added support for control the pitch of the drive manipulator via the up and down cursor keys. - * Added Viewer::setKeySetsDone(int) to allow developers to specify - which - key should set done and cause the main loop to exit. +Tue, 22 Feb 2005 14:42:14 +0000 +Checked in by : Robert Osfield +Added size of Mutex. -2007-01-04 21:18 robert +Tue, 22 Feb 2005 13:34:24 +0000 +Checked in by : Robert Osfield +Added improved PBO support. - * Removed the setting of thread safe ref/unref and max number of - graphics contexts - as this is now done automatically by osgViewer::Viewer +Tue, 22 Feb 2005 11:55:30 +0000 +Checked in by : Robert Osfield +Fixes from Marco Jez. -2007-01-04 21:18 robert +Tue, 22 Feb 2005 10:16:22 +0000 +Checked in by : Robert Osfield +From Igor Kravtchenko, add #define's for OpenGL float internal texture formats. - * Changed debug messages to INFO +Tue, 22 Feb 2005 10:08:01 +0000 +Checked in by : Robert Osfield +Changed the Switch::addChild(Node*) behavior so it doesn't override the any pre-exisitng _values value. -2007-01-04 21:14 robert +Mon, 21 Feb 2005 17:02:44 +0000 +Checked in by : Robert Osfield +Added support for interpolating low res source data onto higher res destination tiles. - * Changed the ReadWriteMutex to use standard OpenThreads::Mutex to - fix - crashes in osgcatch. +Tue, 15 Feb 2005 09:37:20 +0000 +Checked in by : Robert Osfield +Tweak to comment. -2007-01-04 20:50 robert +Mon, 14 Feb 2005 15:17:20 +0000 +Checked in by : Robert Osfield +From Alberto Farre, fix to nested OpenFlight file problem. - * Added mutex to lock of ReentrantMutex +Sun, 13 Feb 2005 18:10:05 +0000 +Checked in by : Robert Osfield +Made conversion use BGRA. -2007-01-04 20:49 robert +Sun, 13 Feb 2005 16:35:52 +0000 +Checked in by : Robert Osfield +Added usage of the new xine_register_plugins() call. - * Fixed compile warning +Sun, 13 Feb 2005 15:07:41 +0000 +Checked in by : Robert Osfield +Disable the MMX usage -2007-01-04 16:49 robert +Sat, 12 Feb 2005 19:47:38 +0000 +Checked in by : Robert Osfield +Remerged Tugkan's fix to flatten static transforms. - * Made Refernced::setThreadSafeReferenceCounting(bool) a virtual - then overrode - this in various scene graph classes to ensure that the scene - graph gets - updated as well as the objects that the initialial call is made - from. +Sat, 12 Feb 2005 16:49:28 +0000 +Checked in by : Robert Osfield +Put spaitalize groups to end. -2007-01-04 16:48 robert +Sat, 12 Feb 2005 16:24:28 +0000 +Checked in by : Robert Osfield +From Tugkan Calapoglu, bug fix to FLATTEN_STATIC_TRANSFORMS. Small tweak of the code to make the comparison against Identity matrix clearer. - * Fixed warnings +Fri, 11 Feb 2005 20:43:50 +0000 +Checked in by : Robert Osfield +Added --prune-StateSet option into osgconv for bottleneck testing. -2007-01-04 14:34 robert +Fri, 11 Feb 2005 17:22:55 +0000 +Checked in by : Robert Osfield +Fixed spatial groups. - * Added glXDestryContext to help clean up OpenGL. +Fri, 11 Feb 2005 16:43:54 +0000 +Checked in by : Robert Osfield +Added support for fixing transprency on objects that should have been placed in the opaque bin. -2007-01-04 14:11 robert +Fri, 11 Feb 2005 10:09:06 +0000 +Checked in by : Robert Osfield +From Sebastien Grignard, fixed memory leak where header and databuffers wern't deleted. - * Added Object::resizeGLObjectBuffers(uint) method to help improve - the ability - to change the number of active graphics contexts on the fly - during an applications - life. +Fri, 11 Feb 2005 10:00:50 +0000 +Checked in by : Robert Osfield +Added support into passing the ReaderWriter::Options structure onto readImageFile -2007-01-04 11:49 robert +Fri, 11 Feb 2005 09:59:16 +0000 +Checked in by : Robert Osfield +Removed debugging messages - * Added support for starting and stopping osgViewer::Viewer - threading and - automatic handling of windows being closed. +Fri, 11 Feb 2005 09:58:30 +0000 +Checked in by : Robert Osfield +Added new utilities for handling different '/' and '\' entries. -2007-01-03 23:00 robert +Thu, 10 Feb 2005 21:30:03 +0000 +Checked in by : Robert Osfield +Removed redundent _nodePath entry. - * Added catch of window close +Thu, 10 Feb 2005 21:18:04 +0000 +Checked in by : Robert Osfield +From Chris Xennon, add support for billboard intersections + fix to addLineSegments.Small addition from Robert Osfield of setLODSelectionMode(..) to control +the LOD selection behavior. -2007-01-03 19:11 robert - * From Paul Martz, added export to fix Windows build -2007-01-03 17:26 robert +Thu, 10 Feb 2005 20:38:50 +0000 +Checked in by : Robert Osfield +From Igor Kravtchenko, new HDR plugin. - * Added setting of default backgroud colour of View's master colour - to be - consistent with the previous default colour used by SceneView +Thu, 10 Feb 2005 20:21:01 +0000 +Checked in by : Robert Osfield +warning fix -2007-01-03 17:25 robert +Thu, 10 Feb 2005 20:14:22 +0000 +Checked in by : Robert Osfield +Put pixel buffer define's into their own block. - * Removed setting of master camera colour +Thu, 10 Feb 2005 15:53:19 +0000 +Checked in by : Robert Osfield +Fixed the pixelFormat to be RGBA. -2007-01-03 16:32 robert +Thu, 10 Feb 2005 15:52:18 +0000 +Checked in by : Robert Osfield +Implemented the osg::Image::isImagTranslucent function. - * Changed the View's master camera projection matrix setting so - that it is - consistent with osgProducer::Viewer default setting. +Wed, 9 Feb 2005 16:18:44 +0000 +Checked in by : Robert Osfield +Changed the mpeg plugin to read movies the original way up rather than the OpenGL way up to keep them consistent with the xine and quicktime movie codes -2007-01-03 16:06 robert +Wed, 9 Feb 2005 15:31:33 +0000 +Checked in by : Robert Osfield +Created local XineImageStream class to ensure xine streams are cleaned up correctly. - * Improved the robustness of thread start and cancellation +Wed, 9 Feb 2005 14:27:54 +0000 +Checked in by : Robert Osfield +Added setting of the filename -2007-01-02 20:26 robert +Wed, 9 Feb 2005 13:22:23 +0000 +Checked in by : Robert Osfield +Added getenv OSG_XINE_AUDIO_DRIVER to xine plugin to allow users to set what the default audio to use - * Fixed the COPY_OP( Array, DEEP_COPY_ARRAYS); entry. +Wed, 9 Feb 2005 12:29:09 +0000 +Checked in by : Robert Osfield +Commented out the debug messages, added back in the audio into the xine plugin -2007-01-02 17:39 robert +Wed, 9 Feb 2005 11:30:42 +0000 +Checked in by : Robert Osfield +Added vertical offset to multiple movies instances - * Added support for different threading models in osgViewer::Viewer +Wed, 9 Feb 2005 10:39:45 +0000 +Checked in by : Robert Osfield +Added osg::BufferObject and a made a number associated to accomodate this new class. osg::BufferObject wraps up OpenGL pixel and array buffer objects. Currently implementation is work in progress. -2007-01-02 13:02 robert +Mon, 7 Feb 2005 20:45:52 +0000 +Checked in by : Robert Osfield +Removed the repeated entry of HiehgtFieldNode in include list - * Shifted the setting of thread safe ref/unref to earlier in the - main to - ensure that the Viewer's view is set up thread safe. +Mon, 7 Feb 2005 20:44:18 +0000 +Checked in by : Robert Osfield +From Paul Melis, fixed the setFrameStatsMode() method -2007-01-02 12:50 robert +Mon, 7 Feb 2005 17:28:03 +0000 +Checked in by : Robert Osfield +Added the full set of buffer object methods - * Added support for getting all windows and hiding the cursor +Mon, 7 Feb 2005 15:00:02 +0000 +Checked in by : Robert Osfield +Temporarily added xine video_out_rgb xine-plugin inline to the OSG's xine plugin -2007-01-02 12:19 robert +Sun, 6 Feb 2005 10:14:26 +0000 +Checked in by : Robert Osfield +Changed the LightSource::setReferenceFrame() read code so that it doesn't enable the culling active flag if its was already set to false. - * Switched off lighting in osgcatch. +Fri, 4 Feb 2005 20:36:50 +0000 +Checked in by : Robert Osfield +Turned off lighting. -2007-01-02 12:03 robert +Fri, 4 Feb 2005 19:34:46 +0000 +Checked in by : Robert Osfield +Added prototype xine movie plugin. - * Changed default multi-screen setup to set up for a flat wall - configuration +Fri, 4 Feb 2005 03:58:49 +0000 +Checked in by : Don BURNS +Updated IRIX dist generation file for IRIX binaries -2007-01-02 10:31 robert +Thu, 3 Feb 2005 13:10:03 +0000 +Checked in by : Robert Osfield +Change unsigned long to unsigned int to avoid 64/32 bit problems. - * Fixed version function names and comment strings +Wed, 2 Feb 2005 22:13:07 +0000 +Checked in by : Don BURNS +Added Viewport State Attribute to .osg reader/writer -2007-01-02 10:11 robert +Wed, 2 Feb 2005 15:08:55 +0000 +Checked in by : Robert Osfield +From, Leandro Motta Barros, Doxygen comments.Ammendments by Robert Osfield, a few comment rewrites to better reflect API functionality/usage. - * Added missing init() implementation -2007-01-02 09:54 robert - * Fixed path to osgViewer wrapper +Tue, 1 Feb 2005 22:36:05 +0000 +Checked in by : Robert Osfield +Added support for modulating alpha values -2007-01-01 20:01 robert +Tue, 1 Feb 2005 15:03:14 +0000 +Checked in by : Robert Osfield +Removed debugging messages. - * Added mouseWarped update +Tue, 1 Feb 2005 13:19:34 +0000 +Checked in by : Robert Osfield +Added support for OSG_CAMERA_THREADING env variable which is set to "SingleThreaded" will ensure that OsgCameraGroup runs singe threaded. -2007-01-01 18:20 robert +Tue, 1 Feb 2005 10:38:08 +0000 +Checked in by : Robert Osfield +Added support for internalTextureMode - * Various work on osgViewer library, including warp point and - graphics window resize support +Tue, 1 Feb 2005 09:38:07 +0000 +Checked in by : Robert Osfield +Added conversion of dataType to GL_UNSIGNED in raw data reading path. -2006-12-28 08:21 robert +Tue, 1 Feb 2005 09:02:01 +0000 +Checked in by : Robert Osfield +Added code for rescaling images. - * Removed GraphicsWindowProxy +Tue, 1 Feb 2005 09:00:32 +0000 +Checked in by : Robert Osfield +Added red, green, blue and alpha values. -2006-12-28 08:16 robert +Tue, 1 Feb 2005 09:00:10 +0000 +Checked in by : Robert Osfield +Added support for 8 parameters. - * Removed osgViewer::GraphicsWindowProxy as its was causing wrapper - compile - problems and also no longer has a key role in osgViewer. +Mon, 31 Jan 2005 20:09:24 +0000 +Checked in by : Robert Osfield +Added support for raw image formats -2006-12-27 23:32 robert +Fri, 28 Jan 2005 17:24:47 +0000 +Checked in by : Robert Osfield +Removed include of Producer/RenderSurface - * Updated wrappers +Fri, 28 Jan 2005 16:09:11 +0000 +Checked in by : Robert Osfield +From Tree, removed redundent "inline"s -2006-12-27 23:19 robert +Fri, 28 Jan 2005 11:01:11 +0000 +Checked in by : Robert Osfield +Added definitation for GL_COMPRESSED_* tokens for case where early OpenGL headers don't provide them. - * Updated wrappers +Thu, 27 Jan 2005 20:26:51 +0000 +Checked in by : Robert Osfield +Moved the template function into the global namespace. -2006-12-27 23:19 robert +Thu, 27 Jan 2005 20:18:49 +0000 +Checked in by : Robert Osfield +Fixes to osg::Image's handling of compressed formats. - * Tweaks from using a ReadWriteMutex& to a ReadWriteMutex* - parameter to avoid - problems with osgIntrospection generation. +Thu, 27 Jan 2005 15:54:10 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build -2006-12-27 20:23 robert +Thu, 27 Jan 2005 14:54:33 +0000 +Checked in by : Robert Osfield +Added /Zm 200 option to avoid heap problems - * Improved handling of window input ranges for single window apps +Thu, 27 Jan 2005 14:39:58 +0000 +Checked in by : Robert Osfield +From Nicolas Brodu, new faster osg::Quat::makeRotate(Vec3d,Vec3d) implmentation.From Robert Osfield, modes to osg::Quat to keep the original implmentation around +as makeRotate_original(,) and added tests into osgunittest to test the new +methods provide equivilant results to the original implemementation. The +orignal implementation will be removed once the new method is more widely tested. -2006-12-27 16:44 robert - * Removed old hack to disable multi-threaded cameras when particle - systems are present, - this is no longer required as osgParticle has now been made - thread safe. -2006-12-27 16:40 robert +Thu, 27 Jan 2005 13:23:46 +0000 +Checked in by : Robert Osfield +From Chris Hanson, minor tweaks to docs on getDescriptions. - * Added an osgDB::ReadWriteMutex to help manage the ability to have - serialize - write to objects but allow multiple threads to read at once in a - read only way. +Thu, 27 Jan 2005 13:15:21 +0000 +Checked in by : Robert Osfield +From Leandro Motta Barros, doxygen comments -2006-12-27 15:15 robert +Thu, 27 Jan 2005 11:18:33 +0000 +Checked in by : Robert Osfield +Changed template instances to template - * Updated to reflect changes to osgGA::EventQueue. +Thu, 27 Jan 2005 11:16:03 +0000 +Checked in by : Robert Osfield +Fixed tabbing. -2006-12-27 15:05 robert +Thu, 27 Jan 2005 11:10:50 +0000 +Checked in by : Robert Osfield +Changed Font::setSize to Font::setFontResolution - * Replaced the osgProducer dependencies by osgViewer for osgcatch - and osghangglide examples +Tue, 25 Jan 2005 22:15:40 +0000 +Checked in by : Robert Osfield +From Donn Mielcarek, change of long and unsigned long to int32 and uint32 to avoid 32bit vs 64bit issues. -2006-12-27 15:04 robert +Sat, 22 Jan 2005 16:55:48 +0000 +Checked in by : Robert Osfield +From Mason Menninger, addition of setTrackballSize() parameter. - * Added GraphicsWindowWin32 and GraphicsWindowCocoa classes, - curently not implmented, - but added as a placeholder for members of the community to step - forward and implement. +Sat, 22 Jan 2005 15:41:03 +0000 +Checked in by : Robert Osfield +From Leandro Motta Barros, Doxygen comments for OsgCameraGroup and Viewer. With a few small ammendments/additions from Robert Osfield. -2006-12-26 20:26 robert +Fri, 21 Jan 2005 21:00:33 +0000 +Checked in by : Robert Osfield +From Yuzhong Shen, removed repeated statements in Hit operator =. - * Ported osghangglider example to usg osgViewer +Fri, 21 Jan 2005 19:33:56 +0000 +Checked in by : Robert Osfield +From Kevin Moiule, rewrote PNM plugin to handle grayscale PNM images. -2006-12-26 17:38 robert +Fri, 21 Jan 2005 19:31:56 +0000 +Checked in by : Robert Osfield +build fix - * Various tweaks to keep in sync with new changes to osg::Timer and - osgGA::EventQueue +Fri, 21 Jan 2005 19:30:35 +0000 +Checked in by : Robert Osfield +From Tree, add get methods -2006-12-26 17:37 robert +Fri, 21 Jan 2005 19:28:50 +0000 +Checked in by : Robert Osfield +Change dhte CullSettings to be correct to new changes in osgProducer - * Added new adapter methods to EventQueue to allow the time value - of the - event to be specified. +Fri, 21 Jan 2005 19:21:01 +0000 +Checked in by : Robert Osfield +Fixed the input/output handling of ReferenceFrame values to be RELATIVE and ABSOLUTE rather than long original names. -2006-12-26 17:37 robert +Fri, 21 Jan 2005 19:15:13 +0000 +Checked in by : Robert Osfield +From Tugkan Calapoglu, bugfix to prevents reloading already loaded images. - * Aded new convinience methods to osg::Timer - s/getStartTick and - time_s(), time_m() etc - to help get time reletive the new start tick. +Wed, 12 Jan 2005 15:37:02 +0000 +Checked in by : Robert Osfield +From Rainer Oder, with additions from Robert. osgslice example which generates a 3d volume from a source geometry model. -2006-12-26 17:35 robert +Wed, 12 Jan 2005 10:32:36 +0000 +Checked in by : Robert Osfield +From Fredrick Mammond, fix to 64 bit build. - * Ported osgcatch to use osgViewer +Sun, 9 Jan 2005 19:30:56 +0000 +Checked in by : Robert Osfield +Added setImageReadFormat and setImageReadDataType methods to RenderToTextureStage to allow customization of what format/data type to read such as reading from the depth buffer etc. -2006-12-24 16:40 robert +Sat, 8 Jan 2005 10:21:49 +0000 +Checked in by : Robert Osfield +Tweaked the #define's of GL_ALPHA_MIN_SGIX and GL_ALPHA_MAX_SGIX to ensure compilation across OGL drivers. - * Unified the osg::GraphicsThread::Operation and - osg::GraphicsContext::Operation classes - as osg::GraphicsOperation. Unpdated parts of OSG depending upon - these. - - Added a virtaul bool valid() method to osg::GraphicsContext to - allow apps to - test whether a valid graphis context has been created or not. +Fri, 7 Jan 2005 20:36:04 +0000 +Checked in by : Robert Osfield +From Per Fahlberg, support for 16bit imagery. -2006-12-22 21:53 robert +Fri, 7 Jan 2005 20:24:36 +0000 +Checked in by : Robert Osfield +From Kevin Moule, fix to memory overwrite error. - * Added support for sample and sampleBuffers to - osg::GraphicsContext::Traits and - cleaned up the Traits naming +Fri, 7 Jan 2005 20:01:06 +0000 +Checked in by : Robert Osfield +From Tree, change to naming of plugins when building OSG with Java to avoid conflicts. -2006-12-22 21:52 robert +Fri, 7 Jan 2005 19:00:40 +0000 +Checked in by : Robert Osfield +From Tree, moved GL_ #define's out of osg namespaces - * Added mutexes to ParticleProcessor and ParticleSystemUpdater to - improve the thread safety of osgParticle +Fri, 7 Jan 2005 14:31:33 +0000 +Checked in by : Robert Osfield +Fixed crash in osgUtl::Simplifier which was due to an dereference of an empty array. -2006-12-22 17:46 robert +Wed, 5 Jan 2005 17:14:38 +0000 +Checked in by : Robert Osfield +Cleaned up the types. - * Implemented perliminary multi-threading support in - osgViewer::Viewer +Wed, 5 Jan 2005 16:16:52 +0000 +Checked in by : Robert Osfield +From Fredric Mammond, fix for build using full extension checked mechansim -2006-12-22 16:49 robert +Mon, 3 Jan 2005 16:42:27 +0000 +Checked in by : Robert Osfield +From Fredric Mammond, addid osgblendequation and osglogicop examples. - * Replaced osgProducer dependency by osgViewer +Mon, 3 Jan 2005 16:39:28 +0000 +Checked in by : Robert Osfield +From Fredric Mammond, added new osg::BlendEquation state attribute wrapping up glBlendEquation. -2006-12-22 16:48 robert +Mon, 3 Jan 2005 13:49:35 +0000 +Checked in by : Robert Osfield +From Marco Jez, fixed handling of loading of relative file paths. - * Removed now redundent OSG_EXPORT to solve build problems under - Windows +Mon, 3 Jan 2005 12:27:58 +0000 +Checked in by : Robert Osfield +Added stripping of trailing spaces to readline call to fix problems associated with eroneous spaces hanging around at ends of lines causing string matching problems -2006-12-22 08:42 robert +Mon, 3 Jan 2005 11:20:21 +0000 +Checked in by : Robert Osfield +Added check against ac as extension. - * Removed Vec3.cpp and UnitTestFramework.cpp as these files now - live in examples/osgunittests +Fri, 17 Dec 2004 22:31:54 +0000 +Checked in by : Don BURNS +Changed INST_LOCATION = to INST_LOCATION ?= -2006-12-21 17:23 robert +Fri, 17 Dec 2004 20:51:55 +0000 +Checked in by : Don BURNS +Added computeBound to osg::Switch, which now checks to see if a child is enabled before computing its bound. - * Added basic support for DatabasePager into osgViewer::Viewer +Fri, 17 Dec 2004 01:06:33 +0000 +Checked in by : Robert Osfield +Property API clean to smooth the task of generating wrappers. -2006-12-21 16:56 robert +Thu, 16 Dec 2004 06:15:34 +0000 +Checked in by : Robert Osfield +Provisional lists for what are likely to, and not likely to have wrappers automatically generated easily - * Moved rendering support into GraphisContext, - osgViewer::Viewer/View, and - added frame stamp updating and update traversal to - osgViewer::Scene/Viewer. - - Updated osgcamera example to use new Viewer API calls instead of - using local - rendering calls. +Wed, 15 Dec 2004 04:49:05 +0000 +Checked in by : Robert Osfield +Added missing files -2006-12-21 12:24 robert +Tue, 14 Dec 2004 03:12:18 +0000 +Checked in by : Robert Osfield +Removed redundent cont qualification - * Cleaned up the includes in the GraphicsWindowX11 header +Tue, 14 Dec 2004 01:38:45 +0000 +Checked in by : Robert Osfield +From Fredric Marmond, fix to gcc3.4 build -2006-12-21 12:19 robert +Mon, 13 Dec 2004 04:54:20 +0000 +Checked in by : Robert Osfield +From Frederic Marmond, add osg::LogicOp for support for glLogicOp. - * Moved the implementation of GraphicsWindowX11 from the head into - the src/osgViewer directory. +Mon, 13 Dec 2004 02:39:47 +0000 +Checked in by : Robert Osfield +From Marco, fixes to osgIntrospection and related libs -2006-12-21 11:20 robert +Mon, 13 Dec 2004 01:07:24 +0000 +Checked in by : Robert Osfield +Teaks to API to make it easier to generate wrappers automatically - * Improved the handling of moving the mouse pointer across screens, - and add - grab focus support that honours where the mouse pointer was - originally. +Mon, 13 Dec 2004 01:06:56 +0000 +Checked in by : Robert Osfield +Fixed project name -2006-12-21 09:01 robert +Sun, 12 Dec 2004 22:27:20 +0000 +Checked in by : Robert Osfield +Changed RELATIVE_RF to ABSOLUTE_RF to fix bug introduced when naming was changed from RELATIVE_TO_ABSOLUTE to new convention - * Removed erroneous double GraphicsContext:: +Fri, 10 Dec 2004 03:37:33 +0000 +Checked in by : Robert Osfield +Added extra set methods to match get's to make then symetric proporties -2006-12-21 08:54 robert +Thu, 9 Dec 2004 05:29:10 +0000 +Checked in by : Robert Osfield +Added Make support for new osgIntrospecxtion libs - * Fixed path +Thu, 9 Dec 2004 05:28:20 +0000 +Checked in by : Robert Osfield +Added Marco Jez's osgIntrospection + osgWrapper libs with osgintrospection example -2006-12-20 21:13 robert +Thu, 9 Dec 2004 00:02:57 +0000 +Checked in by : Don BURNS +added 'sh' to command line to ensure that the script runs regardless of permissions - * Further work osgViewer::Viewer and related classes. +Wed, 8 Dec 2004 19:45:07 +0000 +Checked in by : Don BURNS +Update of IVe version files -2006-12-19 17:40 robert +Tue, 7 Dec 2004 00:42:21 +0000 +Checked in by : Don BURNS +Spelling errors fixed by Brede Johansen - * From Roger James, "Here is the version of daeWMaterials.cpp with - fixes for case insensitive path names on Windows. Nobody has - complained to me about them since I posted them on the users list - last week." +Mon, 6 Dec 2004 19:32:59 +0000 +Checked in by : Don BURNS +Changed the strcmp() to use std::string instead. -2006-12-19 17:30 robert +Sun, 5 Dec 2004 00:16:49 +0000 +Checked in by : Don BURNS +Post-tag revision variable change - * From Mathias Fröhlich, "I have a small update to the 'non convex - polygon detection' in the ac3d loader - that is used to tell if tesselation is required or if we will - better leave a - polygon as is. It is still not perfect but catches some more - cases." +Sun, 5 Dec 2004 00:03:43 +0000 +Checked in by : Don BURNS +CHanged version in makedefs for - 2 revision -2006-12-19 17:16 robert +Sat, 4 Dec 2004 23:59:16 +0000 +Checked in by : Don BURNS +Removed old RPM spec files. This shouldn't be in the repository as they are generated by the make distribution script, which is broken also. - * From Paul Martz, "minor code comment cleaup/rewording" +Sat, 4 Dec 2004 23:38:24 +0000 +Checked in by : Don BURNS +Update version numbers in files -2006-12-19 17:06 robert +Thu, 2 Dec 2004 21:50:53 +0000 +Checked in by : Don BURNS +Post release adjustment of revision - * Moved UnitTestFramework from core osg lib into osgunittests - example +Thu, 2 Dec 2004 21:49:58 +0000 +Checked in by : Don BURNS +Added tagrules for 'make tag' convenience Updated makedefs for release/revision -2006-12-19 16:47 robert +Thu, 2 Dec 2004 21:28:40 +0000 +Checked in by : Don BURNS +fixed CameraPacket to allocate on the heap instead of the stack, which was causing crashes. - * Updated wrappers +Thu, 2 Dec 2004 17:44:50 +0000 +Checked in by : Don BURNS +Memory leak spotted and fixed by Sebastien Grignard -2006-12-19 16:47 robert +Tue, 30 Nov 2004 18:13:53 +0000 +Checked in by : Don BURNS +Added Mike's submission to Authors - * Added Copyright notice +Mon, 29 Nov 2004 18:59:36 +0000 +Checked in by : Don BURNS +Added pragma to shut VS 6 up. -2006-12-19 16:45 robert +Mon, 29 Nov 2004 05:47:16 +0000 +Checked in by : Don BURNS +Small clean up of commented code - * Added support for traversal mask into ElevationSlice, - HeightAboveTerrain and LineOfSight classes +Mon, 29 Nov 2004 05:32:04 +0000 +Checked in by : Don BURNS +Comprimise for Visual Studio 6 by using 'using namespace OpenThreads'. -2006-12-19 16:12 robert +Mon, 29 Nov 2004 03:05:27 +0000 +Checked in by : Don BURNS +Fixes for SOlaris build - * Added osgViewer::Viewer / osgViewer::GraphicsWindowsX11 usage. +Mon, 29 Nov 2004 01:12:25 +0000 +Checked in by : Don BURNS +Fixes for IRIX build -2006-12-19 16:00 robert +Sun, 28 Nov 2004 23:49:01 +0000 +Checked in by : Don BURNS +Changes for IRIX build - * Added initial GraphicsWindowX11 implementation, and fleshed out - more of the - osgViewer and osg::GraphicsContext/osg::View infrastructure. +Sun, 28 Nov 2004 17:11:21 +0000 +Checked in by : Don BURNS +Added visual studio files for osgspotlight example (Mike Weiblen) Updated NEWS.txt for release -2006-12-17 20:49 robert +Sat, 27 Nov 2004 20:35:19 +0000 +Checked in by : Don BURNS +Fixed osgDB:: prefix for Windows build - * Added support WindowingSystemInterface for querring the number of - screens, the screen size and creating GraphicsContexts. +Sat, 27 Nov 2004 19:23:41 +0000 +Checked in by : Don BURNS +Added Marco's fix for data path for the .ive plugin -2006-12-15 17:27 robert +Sat, 27 Nov 2004 19:20:32 +0000 +Checked in by : Don BURNS +Fixed bug in .net loader. Added hostname to file fetch. - * Added ViewPoint support into - NodeVistor/CullStack/CullVisitor/LOD/PagedLOD etc to facilate - management of LOD settings for RTT cameras. +Sat, 27 Nov 2004 17:06:44 +0000 +Checked in by : Don BURNS +Fixed reference to install instructions -2006-12-14 21:15 robert +Fri, 26 Nov 2004 21:35:36 +0000 +Checked in by : Robert Osfield +Added missing OSG_SCREEN_WIDTH docs - * From Brede Johansen, "New option "cloneExternalReferences" for - OpenFlight plugin" +Fri, 26 Nov 2004 21:14:18 +0000 +Checked in by : Robert Osfield +Updates news for release -2006-12-14 16:13 robert +Fri, 26 Nov 2004 20:46:55 +0000 +Checked in by : Robert Osfield +Updates to ChangeLog and doxygen file - * From Orhun Birsoy, "In SimpleViewer::frameUpdateTraversal - function, orthographicCamera calculation has some typos. It - should read - bool orthographicCamera = (pm(0,3)==0.0) && (pm(1,3)==0.0) && - (pm(2,3)==0.0) && (pm(3,3)== 1.0); " +Fri, 26 Nov 2004 19:27:23 +0000 +Checked in by : Robert Osfield +Added /Zm200 to avoid heap size problems under VS6.0 -2006-12-14 14:44 robert +Fri, 26 Nov 2004 16:01:04 +0000 +Checked in by : Robert Osfield +Addd high level introductory docs for all the libs - * From Andy Skinnder, warning fix +Fri, 26 Nov 2004 16:00:40 +0000 +Checked in by : Robert Osfield +Clean up doxygen files for release -2006-12-13 21:15 robert +Thu, 25 Nov 2004 15:57:00 +0000 +Checked in by : Robert Osfield +Added /Zm200 to avoid VS 6.0 dump arse compile errors - * Removed debug output files +Thu, 25 Nov 2004 15:09:56 +0000 +Checked in by : Robert Osfield +Fixed caching of archives -2006-12-13 17:39 robert +Thu, 25 Nov 2004 13:59:25 +0000 +Checked in by : Robert Osfield +Reordered the core libraries to try and get round compile order problems under VisualStudio 6.0 - * Commented out debug messages +Thu, 25 Nov 2004 09:51:26 +0000 +Checked in by : Robert Osfield +Added LFS support to gcc linux build -2006-12-13 16:41 robert +Wed, 24 Nov 2004 21:39:28 +0000 +Checked in by : Robert Osfield +cleaned up debug info - * Further improvements to handling of multiple z values +Wed, 24 Nov 2004 21:10:48 +0000 +Checked in by : Robert Osfield +updated NEWS and ChangeLog -2006-12-12 21:48 robert +Wed, 24 Nov 2004 19:41:36 +0000 +Checked in by : Robert Osfield +Clean up of output - * Improvements to handling of multiple z value regions +Wed, 24 Nov 2004 19:10:44 +0000 +Checked in by : Robert Osfield +from Mike Weiblen, added wrap mode to planet texture to avoid black seam, and add option of specifying the texture to use in osgshape. -2006-12-07 22:20 robert +Wed, 24 Nov 2004 15:41:36 +0000 +Checked in by : Robert Osfield +Fixed typo in acceptsExtension - * Improved the filtering of overlapping and vertical line segments +Wed, 24 Nov 2004 06:57:34 +0000 +Checked in by : Robert Osfield +Moved the initPeformer to the constructor to avoid const issues when compiling -2006-12-07 15:48 robert +Tue, 23 Nov 2004 23:47:25 +0000 +Checked in by : Robert Osfield +Fixed VS.NET warnings - * Fixed copyright notice +Tue, 23 Nov 2004 23:45:41 +0000 +Checked in by : Robert Osfield +Fixed recursive call -2006-12-07 10:16 robert +Tue, 23 Nov 2004 17:07:48 +0000 +Checked in by : Robert Osfield +From Fabien Dachicourt, bug fix to addChild(node,value) - * From Luigi Calori, "In order to effectively use --image-ext and - to add -O "plugin options", - some fix to osgdem.cpp and osgTerrain/DataSet.cpp - - These mods should allow to build terrains controlling jpeg - compressed - imagery embedded in ive files, using something like: - - osgdemd --image-ext jpeg --RGB_24 -O "JPEG_QUALITY 20 - compressImageData" ......." +Tue, 23 Nov 2004 16:52:59 +0000 +Checked in by : Robert Osfield +From John Shue, reordering of tiffio.h to avoid compile error. -2006-12-07 10:09 robert +Tue, 23 Nov 2004 15:29:52 +0000 +Checked in by : Robert Osfield +Made read/write methods in ReaderWriter all const to facilate multi-threading - * From Geoff Michel, "I was getting triangulations with the - previous delaunay triangulator, but it seems I may have been - picking up the wrong coordinates or an old version of my test - file (that version is OK when no coordinates lie outside the - 'terrain' zone). This version is much stricter about memory - handling and insertion of extra points." +Tue, 23 Nov 2004 12:57:00 +0000 +Checked in by : Robert Osfield +Tripped out experiemental threadSafe_ methods in ReaderWriter -2006-12-06 21:39 robert +Tue, 23 Nov 2004 10:46:37 +0000 +Checked in by : Robert Osfield +Added support for local relative paths - * From Gerrick Bivins, fixed newly introduced texture setup bug. +Mon, 22 Nov 2004 23:54:45 +0000 +Checked in by : Robert Osfield +Moved plugins across to using ReaderWriter::Options* for search paths in addition to standard osgDB::DataFilePaths -2006-12-06 21:29 robert +Mon, 22 Nov 2004 14:49:27 +0000 +Checked in by : Robert Osfield +Removed the cache hints from registery placing them wholly into ReaderWriter's responsibility. - * Improved the handling of overlapping line segments. +Mon, 22 Nov 2004 14:10:12 +0000 +Checked in by : Robert Osfield +Moved Registry::CacheHintOptions into ReaderWriter::Options -2006-12-06 15:18 robert +Mon, 22 Nov 2004 13:58:57 +0000 +Checked in by : Robert Osfield +From Rainer Oder, improvements to planet motions - * From Riccardo Corsi, add VS6.0 project file for new quicktime - windows port +Sat, 20 Nov 2004 13:35:49 +0000 +Checked in by : Robert Osfield +Changed ReaderWriter::Options to derive from osg::Object to add clone() ability. -2006-12-06 14:17 robert +Sat, 20 Nov 2004 12:08:33 +0000 +Checked in by : Robert Osfield +Added support for pixel based LOD's and set the default priority scale to 1.0 - * From Rick Pingry, "n my application I am walking through the - scene graph looking for nodes of a specific name. I noticed there - were times when some of the nodes were not named what I had - expected. Upon reviewing the code, I noticed this was happening - when there was a forward reference to a parented object. - - The existing code uses a map with object ID's. The original code - only applied the name to a node for a new ID only if the node did - not already exist in the map. The problem was that there was - another part of the code (when a parent was forward declared) - that also created the node with the ID in the map, but it did not - know its name. I simply made sure that the name was set - regardless of whether or not the node was already in the map. " +Sat, 20 Nov 2004 11:48:28 +0000 +Checked in by : Robert Osfield +Added support for pixel range to PagedLOD -2006-12-05 22:10 robert +Sat, 20 Nov 2004 11:48:01 +0000 +Checked in by : Robert Osfield +Fixed indentation. - * Updated wrappers +Sat, 20 Nov 2004 11:45:14 +0000 +Checked in by : Robert Osfield +From Johan Nouvel, added support for range mode -2006-12-05 20:30 robert +Sat, 20 Nov 2004 10:36:16 +0000 +Checked in by : Robert Osfield +From John Shue, fix for FreeBSD. - * Checked in remaining element from Brede Johansen changes for - clmapToEdge reader option. +Fri, 19 Nov 2004 20:05:14 +0000 +Checked in by : Robert Osfield +Added _lockCount>0 check to lock,unlock and trylock to make sure that it is set properly on first time entry. -2006-12-05 17:30 robert +Fri, 19 Nov 2004 09:02:00 +0000 +Checked in by : Robert Osfield +Removed notify from destructor wait for cancel loop. - * From Stephan Huber, "minor bugfixes for the quicktime-plugin" +Fri, 19 Nov 2004 08:47:14 +0000 +Checked in by : Robert Osfield +Added std:: infront of getline calls -2006-12-05 17:27 robert +Thu, 18 Nov 2004 22:43:50 +0000 +Checked in by : Robert Osfield +Made the permissions executable - * From Gerrick Bivins, "Changes: - --merged with fixes for texture coordinates(is this in CVS/SVN - already)? - --changed above mentioned fix output level from osg::NOTIFY to - osg::DEBUG_INFO - --added support for VRML97 ImageTextures. - --changed pointers to ref_pointers where possible. - --added format (method separated by "//////") for easier - reading." +Thu, 18 Nov 2004 22:14:08 +0000 +Checked in by : Robert Osfield +Updated ChangedLog and NEWS -2006-12-05 17:10 robert +Thu, 18 Nov 2004 22:13:13 +0000 +Checked in by : Robert Osfield +Removed the public open methods - * From Roger James,"I have had another go at the windows specific - file name handling in daeWMaterials.cpp. I think I have arrived - at a temporary compromise. - - I have decided to just normalise the drive letter part of file - names for the time being and also ensure that names of the format - x:/xxxxx are treated as absolute paths. This will cover a lot of - cases. - - I have raised a bug against collada which hopefully should - resolve some others. However there are some pathological cases - which I have commented on in the code, these will probably never - work properly unless there is a significant rewrite of the daeURI - functionality. Hopefully they are rare." +Thu, 18 Nov 2004 22:12:43 +0000 +Checked in by : Robert Osfield +Added all core libraries -2006-12-05 16:45 robert +Thu, 18 Nov 2004 21:53:31 +0000 +Checked in by : Robert Osfield +Added osgText dependency to osglauncher. - * From Rein Kadijk, "While displaying a certain scene, OsgEdit - crashed in ProxyNode::traverse() in file - OSG_OP_OT-1.2\OpenSceneGraph\src\osg\proxynode.cpp. - It turned out that nv.getDatabaseRequestHandler() returned NULL; - using this pointer to call one of DatabaseRequestHandler's - methods is of course illegal. - I patched it by adding: if (nv.getDatabaseRequestHandler())" - - From Robert Osfield, reordered the addition of the - nv.getDatabaseRequestHandler() check to allow the - default traverse() to be called when no database handling is - attached to the visitor. +Thu, 18 Nov 2004 20:20:00 +0000 +Checked in by : Robert Osfield +Added dsp's for osglauncher and osgplanets. -2006-12-05 16:29 robert +Thu, 18 Nov 2004 16:25:14 +0000 +Checked in by : Robert Osfield +Removed old and used FileUtils_Mac.cpp - * From Stephan Huber and Riccardo Corsi, port of QuickTime plugin - to Windows +Thu, 18 Nov 2004 16:21:08 +0000 +Checked in by : Robert Osfield +Added osglancher and osgplanets to example set. -2006-12-05 15:41 robert +Thu, 18 Nov 2004 16:20:48 +0000 +Checked in by : Robert Osfield +Changed debugging info to use osg::notify - * Added use of typedef to help clean up the readability a little - and replaced a copy list with a reference. +Thu, 18 Nov 2004 15:10:24 +0000 +Checked in by : Robert Osfield +Added write to file and use of clearnode -2006-12-05 15:31 robert +Thu, 18 Nov 2004 15:01:41 +0000 +Checked in by : Robert Osfield +Increased accuracy of animation path, moved main to end. - * From Sylvain Marie, "changed raw pointers to smart pointers in - the dxfBlock, dxfTables and - dxfSection classes, so their members data are correctly deleted. - - changed some methods signatures to pass arguments by reference - instead of - by value. The performance and memory usage are enhanced (the - reader was - clogging the heap when reading some large DXF files) - - The updated files have been compiled and tested with a variety of - DXF files - on XP with VS2003, but the changes should not disturb any other - compiler." +Thu, 18 Nov 2004 14:43:07 +0000 +Checked in by : Robert Osfield +Changed Solarsystem to SolarSystem. -2006-12-05 14:58 robert +Thu, 18 Nov 2004 13:46:13 +0000 +Checked in by : Robert Osfield +Added a search for the config file, and defaulting to osg.conf - * From Chris McGlone, "PlygonZ copy constructor: added allocation - and copying of zarray" +Thu, 18 Nov 2004 13:34:31 +0000 +Checked in by : Robert Osfield +Changed path to imagery from Images/SolarSystem to SolarSystem. -2006-12-05 14:50 robert +Thu, 18 Nov 2004 12:07:28 +0000 +Checked in by : Robert Osfield +Added friend usage for inner classes to try and get round compile problems under Solaris. - * From Bryan Thrall, "Currently, the DatabasePager always loads - requested Nodes using the - default Registry Options object, but it would be useful to be - able to - request loading with a different Options object. The attached - files - allow you to do that (based off the OSG 1.2 source). - - For example, I'm implementing a loader that requires context - information - when it pages in subgraphs, which becomes significantly - complicated when - multiple scenegraphs are requesting subgraph loads with different - contexts (the loader needs to know which context to use, and the - Registry Options needs to be carefully managed so the context - settings - don't clobber each other, especially in multithreaded - situations). Being - able to pass an Options instance along with the Node request - resolves - this problem." +Thu, 18 Nov 2004 11:53:51 +0000 +Checked in by : Robert Osfield +Added check for extension. -2006-12-05 14:28 robert +Thu, 18 Nov 2004 11:21:51 +0000 +Checked in by : Robert Osfield +Fixed writeImage. - * From Brede Johansen, "added a new reader option to replace the - texture - wrap mode CLAMP with CLAMP_TO_EDGE." +Thu, 18 Nov 2004 10:08:29 +0000 +Checked in by : Robert Osfield +From Vivek Rajan, fixes to Solaris build. -2006-12-05 13:06 robert +Thu, 18 Nov 2004 09:19:15 +0000 +Checked in by : Robert Osfield +Altered the path for Cygwin to set the _ticksPerSecond to the correct value. - * Updated wrappers +Thu, 18 Nov 2004 09:09:22 +0000 +Checked in by : Robert Osfield +From Stephane Simon, compile fix for VS, change struct to class in forward declaration. -2006-12-05 12:58 robert +Wed, 17 Nov 2004 20:01:51 +0000 +Checked in by : Robert Osfield +From Rainer Oder, updates to osglauncher. - * Added more accurate computation of local height above sea level - in the plane intersections routines +Wed, 17 Nov 2004 19:31:02 +0000 +Checked in by : Robert Osfield +Changed the dependencies file to use ?= instead of = to allow env vars to override local settings. -2006-12-04 17:31 robert +Wed, 17 Nov 2004 14:56:08 +0000 +Checked in by : Robert Osfield +From Thom DeCarlo, fixes for Cygwin build - * Improved the calculation of distance around the globe within the - ElevationSlice routine. +Wed, 17 Nov 2004 14:25:17 +0000 +Checked in by : Robert Osfield +Made a few of the public methods virtual, and moved more of the class methods to protected scope. -2006-12-04 12:36 robert +Wed, 17 Nov 2004 13:04:42 +0000 +Checked in by : Robert Osfield +Removed remaining old docs. - * Added preliminary support for generating distance, height lists - for ElevationSlice. +Wed, 17 Nov 2004 13:03:34 +0000 +Checked in by : Robert Osfield +Removed doc++ docs from distrubtion. -2006-12-03 12:52 robert +Wed, 17 Nov 2004 13:00:16 +0000 +Checked in by : Robert Osfield +Removed mind maps docs - * Cleaned up debugging info. +Wed, 17 Nov 2004 12:58:50 +0000 +Checked in by : Robert Osfield +Moved the main documentation onto the wiki website, and removed from the OpenSceneGraph distribution -2006-12-03 11:44 robert +Tue, 16 Nov 2004 16:04:05 +0000 +Checked in by : Robert Osfield +Fixed typo of ReadObjectFunctor. - * Added copying of plane to surface intersections in the - osgUtil::PlaneIntersector class, and update wrappers. +Tue, 16 Nov 2004 15:36:06 +0000 +Checked in by : Robert Osfield +Adde another friend to remove final VS6.0 compile problem. -2006-12-03 11:09 robert +Tue, 16 Nov 2004 14:35:29 +0000 +Checked in by : Robert Osfield +Attempted fix for VS6.0 compile problems - * Added osgSim to osgintersection dependency list. +Tue, 16 Nov 2004 14:21:02 +0000 +Checked in by : Robert Osfield +Removed debug info as it was causing VS6.0 compile problem -2006-12-01 15:19 robert +Tue, 16 Nov 2004 14:20:39 +0000 +Checked in by : Robert Osfield +From David Spilling, fix for VS6.0 build. - * Added support for placing a base in the scene to shadow against +Tue, 16 Nov 2004 14:10:30 +0000 +Checked in by : Robert Osfield +Made the inner helper classes friend to try and get round VS6.0 problems -2006-11-30 18:42 robert +Tue, 16 Nov 2004 12:40:45 +0000 +Checked in by : Robert Osfield +Added using namespace osgDB to try and resolve some of the VS6.0 problems. - * Fixed typo and updated wrappers +Tue, 16 Nov 2004 09:09:31 +0000 +Checked in by : Robert Osfield +Added osgText dependency to osgsequence app -2006-11-30 18:33 robert +Tue, 16 Nov 2004 09:03:24 +0000 +Checked in by : Robert Osfield +From Loic Dachary, changes to Timer for PowerPC support, with small re-arrangement by Robert Osfield to make tick() code block mode readable. - * Improved the edge normal computation +Mon, 15 Nov 2004 19:53:22 +0000 +Checked in by : Robert Osfield +From Loic Dachary, added pk-config file. -2006-11-30 16:55 robert +Mon, 15 Nov 2004 19:46:10 +0000 +Checked in by : Robert Osfield +Added support for serialization of calls to ReaderWriter plugins. - * Checked in new .plists' +Mon, 15 Nov 2004 19:45:27 +0000 +Checked in by : Robert Osfield +Added -pipe to gcc build under Linux -2006-11-30 16:30 robert +Mon, 15 Nov 2004 19:44:35 +0000 +Checked in by : Robert Osfield +From osgplaents, updates to more of the solar systems planets. - * Basic shadow volume alogirthm implemented in example. +Mon, 15 Nov 2004 13:08:46 +0000 +Checked in by : Robert Osfield +Added ReentrantMutex -2006-11-30 12:05 robert +Mon, 15 Nov 2004 13:02:43 +0000 +Checked in by : Robert Osfield +From Tree, fixes for Java bindings - * Added dynamic updating of light position and multi-pass addition - of ambient and diffuse lighting +Mon, 15 Nov 2004 12:05:27 +0000 +Checked in by : Robert Osfield +Added osgspotlight to example set. -2006-11-30 12:04 robert +Mon, 15 Nov 2004 12:03:33 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlien, improved osgsequence example - * Fixed shadow volume geometry handling of direcitonal lights +Mon, 15 Nov 2004 11:57:41 +0000 +Checked in by : Robert Osfield +Added osgDB::ReentrantMutex is prep for making osgDB::Registry single threaded. -2006-11-30 10:29 robert +Sun, 14 Nov 2004 21:08:10 +0000 +Checked in by : Robert Osfield +From Loic Dachary, added getFileName method - * Added movement of the light source to test performance of update - the shadow volumes +Sun, 14 Nov 2004 20:00:30 +0000 +Checked in by : Robert Osfield +Added Cygwin to #define stat64 stat path. -2006-11-29 22:00 robert +Sun, 14 Nov 2004 17:02:30 +0000 +Checked in by : Robert Osfield +Added COMPILE_OSG_OP_OT_WITH_SONAMES is YES guard around soname settings. - * Added handling of loops +Sun, 14 Nov 2004 16:36:27 +0000 +Checked in by : Robert Osfield +Added sonames support under Linux/gcc -2006-11-29 21:43 robert +Sun, 14 Nov 2004 10:41:48 +0000 +Checked in by : Robert Osfield +Made the use of the standard clock default instead of the RDTSC calls to avoid problems with variable CPU frequency such as found on laptops. - * Added plane to triangle intersections and segment combining, work - still not complete though. +Sat, 13 Nov 2004 22:04:26 +0000 +Checked in by : Don BURNS +PowerPC fix for Timer by Guillaume Morin -2006-11-29 20:10 robert +Sat, 13 Nov 2004 21:42:45 +0000 +Checked in by : Robert Osfield +Fixed warnings. - * From Per Fahlberg, added support for writing 16-bit rgb images +Sat, 13 Nov 2004 21:39:29 +0000 +Checked in by : Robert Osfield +Added support for opening an istream archive -2006-11-29 14:33 robert +Sat, 13 Nov 2004 16:21:48 +0000 +Checked in by : Robert Osfield +Added prelimarny support for reading archives via the .net plugin - * Updated wrappers +Sat, 13 Nov 2004 16:18:15 +0000 +Checked in by : Robert Osfield +Fixed the passing of the parsed server name/server file when handling files via the .net plugin -2006-11-29 14:21 robert +Sat, 13 Nov 2004 10:24:07 +0000 +Checked in by : Robert Osfield +Fixed openArchive so that it only enforces the checking of the archive's existance when in READ mode. - * Further work on PlaneIntersector +Fri, 12 Nov 2004 21:07:17 +0000 +Checked in by : Robert Osfield +Remove unistd.h include -2006-11-29 11:00 robert +Fri, 12 Nov 2004 16:36:53 +0000 +Checked in by : Robert Osfield +Added --image and --dem documentation to command line parameters - * Added dummy virtual method implementations +Fri, 12 Nov 2004 15:39:18 +0000 +Checked in by : Robert Osfield +Rotated scene to face the viewer -2006-11-29 10:51 robert +Fri, 12 Nov 2004 14:49:22 +0000 +Checked in by : Robert Osfield +From Ulrich Heirtlein, added STL plugin - * Cleaned up inheritance +Fri, 12 Nov 2004 08:55:11 +0000 +Checked in by : Robert Osfield +Improvements to support for archives -2006-11-29 09:18 robert +Thu, 11 Nov 2004 22:26:07 +0000 +Checked in by : Robert Osfield +From Stephane Simon, added missing OSGDB_EXPORT to osgDB::openArchive functions - * Ran unix2dos to get rid of unix line ending +Thu, 11 Nov 2004 16:05:55 +0000 +Checked in by : Robert Osfield +Added write to ostream to ReaderWriterDDS -2006-11-28 20:45 robert +Thu, 11 Nov 2004 16:05:30 +0000 +Checked in by : Robert Osfield +Fixed file extraction. - * Still required for backwards compatibility +Thu, 11 Nov 2004 13:22:55 +0000 +Checked in by : Robert Osfield +Moved the .osga implementation into the src/osgPlugins/osga plugin and made osgDB::Archive a pure virtual base class. -2006-11-28 20:37 robert +Wed, 10 Nov 2004 22:11:28 +0000 +Checked in by : Robert Osfield +Fixed uninitialized variable. - * Updated wrappers +Wed, 10 Nov 2004 21:52:30 +0000 +Checked in by : Robert Osfield +Set the pos_type and size_type explictly to 8 byte types. -2006-11-28 20:35 robert +Wed, 10 Nov 2004 21:47:08 +0000 +Checked in by : Robert Osfield +Added debugging info for swapped endian values - * Fixed build errors in osgViewer +Wed, 10 Nov 2004 21:38:54 +0000 +Checked in by : Robert Osfield +Fixes to endian handling. -2006-11-28 19:25 robert +Wed, 10 Nov 2004 21:31:44 +0000 +Checked in by : Robert Osfield +Removed duplicated swap bytes - * From Zach Deedler, added missing IntersectionVisitor +Wed, 10 Nov 2004 21:28:06 +0000 +Checked in by : Robert Osfield +Added sizeof tests of istream::pos_type and off_type to osgunittests.Added debuggin messages to endian handling code in Archive::open(). -2006-11-28 16:50 robert - * Removed redundent wrapper -2006-11-28 16:49 robert +Wed, 10 Nov 2004 21:18:31 +0000 +Checked in by : Robert Osfield +Added check for endianess of .osga archives - * Updated wrappers +Wed, 10 Nov 2004 16:56:58 +0000 +Checked in by : Don BURNS +More cleanups for CYGWIN from Norman Vine -2006-11-28 16:30 robert +Wed, 10 Nov 2004 16:40:08 +0000 +Checked in by : Robert Osfield +Added new osga plugin for reading OSG native archives - * Moved osgUtil::PolytopeIntersector, osgUtil::PlaneIntersector and - osgUtil::LineSegmentIntersector out from - include/osgUtil/IntersecionVisitor into their own seperate files. +Wed, 10 Nov 2004 16:37:02 +0000 +Checked in by : Robert Osfield +Commented out some redundent debuggin info. -2006-11-28 16:00 robert +Wed, 10 Nov 2004 13:47:22 +0000 +Checked in by : Robert Osfield +Moved the ReadFunctor to protected section. - * Added support for float or double osg::Plane, and the default - osg::Plane to double. - Performance tests on big models did not indicate any performance - penalty in using doubles over floats, - so the move to doubles should mainly impact precision - improvements for whole earth databases. - - Also made improvements to osgUtil::PlaneIntersector and - osgSim::ElevationSlice classes +Wed, 10 Nov 2004 13:03:52 +0000 +Checked in by : Robert Osfield +Added support for master file and clean up Archive API. -2006-11-28 11:10 robert +Wed, 10 Nov 2004 10:57:03 +0000 +Checked in by : Robert Osfield +Removed the explicit setting for convert to geocentric when setting --bluemarlbe-west, --bluemarble-east and --whole-globe. - * Fixed fade text memory consumption bug which was due to new - RenderInfo being - created local to RenderStage and passed on to rendering code - which populated - the RenderInfo UserData, but without the restoring the new - UserData to the - main RenderInfo. The local RenderInfo UserData is now passed back - to the main - RenderInfo. +Wed, 10 Nov 2004 09:56:03 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, fix to the state leakage. -2006-11-28 10:31 robert +Tue, 9 Nov 2004 16:50:02 +0000 +Checked in by : Robert Osfield +Added explicit setting of the precision to allow .osg files to be used succsefully. - * Removed the now redundent dateUtils.h file. +Tue, 9 Nov 2004 16:49:29 +0000 +Checked in by : Robert Osfield +Fixed tabbing -2006-11-28 09:14 robert +Tue, 9 Nov 2004 15:12:38 +0000 +Checked in by : Robert Osfield +From Mike Weiblen adding lib paths to net.dsp, and changes by Robert Osfield moving the osgDB and osg dependency from the net.dsp to VisualStudio.dsp to keep it consistent with the rest of the OSG plugins and executables. - * Added missing Camera.h and removed redundent CameraNode.h +Tue, 9 Nov 2004 15:01:39 +0000 +Checked in by : Robert Osfield +Added rainer's changes for adding billboard glow around sun. -2006-11-27 20:25 robert +Tue, 9 Nov 2004 14:18:29 +0000 +Checked in by : Robert Osfield +Added support of archiving into osgTerrain::DataSet and osgdem. - * Added beginnings of osgUtil::PlaneIntersector and - osgSim::ElevationSlice +Tue, 9 Nov 2004 07:34:28 +0000 +Checked in by : Don BURNS +Fixes to the .net plugin for Cygwin, submitted by Norman Vine -2006-11-27 16:25 robert +Mon, 8 Nov 2004 20:44:16 +0000 +Checked in by : Robert Osfield +Fixed the compute of PagedLOD ranges for non geocentric datasets - * Added QWidget style constructor parameters +Mon, 8 Nov 2004 19:56:22 +0000 +Checked in by : Robert Osfield +Added resolutionSensitivityScale of 0.9 into the DataSet::createDestinationGraph() to prevent overly conservative subdivision of data. -2006-11-27 14:52 robert +Mon, 8 Nov 2004 17:12:36 +0000 +Checked in by : Robert Osfield +Added public access to VertexProgram's LocalParamters and added .osg support for these. - * Renamed osg::CameraNode to osg::Camera, cleaned up osg::View. - - Added beginnings of new - osgViewer::Scene,View,Viewer,CompositeViewer and - GraphicsWindowProxy files. +Mon, 8 Nov 2004 16:39:32 +0000 +Checked in by : Robert Osfield +From Stephane ???, fixes for VS.NET build -2006-11-27 11:25 robert +Mon, 8 Nov 2004 16:39:10 +0000 +Checked in by : Robert Osfield +Added guard to testing _internalFormat in compareTexture(..) so that a comparison would only be done if both the lhs and rhs had already been set to a non zero value. - * From Mauricio Hofmam, added support for reading images from all - osg::CameraNode attachments in RenderStage. +Mon, 8 Nov 2004 16:11:07 +0000 +Checked in by : Robert Osfield +Updates to osgDB::Archive support, and refactoring of implementation of reading files in Registry to faciliate the new archiving support. -2006-11-27 09:23 robert +Sun, 7 Nov 2004 21:17:31 +0000 +Checked in by : Robert Osfield +Added support for openArchive into osgDB - * From André Garneau, "The file submitted includes a fix to - properly support DDS textures compressed under the DXT-1 format - when they contain alpha information. - - Under this mode, each 4x4 texel block can selectively use an - alpha component or none. When alpha-enabled blocks are present, - this is not reported in the DDPF_ALPHAPIXELS bit in the pixel - format flags causing the reader-writer to report the file as a - 3-components file (GL_COMPRESSED_RGB_S3TC_DXT1_EXT). The fix - requires looking at each 4x4 texel block to detect the presence - of 1-bit alpha encoding. When such a block is found, the internal - & pixel formats are reported as GL_COMPRESSED_RGBA_S3TC_DXT1_EXT - instead. - - - - See - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/Opaque_and_1_Bit_Alpha_Textures.asp - for more information." +Sun, 7 Nov 2004 12:13:56 +0000 +Checked in by : Robert Osfield +Fixed insertion of files into an existing archive -2006-11-26 22:27 robert +Sat, 6 Nov 2004 21:21:29 +0000 +Checked in by : Robert Osfield +Removed un-needed setCullActive(false) - * Removed check from objectDeleted(void*) method as this was not - catching cases - where the registered ptr was different from the deleted ptr - - something that - can happen with multiple inheritance. +Sat, 6 Nov 2004 21:18:19 +0000 +Checked in by : Robert Osfield +Further work on osgDB::Archive -2006-11-26 14:17 robert +Sat, 6 Nov 2004 10:18:55 +0000 +Checked in by : Robert Osfield +Made fix to the setReferenceFrame method to properly disable culling when reference frame is ABSOLUTE. - * Missed check of changes to the RemoveRedundentNodesVisitor +Thu, 4 Nov 2004 21:11:12 +0000 +Checked in by : Robert Osfield +Disabled culling on the aboslute transform to fix bug culling of hud. -2006-11-24 21:19 robert +Thu, 4 Nov 2004 20:25:35 +0000 +Checked in by : Robert Osfield +Added a clear() into the RefNodePath operator = (NodePath) method. - * Added extra checks to RemoveRedendentVisitor to catch Groups that - may - only have one child, but also have StateSet's etc and thefore not - suitable - for removal. +Thu, 4 Nov 2004 15:32:03 +0000 +Checked in by : Robert Osfield +From Morné Pistorius, fixes for VisualStudio7.0 -2006-11-24 21:10 robert +Tue, 2 Nov 2004 21:04:14 +0000 +Checked in by : Robert Osfield +Improved handling of uflow and underflow() in proxy_streambuf, and change unsigned char* to char* to avoid stoooopid VS6.0 compile errors - * Added isIdentity() method +Tue, 2 Nov 2004 17:05:15 +0000 +Checked in by : Robert Osfield +Added prelimanary prox stream buffer to fake the ending of file. -2006-11-24 17:20 robert +Tue, 2 Nov 2004 17:04:06 +0000 +Checked in by : Robert Osfield +Added debugging messages to setTrackerNode - * Improved handling of bounding polytope +Tue, 2 Nov 2004 14:05:37 +0000 +Checked in by : Robert Osfield +Fixed missing write of image tiles. -2006-11-24 11:37 robert +Tue, 2 Nov 2004 11:10:44 +0000 +Checked in by : Robert Osfield +Removed the font cache from the FreeType plugin, moving the support across to osgDB::Registry. - * Added support for positional lights into - computeShadowVolumeGeometry code and cleaned up OccluderGeometry - interface. +Mon, 1 Nov 2004 18:29:05 +0000 +Checked in by : Robert Osfield +Removed referecence to the old c2 wiki. -2006-11-23 21:32 robert +Mon, 1 Nov 2004 16:16:31 +0000 +Checked in by : Robert Osfield +Commented out settings of TexEnvCombine alpha values - * Improved the ShadowVolumeGeometry orientations. +Mon, 1 Nov 2004 16:14:53 +0000 +Checked in by : Robert Osfield +From Tree chagenes required for Java Wrappers -2006-11-23 17:29 robert +Mon, 1 Nov 2004 10:04:40 +0000 +Checked in by : Robert Osfield +Added handling of endian in DrawElementsUShort/UInt implementations - * Add compute of tight bounding box to enable better placement of - the base plane. +Fri, 29 Oct 2004 18:24:26 +0000 +Checked in by : Robert Osfield +Added useage of TexEnvCombine -2006-11-23 16:55 robert +Fri, 29 Oct 2004 15:42:51 +0000 +Checked in by : Robert Osfield +Added multi-textured city illumination - * First cut at generating the ShadowVolumeGeometry +Thu, 28 Oct 2004 22:29:46 +0000 +Checked in by : Don BURNS +Test done. -2006-11-23 11:22 robert +Thu, 28 Oct 2004 22:28:30 +0000 +Checked in by : Don BURNS +Directory write test to new CVS - * Added basic silhoette detection +Thu, 28 Oct 2004 22:27:32 +0000 +Checked in by : Don BURNS +Silly little temporary file to test CVS writes to the new server -2006-11-22 21:11 robert +Thu, 28 Oct 2004 19:09:32 +0000 +Checked in by : Robert Osfield +Fixed support for NodeTrackerManipulator. - * From Roger James, "fixes mostly related to texture handling." +Thu, 28 Oct 2004 14:27:41 +0000 +Checked in by : Robert Osfield +Added support for listing contents of archive -2006-11-22 21:09 robert +Thu, 28 Oct 2004 13:40:09 +0000 +Checked in by : Robert Osfield +From Anders Backman, unit tests to test matrix to quat compute. - * From Paul Martz, add OSG_FILE_PATH to end of setting of - OSG_FILE_PATH to preserve any previous settings +Thu, 28 Oct 2004 13:26:06 +0000 +Checked in by : Robert Osfield +From Tom Jolley, Added a new enum POINT_ROT_WORLD_Z_AXIS and a new section in computeMatrix for this enum. With a small tweak from Robert Osfield to set _cacheMode. -2006-11-22 20:52 robert +Thu, 28 Oct 2004 13:04:35 +0000 +Checked in by : Robert Osfield +Added return type to addFileReference(). - * From Paul de Repentigny, "When calling osgdem with argument - "--image-ext", the application just - returns after loading the proper ReaderWriter for the given - extension." Fix was to remove the erroenous return. +Thu, 28 Oct 2004 13:02:33 +0000 +Checked in by : Robert Osfield +Added return value to getFileReferences() -2006-11-22 20:47 robert +Thu, 28 Oct 2004 12:16:47 +0000 +Checked in by : Robert Osfield +Updates to osgDB::Archive, and IVE plugin to support usage via the Archive. - * From Sylvan Marie, "I attached my revised dxfEntity.cpp file from - the DXF plugin with the 2 - following improvements: - - - When all unsupported entities (SOLIDS, TEXT, ...) have been - filtered out - from a block, dxfInsert::drawScene() was crashing because it - assumed that - the block was not empty. It now returns silently so the other - blocks can - still be imported. - - - The DXF reader assumed all vertices were read first, then the - face - indices. But, from the DXF "documentation" (www.autodesk.com/dxf) - : - "Polyface meshes created with the PFACE command are always - generated with - all the vertex coordinate entities first, followed by the face - definition - entities. The code within AutoCAD that processes polyface meshes - requires - this ordering. Programs that generate polyface meshes in DXF - should generate - all the vertices then all the faces. However, programs that read - polyface - meshes from DXF should be tolerant of odd vertex and face - ordering." - So now the importer ignores the posted number of vertices and - face indices, - and uses the size of the lists instead." +Thu, 28 Oct 2004 09:38:03 +0000 +Checked in by : Robert Osfield +Updates for Rainer, and with a few changes by Robert. -2006-11-22 20:39 robert +Thu, 28 Oct 2004 08:57:23 +0000 +Checked in by : Robert Osfield +Removed direct dependency on GDAL - * From Farshid Lashkari, Added missing initialization of the - _scaleByTextureRectangleSize - variable in two of its constructors. +Thu, 28 Oct 2004 07:00:55 +0000 +Checked in by : Robert Osfield +Removed gdal_priv.h from include/osgTerrain/DataSet to remove the external dependency on GDAL. -2006-11-22 15:38 robert +Wed, 27 Oct 2004 14:09:24 +0000 +Checked in by : Robert Osfield +Added IndexBlock inner class to osgDB::Archive - * Added removeNullTriangles() method to help removed triangles with - coincedent corners. +Wed, 27 Oct 2004 08:39:18 +0000 +Checked in by : Robert Osfield +Added setCullingActive false to the absolute transform. -2006-11-22 09:10 robert +Tue, 26 Oct 2004 18:36:47 +0000 +Checked in by : Robert Osfield +Fixed make files. - * Added new HeightAboveTerrain.cpp LineOfSight.cpp wrapper files +Tue, 26 Oct 2004 18:29:27 +0000 +Checked in by : Robert Osfield +Updates to osgDB::Archive -2006-11-21 16:59 robert +Tue, 26 Oct 2004 18:20:52 +0000 +Checked in by : Robert Osfield +Removed GDAL reference - * Added compute and visualization of triangle and vertex normals +Tue, 26 Oct 2004 18:11:26 +0000 +Checked in by : Robert Osfield +Removed the _initVisitor traversal for update() to prevent OpenGL being called at the wrong time. -2006-11-21 16:59 robert +Tue, 26 Oct 2004 15:31:33 +0000 +Checked in by : Don BURNS +Removed link to X11 - * Replaced the setTextureUnit(0) call in State::reset() with code - that just - sets the member variables without requiring a graphics context. +Tue, 26 Oct 2004 10:31:52 +0000 +Checked in by : Robert Osfield +Made the className() const -2006-11-21 16:16 robert +Tue, 26 Oct 2004 10:27:00 +0000 +Checked in by : Robert Osfield +Updates to the osgarchive application - * Added removeDuplicates function +Tue, 26 Oct 2004 10:26:43 +0000 +Checked in by : Robert Osfield +Made ReaderWriter::className const -2006-11-21 16:15 robert +Mon, 25 Oct 2004 20:08:38 +0000 +Checked in by : Don BURNS +oops. Mistaken check-in of local dependencies file - * Reordered methods to make associated functions clearer. +Mon, 25 Oct 2004 20:08:06 +0000 +Checked in by : Don BURNS +Oops. mistaken check in of overly modified makerules -2006-11-21 14:42 robert +Mon, 25 Oct 2004 20:04:52 +0000 +Checked in by : Don BURNS +Small change by Eric Sokolowsky to change TIFF_LIBS to TIFF_LIB for Mac build - * Renamed osgviewer-Info.plist to osgviewerApplication-Info.plist - to prevent - svn naming collision problems under Windows due t - osgviewer/osgViewer case insentive file name collisions. +Mon, 25 Oct 2004 19:16:57 +0000 +Checked in by : Robert Osfield +From Tree, fixes for Java bindings -2006-11-20 21:48 robert +Mon, 25 Oct 2004 19:16:38 +0000 +Checked in by : Robert Osfield +Added new osgDB::Archive class, and osgarchive example. These are both very early beginnings so do not function yet. - * Added nested files +Mon, 25 Oct 2004 18:46:44 +0000 +Checked in by : Robert Osfield +Fixed typo. -2006-11-20 12:25 robert +Mon, 25 Oct 2004 18:23:42 +0000 +Checked in by : Robert Osfield +From Rainer, updates to osgplanet. - * Added -losgFX +Mon, 25 Oct 2004 18:08:34 +0000 +Checked in by : Don BURNS +Small warning fix by Marco. -2006-11-20 10:12 robert +Mon, 25 Oct 2004 17:41:54 +0000 +Checked in by : Robert Osfield +Made getHomePosition const. - * Added missing LGPL section to LICENSE.txt +Sun, 24 Oct 2004 21:05:27 +0000 +Checked in by : Don BURNS +Namespaced Rect and Frame to osgfxbrowser::Rect/Frame, as this was causing a namespace collision with CGL -2006-11-17 20:45 robert +Sun, 24 Oct 2004 20:04:00 +0000 +Checked in by : Robert Osfield +Changed ABSOLUTE and RELATIVE to ABSOLUTE_RF and RELATIVE_RF to avoid stooppid Win32 #define - * Rearranged the #ifdef's to prevent compile problems under NVidia - 2.1 OGL drivers +Sun, 24 Oct 2004 17:50:54 +0000 +Checked in by : Robert Osfield +From Fred Mammond, fixes for x86_64 build -2006-11-17 16:25 robert +Sun, 24 Oct 2004 14:42:40 +0000 +Checked in by : Robert Osfield +From Geoff Michel, speeling and typo fixes in osgUtil - * From Eric Wing, updates to Xcode projects +Sun, 24 Oct 2004 14:31:18 +0000 +Checked in by : Robert Osfield +fixes to tabs -2006-11-17 16:22 robert +Sun, 24 Oct 2004 14:31:07 +0000 +Checked in by : Robert Osfield +From Pavel Moloshtan, speed improvments in reading and writing index arrays - * From Eric Wing, new ogsimpleviewCocoa example. +Sun, 24 Oct 2004 14:24:15 +0000 +Checked in by : Robert Osfield +Added osgDB::Archive -2006-11-17 14:51 robert +Sun, 24 Oct 2004 14:23:42 +0000 +Checked in by : Robert Osfield +From Rainer Oder, updates to osgplanets - * Added missing PointSprite files +Sun, 24 Oct 2004 14:19:27 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, support for 2 channel tiff images -2006-11-16 17:35 robert +Sun, 24 Oct 2004 13:51:44 +0000 +Checked in by : Robert Osfield +Added s/getEventCallback support into osg::Node, and an EVENT_VISITOR type into NodeVisitor. - * From Farshid Lashkari, "Attached is a patch that adds the new - coordOriginMode to the .osg - reader/writer for PointSprites." +Sun, 24 Oct 2004 06:12:29 +0000 +Checked in by : Don BURNS +don - Comment in makedirdefs was causing Mac build to stop short of building all plugins -2006-11-16 16:42 robert +Sun, 24 Oct 2004 05:50:59 +0000 +Checked in by : Don BURNS +don - Small changes to support Mac OSX CGL build small unused variable warning fix. - * From Frashid Lashkari, added support for PointSprites to .ive +Fri, 22 Oct 2004 21:01:10 +0000 +Checked in by : Don BURNS +Added default: case for both switch() statements -2006-11-16 16:25 robert +Fri, 22 Oct 2004 19:26:45 +0000 +Checked in by : Robert Osfield +Changed the ReferenceFrame enums to be RELEATIVE and ABSOLUTE, and deprecated the RELATIVE_TO_ABSOLUTE and RELATIVE_TO_PARENTS. - * From Michael Platings, Fixed Geometry cloning of the texture - coordinates and vertex attributes. +Fri, 22 Oct 2004 18:47:39 +0000 +Checked in by : Robert Osfield +Compile fixes -2006-11-15 20:29 robert +Fri, 22 Oct 2004 16:39:24 +0000 +Checked in by : Robert Osfield +Added Rainer's initial osgplanets example. - * Added alpha test setting +Thu, 21 Oct 2004 09:36:34 +0000 +Checked in by : Robert Osfield +Generalised the osg::ClusterCullingCallback so that it coud be attached to Node as well as Drawables.Changed the osgTerrain::DataSet so that it moves the ClusterCullingCallback +up to the Node level. -2006-11-15 20:24 robert +Added support to the .ive plugin for attaching the ClusterCullingCallback to nodes. - * Fixed comment -2006-11-15 20:23 robert - * Updated wrappers +Thu, 21 Oct 2004 09:33:51 +0000 +Checked in by : Robert Osfield +Checked in commented out gz plugin, will comment back in later once it is fully checked in -2006-11-15 11:21 robert +Tue, 19 Oct 2004 13:52:46 +0000 +Checked in by : Robert Osfield +Move the setting of the camera horizontal field of view to after the realize() to avoid the CameraGroup's Lens be set when its NULL. - * From Eric Wing, add version check for use of automatic resizeing +Tue, 19 Oct 2004 09:29:13 +0000 +Checked in by : Robert Osfield +From Alan Purvis, with enum name tweaks from Robert Osfield. Addition of support for turing on/off the usage of vertex buffer objects. -2006-11-15 10:08 robert +Mon, 18 Oct 2004 18:59:05 +0000 +Checked in by : Robert Osfield +From Frank Lichtenheld, compile fix to Linux powerpc build. - * From Mathias Froehlich, replaced assert with notify() error - message. +Mon, 18 Oct 2004 18:56:26 +0000 +Checked in by : Robert Osfield +Fixed OsgCameraGroup::setLODScale so that it now uses the local CullSettings objects. -2006-11-14 19:29 robert +Mon, 18 Oct 2004 18:36:40 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, addition of Vec3f(Vec2f,float) and Vec3d(Vec2d,double) constructors. - * Added note about license or file, and link to specs. +Mon, 18 Oct 2004 18:31:04 +0000 +Checked in by : Robert Osfield +Added support for hardware generated mipmaps into Textre2D::copy*() methods. -2006-11-14 19:19 robert +Mon, 18 Oct 2004 14:51:21 +0000 +Checked in by : Robert Osfield +From Marco Jez, "makes the LWS loader store LWO object names as node names, for easier recognition and retrieval by scene graph visitors. With this fix, each PositionAttitudeTransform node that corresponds to an entry in the LWS file carries the name of the loaded object plus the layer number (for example, "objects/myobj.lwo.2")." - * Removed redundent osgac3.h file. +Mon, 18 Oct 2004 14:46:57 +0000 +Checked in by : Robert Osfield +From Yuzhong Shen, fix to the image dimensions passed to allocImage in Image::copySubImage -2006-11-14 19:19 robert +Mon, 18 Oct 2004 14:42:32 +0000 +Checked in by : Robert Osfield +From Sohey Yamamoto, addition of TexEnvFilter support. - * From Mathias Fröhlich, fixed order of setting of texture image. +Sun, 17 Oct 2004 06:14:10 +0000 +Checked in by : Don BURNS +Fix for minor compile error (internal error) for VS7. -2006-11-14 17:24 robert +Fri, 15 Oct 2004 20:13:33 +0000 +Checked in by : Don BURNS +Fixed small typo. - * Updated wrappers +Fri, 15 Oct 2004 10:35:09 +0000 +Checked in by : Robert Osfield +Added osgNV enum Types -2006-11-14 16:59 robert +Fri, 15 Oct 2004 09:53:18 +0000 +Checked in by : Robert Osfield +Changed fstream to ifstream - * From Eric Wing, add use of the autodetection of windowing size - support in SDL-version 1.2.10 and later. - From Robert Osfield, made the above an optional compile as it - breaks apps based on previous version of SDL. +Fri, 15 Oct 2004 09:10:36 +0000 +Checked in by : Robert Osfield +Added docs -2006-11-14 16:37 robert +Thu, 14 Oct 2004 20:35:55 +0000 +Checked in by : Robert Osfield +Updates to NodeTrackerManipulator.cpp - * From Mathias Froehlich, "Improovments: - - does proper edge detection with the crease angle given in the - ac file - - the reader is much more verbose in case of broken files - - no more static variables - - std::stream based - - much faster, up to a factor of 50 for a polygonal test model - - if the file contains polygonal surfaces the loaded geometry is - still - polygonal as long as the polygons are convex. Concave polygons - are still - tesselated. Rationale: If the user needs triangular models he can - throw away - that extra information with the osgUtil::Optimizer himself. But - the read step - preserves as much extra information that is contained in the file - as - possible. Also the polygonal models look a bit smoother than the - triangular - ones. - - a huge cleanup - - the basic parsing logic from the original ac3d developer is - untouched - - the writer part is untouched - - The tarball contains a replacement for the src/osgPlugins/ac3d - directory that - is based on the current CVS (2006-11-13). - I have tested that loader with a osgconv foo.ac /tmp/xx.ive on - everyfoo. ac - file I could find (~200 from flightgear and the object database). - I also run - my flightgear development with that loader -> here I see the - models. - I run valgrind testcases on some selected models." +Thu, 14 Oct 2004 12:10:10 +0000 +Checked in by : Robert Osfield +Fixed the home position. -2006-11-14 15:06 robert +Thu, 14 Oct 2004 10:38:29 +0000 +Checked in by : Robert Osfield +Improvements to the NodeTrackManipulator and osgsimulation example - * Added osgViewer depdendency to osgintersection, osgGLUT* examples +Wed, 13 Oct 2004 19:52:39 +0000 +Checked in by : Robert Osfield +From Sohey Yamamoto, added support for GL_TEXTURE_FILTER_CONTROL/GL_TEXTURE_LOD_BIAS. -2006-11-14 12:55 robert +Wed, 13 Oct 2004 19:10:29 +0000 +Checked in by : Robert Osfield +From David Spilling, with small format and variable rename by Robert Osfield. - * From Jason Beverage, "I ran though the sample data that Gert - provided earlier today and tracked down the problem. The xoffset - in readHeightField and readImage were being applied even in - projected coordinate systems. This patch should fix the issue." +Wed, 13 Oct 2004 14:13:17 +0000 +Checked in by : Robert Osfield +Added population and access of the ReaderWriter::Options::s/getDatabasePath() to enable paged database to accessed without setting file paths explictly -2006-11-14 12:51 robert +Wed, 13 Oct 2004 13:40:05 +0000 +Checked in by : Robert Osfield +Small tweaks to the calculateMovement method. - * Further migration to using RenderInfo +Wed, 13 Oct 2004 13:39:27 +0000 +Checked in by : Robert Osfield +Increased the size of the inserted model so that it can be seen more easily, -2006-11-14 12:49 robert +Wed, 13 Oct 2004 11:56:09 +0000 +Checked in by : Robert Osfield +Fixed precision of center computation. - * From Stephan Huber, Follows is required to prevent unidented - cloning of shared arrays : - "I added some calls to isOperationPermissibleForObject() so I can - permit the flattten-pass with my specialized objects in my own - code." +Wed, 13 Oct 2004 11:15:50 +0000 +Checked in by : Robert Osfield +Added new getMember() method and TypeMemberPair into StateAttribute and support for the unsigned int member to be paired with types in osg::StateSet so that lights, clipplanes and other attributes that have a type group but then need to differentiate within that group via a member uint. -2006-11-14 12:29 robert +Tue, 12 Oct 2004 09:54:03 +0000 +Checked in by : Robert Osfield +Added CullingSettngs::s/getInheritanceMask() and inheritCullSettings(,) method. - * From Farshid Lashkari, "This patch adds a CoordOriginMode to the - osg::PointSprite attribute. - The mode needs to be changed to LOWER_LEFT when rendering point - sprites to pbuffers or FBOs, otherwise the points will be - transformed - on the CPU." +Tue, 12 Oct 2004 09:00:51 +0000 +Checked in by : Robert Osfield +Added a direct call to the osgUtil::Optimizer in GeoSetBuilder.cpp so that the resultant geomety would be more efficiently packed. -2006-11-14 12:16 robert +Tue, 12 Oct 2004 07:54:45 +0000 +Checked in by : Robert Osfield +From Sondra Iverson, with mods by Robert Osfield. Support for copying texenv from the source StateSet when multi-texturing. - * Added support for handling osg::ShapeDrawable style drawables in - OccluderGeoemtry. +Sun, 10 Oct 2004 18:18:45 +0000 +Checked in by : Robert Osfield +Fixed copy and past erro in getFontWidth. -2006-11-14 09:54 robert +Sat, 9 Oct 2004 15:00:34 +0000 +Checked in by : Don BURNS +Added fix for MAC for FileUtils.cpp: stat64 is not present on Mac. - * Added check against null SceneData to prevent crash with empty - models +Fri, 8 Oct 2004 09:18:40 +0000 +Checked in by : Robert Osfield +Changed StaetAttribute::Type so it is an enum list rather than a unsigned int. -2006-11-11 21:30 robert +Thu, 7 Oct 2004 10:03:27 +0000 +Checked in by : Robert Osfield +From Sondra Iversion "Loading a single model from an externally referenced file is a standard option for OpenFlight and is specified by including the modelname in angle brackets, such as: filename.The attached code identifies and handles this case." - * Further work on OccluderGeometry -2006-11-10 15:25 robert - * From John Kelso, add support for default frame time for children - of a Sequence node +Thu, 7 Oct 2004 09:40:03 +0000 +Checked in by : Robert Osfield +Added new clear, removeAttribute, removeMode, removeTextureAttribute and removeTextureMode method and deprecated the setToInherit equivilants. -2006-11-10 15:07 robert +Wed, 6 Oct 2004 20:32:09 +0000 +Checked in by : Robert Osfield +Improved the osg::Geometry::computeCorrectBindingsAndArraySizes() implemention so that it produce more optimal settings.Changed flt/GeoSetBuilder so that it doensn't merge geometry, as it was +merging geometry even when inappropriate. - * Further work on osgShadow::GeometryOccluder -2006-11-08 11:49 robert - * Updated wrappers +Wed, 6 Oct 2004 19:19:22 +0000 +Checked in by : Robert Osfield +From Jason Daly, fix to multi-texturing/detail texture handling. -2006-11-08 10:00 robert +Wed, 6 Oct 2004 15:15:01 +0000 +Checked in by : Robert Osfield +Added support for http reading into the readObject, readImage and readHeightField methods complimenting the previously checked in readNode supoort. - * From Eric Wing, updates to Xcode project for new osgViewer - library +Wed, 6 Oct 2004 14:44:11 +0000 +Checked in by : Robert Osfield +Generalised the .net plugin so it could handle object, image, heightfield and node file reads. -2006-11-08 09:50 robert +Wed, 6 Oct 2004 13:11:04 +0000 +Checked in by : Robert Osfield +Added support for parsing http:// names and mapping automatically to use the .net plugin - * From Eric Wing, change osgGA::SimpleViewer to osgViewer::Viewer. - From Robert Osfield, added -losgViewer & -losgGA to makefiles. +Wed, 6 Oct 2004 13:10:29 +0000 +Checked in by : Robert Osfield +Added passing on of Options object -2006-11-07 17:00 robert +Wed, 6 Oct 2004 13:09:35 +0000 +Checked in by : Robert Osfield +Added support for readNode(istream,Options*) into OBJ to allow loading over the internet - * Added better handling of writeNode operations that arn't - successful. +Wed, 6 Oct 2004 12:02:37 +0000 +Checked in by : Robert Osfield +Replaced #ifndef GL_TEXTURE_3D by GL_TEXTRE_BINDING_3D as the former was a copy and paste error. -2006-11-07 17:00 robert +Wed, 6 Oct 2004 09:31:34 +0000 +Checked in by : Robert Osfield +Added : osg::PagedLOD::s/getDatabasePath() and support in PagedLOD::traverse(). + osgDB::ReaderWriter::Options::s/getDatabasePath() + osgDB::Input::s/getOptions() + setting of osgDB::Input::setOptions() in ReaderWriterOSG.cpp + src/osgPlugins/ive/DataInputStream::s/getOptions() + setting of src/osgPlugins/ive/DataInputStream::setOptions() in ReaderWriterIVE.cpp - * Fixed the writeNode function so it was properly return - FILE_NOT_HANDLED, fixing - a big with it writing out an empty .flt file. -2006-11-07 14:26 robert - * Updated wrappers +Tue, 5 Oct 2004 19:12:46 +0000 +Checked in by : Robert Osfield +Added s/getCullSettings to OsgCameraGroup -2006-11-07 13:48 robert +Tue, 5 Oct 2004 15:08:54 +0000 +Checked in by : Robert Osfield +Added ability to alter the verbosity of the notify messages with the running of osgTerrain::DataSet via a static s/getNotifyOffset(int) method. - * Ben van Basten, "1 Bug fix in reuseParticle where originally an - old particle that was already killed would be killed again, but - instead should have been placed on the dead stack for future - reuse. - - 2 Getter/setter for _maxNumberOfParticlesToSkip that is used for - filtering of particles during draw. This enables you to turn the - filtering of by setting this value to zero. - - 3 Getter for retrieval of the first particle in the trail. This - allows you to directly manipulate the trail from your application - by walking from the start particle towards the end of the trail." - - Submitted on Ben's behalf by Roland Smeenk. +Tue, 5 Oct 2004 09:53:36 +0000 +Checked in by : Robert Osfield +Added support to osgProducer::Viewer for forcing an early exit form applications and recording an image on exit. -2006-11-07 13:43 robert +Tue, 5 Oct 2004 07:08:02 +0000 +Checked in by : Robert Osfield +Changed _stat64 to _stati64 - * Added initial cut of osgShadow::OccluderGeometry +Mon, 4 Oct 2004 14:21:36 +0000 +Checked in by : Robert Osfield +Moved the SceneView to local to the contruction/destruction of the RenderSurface -2006-11-07 13:26 robert +Sun, 3 Oct 2004 19:49:27 +0000 +Checked in by : Robert Osfield +Checked in #define mapping of stat64 to _stat64 to fix Windows build - * Changed debug output from NOTICE to INFO +Sun, 3 Oct 2004 08:50:56 +0000 +Checked in by : Robert Osfield +Solution of fileExists support for > 2Gb files from Ken Sewell, applied by Robert Osfield. -2006-11-07 13:00 robert +Sun, 3 Oct 2004 08:36:27 +0000 +Checked in by : Robert Osfield +Added missing _texAttrListMap.clear(); into reset() - * From Tery Welsh, added support for inheriting all CameraNode - CullSettings and then restoring the original values. +Fri, 1 Oct 2004 23:18:08 +0000 +Checked in by : Robert Osfield +Added new osgspotlight demo -2006-11-07 12:08 robert +Fri, 1 Oct 2004 22:05:40 +0000 +Checked in by : Robert Osfield +From Lewis Harmon, fixes to the Node and NodeCallback constructors. - * Removed debug comment. +Fri, 1 Oct 2004 18:32:42 +0000 +Checked in by : Robert Osfield +Changed the argument parser to accept strings that start with a - as being valid strings. -2006-11-07 12:02 robert +Fri, 1 Oct 2004 15:49:57 +0000 +Checked in by : Robert Osfield +From Rainer Oder, new osglauncher application. - * From Mathias Froehlich, workaround fix for problematic run length - encoded RGB files. Robert Osfield ammend workaround to support - multi-byte colour channels. +Fri, 1 Oct 2004 15:48:58 +0000 +Checked in by : Robert Osfield +Added setPlanesFromMatrix method -2006-11-06 13:22 robert +Fri, 1 Oct 2004 15:48:00 +0000 +Checked in by : Robert Osfield +Added new setPlanesFromMatrix method - * Thanks to Björn Hein for spotting mistakes in EventQueue.cpp and - StateSetManipulator, now fixed by Robert Osfield. Problems were: - - "StateSetManipulator.cpp (rev 1.12, l. 85): cyclePolygonMode() is - called but - no aa.requestRedraw() afterwards. Is this intended? - - EventQueue.cpp (rev 1.8): in keyRelease & keyPressed KEY_Alt_R - was mapped to - MODKEY_LEFT_ALT" +Fri, 1 Oct 2004 15:47:40 +0000 +Checked in by : Robert Osfield +Updated to use new TexGen method -2006-11-03 14:07 robert +Fri, 1 Oct 2004 09:40:06 +0000 +Checked in by : Robert Osfield +From Tree, moved apply's from protected to public to support Java wrappers - * Added osgViewer library to build list +Fri, 1 Oct 2004 09:38:21 +0000 +Checked in by : Robert Osfield +Added define of GL_TEXTURE_BINDING_3D for systems with OpenGL1.2 compliant headers -2006-11-02 18:58 robert +Fri, 1 Oct 2004 09:19:30 +0000 +Checked in by : Robert Osfield +From Marco Jez, added more examples to runexamples.bat - * Added IntersectionVisitor to wrappers +Fri, 1 Oct 2004 07:39:15 +0000 +Checked in by : Robert Osfield +Added support for write to ostream into .osg plugin -2006-11-02 17:07 robert +Thu, 30 Sep 2004 19:36:15 +0000 +Checked in by : Robert Osfield +Experimentation with new timing code. - * Added IntersectionVisitor to osgUtil project +Thu, 30 Sep 2004 14:54:42 +0000 +Checked in by : Robert Osfield +Removed debugging messages -2006-11-02 17:05 robert +Thu, 30 Sep 2004 13:36:00 +0000 +Checked in by : Robert Osfield +Checked in support for cleaning up and then restart a new graphics windows once the first one has been closed down. - * Added convinience constructors to help support picking with the - new osgUtil::Intersector classes. +Thu, 30 Sep 2004 12:10:45 +0000 +Checked in by : Robert Osfield +Fixed newly introduced compressed mipmnap error. -2006-11-02 15:50 robert +Thu, 30 Sep 2004 09:10:29 +0000 +Checked in by : Robert Osfield +Added proper handling of 3d texture compression - * Added basic PolytopeIntersector functionality based on checking - vertices against - polytopes. +Wed, 29 Sep 2004 19:10:00 +0000 +Checked in by : Robert Osfield +Added support for ClipPlane, ClipNode, TexGenNode to .ive -2006-11-02 15:40 robert +Wed, 29 Sep 2004 15:00:07 +0000 +Checked in by : Robert Osfield +Added Texture3D reference - * Renamed osgviewer.dsp to osgviewerapplication.dsp and fixed - directory name of osgsimpleviewerProducer +Wed, 29 Sep 2004 14:31:06 +0000 +Checked in by : Robert Osfield +Added Texture3D implementation. -2006-11-02 15:22 robert +Wed, 29 Sep 2004 10:01:46 +0000 +Checked in by : Robert Osfield +Preliminary steps to support for compressed 3D textures. - * Fixed bug in Polytope::contains(const std::vector& - vertices) which resulted - in false positives. +Wed, 29 Sep 2004 08:07:32 +0000 +Checked in by : Robert Osfield +Added extra dependencies to osgsimulation example -2006-11-02 12:32 robert +Wed, 29 Sep 2004 08:04:46 +0000 +Checked in by : Robert Osfield +Removed makeDir referecnes - * Updated wrappers +Tue, 28 Sep 2004 09:14:04 +0000 +Checked in by : Robert Osfield +From Tree, changes to better support Java binding generation -2006-11-02 12:27 robert +Tue, 28 Sep 2004 08:39:46 +0000 +Checked in by : Robert Osfield +Added a mutex and _numFramesActive count to track multiview usages of the DatabasePager. - * Moved SimpleViewer and GraphicsWindow into their own osgViewer - library, updated simpleviewer examples to reflect this change +Tue, 28 Sep 2004 07:15:01 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, fix expandBy(const BoundingSphere&) method to properly handle the instance of when the two bounding sphere's have a coincident center. -2006-11-02 12:17 robert +Mon, 27 Sep 2004 14:15:13 +0000 +Checked in by : Robert Osfield +Added new methods into osg::Referenced for controlling the use of thread safe ref/unref: /** Set whether reference counting should be use a mutex to create thread reference counting.*/ + static void setThreadSafeReferenceCounting(bool enableThreadSafeReferenceCounting); - * Added prelimnary work on PolytopeIntersector. + /** Get whether reference counting is active.*/ + static bool getThreadSafeReferenceCounting(); -2006-11-01 17:18 robert - * Improved handling of projected coords in new intersection classes -2006-11-01 14:41 robert +Mon, 27 Sep 2004 12:07:34 +0000 +Checked in by : Robert Osfield +Changed the version strings to use OpenSceneGaph rather than "Open Scene Graph" - * Added support for osgUtil::Intersectors being in WINDOW, - PROJECTION, VIEW or MODEL coordinates +Mon, 27 Sep 2004 10:42:14 +0000 +Checked in by : Robert Osfield +Changed the pruning of database requests so that the frame number need not be identical to pass, a delta of 1 is now pemssible -2006-10-31 12:59 robert +Sun, 26 Sep 2004 19:01:27 +0000 +Checked in by : Robert Osfield +Removed erroneous casts that would have been causing uneccessary copying. - * Implemented HeightAboveTerrain and added usage into - osgintersection +Sun, 26 Sep 2004 18:39:34 +0000 +Checked in by : Robert Osfield +From Geoff Michel, typos and spelling fixes. -2006-10-31 08:41 robert +Sun, 26 Sep 2004 10:27:25 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, partial fix for OpenGL error generation under NVidia drivers. - * Added LineOfSight and HeightAboveTerrain classes +Thu, 23 Sep 2004 20:13:16 +0000 +Checked in by : Robert Osfield +Fixed typo -2006-10-30 20:29 robert +Thu, 23 Sep 2004 20:07:37 +0000 +Checked in by : Robert Osfield +Fixed typo. - * Added osgSim::LineOfSight and osgSim::HeightAboveTerrain classes +Thu, 23 Sep 2004 20:01:40 +0000 +Checked in by : Robert Osfield +Added releaseAllGLObjects() convinience method. -2006-10-30 12:39 robert +Thu, 23 Sep 2004 18:50:38 +0000 +Checked in by : Robert Osfield +Clean up of new DatabasePager code, and change of osgProducer so that DatabasePager support is now integrated into the OsgSceneHandler. - * Updated wrappers +Thu, 23 Sep 2004 16:05:24 +0000 +Checked in by : Don BURNS +Fixed warnings -2006-10-30 12:28 robert +Thu, 23 Sep 2004 12:27:56 +0000 +Checked in by : Robert Osfield +Updates for better DatabasePager peformance w.r.t constant frame rates. - * From Per Fahlberg, "Attached is a fix to get the proper normals - on an md2 model, actually - the way it was before would sometimes lead to a crash since it - was - attaching the wrong array to the geometry..." +Wed, 22 Sep 2004 09:28:40 +0000 +Checked in by : Robert Osfield +Added a extra debugging comment -2006-10-30 12:23 robert +Tue, 21 Sep 2004 21:33:52 +0000 +Checked in by : Robert Osfield +Updated to DatabasePager support - * From Vladimir Shabanov, "The DDS plugin didn't correctly read - mipmapped A8L8 textures. - I've attached a small fix for this. - - Cause: uncompressed mipmap handling was done only for RGB pixel - format. - - Fix: added condition for handling alpha and luminance formats - too." +Tue, 21 Sep 2004 17:26:08 +0000 +Checked in by : Robert Osfield +Various improvements to database paing. -2006-10-30 12:19 robert +Mon, 20 Sep 2004 17:42:59 +0000 +Checked in by : Don BURNS +removed makeDir.h - * From Michael Henheffer, "There's a problem with OverlayNodes - where the texture will not display - if continuous updating is set to false. - - The problem was being caused by the camera update call never - being made - if continuous updating was not set to true. This fix adds a flag - that - is set when dirtyOverlayTexture() is called and checked in the - update - visitor section of the traversal to determine if the camera - should be - updated. - - I tested the fix by making some changes to the osgAnimate example - program so it has continuous updating off and calls - dirtyOverlayTexture - for each frame. The overlay texture now displays properly." +Mon, 20 Sep 2004 17:42:40 +0000 +Checked in by : Don BURNS +Removed temporary makeDir files and call in ReaderWriterNet.cpp -2006-10-30 12:14 robert +Sun, 19 Sep 2004 20:09:54 +0000 +Checked in by : Robert Osfield +Added clear(), setDatabasePagerThreadPause() and setAcceptNewDatabaseRequests() methods and new local implementation of cancel(). - * From Edgar Ellis, " - method may not take the node into consideration when computing - its bound. - - In this case of: - switch->insertChild(0, child, false); - switch->insertChild(1, child, true); - - child will not be used in computeBound, but will be drawn. - - Solution: - Changed compute bound to loop over children using an index - instead of an - iterator. This behaviour matches that of the traverse method." - - ----------------------------------------------- +Sun, 19 Sep 2004 19:03:38 +0000 +Checked in by : Robert Osfield +Removed unused variable. -2006-10-30 12:05 robert +Sun, 19 Sep 2004 18:34:05 +0000 +Checked in by : Robert Osfield +Added reference to GL_LIBS - * From Michael Henheffer, "Bug: The reader would crash when trying - to load a .tif image that - contained an 8-bit color map. The crash occured at line 545: - - remap_row(currPtr, inbuf, w, red, green, blue); - - - Cause: The code was trying to write past the end of the buffer - while - doing this remapping. The size of the buffer is determined based - on the - value of 'format', which was 1 in this case since bitspersample - is - 8(indicating a 8-bit color map). The buffer should have been - created 3 - times as large since that 8-bit value is indexing a 24-bit color. - - - Fix: I've put in an if statement to set format to 3 if - 'photometric' - indicates the tif contains a palette as the output data will - always be - 24-bit color data in this case." +Sat, 18 Sep 2004 19:28:45 +0000 +Checked in by : Robert Osfield +Various improvements to the DatabasePager with the aim to achieve constant framerates and minimizing memory consumption. -2006-10-30 11:55 robert +Sat, 18 Sep 2004 19:27:39 +0000 +Checked in by : Robert Osfield +Removed reference to ComputeTransformCallback - * From Mathieu Marache, fixed osgsimpleviewerQt4 so that it uses - the correction options +Wed, 15 Sep 2004 19:14:00 +0000 +Checked in by : Robert Osfield +From Sebastien Grignard, add writing out/reading in of drawable components of a ShapeDrawable.From Robert, add versioning of the above change to allow old files to still +work. -2006-10-30 11:00 robert - * Added handling of geometry indices offset when merging geometries - with indices -2006-10-27 15:11 robert +Wed, 15 Sep 2004 19:10:15 +0000 +Checked in by : Robert Osfield +More spelling & top fixes. - * Added osgUtil::IntersectorGroup to handle groups of - osgUtil::Intersectors +Wed, 15 Sep 2004 19:07:56 +0000 +Checked in by : Robert Osfield +From Geoff Michel, typo and spelling fixes -2006-10-26 16:52 robert +Wed, 15 Sep 2004 15:09:46 +0000 +Checked in by : Robert Osfield +Added usage of std::vector<> and ref_ptr<>'s to avoid memory leaks - * From Andrew Lorino and Robert Osfield, Improvements to the - handling of texture paths +Tue, 14 Sep 2004 15:05:16 +0000 +Checked in by : Robert Osfield +Commented out osg::noitfy usage under OSX since this was causing a crash on start up -2006-10-26 16:03 robert +Tue, 14 Sep 2004 15:03:18 +0000 +Checked in by : Robert Osfield +Added GDAL check to compile of osgsimulation - * Added beginings of new osgUtil::IntersectionVisitor and - osgintersection class +Mon, 13 Sep 2004 17:19:05 +0000 +Checked in by : Robert Osfield +Fix of tabbing and typo -2006-10-26 16:02 robert +Mon, 13 Sep 2004 16:10:59 +0000 +Checked in by : Robert Osfield +From Paul Martz, typo and spelling fixes - * Updatd wrappers +Mon, 13 Sep 2004 15:17:43 +0000 +Checked in by : Robert Osfield +Fixed comments -2006-10-24 16:24 robert +Mon, 13 Sep 2004 15:14:11 +0000 +Checked in by : Robert Osfield +From Eric Hammil, typo and spelling fixes - * Tweaked doxygen docs. +Mon, 13 Sep 2004 14:33:41 +0000 +Checked in by : Robert Osfield +From George Papagiannakis, added extra Quat length to catch case where length is zero. -2006-10-24 09:45 robert +Mon, 13 Sep 2004 13:53:45 +0000 +Checked in by : Robert Osfield +Improved the handling of building/writing generated databases, and the fixed transition distances on the lower levels of geocentric databases. - * Updated wrappers +Sat, 11 Sep 2004 03:00:11 +0000 +Checked in by : Robert Osfield +Added a deleteTextureObject after the creation of the compressed textures -2006-10-24 09:06 robert +Fri, 10 Sep 2004 17:49:50 +0000 +Checked in by : Robert Osfield +Added missing LightModel.h and .cpp from Stansilav. - * Added FadeText::setFadeSpeed and made internal data structures - protected. +Fri, 10 Sep 2004 13:31:37 +0000 +Checked in by : Robert Osfield +Added convinience methods. -2006-10-23 15:29 robert +Fri, 10 Sep 2004 08:26:53 +0000 +Checked in by : Robert Osfield +Made update, cull and draw callbacks virtual to allow custom Drawable's to there own specific extensions for handling callbacks - * Changed the dependency list to use -losg -losgDB instead of - OSG_LIBS +Thu, 9 Sep 2004 15:14:33 +0000 +Checked in by : Robert Osfield +Made the computeLocalToWorld etc method to use const NodePath's parameters. -2006-10-21 21:06 robert +Thu, 9 Sep 2004 13:18:45 +0000 +Checked in by : Robert Osfield +Added osg::RefNodePath class for handling node paths. - * Fixed OSX x86 endian issue in Quicktime movie plugin. +Thu, 9 Sep 2004 13:07:18 +0000 +Checked in by : Robert Osfield +From Stanislav Blinov, addition of LightModel support for .ive format. -2006-10-17 15:17 robert +Thu, 9 Sep 2004 09:03:28 +0000 +Checked in by : Robert Osfield +Fixed write of normalmap. - * From David Callu: - - " - the main problem is the wrapper generation: - The PropertyInfo class use MethodInfo class to access to the - value. - When the property are define with the I_Property* macro, - the MethodInfo use by the property to have access to the value - are instancied in the I_Property* macro, but there - are already instantied by the I_Method* macro before - - - secondary problem: - - the function used by the property could no be customized - in the genwrapper.conf file - - an array property can't insert a value - - the std::map reflector (and indexedProperty in general) haven't - remove method - - about the help in wrapper ... why not ... - - - - solution : - To use the function define by the I_Method, I add a MethodInfo - variable in the I_Method0 macro - old macro : - #define I_Method0(ret, fn) (\ - params.clear(),\ - addMethod(new osgIntrospection::TypedMethodIn - fo0(qualifyName(#fn), &reflected_type::fn, - params))) - - new macro : - #define I_Method0(ret, fn, signature, briefHelp, detailedHelp) \ - params.clear(); \ - osgIntrospection::MethodInfo* signature = addMethod(new - osgIntrospection::TypedMethodInfo0(qualifyName(#fn), &reflected_type::fn, params, briefHelp, - detailedHelp)); sink(signature) - - - - the osgIntrospection::MethodInfo* signature is used by the - I_Property macro to define the MethodInfo that it use - - so for I_Property macro : - old macro : - #define I_PropertyWithReturnType(t, n, r) \ - cap=addProperty(new - osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), - osgIntrospection::Reflection::getType(typeid(t)), #n, \ - I_Method0(t, get##n), \ - I_Method1(r, set##n, IN, t, value))) - - new macro: - #define I_SimpleProperty(t, n, get, set) \ - get, \ - set)) - - The genwrapper has been modified in this way. - The method signature is define by the prototype of the method - For example, the "const char* libraryName();" have - "__C5_char_P1__libraryName" for signature - - - solution for secondary problem: - The genwrapper accept new tokens in the configuration to - custumize the property. - The new PropertyInserter and the CustomPropertyInsertAttribute - class has been defined - The PropertyRemover has been added to the StdMapReflector - The _briefHelp and _detailedHelp variable has been added in - PropertyInfo, MethodInfo and ContructorInfo class - - - - - - - modification: - - I have modify the genwrapper files - Configuration.cpp Configuration.h add some tokens to custumize - the property - Doxyfile.template add the comment in the output xml - genwrapper.conf customize some property in osg::Geometry - RegistryBuilder.h RegistryBuilder.cpp add the process_help - function (to extract help from xml) - TypeRegister.cpp TypeRegister.h optimize the property detection - TypeDesc.h TypeDesc.cpp modify FunctionDesc and PropertyDesc - WrapperGenerator.h WrapperGenerator.cpp modify the output - - - - - I also modify the fallowing osgIntrospection files: - - include/osgIntrospection/Attributes add the PropertyInserter and - the CustomPropertyInsertAttribute class - include/osgIntrospection/ConstructorInfo add the _briefHelp and - _detailedHelp variable in the ConstructorInfo class - add access function for the two new variables (_briefHelp and - _detailedHelp) - modify the constructor to define the two new variables - (_briefHelp and _detailedHelp) - include/osgIntrospection/MethodInfo add the _briefHelp and - _detailedHelp variable in the MethodInfo class - add access function for the two new variables (_briefHelp and - _detailedHelp) - modify the constructor to define the two new variables - (_briefHelp and _detailedHelp) - include/osgIntrospection/PropertyInfo add the _briefHelp and - _detailedHelp variable in the PropertyInfo class - add access function for the two new variables (_briefHelp and - _detailedHelp) - modify the constructor to define the two new variables - (_briefHelp and _detailedHelp) - include/osgIntrospection/ReflectionMacro remove unused - I_Property* macro - modify all I_Method macro to accept the help string - modify all I_Method macro to define a MethodInfo signature - include/osgIntrospection/Reflector add the PropertyInserter in - StdVectorReflector and StdListReflector - add the PropertyRemover in the StdMapReflector - include/osgIntrospection/StaticMethodInfo modify all - StaticMethodInfo* to accept the help in parameter - include/osgIntrospection/TypedMethodInfo modify all - TypedMethodInfo* to accept the help in parameter - include/osgIntrospection/TypedConstructorInfo modify all - TypedConstructorInfo* to accept the help in parameter - include/osgIntrospection/Type add the _briefHelp and - _detailedHelp variable in the Type class - - " +Thu, 9 Sep 2004 08:54:22 +0000 +Checked in by : Robert Osfield +Change the warnigns about a fail getLibraryHandle to be INFO rather than WARN. -2006-10-17 12:29 robert +Thu, 9 Sep 2004 08:18:43 +0000 +Checked in by : Robert Osfield +From Martin Aumueller, added ref() and unref() to Inventor node handling. - * Changed name osg osgshadow example.dsp to avoid MS conflicts +Wed, 8 Sep 2004 18:14:04 +0000 +Checked in by : Robert Osfield +Fixed keyword used for setting the database name. -2006-10-17 11:28 robert +Wed, 8 Sep 2004 15:14:18 +0000 +Checked in by : Robert Osfield +Quick fix to crash in TXPNode. - * Added osgshadow example +Tue, 7 Sep 2004 14:34:04 +0000 +Checked in by : Robert Osfield +Changed usage of assert() to throw. -2006-10-15 11:56 robert +Tue, 7 Sep 2004 10:45:22 +0000 +Checked in by : Robert Osfield +Added a size check on heap_array::Adjust(size_t i) to prevent access errors. - * Ported FLTK example across to using GraphicsWindow +Tue, 7 Sep 2004 10:31:30 +0000 +Checked in by : Robert Osfield +From Paul Martz, removed redundent paramaters in clampArray4LEQUAL. -2006-10-15 11:39 robert +Tue, 7 Sep 2004 10:09:52 +0000 +Checked in by : Robert Osfield +Changed the wrap mode from CLAMP to CLAMP_TO_EDGE - * Ported across to using GraphicsWindow. +Tue, 7 Sep 2004 10:07:11 +0000 +Checked in by : Robert Osfield +From Paul Martz, typos and spelling fixes -2006-10-14 21:50 robert +Tue, 7 Sep 2004 06:59:19 +0000 +Checked in by : Robert Osfield +Added missing setTrackerMode(TrackerMode) - * From Chuck Seberion, added support reading ARB float format - textures. +Mon, 6 Sep 2004 18:20:38 +0000 +Checked in by : Robert Osfield +Added mutex to access to the Registry::_objectCache. -2006-10-14 21:47 robert +Mon, 6 Sep 2004 14:59:11 +0000 +Checked in by : Robert Osfield +From Joakim Simonsson, add s/getHPROrder method - * From Terry Welsh, mplemented POINT_ROT_EYE. +Mon, 6 Sep 2004 14:58:29 +0000 +Checked in by : Robert Osfield +Added docs for max size commandline params. -2006-10-14 10:16 robert +Mon, 6 Sep 2004 14:30:25 +0000 +Checked in by : Robert Osfield +From Marco Jez, added missing TexGenNode constructor. - * From Paul de Repentigny, fix for dvide by zero crash under - windows when toggle full screen in ogviewer. - From Robert Osfield, tweak to the fix to add comment describing - the extra check, and addition of check against width, and change - to ==0 rather than <= 0. +Sat, 4 Sep 2004 09:22:26 +0000 +Checked in by : Robert Osfield +Updates to controlling maximum texture size -2006-10-14 10:07 robert +Fri, 3 Sep 2004 15:42:43 +0000 +Checked in by : Robert Osfield +Added commandline support for Size and texcoord Multipliers - * Fixed texture coordinates of cylinder ends. +Fri, 3 Sep 2004 15:05:33 +0000 +Checked in by : Robert Osfield +Added setConstantColorAsLightDirection & getConstantColorAsLightDirection methods to make it more convinient to set up DOT3 register combiners. -2006-10-13 14:00 robert +Fri, 3 Sep 2004 10:02:56 +0000 +Checked in by : Robert Osfield +Added handling of RGBA to normal map computation - * Added -losgDB to fix OSX build +Thu, 2 Sep 2004 20:42:28 +0000 +Checked in by : Don BURNS +Fixed .net plugin errors on Mac -2006-10-07 11:57 robert +Thu, 2 Sep 2004 19:10:33 +0000 +Checked in by : Robert Osfield +From Geoff Michel, typo and spelling fixes - * Added dae (COLLADA) plugin to OpenSceneGraph.dsw workspace. +Thu, 2 Sep 2004 18:19:38 +0000 +Checked in by : Robert Osfield +Added Sequence back in with correct Permission, and with Geoff Michel's spelling corrections. -2006-10-07 11:53 robert +Thu, 2 Sep 2004 18:17:38 +0000 +Checked in by : Robert Osfield +Temporary removal of Sequence to try and get around permissions problem with it. - * Added project files for the - osgsimpleviewerFLTK,GLUT,Producer,QT3,QT4 and SDL examples +Thu, 2 Sep 2004 10:01:24 +0000 +Checked in by : Robert Osfield +Added usage of carbon pathway in appendPlatformSpecificLibraryFilePaths. -2006-10-06 14:46 robert +Thu, 2 Sep 2004 07:44:33 +0000 +Checked in by : Robert Osfield +Added comments from Eric - * Fixed OSGSHADOW_LIBRARY define +Thu, 2 Sep 2004 03:52:13 +0000 +Checked in by : Don BURNS +Fixed a mis-definition of INSTBIN and INSTLIB -2006-10-06 14:45 robert +Wed, 1 Sep 2004 17:18:04 +0000 +Checked in by : Robert Osfield +From Geoff Michel, removed mem_ptr reference as it no longer exists - * Fixed library name +Wed, 1 Sep 2004 15:14:55 +0000 +Checked in by : Robert Osfield +From Uwe Woessner -2006-10-06 14:16 robert +Wed, 1 Sep 2004 14:49:18 +0000 +Checked in by : Robert Osfield +Added Don's new osgDB::makeDirectory() code FileUtils. - * First cut at class interfaces and stubs for implementations for - the new osgShadow NodeKit +Wed, 1 Sep 2004 11:05:57 +0000 +Checked in by : Robert Osfield +Removed reference to old CmdLineArgs class -2006-10-06 13:04 robert +Wed, 1 Sep 2004 10:45:11 +0000 +Checked in by : Robert Osfield +From Jeoen den Dekker, changed eroneous tcoords[ci][0] to tcoords[ci][1] - * From Brede Johansen, "Here's a patch discussed in the thread - "OpenFlight Loader Discarding - Material" on the osg-user mailing list." +Wed, 1 Sep 2004 10:41:50 +0000 +Checked in by : Robert Osfield +From Tom Jolly, add detection for whether multi-texturing is supported before checking for number of texture units supported, using 1 as a fallback value -2006-10-06 11:02 robert +Wed, 1 Sep 2004 10:18:46 +0000 +Checked in by : Robert Osfield +Added bool paramter to MatrixManipulator::setHomePosition(,,,bool) to allow the autocomputehomeposition to be controlled. - * Updated wrappers +Wed, 1 Sep 2004 09:54:36 +0000 +Checked in by : Robert Osfield +From Marco Jez, added new osgmotionblur example -2006-10-06 09:54 robert +Wed, 1 Sep 2004 09:48:17 +0000 +Checked in by : Robert Osfield +From Eric Sokolsky, add support for recording default values for env vars - * Removed osgGA::GUIEventHandlerVisitor and osgGA::SetSceneVistor - classes/headers as - this classes weren't being actively used the distribution, - effectively being noops. +Wed, 1 Sep 2004 09:10:15 +0000 +Checked in by : Robert Osfield +Added crude #ifdef COIN_BASIC_H around ::REPLACE usage as this is only available under Coing -2006-10-06 06:58 robert +Wed, 1 Sep 2004 09:00:20 +0000 +Checked in by : Robert Osfield +Added support for CONSTANT_COLOR and ONE_MINUS_CONSTANT_COLOR into .osg - * Added workaround for NVidia driver bug into SceneView::init() to - prevent the extensions - string being initialized within a display list. +Wed, 1 Sep 2004 08:59:58 +0000 +Checked in by : Robert Osfield +From Sondra Iverson, adding of CONSTANT_COLOR and ONE_MINUS_CONSTANT_COLOR options -2006-10-05 14:32 robert +Wed, 1 Sep 2004 08:49:48 +0000 +Checked in by : Robert Osfield +From Marco Jez, addition of new interal texture formats to osg/Texture and Image.cpp - * Removed deprecated GUIEventHandler method +Wed, 1 Sep 2004 08:34:49 +0000 +Checked in by : Robert Osfield +From Brede Johhansen, fixed copy and paste bug where in getInverse(..) methods -2006-10-05 10:59 robert +Wed, 1 Sep 2004 08:15:36 +0000 +Checked in by : Robert Osfield +From Paul Martz, typos and spelling fixes. - * Renamed variable +Tue, 31 Aug 2004 21:18:46 +0000 +Checked in by : Don BURNS +small change for Visual Studio compile -2006-10-05 10:59 robert +Tue, 31 Aug 2004 21:06:01 +0000 +Checked in by : Don BURNS +Added Visual Studio files for osgPlugin net - * Refactored osgsimpleviewerQT4 to implement a GraphicsWindowQT, - and then use - multiple inheritance to build the final SimpleViewerQT. +Tue, 31 Aug 2004 20:49:23 +0000 +Checked in by : Don BURNS +added makeDir - temporary UNIX only -2006-10-05 10:07 robert +Tue, 31 Aug 2004 20:26:54 +0000 +Checked in by : Don BURNS +Fixes (hopefully) for windows and other platforms... - * Added a path with an experiemental GraphicsContexProducer - implementation, and a - test of mulitple inheritance. +Tue, 31 Aug 2004 14:49:33 +0000 +Checked in by : Robert Osfield +From Geoff Michel, typo and spelling fixes. -2006-10-05 10:06 robert +Tue, 31 Aug 2004 14:48:05 +0000 +Checked in by : Robert Osfield +Added support for spherical texture mapping and better file search support for meterial files. - * Added osgGA::GraphicsWindow base class that derives from - osg::GraphicsContext but - adds default overrides its pure virtue methods, and an - EventQueue. +Tue, 31 Aug 2004 14:21:46 +0000 +Checked in by : Robert Osfield +Simplified the TrackMode options -2006-10-04 09:11 robert +Tue, 31 Aug 2004 14:08:12 +0000 +Checked in by : Robert Osfield +From Geoff Michel, spelling and typo fixes. - * Added osgGA depedency. +Tue, 31 Aug 2004 13:19:30 +0000 +Checked in by : Robert Osfield +From Sébastien Kuntz, spelling and typo fixes -2006-10-03 20:42 robert +Tue, 31 Aug 2004 09:20:31 +0000 +Checked in by : Robert Osfield +Added rescale of quaternion in Matrix::set(Quat), a copy operation in osg::Quat and extra tracking options in NodeTrackerManipulator. - * Removed the redundent relaseGLObjects() method declerations +Tue, 31 Aug 2004 01:12:56 +0000 +Checked in by : Don BURNS +Added cache_mode option to Net plugin -2006-10-03 20:20 robert +Mon, 30 Aug 2004 18:53:44 +0000 +Checked in by : Robert Osfield +Added trackmode support for handling rotation of tracked node - * From John Aughey, "Attached is the Optimizer.cpp file that has - the fix to duplicate vertex and normal arrays if there is more - than one reference to the data. This fixes the problem where the - transforms are applied to the same vertex array multiple times if - that vertex array is re-used within the model. " +Mon, 30 Aug 2004 18:51:42 +0000 +Checked in by : Robert Osfield +Fixed the Matrix::get(Quat&) method -2006-10-03 19:55 robert +Mon, 30 Aug 2004 10:03:18 +0000 +Checked in by : Robert Osfield +Remamed TrackerManipulator to NodeTrackerManipulator - * From John Aughey, "The id name of nodes are not being set in the - daeReader::processNode method. The names are retained in most of - the other osg::Nodes that are created. In this case, I have an - external modeler creating models, and the name of component nodes - are used to give that subtree different characteristics." +Mon, 30 Aug 2004 01:15:49 +0000 +Checked in by : Don BURNS +Added the local_cache_dir option to the net plug-in allowing for the keeping and populating of a local cache. With this option, the cache is checked first before fetching from the network. -2006-10-03 12:46 robert +Sun, 29 Aug 2004 15:09:26 +0000 +Checked in by : Robert Osfield +Added handling of $ comment line, and 'g' empty group name - * Added osgDB to dependency of osgGA +Sun, 29 Aug 2004 00:57:02 +0000 +Checked in by : Don BURNS +Added two options to the .net loader: hostname= - Specify the host to connect to to retreive files server_prefix= - Specify a prefix to each file indicating a directory for the server to look into Also, the .net server now does not require a file to have the .net suffix. ALl this together now means that you can do this: osgviewer -e net -O "hostname=openscenegraph.org server_prefix=BlueMarble" earth.ive -2006-10-03 11:14 robert +And view the whole earth streamed from a server. - * Fixed bug related to clean up of text fonts. -2006-10-03 09:55 robert - * From Brede Johansen, "This submission adds multitexture support - for detecting translucent - images used to enable alpha blending. - - Mesh was syncronized with featureset from Face record." +Sat, 28 Aug 2004 23:04:47 +0000 +Checked in by : Don BURNS +Changes for IRIX build and fix to build system -2006-10-03 09:39 robert +Sat, 28 Aug 2004 07:25:21 +0000 +Checked in by : Don BURNS +Added the .net plug-in. This allows the reading of files by specifying :file..net for example: osgviewer osgcvs.no-ip.com:OSGModels/cow.osg.net - * From Brede Johansen, "I think some nitpicking is required. The - loop duration was added in - OpenFlight version 15.8. With the attached changes the flasher - unit - on the spinnercar and the character_anim model from the Creator - gallery behaves." -2006-10-02 15:59 robert - * From Colin McDonald, "I've included render bin checks in the - StateSet::compare function, because - without them the Optimizer can incorrectly eliminate (otherwise - identical) - StateSets from different render bins." +Fri, 27 Aug 2004 16:52:23 +0000 +Checked in by : Robert Osfield +Fix of OSX build -2006-10-02 15:38 robert +Fri, 27 Aug 2004 16:19:05 +0000 +Checked in by : Robert Osfield +Fix for OSX build. - * Added releaseGLObjects to NodeCallbacks, Drawable::DrawCallbacks - and wired up - osgProducer to use it when doing cleanup_frame. +Fri, 27 Aug 2004 16:14:21 +0000 +Checked in by : Robert Osfield +Added a new osgDB::appendPlatformSpecificLibraryFilePaths() method to FileUtils.cpp Includes a new OSX code from Eric Wing -2006-10-02 15:09 robert +Fri, 27 Aug 2004 14:56:08 +0000 +Checked in by : Robert Osfield +Added .tif extension to handled extension list - * From Paul Martz, Bug fix for sequence node direction, It examines - the number of children in the Group record destructor, so that - the total duration of the sequence matches the specified - loopDuration field. +Fri, 27 Aug 2004 12:04:29 +0000 +Checked in by : Robert Osfield +Removed eroneous cancel() and join() from the DatabasePager::run() method. -2006-10-02 14:11 robert +Fri, 27 Aug 2004 08:03:26 +0000 +Checked in by : Robert Osfield +Added handling of short (<=4 points) polygons as tri fans and the rest as polygons which are tesselated, to improve load and build time, yet still resselating the large polygons that need it. - * From Farshid Lashkari, "Here is the patch we discussed previously - about adding a flag to - CullSettings which allows CameraNode to inherit the clear color." +Fri, 27 Aug 2004 08:01:17 +0000 +Checked in by : Robert Osfield +Added handling of DrawArrayLengths PrimitiveSet. -2006-10-02 13:40 robert +Thu, 26 Aug 2004 16:20:26 +0000 +Checked in by : Robert Osfield +Improvements to handling of winding of polygons. - * From Farshid Lashkari, "The ColorControl of osg::LightModel is - never applied because it - incorrectly checks for a valid OpenGL version. Instead of - checking if - the current version is exactly 1.2, it will check if the version - is - greater than 1.2." +Thu, 26 Aug 2004 14:52:14 +0000 +Checked in by : Robert Osfield +Removed debugging output. -2006-10-02 13:24 robert +Thu, 26 Aug 2004 14:33:38 +0000 +Checked in by : Robert Osfield +Rewrite of OBJ parser + converter to OSG - * From Per Fahlberg, "Attached is a fix for loading the same file - multiple times with the - COLLADA plugin. dae->load will not return DAE_OK the second time - a model is loaded, so a - second check for DAE_ERR_COLLECTION_ALREADY_EXISTS has been - added." +Thu, 26 Aug 2004 06:41:09 +0000 +Checked in by : Robert Osfield +Fixed getHomePosition -2006-10-02 13:11 robert +Tue, 24 Aug 2004 21:35:41 +0000 +Checked in by : Don BURNS +Robert must've forgotten to set VERSION_REVISION back to 0 after tagging the release - * From Edgar Ellis, "Changed return type of osg::equivalent methods - from float/double to bool. - " +Tue, 24 Aug 2004 18:27:47 +0000 +Checked in by : Robert Osfield +Removed "interlace" debugging message -2006-10-02 13:07 robert +Tue, 24 Aug 2004 18:23:53 +0000 +Checked in by : Robert Osfield +Changed the AnimationPathCallback::reset() to reset the _firstTime to DBL_MAX so that it resets on the next update traversal. - * From Andreas Ekstrand, "Attached is a small bug fix in the DW - plugin. The texture application - matrix is read into a double matrix called mx, it was declared as - 3x2, - it's now fixed to 3x3." +Tue, 24 Aug 2004 13:25:45 +0000 +Checked in by : Robert Osfield +Added support for looping mode -2006-10-02 11:47 robert +Tue, 24 Aug 2004 12:55:15 +0000 +Checked in by : Robert Osfield +Added s/getLoopingMode() to ImageStream and MPEG plugin - * Added SERIALIZER to ReaderWriterDAE to make sure initialization - is thread safe. +Tue, 24 Aug 2004 11:00:05 +0000 +Checked in by : Robert Osfield +Removed HoveManipulator -2006-10-02 11:38 robert +Tue, 24 Aug 2004 10:58:51 +0000 +Checked in by : Robert Osfield +Updated docs - * From Andreas Ekstrand, "Attached is a modified - ReaderWriterDAE.cpp which creates the one and - only DAE instance when it's first needed instead of in the - constructor. - This fixes the problem with osgdb_dae.dll not being loaded due to - unwanted ordering of global initialization. - - This fix and the previous fix of the COLLADA plugin might be - unnecessary - with the latest COLLADA DOM, but since many of us will probably - still - use the older version of the DOM, I guess it's better this way. - " +Tue, 24 Aug 2004 08:43:53 +0000 +Checked in by : Robert Osfield +Made the command buffer have 20 elements in it to protect against wrapping around. -2006-10-02 11:34 robert +Tue, 24 Aug 2004 07:29:28 +0000 +Checked in by : Robert Osfield +Changed --compress to --compressed in commandline docs - * From Andreas Ekstrand, "It seems my changes to ESRIShape.dsp (to - create an osgdb_shp.dll rather - than an osgdb_ESRI.dll) were overwritten by later commits to this - file. - Here are the changes again, made from the latest version of - ESRIShape.dsp." +Mon, 23 Aug 2004 20:29:42 +0000 +Checked in by : Don BURNS +Fixed error for when screen width * 0.75 is greater than screen height for compute of window size when coming from fullscreen when 'f' key is pushed. -2006-10-02 11:26 robert +Mon, 23 Aug 2004 17:17:46 +0000 +Checked in by : Don BURNS +Fixed assumption that the users's screen is 1280x1024 when toggling full screen with the 'f' key. - * From Farshid Lashkari, "There was a bug in ParticleSystem where - the bounds is not properly - flagged as computed when there is only 1 particle. Attached is - the - fix." +Mon, 23 Aug 2004 14:08:26 +0000 +Checked in by : Robert Osfield +Fixed link to download page -2006-10-01 19:19 robert +Mon, 23 Aug 2004 08:44:47 +0000 +Checked in by : Robert Osfield +Added protection to prevent crashes on calls when no data is set up - * From Chris Hanson, "These changes break out the implementation of - the fill/wireframe/point, texture, - lighting and backface culling settings from the event handling - code in StatesetManipulator - into public methods. The event handler now calls the public - methods. This allows user code - to invoke this same functionality from non-keyboard event inputs - without clashing with the - keyboard-invoked functionality." - - From Robert Osfield, tweaks to the above to kepp the coding style - the same as the rest of the OSG, also - made getPolygonMode() const, and updated the wrappers. +Mon, 23 Aug 2004 08:31:55 +0000 +Checked in by : Robert Osfield +Changed the write help option to just output commandline options. -2006-10-01 19:09 robert +Mon, 23 Aug 2004 07:25:19 +0000 +Checked in by : Robert Osfield +Updated docs to point to correct 3rd party binaries - * From Brede Johansen, "I have added "billboardCenter" as a reader - option to use the center of - a billboard as the pivot point." +Sat, 21 Aug 2004 17:29:19 +0000 +Checked in by : Don BURNS +Added back in the -s (scale) argument to osgconv, which was dropped in the last revision. -2006-10-01 19:00 robert +Fri, 20 Aug 2004 09:46:02 +0000 +Checked in by : Robert Osfield +From Don Tidrow, fixes to comments. - * From Colin McDonald, "I have corrected a byte swapping problem in - the new OpenFlight - plugin. It was only reading floats & doubles correctly on little - endian systems, which require byte swapping, and not on big - endian systems which don't require any swapping." +Wed, 18 Aug 2004 10:07:02 +0000 +Checked in by : Robert Osfield +Bumped up the revision number to 2 for the 0.9.7-2 release -2006-10-01 16:14 robert +Wed, 18 Aug 2004 09:34:50 +0000 +Checked in by : Robert Osfield +Set date for 0.9.7-2 release - * Added GLUT based osgsimpleviewerGLUT example +Wed, 18 Aug 2004 06:06:02 +0000 +Checked in by : Robert Osfield +Rejigged the __int* definitions to try and get round Mingw compile errors -2006-10-01 16:12 robert +Tue, 17 Aug 2004 19:42:45 +0000 +Checked in by : Robert Osfield +From Bruce Clay, fixes for VS6.0 build. - * Added Producer based osgsimplerviewerProducer example +Tue, 17 Aug 2004 18:57:02 +0000 +Checked in by : Robert Osfield +From David Fries, added getBinNum() method -2006-10-01 16:10 robert +Tue, 17 Aug 2004 18:56:24 +0000 +Checked in by : Robert Osfield +Changed sizeof(..) references to 1,2,4 respectively. - * Added FLTK example app - osgsimpleviewerFLTK. +Tue, 17 Aug 2004 08:14:50 +0000 +Checked in by : Robert Osfield +Updated changelog -2006-10-01 13:26 robert +Tue, 17 Aug 2004 07:58:32 +0000 +Checked in by : Robert Osfield +From David Fries, "I added code to also check the local up vector, but only if one of the rotation modes is selected, because autoscale isn't affected by the camera rotations. " - * Added osgsimpleviewerQT4 example +Tue, 17 Aug 2004 07:44:31 +0000 +Checked in by : Robert Osfield +Changed the "flip" keyword to "dds_flip" -2006-10-01 11:08 robert +Tue, 17 Aug 2004 07:43:30 +0000 +Checked in by : Robert Osfield +Updated docs for second rev of 0.9.7 - * Refactored the SDL example so that the event conversion in done - is a seperate method. +Tue, 17 Aug 2004 06:15:54 +0000 +Checked in by : Robert Osfield +Removed computeMipMaps call -2006-09-30 20:06 robert +Mon, 16 Aug 2004 21:14:19 +0000 +Checked in by : Robert Osfield +Added support for "flip" option string, which if present flips incoming images about the vertical axis. Accessed via -O flip on the commandline. - * Added a based SDL viewer - osgsimpleviewerSDL +Mon, 16 Aug 2004 21:03:41 +0000 +Checked in by : Robert Osfield +Added a handling of different hex long long handling for VS and non VS. -2006-09-30 20:05 robert +Mon, 16 Aug 2004 20:57:24 +0000 +Checked in by : Robert Osfield +Added support in Image::flipVertical for flipping mipmapped imagery and for flipping compressed imagery. - * Updated wrappers +Mon, 16 Aug 2004 16:43:17 +0000 +Checked in by : Robert Osfield +Fixed _MSC_VAR reference -2006-09-30 20:05 robert +Mon, 16 Aug 2004 15:45:17 +0000 +Checked in by : Robert Osfield +Added dxtctool.h/.cpp - * Cleaned up build and indenting +Mon, 16 Aug 2004 15:43:12 +0000 +Checked in by : Robert Osfield +Added fxtctool in prep for adding compressed imagery swap -2006-09-30 16:30 robert +Mon, 16 Aug 2004 14:21:31 +0000 +Checked in by : Robert Osfield +Cleaned up output level of debugging messages - * Various clean ups to comments +Mon, 16 Aug 2004 14:03:17 +0000 +Checked in by : Robert Osfield +Fix to order of materials -2006-09-30 16:29 robert +Mon, 16 Aug 2004 13:54:40 +0000 +Checked in by : Robert Osfield +From Michael Gronager, addition of NodeCallback support in .osg format. - * Added SimpleViewer +Mon, 16 Aug 2004 13:17:29 +0000 +Checked in by : Robert Osfield +Improvements to the handling of OBJ files -2006-09-30 16:26 robert +Mon, 16 Aug 2004 08:58:07 +0000 +Checked in by : Robert Osfield +Disabled the culling on the DistortionNode. - * Added osgsimpleviewerQT3 example +Mon, 16 Aug 2004 08:55:48 +0000 +Checked in by : Robert Osfield +Disabled the culling for clear node. -2006-09-30 14:12 robert +Mon, 16 Aug 2004 08:32:16 +0000 +Checked in by : Robert Osfield +Changed the length multiple to be 2x the bounding sphere radius - * Moved osgGLUTsimple and osgGLUTkeyboardmouse across to using - osgGA::SimpleViewer +Mon, 16 Aug 2004 07:29:07 +0000 +Checked in by : Robert Osfield +From Michael Gronager, fix to an orientation bug. -2006-09-30 14:10 robert +Sat, 14 Aug 2004 15:42:01 +0000 +Checked in by : Don BURNS +P*E*G*O*U*T Sound. Spelling fixes. - * Added subclassing from osg::Referenced to allow the SimpleViewer - to be safely managed on the heap. +Fri, 13 Aug 2004 15:48:24 +0000 +Checked in by : Robert Osfield +Added news for release 0.9.7-2 -2006-09-30 13:41 robert +Fri, 13 Aug 2004 15:29:15 +0000 +Checked in by : Robert Osfield +Updates for 0.9.7-2 release - * Added check to init to prevent crash when no camera manipulator - is supplied. +Fri, 13 Aug 2004 14:42:26 +0000 +Checked in by : Robert Osfield +From Corbin Holtz, addition of support for reading imagery with color tables, including code from Frank Warmerdam on the GDAL side, and integration/reworking work form Robert Osfield. -2006-09-29 21:44 robert +Fri, 13 Aug 2004 14:09:48 +0000 +Checked in by : Robert Osfield +Updated docs. - * Added false to setWindowRectangle() call as the InputRange is - already set correctly. +Fri, 13 Aug 2004 13:46:47 +0000 +Checked in by : Robert Osfield +Added docs for CacheObjectHints -2006-09-29 18:47 robert +Fri, 13 Aug 2004 13:27:29 +0000 +Checked in by : Robert Osfield +Removed redundent include/ReadFile call - * Added preliminary DatabasePager support. +Fri, 13 Aug 2004 12:38:12 +0000 +Checked in by : Robert Osfield +Changed the "Reading a byte swapped file" message to info level. -2006-09-25 16:25 robert +Fri, 13 Aug 2004 12:05:08 +0000 +Checked in by : Robert Osfield +Fix for VS6.0 build - * Added bare bones osgGA::SimpleViewer class to help simplify OSG - setup when embedding the OSG - into existing GUI applications, and for one one a single camera, - single window is required. +Fri, 13 Aug 2004 10:50:44 +0000 +Checked in by : Robert Osfield +Added #include required for X-platform build. -2006-09-21 15:09 robert +Fri, 13 Aug 2004 10:49:45 +0000 +Checked in by : Robert Osfield +Removed inappropriate #ifdefs - * Updated wrappers +Fri, 13 Aug 2004 10:46:04 +0000 +Checked in by : Robert Osfield +Fixes for OSX. -2006-09-21 11:26 robert +Wed, 11 Aug 2004 08:25:14 +0000 +Checked in by : Robert Osfield +From Ben Discoe, build fix for float version of Matrix. - * From Eric Wing, updated to Xcode projects +Tue, 10 Aug 2004 18:31:43 +0000 +Checked in by : Robert Osfield +Changed the database pager run message to only output at an info level -2006-09-21 10:38 robert +Tue, 10 Aug 2004 13:30:32 +0000 +Checked in by : Robert Osfield +Updated to include reference to osgdem - * From Farshid Lashkari, "I made a small modification to the - CullVisitor class so that it uses - the inheritance mask of CameraNodes with respect to the compute - near/far mode." +Tue, 10 Aug 2004 13:19:04 +0000 +Checked in by : Robert Osfield +Added osgdem quick usage guide -2006-09-21 10:01 robert +Mon, 9 Aug 2004 15:12:00 +0000 +Checked in by : Robert Osfield +Set revision number back to 0. - * From Farshid Lashkari, added function for querring whether a mode - is a texture related mode or not. +Mon, 9 Aug 2004 15:08:30 +0000 +Checked in by : Robert Osfield +Set version to 0.9.7-1 -2006-09-21 09:50 robert +Mon, 9 Aug 2004 13:58:03 +0000 +Checked in by : Robert Osfield +Updated NEWS - * From Loic Dachary, renamed _mips to of_mips to prevent compile - problem under MIIPS +Sat, 7 Aug 2004 19:08:12 +0000 +Checked in by : Robert Osfield +Changed binding warnings to be reported as info rather than as warnings. -2006-09-21 09:24 robert +Sat, 7 Aug 2004 09:42:19 +0000 +Checked in by : Robert Osfield +Added the ability to set the global stateset, as use this RenderStageLighting - * Rationalized on the number of libs required. +Fri, 6 Aug 2004 19:55:36 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, change the FREETYPE_INCLUDE and _LIB to hardcoded version to avoid reliance on freetype-config. -2006-09-21 08:56 robert +Fri, 6 Aug 2004 09:38:43 +0000 +Checked in by : Robert Osfield +Fix for Mingw from Norman Vine. - * Removed use osg OSG_LIBS, changing to just -losg and -losgDB. +Fri, 6 Aug 2004 09:36:13 +0000 +Checked in by : Robert Osfield +Updated NEWS -2006-09-20 15:48 robert +Fri, 6 Aug 2004 09:35:08 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, adding of SDKPATH to OSX build - * Updated positions of the text labels to make them move obvious on - start up +Fri, 6 Aug 2004 08:56:18 +0000 +Checked in by : Robert Osfield +Added support for the "precision " options string -2006-09-20 13:41 robert +Fri, 6 Aug 2004 08:34:54 +0000 +Checked in by : Robert Osfield +Updated docs - * Added missining initialization of _radius in constructors +Fri, 6 Aug 2004 08:22:58 +0000 +Checked in by : Robert Osfield +Added support for osg::AutoTransform::setAutoRotateMode(AutoRotateMode) deprecating the previous setAutoRotateToScreen(). Added support for ROTATE_TO_CAMERA mode.Cleaned up the autotransform demo to use a sensible number of labels -2006-09-20 13:40 robert - * Added use of ClusterCullingCallback -2006-09-20 12:58 robert +Fri, 6 Aug 2004 06:53:36 +0000 +Checked in by : Robert Osfield +Updated docs - * Created stress test of fade text labelling +Fri, 6 Aug 2004 05:28:51 +0000 +Checked in by : Robert Osfield +Typo fixes from Geoff Michel -2006-09-20 10:36 robert +Fri, 6 Aug 2004 05:25:21 +0000 +Checked in by : Robert Osfield +From Bruce Clay, Build fixes for Win32 VS6.0 - * Updates for fade text to work properly, but only in perspetive - views at present. +Thu, 5 Aug 2004 15:15:51 +0000 +Checked in by : Robert Osfield +From Jay Zuckerman, fixes to AutoTransform so that it includes checking of previous position value. -2006-09-19 22:57 robert +Thu, 5 Aug 2004 15:14:50 +0000 +Checked in by : Robert Osfield +From Marco Jez, updates to work with latest StateAttrbiute::compileGLObjects method - * Further work on fade text. +Thu, 5 Aug 2004 15:02:51 +0000 +Checked in by : Robert Osfield +From Marco Jez, commented out info debugging messages -2006-09-19 20:19 robert +Thu, 5 Aug 2004 13:41:52 +0000 +Checked in by : Robert Osfield +From Marco Jez, VS.NET warning fixes. - * Further work on osgText::FadeText implementation. +Thu, 5 Aug 2004 12:47:55 +0000 +Checked in by : Robert Osfield +Changed the popProjectionMatrix so that it didn't allow modification on the near and far values when clamping the projection matrix. -2006-09-19 13:54 robert +Thu, 5 Aug 2004 10:01:32 +0000 +Checked in by : Robert Osfield +Added s/getClearColor and deprecated s/getBackgroundColor(). Re-implemented setClearColor so that it passes on its value to Camera::setClearColor(), and changed OsgSceneHandler to use the Camera::getClearColor() on each new frame to ensure that it reflects the settings of the camera correctly. - * Fixed reading/writing of non C string osg::Text::String's. +Thu, 5 Aug 2004 08:02:48 +0000 +Checked in by : Robert Osfield +Set version numbers for 0.9.7 release -2006-09-18 21:03 robert +Wed, 4 Aug 2004 10:22:55 +0000 +Checked in by : Robert Osfield +Added GDAL to dependencies list - * Added osgfadetext example to VS projects +Wed, 4 Aug 2004 10:03:57 +0000 +Checked in by : Robert Osfield +Cleaned up the gdal-config usage to work with gdal-1.1.9 -2006-09-18 20:54 robert +Wed, 4 Aug 2004 09:20:28 +0000 +Checked in by : Robert Osfield +Added support for setting custom dependencies - * Introduced new osg::View, and osg::RenderInfo classes into the - core OSG to help - handle scenes with multiple views with elements that need - coordinating on a per view basis. - - Added beginings of new osgText::FadeText class (not functionality - yet). +Wed, 4 Aug 2004 08:27:43 +0000 +Checked in by : Robert Osfield +From Norman Vine (with small tweaks by Robert Osfield), build fixes for Cygwin -2006-09-15 13:11 robert +Wed, 4 Aug 2004 07:14:12 +0000 +Checked in by : Robert Osfield +From Brede Johansen, fixes for Win32 build - * From Per Fahlberg, "I've fixed the dae plugin so it is only using - one instance of the DAE. - The crashes seen earlier are gone, it is now possible to read - multiple - .dae files and converting both to and from .dae files." +Wed, 4 Aug 2004 06:57:03 +0000 +Checked in by : Robert Osfield +From Don Tidrow, build fix for Peformer -2006-09-15 10:21 robert +Tue, 3 Aug 2004 19:01:32 +0000 +Checked in by : Robert Osfield +Brief update of news. - * Added a _threadHoldingMutex = 0; to ReentrantMutex::unlock() to - avoid a potential - bug with the mutex being aquired by two threads. +Tue, 3 Aug 2004 19:00:55 +0000 +Checked in by : Robert Osfield +Fixed tabbing -2006-09-13 16:38 robert +Tue, 3 Aug 2004 19:00:33 +0000 +Checked in by : Robert Osfield +Added test for quat multiplication ordering. - * Returning revion number to 0 to signify CVS version +Tue, 3 Aug 2004 18:06:36 +0000 +Checked in by : Robert Osfield +From Pavel Moloshtan, fix to Image copy constructor so that it used the correct size of image including mipmaps. -2006-09-13 14:55 robert +Tue, 3 Aug 2004 12:38:11 +0000 +Checked in by : Robert Osfield +Added include of scoped lock - * Added extra comment explaining where state reset() should be - called. +Tue, 3 Aug 2004 11:01:39 +0000 +Checked in by : Robert Osfield +Better macro support for switching on/off use of mutex -2006-09-13 14:00 robert +Tue, 3 Aug 2004 07:31:33 +0000 +Checked in by : Robert Osfield +Changed the static array syntax to solve VS.NET compile warnigns, changed the binding of the normals, and changed the name of the textures used. - * From Eric Wing, updates to OSX build notes. +Mon, 2 Aug 2004 15:56:18 +0000 +Checked in by : Robert Osfield +Fixed warnings -2006-09-13 13:50 robert +Mon, 2 Aug 2004 15:52:50 +0000 +Checked in by : Robert Osfield +Fixed warning - * Fixed GPU stats display bug. +Mon, 2 Aug 2004 14:52:39 +0000 +Checked in by : Robert Osfield +Fixed warnigns -2006-09-13 13:33 robert +Mon, 2 Aug 2004 14:52:24 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Correct HP's AIX to IBM's AIX. +Mon, 2 Aug 2004 14:42:20 +0000 +Checked in by : Robert Osfield +Removed warings -2006-09-12 19:15 robert +Mon, 2 Aug 2004 13:57:47 +0000 +Checked in by : Robert Osfield +Fixed warnings - * Updated version for 1.2 release +Mon, 2 Aug 2004 12:19:50 +0000 +Checked in by : Robert Osfield +Made the member variables in RenderStage and RenderBin protected -2006-09-12 19:09 robert +Mon, 2 Aug 2004 09:30:13 +0000 +Checked in by : Robert Osfield +Added glReadBuffer after each instance of glDrawBuffer to ensure that the any reads are done to the appropriate buffer. - * Updated ChangeLog for 1.2 release +Mon, 2 Aug 2004 09:11:31 +0000 +Checked in by : Robert Osfield +From Norman Vine, fixes for Mingw -2006-09-12 15:21 robert +Mon, 2 Aug 2004 07:25:28 +0000 +Checked in by : Robert Osfield +From Tom Jolly. a couple of small changes to osgParticle."The first is with +Particle.cpp. I made a change so that when the lifetime is 0 (lasts +forever) the sizeRange, colorRange, and alphaRange are used to create +a random size, color, and alpha." - * Fixed the drawArrays() method checking of _drawArrayPtr +"The second change is with range and SectorPlacer. The distribution of +particles across the sector was not uniform. I added get_random_sqrtf() +function where it is used in SectorPlacer::Place(). This seems to make +the distribution uniform (at least when minimum radius is 0)." -2006-09-12 12:35 robert - * Added a check for zero length line segment in bool - LineSegment::intersect(const BoundingSphere& bs,float& r1,float& - r2) const. -2006-09-12 10:52 robert +Mon, 2 Aug 2004 07:23:26 +0000 +Checked in by : Robert Osfield +Added osgtesselate example - * Updated ChangeLog fro 1.2 release +Sun, 1 Aug 2004 10:36:02 +0000 +Checked in by : Robert Osfield +From Geoff Michel, new osgtesselate example, and new features in osgUtil::Tesselator. -2006-09-12 10:46 robert +Sun, 1 Aug 2004 08:26:44 +0000 +Checked in by : Robert Osfield +Build fixes for gcc 3.4.1 support - * Updated AUTHORS file for 1.2 release +Sun, 1 Aug 2004 04:10:54 +0000 +Checked in by : Robert Osfield +Removed old iv plugin -2006-09-12 09:28 robert +Sun, 1 Aug 2004 04:06:07 +0000 +Checked in by : Robert Osfield +Added PROFILER support under Linux for gprof and FunctionCheck - * Updated NEWS for 1.2 release +Fri, 30 Jul 2004 15:44:59 +0000 +Checked in by : Robert Osfield +Added beginnings of new TrackballManipulator -2006-09-12 09:26 robert +Thu, 29 Jul 2004 14:24:50 +0000 +Checked in by : Robert Osfield +Added osgText to makefile - * Revised the osg::ClampColor API to allow vertex, fragment and - read color clamping to - be applied together. +Thu, 29 Jul 2004 10:13:02 +0000 +Checked in by : Robert Osfield +Added detection and disabling of flattening of static transforms which a LightPointNode exists in the scene graph. -2006-09-08 20:08 robert +Wed, 28 Jul 2004 19:56:22 +0000 +Checked in by : Robert Osfield +Fixed compare(ProgramObject) and added UniformeValue::compare and ShaderObject::compare to support proper sorting of shaders. - * From Bryan Thrall, fix to Optimizer::MergeGeometryVisitor so that - it checks - the permissable operation status on Drawables. +Wed, 28 Jul 2004 12:38:54 +0000 +Checked in by : Robert Osfield +Replaced GL_PACK_ROW_LENGTH by GL_UNPACK_ROW_LENGTH -2006-09-08 14:31 robert +Wed, 28 Jul 2004 12:29:15 +0000 +Checked in by : Robert Osfield +From Corbin Holtz, addition of GDAL_INCLUDE and GDAL_LIB env vars for setting a non standard location of GDAL - * Updated ChangeLog and AUTHORS file for 1.2 release +Wed, 28 Jul 2004 12:27:25 +0000 +Checked in by : Robert Osfield +Added initializer for _videoWriteData and _rows pointers -2006-09-08 13:24 robert +Wed, 28 Jul 2004 10:26:44 +0000 +Checked in by : Robert Osfield +Commented out debugging messages - * Cleaned up NEWS for 1.2 release +Wed, 28 Jul 2004 10:26:14 +0000 +Checked in by : Robert Osfield +Fixed the flatten static transform visitor so that it checks to see if a drawable can be flattened or not. -2006-09-08 10:46 robert +Wed, 28 Jul 2004 08:28:31 +0000 +Checked in by : Robert Osfield +Added double buffer of video imagery so that the OpenGL never reads as Mpeg writes - * From Eric Wing, updated to Xcode projects +Wed, 28 Jul 2004 07:24:13 +0000 +Checked in by : Robert Osfield +From David Fries, divide by zero fix on text with a pixel size of 0.0 -2006-09-08 10:07 robert +Tue, 27 Jul 2004 15:14:52 +0000 +Checked in by : Robert Osfield +Made the static mutex a pointer to a static mutex to get round a exit problem on deletion of the plugin. - * Added link to website for build docs. +Tue, 27 Jul 2004 13:32:15 +0000 +Checked in by : Robert Osfield +Clean up of debugging messages -2006-09-08 10:07 robert +Tue, 27 Jul 2004 13:24:35 +0000 +Checked in by : Robert Osfield +Fixed unref image so it only unref's when images are STATIC - * From Mike Wittman, perl script to help remain project files for - dumb VisualStudio 6.0 limitations. +Tue, 27 Jul 2004 10:23:11 +0000 +Checked in by : Robert Osfield +Changes to fix multiple thread start. -2006-09-07 10:41 robert +Tue, 27 Jul 2004 10:11:45 +0000 +Checked in by : Robert Osfield +Added support s/getImage(uint i) and getNumImages(). - * From Mike Weiblen, added missing export to fix osgTerrain wrapper - linking under VS +Tue, 27 Jul 2004 09:04:56 +0000 +Checked in by : Robert Osfield +Fixed double thread start problem. -2006-09-06 20:11 robert +Mon, 26 Jul 2004 19:40:02 +0000 +Checked in by : Robert Osfield +Made the handling of types more consistent - * Updated osgTerrain wrapper project file with gdal dependencies. +Mon, 26 Jul 2004 14:25:41 +0000 +Checked in by : Robert Osfield +Added setting of block_on_vsync of both CameraGroup and all the Camera's that it contains. -2006-09-06 14:10 robert +Sun, 25 Jul 2004 18:46:20 +0000 +Checked in by : Robert Osfield +Changed value_type back to being a float. - * Tweak to NEWS +Fri, 23 Jul 2004 10:03:18 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, updates to dsp to improveme formatting and include OpenThreads -2006-09-06 13:53 robert +Fri, 23 Jul 2004 09:49:04 +0000 +Checked in by : Robert Osfield +Fixed iddle update. - * Made get methods const +Fri, 23 Jul 2004 09:15:22 +0000 +Checked in by : Robert Osfield +Added ImageStream::quit(bool) for exiting from video threads, and added clean up to OsgCameGroup to quit movie threads automatically. -2006-09-06 09:46 robert +Fri, 23 Jul 2004 04:03:57 +0000 +Checked in by : Robert Osfield +Made doc comments more relevant. - * From Brede Johansen, "The previous submission didn't handle - Objects with transforms. The - attached file corrects this. - - I also removed the multitexture macro for the Object record. Only - Face and Mesh records are valid targets." +Thu, 22 Jul 2004 18:34:38 +0000 +Checked in by : Robert Osfield +Added support for OSG_OPTIMIZER="OFF" -2006-09-05 20:18 robert +Thu, 22 Jul 2004 15:41:13 +0000 +Checked in by : Robert Osfield +Fixed build - * From Eric Wing, updates to Xcode projects +Thu, 22 Jul 2004 15:11:14 +0000 +Checked in by : Robert Osfield +Added more usage mutex to serialize access to Quicktime. -2006-09-05 17:15 robert +Thu, 22 Jul 2004 12:10:53 +0000 +Checked in by : Robert Osfield +Added support for compressing textures to osgconv, can be accessed by running --compressed when outputting to a .ive file. - * Removed reference to Sony in COLLADA news entry. +Thu, 22 Jul 2004 11:59:58 +0000 +Checked in by : Robert Osfield +Added support texture compression in osgconv -2006-09-05 15:22 robert +Thu, 22 Jul 2004 07:41:17 +0000 +Checked in by : Robert Osfield +Changed _valueAnisotropy from bool to float. - * Updated NEWS, AUTHORS file and osgversion for the 1.2-rc1 +Wed, 21 Jul 2004 19:16:49 +0000 +Checked in by : Robert Osfield +Added preliminary support for thread safety in various delete GLobjects code -2006-09-05 15:09 robert +Wed, 21 Jul 2004 19:15:34 +0000 +Checked in by : Robert Osfield +Added missing tex env mode - * Updated ChangeLog +Wed, 21 Jul 2004 19:14:15 +0000 +Checked in by : Robert Osfield +Replaced STOPPED by PAUSED. -2006-09-05 09:51 robert +Wed, 21 Jul 2004 19:04:31 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, VS formated .dsw - * From Mike Weiblen, build fixes for Windows. +Wed, 21 Jul 2004 19:01:40 +0000 +Checked in by : Robert Osfield +Removed the stop method, replacing it by pause -2006-09-05 09:13 robert +Wed, 21 Jul 2004 19:01:16 +0000 +Checked in by : Robert Osfield +Removed the stop method - * Updated to compile against changes to osgTerrain +Wed, 21 Jul 2004 19:00:48 +0000 +Checked in by : Robert Osfield +Removed stop method, as it overlaps the pause method. -2006-09-05 08:56 robert +Wed, 21 Jul 2004 10:01:56 +0000 +Checked in by : Robert Osfield +Clean up of thread handling. - * Updated wrappers +Wed, 21 Jul 2004 08:55:17 +0000 +Checked in by : Robert Osfield +Double intersections distance for intersects. -2006-09-05 08:46 robert +Tue, 20 Jul 2004 18:50:30 +0000 +Checked in by : Robert Osfield +From Geoff Michel, fixes. - * From Paul Martz, warning fixes for Cygwin. +Tue, 20 Jul 2004 10:17:22 +0000 +Checked in by : Robert Osfield +Added SceneView::Options for SceneView::setDefaults(options) and OsgCameraGroup::setRealizeSceneViewOptions(options) to allow better control of what functionality is compiled in by default. -2006-09-05 08:44 robert +Tue, 20 Jul 2004 07:46:05 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, add usage of version number to differentiate between rev's of the LOD. - * From Brede Johansen, "I have added an optimization to the - OpenFlight plugin. By default it - ignores the Object records if it's safe to do so. The reader - option - preserveObject prevents this optimization. - - I have also removed the flat shading attribute set by the Object - record. This flag is only intended for the "Calculate Shading" - operation in Creator." +Tue, 20 Jul 2004 05:37:59 +0000 +Checked in by : Robert Osfield +Added support for releasing GLObjects, and renamed DisplayListVisitor the GLObjectVisitor to better fit its function, and added support for releasing objects as well as compiling them. -2006-09-04 20:43 robert +Tue, 20 Jul 2004 05:36:44 +0000 +Checked in by : Robert Osfield +From Eric Sokolosky, added INVENTOR_INCLUDE and INVENTOR_LIB vars. - * Added support for imagery and DEM's that wrap around the - dateline, this required - two passes over the copying of imagery and DEM's to the - destination graphs, once for - the original position, and once for the wrap around 360 degrees - on or before. - - Also fixed the GeospationExtents constructor that was setting the - _max to DBL_MIN rather - than -DBL_MAX. This bug causesd the y axis to be computed - incorrectly. +Tue, 20 Jul 2004 05:34:02 +0000 +Checked in by : Robert Osfield +Added OpenThreads mutex to protect ref()/unref(). -2006-09-04 13:35 robert +Mon, 19 Jul 2004 18:56:42 +0000 +Checked in by : Robert Osfield +Fixed the position of text so it is drawn ontop of the quads. - * Missing part of Farshid Laskari's submission relating to - CameraNode RenderOrder. +Mon, 19 Jul 2004 18:47:40 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, "When launched, it creates a commandline shell that is fully configured to support running OSG apps from the source tree filesystems." -2006-09-04 13:22 robert +Mon, 19 Jul 2004 18:35:01 +0000 +Checked in by : Robert Osfield +From Geoff Michel, fix for handling of texture filenames enclosed in quotes. - * Updated wrappers +Mon, 19 Jul 2004 14:34:12 +0000 +Checked in by : Robert Osfield +Added handling of the case when texture objects are released from underneath the osgText::Font::GlyphTexture - something which requires a full rebuild of the texture object. -2006-09-04 13:15 robert +Mon, 19 Jul 2004 09:39:58 +0000 +Checked in by : Robert Osfield +Lowered level of debugging message - * From Farshid Lashkari, - - "I've made some changes to osg which I think make it easier to - control - the render order of CameraNode's. Instead of using the built-in - orders - (PRE_RENDER, POST_RENDER, NESTED_RENDER), you can specify an - integer - order. Values less than zero are pre rendered in order. Values - greater - than zero are post rendered in order. And a value of 0 is - equivalent - to NESTED_RENDER. - - The changes should be fully backward compatible. Also, I changed - the - RenderStageList type from a vector to a list because I needed to - be - able to insert values anywhere in the list. - - The reason I made these changes was because I wanted to be able - to set - the render order of a CameraNode at runtime without having to - reorder - it in the scenegraph." - - and later in the final submission message (relating to what has - been finally been merged) : - - "I've rethought my implementation and came up with something a - little - better. The setRenderOrder will continue to take an enum, but - will - have an optional orderNum parameter which can be both positive - and - negative. I think this method is more intuitive and flexible." +Mon, 19 Jul 2004 09:03:50 +0000 +Checked in by : Robert Osfield +Added support for --tile-image-size , --tile-terrain-size and --comment command line options into osgTerrain::DataSet + osgdem. -2006-09-04 12:52 robert +Sat, 17 Jul 2004 10:38:09 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, switched of alpha test on anisotropic effect, due to missing write of colour. - * Cleaned up the texture setup code. +Sat, 17 Jul 2004 10:33:26 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, updates to the psuedo loaders to add documentation. -2006-09-04 12:46 robert +Mon, 12 Jul 2004 21:32:33 +0000 +Checked in by : Robert Osfield +Fixed the computePosition so it find intersections more easily. - * Added osg::TexMat::s/getScaleByTextureRectangleSize feature that - allows - one to use the osg::TexMat to automatically scale non dimensional - tex coordinats to - the size of the last texture rectangle applied. +Mon, 12 Jul 2004 19:54:54 +0000 +Checked in by : Robert Osfield +Added support for matix manipulator setHomePosition(,,) -2006-09-04 06:51 robert +Mon, 12 Jul 2004 17:30:36 +0000 +Checked in by : Robert Osfield +Removed enabling of use client stage storage hint. - * From Farshid Lashkari, removed debug message being written to the - console. +Mon, 12 Jul 2004 13:20:18 +0000 +Checked in by : Robert Osfield +Added OPTIMIZER_TEXTURE_SETTINGS pass to Optimizer, which enables unref image data after apply, client storage hint. -2006-09-04 06:47 robert +Mon, 12 Jul 2004 13:13:58 +0000 +Checked in by : Robert Osfield +Added debugging message, currently commented out. - * Removed typedef TypeList from osgintrospection +Mon, 12 Jul 2004 10:23:15 +0000 +Checked in by : Robert Osfield +Added unref image data on apply automatically to all textures being loaded. -2006-09-02 14:27 robert +Mon, 12 Jul 2004 09:43:45 +0000 +Checked in by : Robert Osfield +Reduced the pan sensitive on the trackball - * Added setting of position.w to 1.0 and removed zscale hack. +Mon, 12 Jul 2004 09:17:21 +0000 +Checked in by : Robert Osfield +Reduced the sensitivity of the pan. -2006-09-01 13:34 robert +Mon, 12 Jul 2004 01:01:00 +0000 +Checked in by : Robert Osfield +Added a more flexible variable on the textured quad generation function - * Updated wrappers +Sun, 11 Jul 2004 23:07:47 +0000 +Checked in by : Robert Osfield +Made debugging message write to osg::INFO instead of osg::NOTICE -2006-09-01 13:22 robert +Sun, 11 Jul 2004 21:46:23 +0000 +Checked in by : Robert Osfield +Added CLUSTER_CULLING mask to CullSettings, and modified the ClusterCullingCallback to use the mask to see if cluster culling is enabled or disabled. - * From David Callu, add reflection of std::wstring in the - DefaultReflector +Sun, 11 Jul 2004 16:38:16 +0000 +Checked in by : Robert Osfield +Added ability to control the number of slices and the amount of the volume clipped. -2006-09-01 12:52 robert +Fri, 9 Jul 2004 20:58:43 +0000 +Checked in by : Robert Osfield +Fixed cluster culling. - * From David Callu, - "bug fix to reflect the wchar_t in Value and Value.cpp I add the - toWString() function. - in Type and Type.cpp I just add two function to get a map of - propertyList and a map of methodList - i need this map in my editor a i think it's could be util to put - this functionnality in osgIntrospection, +Fri, 9 Jul 2004 15:42:07 +0000 +Checked in by : Robert Osfield +Compiles fixes for VS.6.0 -2006-09-01 12:46 robert +Fri, 9 Jul 2004 15:41:50 +0000 +Checked in by : Robert Osfield +VS.NET Warning fixes from Stephane - * Removed the String inhertiance from osg::Referenced. +Fri, 9 Jul 2004 15:33:05 +0000 +Checked in by : Robert Osfield +Added osgText to dependency list of osgsimulation example -2006-08-31 20:55 robert +Fri, 9 Jul 2004 15:26:48 +0000 +Checked in by : Robert Osfield +Changed std::min definition to osg::minimum to avoid STOOOPID MS conficts. - * Updated Version number for 1.2 release +Fri, 9 Jul 2004 15:24:01 +0000 +Checked in by : Robert Osfield +Clean up of commandline options -2006-08-31 20:54 robert +Fri, 9 Jul 2004 15:21:33 +0000 +Checked in by : Robert Osfield +Improvements to the handling of coordinate system nodes - * Updated version numbers of the up comming 1.2 release +Fri, 9 Jul 2004 12:14:25 +0000 +Checked in by : Robert Osfield +Clean up of debugging information. -2006-08-31 20:48 robert +Fri, 9 Jul 2004 08:22:24 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, "mods based on those Bob Kuehne posted. - updated to the latest ARB-approved GLSL version query mechanism. - updated enums to the latest official glext.h - fixed some TODOs" - * From Eric Wing, "Attached is a change for GLExtensions.cpp that - allows OS X to use - dlopen/dlsym instead of NS*Symbol* functions for 10.3 or later. - The - latter is now deprecated. - - I'm not completely sure how to test the changes. But I compiled - these - new changes in and ran the osgvertexprogram and osgshaders - examples - and they seemed to display the same results as before. - - With respect to the use of dlopen and dlsym, I was uncertain if - the - usage should look like Sun or FreeBSD (or something else). - Apple's man - pages discourage the use of RTLD_DEFAULT so I avoided the FreeBSD - implementation and copied the Sun implementation. I'm not sure if - this - is correct/ideal or not." +Thu, 8 Jul 2004 22:28:15 +0000 +Checked in by : Robert Osfield +Added new coputeActiveCooridnateSystemNodePath method -2006-08-31 20:26 robert +Thu, 8 Jul 2004 22:12:49 +0000 +Checked in by : Robert Osfield +Replaced the custom MyTexGen class with a standard TexGen, and utilised the new RenderStage addPositionedTextureAtribute method. - * Updated NEWS for 1.2 release and added COLLADA plugin +Thu, 8 Jul 2004 22:11:42 +0000 +Checked in by : Robert Osfield +Made the local storage of a StateAttribute* be a ref_ptr<> -2006-08-31 15:47 robert +Thu, 8 Jul 2004 22:10:44 +0000 +Checked in by : Robert Osfield +Made the constructor's default value for _lightingMode be NO_SCENEVIEW_LIGHT - * Fixed typo on OSG_PROCESSOR_AFFINITY env var. +Wed, 7 Jul 2004 15:05:00 +0000 +Checked in by : Robert Osfield +Added lighting and materials to volume subgraph -2006-08-31 15:39 robert +Wed, 7 Jul 2004 13:19:07 +0000 +Checked in by : Robert Osfield +From Vasily Radostev, fixed Billboard compute near/far bug due to typo of bbCornerFar. - * Fixed TextureAtlasVisitor bug where repeating textures were - incorrectly assigned as non repeating. +Wed, 7 Jul 2004 11:29:58 +0000 +Checked in by : Robert Osfield +Added automatic scaling of the minimum distance to cope with models of small dimensions. -2006-08-31 13:53 robert +Wed, 7 Jul 2004 11:28:21 +0000 +Checked in by : Robert Osfield +Added automatic setting of the verical scale when the destination coordinate system is geographic (i.e. lats and longs.). - * Changed the external file writing to use the DatabasePathList for - its path rather - than the original files path. +Wed, 7 Jul 2004 09:04:21 +0000 +Checked in by : Robert Osfield +Added support for automatically computing the local skirt orientation -2006-08-31 10:37 robert +Tue, 6 Jul 2004 15:10:33 +0000 +Checked in by : Robert Osfield +Added mutex to image stream thread to serialize calls to Quicktime. - * Updated wrappers +Tue, 6 Jul 2004 13:00:14 +0000 +Checked in by : Robert Osfield +From Geoff Michel, replaced used C style FILE with iostream. -2006-08-31 10:10 robert +Tue, 6 Jul 2004 12:32:09 +0000 +Checked in by : Robert Osfield +Removed debugging message - * Made the inheritance of osg::Object in the DrawCallback to be - virtual. +Tue, 6 Jul 2004 12:15:03 +0000 +Checked in by : Robert Osfield +Fixed warning. -2006-08-31 10:08 robert +Tue, 6 Jul 2004 12:14:52 +0000 +Checked in by : Robert Osfield +Changed the default mipmapping mode to record the mipmaps in the images in the generated databases. - * Added support for CameraNode's PostDrawCallback. +Tue, 6 Jul 2004 06:13:34 +0000 +Checked in by : Robert Osfield +Added GL_TEXTURE_DEPTH #define for Win32 build -2006-08-30 19:33 robert +Tue, 6 Jul 2004 06:05:32 +0000 +Checked in by : Robert Osfield +Fixed build after Image change - * Added GPU stats to NEWS list +Mon, 5 Jul 2004 21:46:02 +0000 +Checked in by : Robert Osfield +Added dealloc or previous image data into readImageFromTexture -2006-08-30 19:21 robert +Mon, 5 Jul 2004 21:09:30 +0000 +Checked in by : Robert Osfield +Added suppor for copying mipmaps of compressed textures - * Updated NEWS for rc2 +Mon, 5 Jul 2004 16:21:43 +0000 +Checked in by : Don BURNS +Changed internal formatt on jpeg loader to be GL_RGB, GL_RGBA, etc. rather than numComponents. -2006-08-30 16:33 robert +Mon, 5 Jul 2004 09:04:53 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, added check for detailRatio<=0.0 - * To TextureAtlasBuilder add copying of border pixels into margins - to help improve quality of lower mipmap levels. +Mon, 5 Jul 2004 07:42:46 +0000 +Checked in by : Robert Osfield +Fixed missing member variable initialized varaibles -2006-08-30 13:50 robert +Fri, 2 Jul 2004 14:46:24 +0000 +Checked in by : Robert Osfield +Change the light in LightSource from a generic osg::StateAttribute to a osg::Light. - * From Mike Wittman, changed release build options to reduce binary - bloat. +Fri, 2 Jul 2004 14:45:36 +0000 +Checked in by : Robert Osfield +Added setFunction and setReferenceValue method -2006-08-30 09:32 robert +Fri, 2 Jul 2004 14:43:27 +0000 +Checked in by : Robert Osfield +Added normal setting to slice planes - * In TextureAtlasVisitor code added catch for textures that have - some geometry with texcoords within 0 to 1.0, but - others others out of the 0 to 1 range, these textures are - automatically rejected from consideration for adding to a texture - atlas. +Thu, 1 Jul 2004 14:30:18 +0000 +Checked in by : Robert Osfield +Clean up of osgvolume -2006-08-29 15:05 robert +Thu, 1 Jul 2004 14:29:29 +0000 +Checked in by : Robert Osfield +Added osgvolume - * To the TextureAtlasBuilder added detection of instance where a - single drawable - has multiple textures on the same texture unit inherited down to - it from above. +Thu, 1 Jul 2004 14:27:22 +0000 +Checked in by : Robert Osfield +Changed the generation of primtive set to use DrawElementsUShort for even index sets that can be represented by UBytes, thisis to try to keep to fast paths more likely to be supported by graphics drivers. -2006-08-29 12:31 robert +Thu, 1 Jul 2004 14:22:11 +0000 +Checked in by : Robert Osfield +Fixed indenting - * Updated wrappers +Thu, 1 Jul 2004 13:53:30 +0000 +Checked in by : Robert Osfield +Moved the radius parameter from PageLOD into LOD. -2006-08-29 11:25 robert +Wed, 30 Jun 2004 19:07:05 +0000 +Checked in by : Robert Osfield +Added support for using pixel size control of LOD levels. - * Added GPU stats +Wed, 30 Jun 2004 14:43:40 +0000 +Checked in by : Robert Osfield +Maded the image filename handling more consistent. -2006-08-29 06:58 robert +Wed, 30 Jun 2004 14:37:06 +0000 +Checked in by : Robert Osfield +Completed support for "--levels min max" option where the levels that a source imager or DEM contributes to. - * Added TexMat(Matrix) constructor. +Wed, 30 Jun 2004 09:02:41 +0000 +Checked in by : Robert Osfield +Fixed handling of PROCTED/OVERRIDE -2006-08-29 00:10 don +Wed, 30 Jun 2004 07:26:02 +0000 +Checked in by : Robert Osfield +Changed const int to #define for VS6.0 build - * Fixed a crash in removeInternalTriangles() for models without - normals. +Tue, 29 Jun 2004 15:04:38 +0000 +Checked in by : Robert Osfield +From Pavel Moloshtan, added support for storing primitive sets in VBO's -2006-08-28 19:37 robert +Tue, 29 Jun 2004 14:58:24 +0000 +Checked in by : Robert Osfield +Improved the handling of normal lighting - * Added TexEnv object into Font and apply this in - Text::drawImplementation to make - sure that a valid TexEnv is applied +Tue, 29 Jun 2004 13:59:07 +0000 +Checked in by : Robert Osfield +Added osgvolume example -2006-08-28 19:07 robert +Tue, 29 Jun 2004 08:03:28 +0000 +Checked in by : Robert Osfield +Fixed parsing of internalTextureFormat. - * From Roger James, improved mapping of AC3D lighting model to OSG +Mon, 28 Jun 2004 22:09:52 +0000 +Checked in by : Robert Osfield +Re-organised Texture::computeInternalFormatWithImage() to avoid testing for extensions when not required. -2006-08-28 19:06 robert +Mon, 28 Jun 2004 21:39:31 +0000 +Checked in by : Robert Osfield +Fixed warnings. - * Added support for logging StateSet usage in StatsVisitor. +Mon, 28 Jun 2004 20:47:39 +0000 +Checked in by : Robert Osfield +From Matt Burke, typo fix on getMinimumDistance(). -2006-08-28 19:05 robert +Mon, 28 Jun 2004 15:09:49 +0000 +Checked in by : Robert Osfield +Added .osg support for new TexGenNode - * Added env var docs +Mon, 28 Jun 2004 14:18:48 +0000 +Checked in by : Robert Osfield +Fixed warning -2006-08-28 19:01 robert +Mon, 28 Jun 2004 13:18:31 +0000 +Checked in by : Robert Osfield +From Michael Logan, build fix for Performer plugin - * From Roger James, "I have been going through my modified osg - files and came across this fix to the Tesselator. From memory it - handles a problem with per primitive normal binding. I must have - forgotten to submit it." +Mon, 28 Jun 2004 13:18:10 +0000 +Checked in by : Robert Osfield +From Michael Gronager, added support for alpha channel in writing of BMP images -2006-08-28 15:46 robert +Mon, 28 Jun 2004 12:52:13 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky. Added missing blend modes into .osg reading and writing and fixed typo. - * Futher work on TextureAtlasBuilder/Visitor, now functioning - enough to deploy on real models. +Mon, 28 Jun 2004 10:00:21 +0000 +Checked in by : Robert Osfield +From Terry Welsh, added support for reading and writing osg::FragmentProgram local parameters. -2006-08-28 10:49 robert +Mon, 28 Jun 2004 09:05:33 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, add additional check in osgconv to handles modules that don't load gracefully. - * Updated wrappers +Thu, 17 Jun 2004 15:07:50 +0000 +Checked in by : Robert Osfield +Added handling of GL_INTENSITY in osg::Image::computeNumComponents() -2006-08-28 10:46 robert +Thu, 17 Jun 2004 14:39:16 +0000 +Checked in by : Robert Osfield +Added first stage of support for "--levels min max" in osgdem/osgTerrain where this option controls which levels that an associated imager or DEM contributes to the final model. - * Further work on TextureAlasBuilder and TextureAtlasVisitor. +Thu, 17 Jun 2004 14:02:15 +0000 +Checked in by : Robert Osfield +Added support for setting texture units in the new TexGenNode. -2006-08-26 21:38 robert +Wed, 16 Jun 2004 15:05:01 +0000 +Checked in by : Robert Osfield +From Loic Dachary, added missing copy contructor operations. - * Further work of TextureAtlasBuilder +Wed, 16 Jun 2004 06:02:12 +0000 +Checked in by : Robert Osfield +From David Fries, small treak to debugging output. -2006-08-25 16:31 robert +Tue, 15 Jun 2004 12:31:25 +0000 +Checked in by : Robert Osfield +Added include of osg/ClusterCullingCallback - * Updated wrappers +Tue, 15 Jun 2004 12:26:39 +0000 +Checked in by : Robert Osfield +Added Marco's AutoTransform.cpp -2006-08-25 16:30 robert +Mon, 14 Jun 2004 20:14:54 +0000 +Checked in by : Robert Osfield +Fixed deprecated #idef - * Further work on new TextureAtlasBuilder. +Mon, 14 Jun 2004 20:12:04 +0000 +Checked in by : Robert Osfield +From Marco Jez, implemented I/O support for the AutoTransform node. -2006-08-25 15:53 robert +Mon, 14 Jun 2004 20:11:28 +0000 +Checked in by : Robert Osfield +Fixed #ifdef USE_DEPRECATED_API - * Checking in first cut of new - osgUtil::Optimizer::TextureAtlasBuilder class - for building texture atlas for sets of images or textures. +Mon, 14 Jun 2004 20:10:08 +0000 +Checked in by : Robert Osfield +Improved precision of AnimationPath IO. -2006-08-25 15:49 robert +Mon, 14 Jun 2004 19:34:43 +0000 +Checked in by : Robert Osfield +Changed Billboard::g/setPos(..) to g/setPosition(..). - * Added missing setDataType and setPacking functions +Mon, 14 Jun 2004 19:31:48 +0000 +Checked in by : Robert Osfield +Fixed tabbing. -2006-08-25 14:54 robert +Mon, 14 Jun 2004 19:30:20 +0000 +Checked in by : Robert Osfield +Added extra constructor to make it more convinient to create AlphaFunc. - * Added const version of getReadPBuffer() +Mon, 14 Jun 2004 19:20:07 +0000 +Checked in by : Robert Osfield +Tweaked comments. -2006-08-25 14:53 robert +Mon, 14 Jun 2004 19:17:32 +0000 +Checked in by : Robert Osfield +Removed old UserData comment which was non longer relevant. - * Fixed const correctness of get shadow functions +Mon, 14 Jun 2004 19:14:06 +0000 +Checked in by : Robert Osfield +Fixed typos. -2006-08-25 09:03 robert +Mon, 14 Jun 2004 19:11:04 +0000 +Checked in by : Robert Osfield +Added new TexGenNode class for positioning tex gens. - * Updated wrappers +Fri, 11 Jun 2004 21:27:36 +0000 +Checked in by : Robert Osfield +Fixed handling of skylight and headlight options in osgProducer::Viewer. -2006-08-25 08:48 robert +Fri, 11 Jun 2004 21:05:50 +0000 +Checked in by : Robert Osfield +Added better debugging messages for verify bindings. - * From Farshid Lashkari, - "I was experiencing hard crashes of my application when using - PBO's on - machines that don't support PBO's. I think osg incorrectly checks - if - PBO's are supported. - - I added a new method to the BufferObject::Extensions class which - returns if the "GL_ARB_pixel_buffer_object" string is supported. - This - fixes the problem on my end. Machines without PBO support will - continue to work and machines with PBO support will still be able - to - use it." +Fri, 11 Jun 2004 21:05:07 +0000 +Checked in by : Robert Osfield +Changed the color binding to better reflect the settings in the OpenFlight file. -2006-08-25 08:42 robert +Fri, 11 Jun 2004 21:00:06 +0000 +Checked in by : Robert Osfield +Added further checks for _node validity. - * From Eric Wing, updates to Xcode project +Fri, 11 Jun 2004 20:57:36 +0000 +Checked in by : Robert Osfield +Added checks against null to prevent crashes when the terrain manipulator is set up before a node has been attached. -2006-08-24 20:16 robert +Fri, 11 Jun 2004 14:49:22 +0000 +Checked in by : Robert Osfield +Added missing setColorBinding() into ConvertFromFLT::setMeshColors(). - * From David Guthrie, "I know there are 50,000 changes to osg/Math - for OSX a day, but I - think it can be simplified quite a bit. The old code includes - for pre-10.2 and anything using something other than g++ - 4 - and then uses std::isnan. For the most current version, it leaves - out cmath and uses isnan(). std::isnan and cmath work for the - current version, so I just made it include cmath if __APPLE__ is - defined and removed the ifdef between versions of OS X for isnan - related things. - - This way the code is all the same, and it's not fragile to - someone - including prior to including osg/Math." +Thu, 10 Jun 2004 15:43:56 +0000 +Checked in by : Robert Osfield +From Troy Yee, fixes to handling meshes. From Robert Osfield, replaced assert(0)'s with error messages. -2006-08-24 20:15 robert +Thu, 10 Jun 2004 05:27:43 +0000 +Checked in by : Robert Osfield +Added CluserCullingCallback - * Simplified swap bytes code to make it more efficient. +Wed, 9 Jun 2004 20:18:58 +0000 +Checked in by : Robert Osfield +Compile fix w.r.t new CoordinateSystemNode. -2006-08-24 16:33 robert +Wed, 9 Jun 2004 16:28:51 +0000 +Checked in by : Robert Osfield +Changed the *(itr++) instances with *(itr), *(itr+1) with a seperate itr+=n etc. This has been done to avoid VC6.0 optimization ordering problems. - * Add error message report to catch attempts to flip mipmap images. +Wed, 9 Jun 2004 15:11:27 +0000 +Checked in by : Robert Osfield +Added CoordinateSystemNode::set(const CoordinateSystemNode&) method to conviniently set up a coordindate system. -2006-08-24 13:16 robert +Wed, 9 Jun 2004 15:06:19 +0000 +Checked in by : Robert Osfield +Added proper mapping of format and coordinate system. - * Fixed COLLDADA plugin name and remove osgmove example +Wed, 9 Jun 2004 15:00:03 +0000 +Checked in by : Robert Osfield +Added CoordinateSystem::s/getFormat(). -2006-08-23 15:25 robert +Wed, 9 Jun 2004 13:06:12 +0000 +Checked in by : Robert Osfield +Cleaned up float vs double types in Vec*d and Vec2f classes - * From Sebastien Grignard, fix to writing of dds files, write the - source data - directly rather using a series of memcpy. +Wed, 9 Jun 2004 10:03:01 +0000 +Checked in by : Robert Osfield +Added --o_cs, --o_wkt and --o_wkt_file commandline options. -2006-08-23 15:11 robert +Tue, 8 Jun 2004 14:30:48 +0000 +Checked in by : Robert Osfield +Improved the precision of animation paths. - * From Jeremy Moles, fixed typos +Tue, 8 Jun 2004 13:58:36 +0000 +Checked in by : Robert Osfield +Added options for controlling mipmapping and aniso-tropic filtering. -2006-08-23 14:17 robert +Tue, 8 Jun 2004 12:31:33 +0000 +Checked in by : Robert Osfield +Updates to FlightManipulator - * From Daniel Larimer, fix for OSX 10.4 when gcc != 4 +Tue, 8 Jun 2004 09:29:56 +0000 +Checked in by : Robert Osfield +From Boris Bralo, reimplementation of dereference_less functor to use two input types, to attempt to avoid VC compile problems and redundent copies of ref_ptr<>. -2006-08-23 13:32 robert +Tue, 8 Jun 2004 07:32:08 +0000 +Checked in by : Robert Osfield +Updates to the terrain manipulator. - * From Andrew Lorino and Mike Weiblen, COLLADA 1.4.1 ReaderWriter, - kindly developed and donated by Sony Computer Entertainment Inc. - US R&D. +Mon, 7 Jun 2004 15:05:22 +0000 +Checked in by : Robert Osfield +Moved the osg::ClusterCullingCallback into into own header and source file. -2006-08-23 13:18 robert +Mon, 7 Jun 2004 14:49:39 +0000 +Checked in by : Robert Osfield +Changed the terrain manipulator so the intersection ray is only computed near to the current center point during panning. - * Added sizeof(short int) +Mon, 7 Jun 2004 12:53:09 +0000 +Checked in by : Robert Osfield +Added sphere segment to osgsimulator. -2006-08-23 13:16 robert +Sun, 6 Jun 2004 14:28:29 +0000 +Checked in by : Robert Osfield +Added --RGB_16, --RGB_24 and --compressed options. - * Tweaks to osglogo to allow you to export alpha blended - screenshots +Fri, 4 Jun 2004 16:32:00 +0000 +Checked in by : Robert Osfield +Fixed the Vec*d class so there have value_type set to double. -2006-08-22 19:10 don +Fri, 4 Jun 2004 12:27:04 +0000 +Checked in by : Robert Osfield +Added haveAppliedAttribute to allow draw callbacks to get access to the current active lights. - * Added osgUtil::Tesselator for SHapeType Polygon to handle concave - polygons. +Fri, 4 Jun 2004 11:35:13 +0000 +Checked in by : Robert Osfield +Add clamping to 0..1 bounds for each of the r,g,b,a components in the CubeMapGenerator::set_pixel() method. -2006-08-22 13:07 robert +Fri, 4 Jun 2004 10:05:18 +0000 +Checked in by : Robert Osfield +Added check to Quat::makeRotate(,,,) to catch zero lengh axis. - * From Vaclav Bilek, "The purpose of this change is to suppress - "re-reading" of osg::ProxyNodes - ( in OF external references) after the OF file is loaded. The - change do - conditional - execution of already existing code. - - I use this for optimized preprocessing of large databases what - can not - be loaded - in one pass because of memory limits." +Fri, 4 Jun 2004 08:40:15 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein & Iskander Prins, added rotation of skydown on fixed handling of updating one image per frame. -2006-08-22 12:49 robert +Fri, 4 Jun 2004 08:24:13 +0000 +Checked in by : Robert Osfield +From Terry Welsh, added checks to incoming Geometry for existance of normals, and if they are present use these to compute the tanget and binormals vectors perpendicular to existing normals. - * From Gary Quinn, updated to take account of new bin directory - structure. +Fri, 4 Jun 2004 08:13:36 +0000 +Checked in by : Robert Osfield +From Max Behensky, fixes to the computation of the number of primitives -2006-08-22 12:46 robert +Thu, 3 Jun 2004 20:06:17 +0000 +Checked in by : Robert Osfield +Fixed spelling of Equivalent. - * From Joran Jessurun, updated to look for lib/win32. +Thu, 3 Jun 2004 10:16:19 +0000 +Checked in by : Robert Osfield +Added handling of case when only one colour is used. -2006-08-22 12:33 robert +Thu, 3 Jun 2004 10:10:41 +0000 +Checked in by : Robert Osfield +Added support for a single color in a ColorRange - * Changed the default implementation of backdrop text to - DEPTH_RANGE and - tweaked the depth range values to minimize the depth rage witout - causing z fighting - on osgtext example. +Thu, 3 Jun 2004 09:36:49 +0000 +Checked in by : Robert Osfield +Added room for tail of text. -2006-08-22 10:23 robert +Wed, 2 Jun 2004 14:16:45 +0000 +Checked in by : Robert Osfield +Added handling of skirt ratio, and extra docs on commandline args - * From Eric Wing, fix for compute of the bounding box when handling - outline/backdrop text. +Wed, 2 Jun 2004 14:15:08 +0000 +Checked in by : Robert Osfield +Added DataSet::s/getSkirtRatio() method to allow control of how deep to make the skirts around tiles. -2006-08-21 21:09 robert +Wed, 2 Jun 2004 14:13:11 +0000 +Checked in by : Robert Osfield +Added derived reqiestRedraw() and requestContinueUpdate() methods for debugging purposes. - * From Eric Wing, compile fix for OSX +Wed, 2 Jun 2004 12:37:14 +0000 +Checked in by : Robert Osfield +Added setPosition and setWidth methods into ScalarBar and changed the implementation to use these values to position and set the size of the scalar bar. Also made the characterSize value a float rather than the previous int. -2006-08-21 21:00 robert +Wed, 26 May 2004 00:27:00 +0000 +Checked in by : Robert Osfield +Fixed setCoordinateFrame method - * From Eric Wing, updates to Xcode projects +Wed, 26 May 2004 00:26:43 +0000 +Checked in by : Robert Osfield +Made the drive and flight manipulators more sensitive to de/acceleration -2006-08-21 20:29 robert +Tue, 25 May 2004 20:40:26 +0000 +Checked in by : Robert Osfield +From George Tarantilils, add missing handling of alpha channel. - * Added comments on the meaning of button value +Tue, 25 May 2004 20:39:49 +0000 +Checked in by : Robert Osfield +Changed screen grab filename back to a saved_image.jpg -2006-08-21 15:07 robert +Tue, 25 May 2004 20:35:14 +0000 +Checked in by : Robert Osfield +Updated clampProjectionMatrix methods - * Fixed 64 bit support +Tue, 25 May 2004 16:10:28 +0000 +Checked in by : Robert Osfield +From George Tarantilis, fixes to DDS size computations. From Robert Osfield, addition of constructors for internal DDS structures. -2006-08-14 19:42 robert +Tue, 25 May 2004 14:32:20 +0000 +Checked in by : Robert Osfield +Updates the movie support - * Fixed texture optimization problem associated with mixing already - compiled scene graphs - resulting - in incorrect texture assignment. Solution was to a - compareTextureObjects() test to the Texture*::compare(..) method - that - the osgUtil::Optimizer::StateSetVisitor uses to determine - uniqueness. +Tue, 25 May 2004 07:40:18 +0000 +Checked in by : Robert Osfield +Added better handling of clamping of projection matrix -2006-08-14 11:03 robert +Mon, 24 May 2004 19:50:13 +0000 +Checked in by : Robert Osfield +From Alberto Farre, fixes to the computation of sizes - * Ran dos2unix to fix inconsistent line endings +Thu, 20 May 2004 23:25:26 +0000 +Checked in by : Robert Osfield +Made improvements to the handling of small rotations in Quat and TerrainManipulator -2006-08-14 07:59 robert +Thu, 20 May 2004 22:20:39 +0000 +Checked in by : Robert Osfield +Added HUD scalar bar. - * From Paul Martz, "The gist of this change is, if the OpenFlight - version of the - parent file is so old that it doesn't support Light Point - palettes or Shader - palettes, then the parent file is not allowed to override those - palettes in - the child." +Thu, 20 May 2004 13:54:53 +0000 +Checked in by : Robert Osfield +Fixed warnigs on VS. -2006-08-13 20:12 robert +Thu, 20 May 2004 12:57:06 +0000 +Checked in by : Robert Osfield +Improved support for new double Vec* classes - * Updated ChangeLog for 1.1.1 release +Thu, 20 May 2004 10:42:05 +0000 +Checked in by : Robert Osfield +Fixed typo of Vec3f to Vec2f -2006-08-13 08:40 robert +Thu, 20 May 2004 10:15:48 +0000 +Checked in by : Robert Osfield +Added Vec2d, Vec3d and Vec4d classes, and remapped Vec2, Vec3 and Vec4 to Vec2f, Vec3f an Vec4f respectively, with typedef's to the from Vec* to Vec*f. - * Updated ChangeLog, NEWS, osgversion and AUTHORS.txt for 1.1.1 - release +Wed, 19 May 2004 09:17:36 +0000 +Checked in by : Robert Osfield +Added GL_SCALE_NORMAL define to get round compilation against GL1.1 headers -2006-08-13 08:24 robert +Wed, 19 May 2004 09:12:52 +0000 +Checked in by : Robert Osfield +Added GL_RESCALE_NORMAL to allow compilation with GL1.1 headers - * Changed the texture wrap mode to repeat +Mon, 17 May 2004 22:22:24 +0000 +Checked in by : Robert Osfield +Changed how the rotation and panning are managed, therby improving the handling of the center point going over a pole. -2006-08-13 07:37 robert +Mon, 17 May 2004 15:50:44 +0000 +Checked in by : Robert Osfield +Improved the panning support, and added s/getRotationMode(..) to allow users flip between a trackball rotation style and an azim,elevation style. - * From Chuck Sembroski, fixes for IRIX +Mon, 17 May 2004 13:20:41 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, more general checks for existance of extensions. -2006-08-12 18:19 robert +Mon, 17 May 2004 12:08:52 +0000 +Checked in by : Robert Osfield +Improved the pan controls on the terrain manipulator - * Moved reset to 0 of _createReuseMatrixIndex from CullVistor.cpp - to CullStack.cpp so that - CullStack::reset works correctly for all subclasses - fixing a - memory consumption issue with occluders +Mon, 17 May 2004 10:21:30 +0000 +Checked in by : Robert Osfield +From Ruben, fix for gcc 3.4 build -2006-08-12 08:29 robert +Mon, 17 May 2004 02:48:53 +0000 +Checked in by : Don BURNS +Added an optional argument for doing model orientations in osgconv using degrees and axis rather than two vectors. - * Updated version number for 1.1.1 release +Sat, 15 May 2004 08:42:06 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, further updates to add relative paths to OpenThreads/Producer. -2006-08-12 07:59 robert +Fri, 14 May 2004 14:43:41 +0000 +Checked in by : Robert Osfield +Fixed error of headers having ..\..\src\ path instaead of ..\..\include\ - * Updated ChangelLog and AUTHORS file +Thu, 13 May 2004 22:09:23 +0000 +Checked in by : Robert Osfield +Added the beginings of new osgParticle Explosion, Fire and SmokeEffects.Added support for generation explosion, fire and smoke effects in osgsimulation -2006-08-12 07:43 robert - * Removed Xcode 1.x projects -2006-08-11 21:48 robert +Thu, 13 May 2004 22:06:20 +0000 +Checked in by : Robert Osfield +Revert the computeNearFar mode to using bounding volumes as default. - * From Radu Mihai, removed osgfbo and osgpbuffer projects +Thu, 13 May 2004 22:04:08 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, added hardwired include and lib paths to OpenThreads and Priducer directories that are assumed to site alongside the OpenSceneGraph library being built. -2006-08-11 21:39 robert +Thu, 13 May 2004 13:37:55 +0000 +Checked in by : Robert Osfield +From Bruce Clay, cross platform implemention of fileType(..) - * Added osg:: to Referenced() to fix IRIX build. +Thu, 13 May 2004 08:11:31 +0000 +Checked in by : Robert Osfield +From Donny Cipperly, completed Windows support for fileType() -2006-08-11 19:56 don +Wed, 12 May 2004 20:31:58 +0000 +Checked in by : Robert Osfield +Fixes for FreeBSD - * removed CRLF and replaced with LF in ReaderWriteNET.cpp +Wed, 12 May 2004 14:22:01 +0000 +Checked in by : Robert Osfield +From Frank Lindeman, compile fix for VS to get round limitation is VS when handling templated methods. -2006-08-11 18:23 robert +Wed, 12 May 2004 10:45:36 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, fixed problems in PNG plugin for handling paletted images which contain alpha values. - * Updated wrappers +Tue, 11 May 2004 20:44:31 +0000 +Checked in by : Robert Osfield +From Eric Sokolosky, with further additions from Robert, added support for RGBA TIFF files -2006-08-11 18:22 robert +Mon, 10 May 2004 20:01:13 +0000 +Checked in by : Robert Osfield +From Bruce Clay, modify template copy method to avoid VS6.0 compile errors. - * Fixed if (numProcessors>1), was originally >= +Mon, 10 May 2004 16:17:46 +0000 +Checked in by : Robert Osfield +Changed &D to use define to keep things compiling under VS6.0 -2006-08-11 17:39 don +Mon, 10 May 2004 14:53:33 +0000 +Checked in by : Robert Osfield +Made GDAL_INSTALLED default to no - * Added comments to support use of Proxy in the .net plugin. +Mon, 10 May 2004 13:56:05 +0000 +Checked in by : Robert Osfield +Removed eroneous return statement. -2006-08-11 17:34 don +Sun, 9 May 2004 07:06:32 +0000 +Checked in by : Robert Osfield +From Joran Jessurun, "I needed to be able to set the quality of the saved jpeg images. I could not find a way to do this in OSG. Therefore I implemented this by adding an option called: JPEG_QUALITY to the JPEG reader/writer.To parse the options string I use the same method as used in the LWO +reader/writer. " - * Submission by Carlo Camporesi - Added Proxy support to .net - loader -2006-08-11 16:03 robert - * Fixed value of FLATTEN_BILLBOARDS enum. +Sun, 9 May 2004 06:29:54 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, Fixes for Win32 build -2006-08-11 13:06 robert +Sat, 8 May 2004 22:18:38 +0000 +Checked in by : Robert Osfield +From Corbin Holtz, "I have completed my mods to the OpenFlight loader (modified files are attached): * Light point strings using the REPLICATE opcode should now be supported (>=15.6?) * Directional lights should now work as in Performer using a viewing +frustrum defined by a direction vector, horizontal angular width, vertical +angular width, and roll angle about the direction vector. The current +directional light implementation had some bad assumptions which caused +problems with direction vectors not on the XY plane. - * Added file search path to ESRI reader. + * IVE and OSG reader/writers were updated as appropriate" -2006-08-11 12:53 robert - * Fixed bug in Group::setChild relating to the accounting for - OccluderNode. -2006-08-11 12:39 robert +Sat, 8 May 2004 21:33:25 +0000 +Checked in by : Robert Osfield +From Paul Martz,"Changes to provide rudimentary support for OF 15.8 light point +animation palettes. This change also includes light point palette override +support for external references. This is the last of my code changes to +support OF 15.8 in the flt loader. Barring bugs, of course, knock on wood. - * Moved the OpenThreads::GetNumberOfProcessors() inside the if - (_enableProcessAffinitHint) block to - avoid slowing down init of apps that don't require procesor - affinity. +The gist of the animation palette code is to create ref_ptr'd +osgSim::BlinkSequence objects for each palette entry, and then pass them on +to osgSim::LightPoint for any OpenFlight light points that reference that +palette entry. This should be conservative of memory (not that I expect the +animation palette to be extremely large)." -2006-08-11 11:05 robert - * Fixed pbuffer usage cross multiple graphics contexts -2006-08-11 11:04 robert +Sat, 8 May 2004 18:41:18 +0000 +Checked in by : Don BURNS +Ooops... previous fix didn't work, corrected. - * Updated NEWS for rc1 +Sat, 8 May 2004 18:37:26 +0000 +Checked in by : Don BURNS +Fixed a define for __sgi. Irix does not allow dlsym(0L, ...) without calling dlopen() first, just like __sun -2006-08-11 09:50 robert +Sat, 8 May 2004 06:35:32 +0000 +Checked in by : Robert Osfield +From Ken Sewel, added osgDB::fileType(filename) method and usage of this new function in osgdem to automatcally handle directories as part of the regular -d and -t options. - * Updated AUTHORS file +Sat, 8 May 2004 06:13:16 +0000 +Checked in by : Robert Osfield +Did a unix2dos and checked in trans.dsp -2006-08-11 09:30 robert +Fri, 7 May 2004 21:08:06 +0000 +Checked in by : Robert Osfield +Changed scale.dsp etc instance to rot.dsp etc. - * Removed osgfbo and osgpbuffer examples +Fri, 7 May 2004 19:58:56 +0000 +Checked in by : Robert Osfield +From Yefei Hi, replaced windows specific function with sprintf to afford better cross platform portability. -2006-08-11 09:13 robert +Fri, 7 May 2004 19:55:12 +0000 +Checked in by : Robert Osfield +From Marco Jez, replacement of local mutex lock/unlock with ScopedLock. - * Updated NEWS +Fri, 7 May 2004 15:18:59 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, added new rot, scale and trans pseudo loaders. -2006-08-10 20:50 robert +Fri, 7 May 2004 14:51:33 +0000 +Checked in by : Robert Osfield +From Yefei Hi,fix to MultiSwitch set up, and adding of parsing of description fields (which is presently #if 0'd out while a compile problem is resolved.) - * From Mike Wittman, perl script to assist W64 support. +Fri, 7 May 2004 14:44:58 +0000 +Checked in by : Robert Osfield +Fixed tabbing to be all four spaced tabs -2006-08-10 20:32 robert +Fri, 7 May 2004 14:33:15 +0000 +Checked in by : Robert Osfield +From Julian, fix to handling of multi-textures - * From Mike Wittman, support for VS 64bit build +Fri, 7 May 2004 13:43:41 +0000 +Checked in by : Robert Osfield +Added support for osgDB::ReaderWriter::ReadResult::FILE_LOADED_FROM_CACHE -2006-08-10 15:53 robert +Fri, 7 May 2004 12:41:49 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, addition of support for toggling on and off GL_TEXTURE_1D, 3D, CUBE_MAP and GL_TEXTURE_RECTANGLE (small addition from R.O) - * Moved all platform specific processor out of osgProducer and into - OpenThreads +Fri, 7 May 2004 12:40:21 +0000 +Checked in by : Robert Osfield +Added GL_TEXTURE_RECTANGLE define -2006-08-10 13:12 robert +Fri, 7 May 2004 11:28:55 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, added getting of the max number of texture units in the Texture::Extension object - * From Laurens Voerman, " - osgPlugins\pfb\ConvertFromPerformer.cpp - - Added support for - PFSTATE_ALPHAFUNC - PFSTATE_ALPHAREF - Improved handling of - PFTR_NO_OCCLUDE - - I have tested this with WIN32 performer 3.1 and 3.2.2 - and linux OpenGL Performer 3.1.1" - - ------------------------------------------------ +Fri, 7 May 2004 11:18:18 +0000 +Checked in by : Robert Osfield +Changed debug info level -2006-08-10 12:13 robert +Fri, 7 May 2004 11:10:05 +0000 +Checked in by : Robert Osfield +Changed notify level of debuggin message from NOTICE to INFO - * From Martijn Kragtwijk, added example text for showing - osgText::Text::CharacterSizeMode in action. +Fri, 7 May 2004 11:09:05 +0000 +Checked in by : Robert Osfield +From Don Tidrow, changed cerr usage to osg::notify() -2006-08-10 11:08 robert +Thu, 6 May 2004 12:57:44 +0000 +Checked in by : Robert Osfield +From Geof Michel, fix to osgFX. - * Added write ppn support, use -O ascii to select ascii ppn output, - otherwise binary - is chosen. - - Fixed crash when erroneous pnm files were read. - - Added -O flip option. +Thu, 6 May 2004 12:30:53 +0000 +Checked in by : Robert Osfield +*** empty log message *** -2006-08-10 08:45 robert +Thu, 6 May 2004 11:01:16 +0000 +Checked in by : Robert Osfield +Added new TerrainManipulator to osgGA, and new callback for getting the CoordinateFrame for a given X,Y,Z location. - * From Daniel Larimer, "Apple updated their developer tools again - and broke the __isnanf and - __isnand methods... replacing them with a call to isnan(v) seems - to - work on both Xcode 2.3 and 2.4" +Thu, 6 May 2004 10:59:08 +0000 +Checked in by : Robert Osfield +Removed Terrain.cpp and header from CVS repository.Added support for setting the maximum visiable distance of top level +to osgTerrain::DataSet, and debugging code which insert a axes.osg +above each tile. -2006-08-10 06:43 robert - * Addd a setNodeMaskOverride(0xffffffff) to cope with models that - are hiding - subgraphs that still need to be accounted for when optimizer. -2006-08-10 06:20 robert +Thu, 6 May 2004 10:54:58 +0000 +Checked in by : Robert Osfield +Fixed computeLocalTransform to generate correct orientation of local coordinate frame. - * Commented out the _textBB contribution of outline/backdrops to - fix bounding box problem. +Wed, 5 May 2004 19:56:18 +0000 +Checked in by : Robert Osfield +Moved isCulled check inside the CullVisitor::apply(Projection&) to just before traverse rather than at the begining of the method. -2006-08-09 13:02 robert +Wed, 5 May 2004 14:54:16 +0000 +Checked in by : Robert Osfield +Compile fixes for that pitful excuse for a C++ compiler that is VS6.0 - * Removed referecens to the deprecate UByte4 +Wed, 5 May 2004 09:16:12 +0000 +Checked in by : Robert Osfield +Added support for reading environmental varables in CullSettings. -2006-08-09 12:56 robert +Wed, 5 May 2004 05:17:52 +0000 +Checked in by : Robert Osfield +Increased the sampling of upper most tiles when doing a geocentric projection - * Added Vec4ub and removed UByte4 +Tue, 4 May 2004 18:15:38 +0000 +Checked in by : Robert Osfield +Added gdal_i.lib to osgdem project dependencies. -2006-08-09 10:09 robert +Tue, 4 May 2004 18:13:33 +0000 +Checked in by : Robert Osfield +Added osgTerrain to dependency list of osgdem - * Added nan dectecion and error reporting +Tue, 4 May 2004 14:02:53 +0000 +Checked in by : Robert Osfield +Improved the cluster culling computation so that it now accounts for the local elevations. -2006-08-08 16:08 robert +Tue, 4 May 2004 13:58:07 +0000 +Checked in by : Robert Osfield +Changed notify level on several debugging messages from WARN to INFO. - * Added TESSELATE_GEOMETRY to Optimizer pass to fix z fighting - issues. +Tue, 4 May 2004 09:55:23 +0000 +Checked in by : Robert Osfield +Fixed typo of OSGTERRAIN -2006-08-08 14:57 robert +Tue, 4 May 2004 07:24:17 +0000 +Checked in by : Robert Osfield +Fixed typo of osgTerrain - * Added extra defined(CPU_SET) to try and get round RH8 compile - problems. +Mon, 3 May 2004 20:43:33 +0000 +Checked in by : Robert Osfield +Added osgTerrain and osgdem project files -2006-08-08 11:59 robert +Mon, 3 May 2004 20:42:58 +0000 +Checked in by : Robert Osfield +Cleaned up osgTerrain, renaming the Terrain and Renderer class to HeightFieldNode and HeightFieldRender to better reflect their function. Removed the GeoMipMapRenderer.cpp stub as the implemention will be left to a plugin. Added Version functions. - * Fixed backColor implementation for LightPointAppearancePalette. +Mon, 3 May 2004 13:09:55 +0000 +Checked in by : Robert Osfield +Changed the gdal plugin to link to the gdal_i.lib dll stub library -2006-08-08 11:27 robert +Mon, 3 May 2004 12:46:49 +0000 +Checked in by : Robert Osfield +Added CoordinateSystemNode and EllipsoidModel .h/.cpp's files to project files - * Added support for --affinity command line option for switch on - procesor affinity where supported, +Mon, 3 May 2004 12:04:25 +0000 +Checked in by : Robert Osfield +Added support for automatically finding CoordinateSystemNode's in the scene graph and then using them to set up the CoordinateFrame used by the camera manipulators. -2006-08-08 11:26 robert +Mon, 3 May 2004 07:42:30 +0000 +Checked in by : Robert Osfield +Fixed compile error - * First pass at updating NEWS for the up comming 1.1.1 release +Sun, 2 May 2004 21:50:15 +0000 +Checked in by : Robert Osfield +Added support for decoration of the osgTerrain::DataSet generated databases with a CoordinateSystemNode which reflect the coordinate system of the database.Added support for reading and writing CoordianteSystemNode into the .osg +and .ive formats. -2006-08-08 11:23 robert - * From Paul Martz, "This change causes the new OpenFlight plugin to - behave as the - old plugin by returning the database origin latitude/longitude - (extracted - from the header record) as userData of the top-level scene graph - node." -2006-08-08 10:41 robert +Sun, 2 May 2004 15:45:36 +0000 +Checked in by : Robert Osfield +Made the tri stripping of tile default to using a minimum tri strip length of 3, thereby reducing the number of indivual primitives, but with the tradeoff of more seperate triangles being used. - * Fixed the positioning of the graphical stats bars so that they - don't overlap - the stats text +Sun, 2 May 2004 15:43:55 +0000 +Checked in by : Robert Osfield +Made the generation of QUADS for strip with the length of 4 an option. -2006-08-06 16:49 robert +Sun, 2 May 2004 14:04:19 +0000 +Checked in by : Robert Osfield +Added support for settings scale the elevation of geometry - * Added preliminary support for process affinity support under - Linux. +Sun, 2 May 2004 14:03:15 +0000 +Checked in by : Robert Osfield +Changed the default near far calculation mode so that it uses the fine grained computation of near/far. -2006-08-06 16:42 robert +Sun, 2 May 2004 13:35:19 +0000 +Checked in by : Robert Osfield +Temporary fix for handling grey scale images as texture source. - * Removed debugging code. +Fri, 30 Apr 2004 15:35:31 +0000 +Checked in by : Robert Osfield +Added osg::CullSettings class as a way of collecting all the various settings related to the cull traversal in one place, so we can keep APIs for settings these values more consistent. -2006-08-05 20:39 robert +Fri, 30 Apr 2004 09:04:10 +0000 +Checked in by : Robert Osfield +Added getKeyManipMap() method - * Added fix to code catching error results ReadResult's to first - instance of checking the - value of ReadResult. +Thu, 29 Apr 2004 22:23:55 +0000 +Checked in by : Robert Osfield +Updated to build against the move from osgTerrain::CoordinateSystem to osg::CoordinateSystemNode. -2006-08-05 20:36 robert +Thu, 29 Apr 2004 22:22:22 +0000 +Checked in by : Robert Osfield +Added Support for cluster culling.Removed osgTerrain::CoordinateSystem which is now replaced by +osg::CoordinateSystemNode. - * From Jeremy Moles, refactored by Robert Osfield. - - Fixed bug osgDB::Registry::Registry::read(const ReadFunctor& - readFunctor) relating to - the handling of failed loads with the ReadResult::_message value - being lost, this changes - ensure that the original ReadResult from the plugin, with message - intact, is returned correctly. -2006-08-05 16:57 robert - * Added code to reproduce Text outline bounding box compute bug. +Thu, 29 Apr 2004 22:21:06 +0000 +Checked in by : Robert Osfield +Added support for fine grained computation of the near plane, by taking into account individual primitives culled against the view frustum.Added better support for computing the near far for billboards. -2006-08-05 11:12 robert - * Added disable vertex arrays. -2006-08-05 10:16 robert +Thu, 29 Apr 2004 22:19:57 +0000 +Checked in by : Robert Osfield +Added support for tracking a user specified CoordinateSystemNode for the CoordinateFrame to use in the camera manipulation - * Added osgcegui example +Thu, 29 Apr 2004 22:18:54 +0000 +Checked in by : Robert Osfield +Added support for handling a user define CoordinateFrame in the flight and trackball manipulators with API access via the MatrixManipulator base class -2006-08-04 13:17 robert +Thu, 29 Apr 2004 22:16:50 +0000 +Checked in by : Robert Osfield +Added osg::CoordinateSystemNode - * From Uwe Woessner, implementated by Robert Osfield, Fixed vertex - attribute bug, changed _vertexAttribList[unit] -> - _vertexAttribList[index] +Thu, 29 Apr 2004 22:15:04 +0000 +Checked in by : Robert Osfield +Added missing billboard drawable dirtyBound() -2006-08-03 19:14 robert +Thu, 29 Apr 2004 22:13:23 +0000 +Checked in by : Robert Osfield +Fix for VS7.0 build from Mike Weiblen - * Added if search for the current databaseRequest in the - _fileRequestList to handle - cases when the request is moved back in the list, or when the - _fileRequestList is cleared - by an asyncronous call to DatabasePager::clear(). +Thu, 29 Apr 2004 21:57:42 +0000 +Checked in by : Robert Osfield +Warnings fix for VS7.0 from Mike Weiblen -2006-08-03 16:04 robert +Thu, 29 Apr 2004 21:38:16 +0000 +Checked in by : Robert Osfield +Fixed an iterator invalidation bug. (thanks to Per Månsson for tracking down the bug) - * Updated wrappers +Thu, 29 Apr 2004 15:57:03 +0000 +Checked in by : Robert Osfield +Added missing dirtyBound() to billboard section of flatten static transforms -2006-08-03 15:57 robert +Wed, 28 Apr 2004 15:07:08 +0000 +Checked in by : Robert Osfield +Changed M_PI to osg::PI. - * Fixed RenderToTexture bug which occured when the viewport - dimensions where - different than the texture being written to. +Tue, 27 Apr 2004 19:09:58 +0000 +Checked in by : Robert Osfield +Made s/getBackgroundColor() deprecated, and add in new s/getClearColor() to replace it. -2006-08-03 14:03 robert +Fri, 23 Apr 2004 14:47:54 +0000 +Checked in by : Robert Osfield +Added extra parameter policy enum - * Removed debug code +Thu, 22 Apr 2004 21:51:57 +0000 +Checked in by : Robert Osfield +Added a guard on the simplification of already low res tiles so that they won't be over simplified. -2006-08-03 13:35 robert +Thu, 22 Apr 2004 21:51:06 +0000 +Checked in by : Robert Osfield +Added support for "--bluemarble-east", "--bluemarble-west", "--whole-globe" and "--range" commandline options to allow easier specification of coords systems for common datasets which don't come with geospatial coords. - * Changed: - - static TextureGLModeSet s_textureGLModeSet; - - To: - - static TextureGLModeSet& getTextureGLModeSet() - { - static TextureGLModeSet s_textureGLModeSet; - return s_textureGLModeSet; - } - - to prevent static initialization problems under static builds. +Thu, 22 Apr 2004 13:36:30 +0000 +Checked in by : Robert Osfield +Added support for protecting points from being simplified.Added back in support for generation of skirts in osgTerrain::DataSet. -2006-08-03 13:12 robert - * Added OSG_TEXT_INCREMENTAL_SUBLOADING ON/OFF env var check to - osgText::Font - to optional disable the incremental subloading. -2006-08-02 21:09 robert +Thu, 22 Apr 2004 10:47:12 +0000 +Checked in by : Robert Osfield +Added getBoundingBox() method to osg::Geode to provide a closer bound of the bounding volume of a Geode to be tracked. This sits alongside the existing getBound() method which returns a bounding sphere. - * Updated wrappers +Thu, 22 Apr 2004 10:44:23 +0000 +Checked in by : Robert Osfield +Added update() method to enable the ScaleBar to be updated after changes to attached classes. -2006-08-02 21:05 robert +Thu, 22 Apr 2004 08:04:34 +0000 +Checked in by : Robert Osfield +Added pathway in code for override the colour of the wireframe scribe - * Reworked the state management within osgText::Text and - osgText::Font so that it - only applies textures locally rather than whole StateSet. +Wed, 21 Apr 2004 13:20:48 +0000 +Checked in by : Robert Osfield +Added searching of the filepath. -2006-08-02 21:04 robert +Wed, 21 Apr 2004 11:06:39 +0000 +Checked in by : Robert Osfield +Added back in tri stripping of tiles - * Added missing include +Wed, 21 Apr 2004 10:40:12 +0000 +Checked in by : Robert Osfield +Changed the edge collapse to accept edges with more than two connected triangles. -2006-08-02 19:56 robert +Tue, 20 Apr 2004 09:46:23 +0000 +Checked in by : Robert Osfield +Added project files for osgsimplifier example. - * tweaked comment. +Tue, 20 Apr 2004 09:36:46 +0000 +Checked in by : Robert Osfield +Changed the debugging info to output to osg::notify() rather than cout.Add a clear of all the internal EdgeCollapse structures to avoid memory +leaks -2006-08-02 19:55 robert - * Added viewer.cleanup_frame() to all examples. -2006-08-02 16:14 robert +Mon, 19 Apr 2004 23:08:30 +0000 +Checked in by : Robert Osfield +Added support for using the error metric to guide the simplficiation process - * Moved extension function pointer initilization into a method, and - the pointers from - being static to be local member variables. This should avoid - issues under Windows - with multiple graphics contexts have seperate entry points. +Mon, 19 Apr 2004 20:44:14 +0000 +Checked in by : Robert Osfield +Changed the scoping for for variables to fix VS6.0 compile. -2006-08-02 16:12 robert +Mon, 19 Apr 2004 20:06:26 +0000 +Checked in by : Robert Osfield +Added support for detecting edge collapses which will overturn the local triangles. - * Added cleanup_frame to prevent crashes on exit. +Sun, 18 Apr 2004 16:15:49 +0000 +Checked in by : Robert Osfield +Added osgsimplifier example. -2006-08-02 15:41 robert +Sun, 18 Apr 2004 14:12:07 +0000 +Checked in by : Robert Osfield +Changed std::cout to osg::notify - * Reworked the TextureObjectManager singleton so that it no longer - reconstructed itself once deleted, and added checks to against a - null manager to prevent calling code crashing. +Sun, 18 Apr 2004 14:02:09 +0000 +Checked in by : Robert Osfield +Changed std::cout to osg::notify -2006-08-02 11:36 robert +Sun, 18 Apr 2004 13:44:09 +0000 +Checked in by : Robert Osfield +From Marco Jez, "fixes a bug that prevented mipmaps in images from being read correctly (the call to setImage() clears the previously filled _mipmapData vector)." - * Fixed crash due on multipipe systems due by moving the local - camera update code from the cull into the update traversal. +Sat, 17 Apr 2004 22:50:39 +0000 +Checked in by : Robert Osfield +Further work on Simplifer support for compute error metric -2006-08-02 10:43 robert +Sat, 17 Apr 2004 20:27:31 +0000 +Checked in by : Robert Osfield +Changed TriangleSet::iterator to const_iterator to fix build under VS.NET. - * From Daniel Trstenjak, build fixes for Hpux 11.11, Irix 6.5, - Solaris 8 and Aix +Sat, 17 Apr 2004 16:02:38 +0000 +Checked in by : Robert Osfield +Further work on simplifier edge collapse code -2006-08-01 13:08 robert +Fri, 16 Apr 2004 22:50:41 +0000 +Checked in by : Robert Osfield +From Don Tidrow, changed "setupGLExtenions()" to "setupGLExtensions()" in Texture and Texture.cpp - * Fixed doubleButtonPress. +Fri, 16 Apr 2004 22:07:30 +0000 +Checked in by : Robert Osfield +Fixed incorrecting sizing of background tex coords -2006-08-01 10:27 robert +Fri, 16 Apr 2004 10:05:57 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, updated extension/version checking for border clamp extension. - * Changed the viewer.setUpViewer(..) from default to just - ESCAPE_SETS_DONE. +Thu, 15 Apr 2004 09:37:10 +0000 +Checked in by : Robert Osfield +Added tests for the consistency of points, edges and triangles. -2006-07-31 20:56 robert +Wed, 14 Apr 2004 11:56:59 +0000 +Checked in by : Robert Osfield +Fixed typo in makefile - * From Jason Beverage, - "I've attached fixes to DataSet that should fix the problems that - Maya was seeing yesterday. The issue was that the new - interpolation code I submitted didn't use the SourceData's - georef, it was assuming that the GDALDataSet had a proper - geo-ref. I've made the getInterpolatedValue method a member of - SourceData and now it uses the georef the SourceData's georef. - - I also forward declared the GDALRasterBand class in the DataSet - header." +Wed, 14 Apr 2004 08:58:53 +0000 +Checked in by : Robert Osfield +From Garret Potts, added -losgUtil to libs linked to osgTerrain -2006-07-31 17:31 robert +Tue, 13 Apr 2004 16:03:18 +0000 +Checked in by : Robert Osfield +Fixed bogus read*Implementation calls in ReadFileCallback. - * Added Matrix*::getRotate()/setRotate(Quat), deprecating - Matrix*::get(Quat&), Matrix*::set(Quat&) +Tue, 13 Apr 2004 15:59:30 +0000 +Checked in by : Robert Osfield +Added support for removing triangles and associated edge and points from the EdgeCollapse object. -2006-07-31 14:49 robert +Tue, 13 Apr 2004 14:39:43 +0000 +Checked in by : Robert Osfield +Added support for copy all per vertex attributes to and from the edge collapse object. - * Tweaked the invert() method to avoid silly OSX warnings. +Mon, 12 Apr 2004 21:30:23 +0000 +Checked in by : Robert Osfield +Commented out call to osgUtil::Simplifier as this utility is not yet functional -2006-07-29 16:47 robert +Mon, 12 Apr 2004 21:29:31 +0000 +Checked in by : Robert Osfield +Further work on the new osgUtil::Simplifier. - * Fixed multi-threaded/multi-pipe crash when primitive stats where - output in osgProducer::Viewer's stats. +Mon, 12 Apr 2004 13:36:08 +0000 +Checked in by : Robert Osfield +Changed the optimization of flat tiles so that it creates a flat 8x8 height field rather than a flat 2x2 height field. This allows geocentric warping of the tiles without obvious flat regions. -2006-07-28 13:48 robert +Sun, 11 Apr 2004 21:21:38 +0000 +Checked in by : Robert Osfield +From Eric Wing, clean ups for OSX support. - * Updated osgunittests with a matrix invert unit test, and added a - conditional - calling of invert_4x4 or invert_4x3 depending on the the right - hand column of the matrix. - - Updated wrappers +Sat, 10 Apr 2004 16:11:56 +0000 +Checked in by : Robert Osfield +From Alberto Farre, changed the cache hint option in read*() calls from being a bool to a enum osgDB::Registru::CacheHintOptions to be used a bit mask flag.From Robert Osfied, added osgDB::Registry::ReadFileCallback and +osgDB::Registry::WriteFileCallback to allow customizition of read and write +calls. -2006-07-27 16:41 robert - * From Jason Beverage, "This patch should fix Gert's problem that - he posted on osg-users. I downloaded the sample he posted, - reproduced the error, and added an additional check to make sure - the GDAL window size was valid. Now his example works fine. - Changes made against current CVS. - " -2006-07-27 15:23 robert +Sat, 10 Apr 2004 11:30:16 +0000 +Checked in by : Robert Osfield +From Paul Martz, added support for OpenFlight15.8 LightPointSystems - * From David Spilling, "Matrix_implementation.cpp modified as - requested. I ran a version of it through a local version of - osgunittests.cpp and it passes. - - Note that firstly it always returns the positive real quaternion - (positive w) - - Note also that it will sometimes slightly differ from the results - of the other methods because it assumes that the input matrix - really is a rotation matrix - if it isn't, e.g. because of - rounding error, then the output quaternion will be very slightly - different. For example, the test matrix - - 0 1 0 0 - 1 0 0 0 - 0 0 0.999999 0 - 0 0 0 1 - - will return 0.707107 0.707107 0.0005033 0.0005033 - - whereas the previous methods return 0.707107 0.707107 0.0 0.0 - - However, since quaternions are rotations, the meaning of how to - convert a matrix that isn't a rotation is a little unclear..." +Fri, 9 Apr 2004 08:20:15 +0000 +Checked in by : Robert Osfield +Renamed MyTriangleOperator to CollectTriangleOperator. -2006-07-27 12:32 robert +Thu, 8 Apr 2004 11:27:01 +0000 +Checked in by : Robert Osfield +Added beginning of new osgUtil::Simplifier - * From Michael Polak, double click fixes/additions +Wed, 7 Apr 2004 18:38:06 +0000 +Checked in by : Robert Osfield +Added an alteranive code path for the fallback for handling opaque texture blending. -2006-07-27 11:58 robert +Wed, 7 Apr 2004 08:57:15 +0000 +Checked in by : Robert Osfield +From Paul Martz, changes to better support OpenFlight 15.8 - * From Eric Wing, add outline to help text to make it easier to - read on different coloured backgrounds +Tue, 6 Apr 2004 20:15:11 +0000 +Checked in by : Robert Osfield +Fixed comments on the OBJ coords system -2006-07-27 11:25 robert +Tue, 6 Apr 2004 16:01:05 +0000 +Checked in by : Robert Osfield +Fixes from Per Månsson for Win32 build - * Remove ERSIShape directory. +Mon, 5 Apr 2004 21:27:57 +0000 +Checked in by : Robert Osfield +Added --wtk_file option -2006-07-27 11:22 robert +Mon, 5 Apr 2004 15:58:38 +0000 +Checked in by : Robert Osfield +Re-enabled normal generation on tiles. - * From Andreas Ekstrand, "The ESRIShape plugin needs to produce a - osgdb_shp.dll rather than a - osgdb_ESRI.dll in Windows in order to find the correct library - when - loading shp files. A new dsp file is attached to this mail. Also, - the - ERSIShape folder should be deleted." +Mon, 5 Apr 2004 15:46:19 +0000 +Checked in by : Robert Osfield +Commented out scale setting when source DEM is in lat+longs. -2006-07-27 11:22 robert +Mon, 5 Apr 2004 15:39:33 +0000 +Checked in by : Robert Osfield +Added local transform support. Fixed skirt generation to work during geocentric transformations. Fixed output of image files so that compressed textures are turned off when external image files are required. - * Added #define snprintf _snprintf for Win32 build +Mon, 5 Apr 2004 09:00:37 +0000 +Checked in by : Robert Osfield +From Nathan Cournia, fix to = operator, was eroneous written as an == operator. -2006-07-27 11:14 robert +Sun, 4 Apr 2004 15:33:26 +0000 +Checked in by : Robert Osfield +Prelimary work on adding support for local tile transforms - * From David Spilling, fix to Matrix::get(Quat&) +Fri, 2 Apr 2004 15:55:06 +0000 +Checked in by : Robert Osfield +Added support for generating compressed textures -2006-07-27 11:13 robert +Fri, 2 Apr 2004 15:45:34 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, reworked code to use a marco instead of duplicated code, done as measure for reducing the risk of copy and paste errors. - * From J.P. Delport, added units tests to pick up on erroneous - Matrix::get(Quat&) computation. +Fri, 2 Apr 2004 15:23:56 +0000 +Checked in by : Robert Osfield +Fixed computeImageResolution so that the computed num of columns and rows of the destination image are clamped to the nearest power of two equal or above the required resolution. -2006-07-26 15:29 robert +Thu, 1 Apr 2004 15:00:22 +0000 +Checked in by : Robert Osfield +Changed default cut of ratio to be smaller, to reduce the resolution of tiles selected. - * Cleaned up per context buffers support +Thu, 1 Apr 2004 13:09:05 +0000 +Checked in by : Robert Osfield +Added scaling of the PagedLOD range to be relative to the radius of children. -2006-07-26 15:19 robert +Thu, 1 Apr 2004 11:03:39 +0000 +Checked in by : Robert Osfield +Added support for --geocentric option to allow users to specify that the output database should by in geocentric coordinates. - * Added osgprecipitation to runexamples list. +Thu, 1 Apr 2004 11:02:23 +0000 +Checked in by : Robert Osfield +Cleaned up handling of geocentric coords -2006-07-25 20:43 robert +Thu, 1 Apr 2004 07:49:32 +0000 +Checked in by : Robert Osfield +Changed the comment to make it clear what axis change is implementated. - * Force SingelThreaded usage due to use of osgParticle. +Wed, 31 Mar 2004 22:31:46 +0000 +Checked in by : Robert Osfield +Added preliminary support for converting datasets into geocentric coords -2006-07-25 13:52 robert +Wed, 31 Mar 2004 15:50:30 +0000 +Checked in by : Robert Osfield +Added osgTerrain::EllipsodeTransform helper class for converting to and from lat, long, height to geocentric X,Y,Z and back. - * Fixed auto rotate bug. +Wed, 31 Mar 2004 09:20:46 +0000 +Checked in by : Robert Osfield +Clean up freeing of no longer required tiles -2006-07-19 21:49 robert +Wed, 31 Mar 2004 08:52:47 +0000 +Checked in by : Robert Osfield +From David Fries, add init() call to SphereSegment constructor, and new get methods for draw mask and color. - * Set release number back to 0 after release +Tue, 30 Mar 2004 22:06:01 +0000 +Checked in by : Robert Osfield +Added back in tri stripping of geometry tiles -2006-07-19 21:11 robert +Tue, 30 Mar 2004 22:02:50 +0000 +Checked in by : Robert Osfield +Changed the writing out of tile imagery so that it only happens when the destination file format is not .ive.Added back in support for freeing un-needed tiles. - * Updated ChangedLog and READE for the 1.1 release -2006-07-19 20:56 robert - * For cases where the RenderBin has its own StateSet do a - popAllStateSets() - to ensure that the state is completely ready for the RenderBin's - StateSet to be at the bottom. +Tue, 30 Mar 2004 21:13:08 +0000 +Checked in by : Robert Osfield +Fixed the boundary equalization -2006-07-19 19:49 robert +Tue, 30 Mar 2004 19:15:03 +0000 +Checked in by : Robert Osfield +Added debugging for detecting problems in boundary equalization - * UPdated wrappers +Mon, 29 Mar 2004 22:26:51 +0000 +Checked in by : Robert Osfield +Added normal generation in polygonal tile generation, and add --wtk option for setting coord systems in osgdem -2006-07-19 19:45 robert +Mon, 29 Mar 2004 14:40:03 +0000 +Checked in by : Robert Osfield +Added support for generating polygonal tiles - * Fixed error in enum, completely perplexed how the error got in... +Mon, 29 Mar 2004 12:28:40 +0000 +Checked in by : Robert Osfield +Fixed the handling begin()/vertex()/end() sequences in TriangleIndexFunctor. -2006-07-19 17:39 don +Mon, 29 Mar 2004 12:28:06 +0000 +Checked in by : Robert Osfield +Added extra check against a null vertex array to prevent a crash when tri stripping an empty geometry. - * Fixed HEIGHEST misspelling to HIGHEST +Mon, 29 Mar 2004 10:45:58 +0000 +Checked in by : Robert Osfield +Groundwork for adding support for polygonal tiles -2006-07-19 15:20 robert +Mon, 29 Mar 2004 10:24:16 +0000 +Checked in by : Robert Osfield +Added empty() method to Geometry to facilitate tests for removing empty geometry from the scene graph.Added removal of empty geometry leaves from within the RemoveEmptyNodeVisitor - * Reverted to LODScale keyboard adjustment -2006-07-19 15:10 robert - * Warning fixes +Mon, 29 Mar 2004 09:32:35 +0000 +Checked in by : Robert Osfield +Fixed handling of FOURCC_DXT1 pixel format. -2006-07-19 15:07 robert +Fri, 26 Mar 2004 11:04:37 +0000 +Checked in by : Robert Osfield +Added support for recording the animation paths relative to an 0.0 start time. - * Warning fix +Fri, 26 Mar 2004 10:48:29 +0000 +Checked in by : Robert Osfield +Added empty() method as a convinience method for setting checking whether an animation path contains any control points -2006-07-19 14:46 robert +Thu, 25 Mar 2004 18:34:40 +0000 +Checked in by : Don BURNS +Applied Norman Vine's changes for Cygwin/Mingw - * Added extra initializes +Sun, 21 Mar 2004 12:17:44 +0000 +Checked in by : Robert Osfield +Added TextureType and GeometryType parameters to DataSet. These will be used to control what type of database is generated. -2006-07-19 14:30 robert +Sat, 20 Mar 2004 18:32:49 +0000 +Checked in by : Robert Osfield +Implemented support for overriding the coordinate system and geo transform using in generate of databases. - * Added dummy initializers to avoid warning +Sat, 20 Mar 2004 17:21:53 +0000 +Checked in by : Robert Osfield +From Paul Martz, code change to make the flt loader pass its light point intensity value in to osgSim::LightPoint. -2006-07-19 14:04 robert +Fri, 19 Mar 2004 22:20:35 +0000 +Checked in by : Robert Osfield +Added support for setting the geoTransform to use in source data. - * Added reset of the event windowSize +Fri, 19 Mar 2004 22:03:32 +0000 +Checked in by : Robert Osfield +Improved the argument handling. -2006-07-19 13:02 robert +Fri, 19 Mar 2004 22:03:09 +0000 +Checked in by : Robert Osfield +Added ArgumentParser::Parameter class to make the argument parsing much more flexible, and to simplifying the API. The read(,,,) methods now take Parameter objects as arguments, and this Parameter adapt what ever basic type is passed in, so is able to transparently handle float, double, int, unsigned int & strings. - * Added mutexes to RealizeCallbaks +Fri, 19 Mar 2004 09:18:21 +0000 +Checked in by : Robert Osfield +Moved the LineSegment destructor from the header to the source to avoid compilation problems under MingW. -2006-07-19 12:58 robert +Thu, 18 Mar 2004 21:39:53 +0000 +Checked in by : Robert Osfield +Added defaults for the geotransform when none exists. - * Added scene handler init to custom realize callback +Wed, 17 Mar 2004 20:34:23 +0000 +Checked in by : Robert Osfield +From Paul Martz, "The attached code change causes the flt plugin to leave _sector unset if the direction normal has a zero length. The net effect is that unidirectional light points with zero length direction vectors are now treated as omnidirectional light points." -2006-07-19 12:35 robert +Wed, 17 Mar 2004 20:31:55 +0000 +Checked in by : Robert Osfield +From Marco Jez, updates to osgParticle, with integration of changes from Tom Jolly. - * Moved sync to before the keyboard mouse startThread to try to - avoid some - threading issue on start up of some apps. +Wed, 17 Mar 2004 20:04:44 +0000 +Checked in by : Robert Osfield +Added support for writing out to .ive -2006-07-19 11:25 robert +Wed, 17 Mar 2004 20:03:56 +0000 +Checked in by : Robert Osfield +Added the setting of the _internalTextureFormat from within osg::Image. - * Fixed handling of back colour. +Wed, 17 Mar 2004 17:04:30 +0000 +Checked in by : Robert Osfield +Completed support for the majority of osg::Shape. -2006-07-19 08:39 robert +Wed, 17 Mar 2004 16:11:47 +0000 +Checked in by : Robert Osfield +Added prelimary shape support to .ive plugin - * Changed code creating LightPoint on heap to use the stack. +Wed, 17 Mar 2004 08:15:24 +0000 +Checked in by : Robert Osfield +From Paul Martz, added (non-meters) unit scaling to the flt plugin failed to set the scaling of external references. -2006-07-18 21:00 robert +Tue, 16 Mar 2004 21:03:37 +0000 +Checked in by : Robert Osfield +Added better handling of number of graphic context size changes. - * Updated ChangeLog for rc3. +Tue, 16 Mar 2004 16:54:08 +0000 +Checked in by : Robert Osfield +Added support for generation of PagedLOD databases in osgTerrain::DataSet -2006-07-18 20:59 robert +Tue, 16 Mar 2004 16:10:57 +0000 +Checked in by : Robert Osfield +From Joran Jessurun, fixed "borderColor" typo. - * Add clause to clean up AUTHORS.txt +Tue, 16 Mar 2004 09:40:17 +0000 +Checked in by : Robert Osfield +Set JASPER_INSTALLED to no -2006-07-18 20:53 robert +Mon, 15 Mar 2004 15:47:22 +0000 +Checked in by : Robert Osfield +Added support for controlling the type of destiation database to create into osgTerrain::DataSet. - * Updated wrappers +Sun, 14 Mar 2004 21:54:17 +0000 +Checked in by : Robert Osfield +Added PrimitiveIndexFunctor for better support of TriangleIndexFunctor -2006-07-18 20:51 robert +Sun, 14 Mar 2004 15:40:34 +0000 +Checked in by : Robert Osfield +From Stephan Huber, support for reading movie files as ImageStreams using Quicktime (under OSX) to do the reading of the movie files. Originally submitted as a sperate .mov plugin, but integrated into the QuickTime plugin by Robert Osfield. - * Updated wrappers +Sun, 14 Mar 2004 15:26:36 +0000 +Checked in by : Robert Osfield +From Paul Martz, "I've added support for indexed light points and the light point appearance palette to the OpenFlight loader. Both are 15.8 features. I also added parsing/comments regarding other things that have changed for v15.8." -2006-07-18 20:17 robert +Sun, 14 Mar 2004 15:08:12 +0000 +Checked in by : Robert Osfield +From Marco Jez, added support NVidia extension to imager formats. - * Moved the moveToRootStateGraph(,) from - RenderStage::drawImplemenation() to - RenderBin::drawImplementation(); +Sat, 13 Mar 2004 16:29:29 +0000 +Checked in by : Robert Osfield +Moved the destructor block->release to after the cancel(). -2006-07-18 19:26 robert +Sat, 13 Mar 2004 12:36:02 +0000 +Checked in by : Robert Osfield +Added setting of pivot point in AnimationPathCallback - * From Eric Wing, fix for VC6 support +Fri, 12 Mar 2004 21:04:20 +0000 +Checked in by : Robert Osfield +Added some basic event handler. -2006-07-18 15:21 robert +Fri, 12 Mar 2004 20:23:55 +0000 +Checked in by : Robert Osfield +Cleaned up osgmovie example so it no longer depends upon LibMpeg3, just using readImageFile instead. - * Updated copyright years. +Fri, 12 Mar 2004 16:54:43 +0000 +Checked in by : Robert Osfield +Added the setting of the source data type in the reproject function, and disabled the automatic build of overviews. -2006-07-18 15:11 robert +Thu, 11 Mar 2004 22:04:41 +0000 +Checked in by : Robert Osfield +Changed the coordinate system option to --o_cs - * Added additional command line docs +Thu, 11 Mar 2004 16:14:25 +0000 +Checked in by : Robert Osfield +Moved osgTerrain::DataSet from the osgdem example into osgTerrain. Added various improvements. -2006-07-18 13:37 robert +Thu, 11 Mar 2004 14:34:59 +0000 +Checked in by : Robert Osfield +Replaced eronous GL_TEXTURE_2D instances with GL_TEXTURE_3D and GL_TEXTURE_RECTANGLE_NV respectively. - * Updated commandline docs +Thu, 11 Mar 2004 14:34:08 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, fixed eroneous use of GL_TEXTURE_2D token in texture object manager usage -2006-07-18 13:24 robert +Thu, 11 Mar 2004 09:04:02 +0000 +Checked in by : Robert Osfield +Fixed normal orientation - * Updated version for the release +Wed, 10 Mar 2004 15:41:40 +0000 +Checked in by : Robert Osfield +Ported mpeg plugin across to use OpenThreads instead of pthreads. -2006-07-18 13:17 robert +Tue, 9 Mar 2004 23:00:01 +0000 +Checked in by : Robert Osfield +From Paul Martz, fix to the scaling of light points in flt plugin. - * Updated ChangeLog and authors file. +Tue, 9 Mar 2004 21:33:44 +0000 +Checked in by : Robert Osfield +From Tom Jolly, addition a isCullingActive check to the culling test done on drawables. This solves a osgParticle bug relating to bounding boxes being initially at 0,0,0. -2006-07-18 13:05 robert +Tue, 9 Mar 2004 15:39:10 +0000 +Checked in by : Robert Osfield +Fixed mpeg plugin entry - * From Farshid Lashakari, fixed popStateSet. +Tue, 9 Mar 2004 15:00:52 +0000 +Checked in by : Robert Osfield +Added MPEG plugin -2006-07-18 13:04 robert +Tue, 9 Mar 2004 14:59:33 +0000 +Checked in by : Robert Osfield +Added TextureRectangle(Image*) contructor. - * Reduced the verbosity of debug info. +Tue, 9 Mar 2004 14:58:50 +0000 +Checked in by : Robert Osfield +Added float s, float t parameters to createTexturedGeometry function -2006-07-18 12:48 robert +Tue, 9 Mar 2004 14:57:45 +0000 +Checked in by : Robert Osfield +Fixed compile warning - * Updated wrappers +Tue, 9 Mar 2004 14:00:01 +0000 +Checked in by : Robert Osfield +Removed redundent ImageStream.h -2006-07-18 12:24 robert +Tue, 9 Mar 2004 09:42:07 +0000 +Checked in by : Robert Osfield +Preliminary work on general support of video textures. - * From Eric Wing, add alternate backdrop implementations. - - From Robert Osfield, updated naming and copy constructor methods. +Mon, 8 Mar 2004 17:13:22 +0000 +Checked in by : Robert Osfield +Added support for APPLE_client_storage to TextureRectange -2006-07-18 11:42 robert +Mon, 8 Mar 2004 17:09:58 +0000 +Checked in by : Robert Osfield +Added support for APPLE_client_storage of textures. - * Updated wrappers +Mon, 8 Mar 2004 11:53:12 +0000 +Checked in by : Robert Osfield +Clean up of headers. -2006-07-18 11:03 robert +Mon, 8 Mar 2004 11:41:57 +0000 +Checked in by : Robert Osfield +Added osgGA::TrackballManipulator::g/setMinimumZoomScale() method. - * Added Optimizer::FlattenBillboardsVisitor. +Mon, 8 Mar 2004 11:02:05 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, change on __DARWIN_OSX__ define to __APPLE__ -2006-07-17 16:36 robert +Sun, 7 Mar 2004 21:03:01 +0000 +Checked in by : Robert Osfield +Added #include for Win32 build - * From Terrex, improvements to handling of layers w.r.t - PolygonOffset +Sun, 7 Mar 2004 14:21:11 +0000 +Checked in by : Robert Osfield +Clean up of headers. -2006-07-17 13:16 robert +Sun, 7 Mar 2004 14:19:48 +0000 +Checked in by : Robert Osfield +From Geof Michel, bug fix to handling of Materials - * Removed the usage of setenv to avoid portability issues. +Sun, 7 Mar 2004 14:14:42 +0000 +Checked in by : Robert Osfield +Changed cerr to osg::notify(osg::WARN) -2006-07-17 11:43 robert +Sat, 6 Mar 2004 15:03:55 +0000 +Checked in by : Robert Osfield +From Paul Marz : "Input.h, Input.cpp -- Here's where support for reading the continuation record goes. I added a new function to read a continued record body. I added code in the existing ReadRecord routine to peek ahead for a CONTINUATION_OP if the current record could possibly be continued.opcodes.h -- Besides adding the opcode for CONTINUATION_OP, I also added new +15.8 opcodes. I labeled opcodes as "ignored" if I could easily discern that +our loader wasn't doing anything with them. For historical reasons, I added +all obsolete opcodes, prefixed with "OBS_". - * Change Unit to Units to keep consistent with OpenGL naming. +LocalVertexPoolRecord.h, LocalVertexPoolRecord.cpp -- This is one of three +types of records that can be continued with a CONTINUATION_OP record. I +removed all invalid assertions that assumed the record length would always +be less than 65535. I replaced the "vertex size" calculation with a more +efficient method based on caching the size from attribute bits, rather than +taking the length of the record and dividing it by numVerts (which would +have been incorrect if the record had been continued)." -2006-07-17 11:37 robert - * Added *,/,+ and - keyboard controls for toggling PolygonOffset - factor and units -2006-07-17 11:36 robert +Sat, 6 Mar 2004 14:38:40 +0000 +Checked in by : Robert Osfield +Added osg.ico back in again to test out cvs's assignment of keyword substitution. - * Added getNumLayers method +Sat, 6 Mar 2004 14:37:51 +0000 +Checked in by : Robert Osfield +Temporarily removed osg.ico -2006-07-17 10:25 robert +Sat, 6 Mar 2004 14:13:53 +0000 +Checked in by : Robert Osfield +Changed cout/cerr to osg::notify(). - * Increased the unit multiplier to 3 to avoid z fighting. +Fri, 5 Mar 2004 20:07:01 +0000 +Checked in by : Robert Osfield +From Boris Bralo, Added std:: in front of getline. -2006-07-17 10:24 robert +Fri, 5 Mar 2004 15:44:15 +0000 +Checked in by : Robert Osfield +From Marco Jez, on behalf of Farshid Lashkari. Details from Marco's email: "I've just received an addition to osgParticle from Farshid Lashkari. It enhances the generation of texture coordinates on particles so that animated textures can be used, with the current frame of animation being computed from each particle's current age. Clients just have to call Particle::setTextureTile() and specify the number of horizontal and vertical tiles that make the animation up in the texture image." - * Changed the Radeon defaults to 1, 128 for the factor and unit - mulitpliers respectively. +Thu, 4 Mar 2004 18:35:06 +0000 +Checked in by : Robert Osfield +From Paul Martz/Robert Osfield. Addition of initializers in AttrData to prevent bugs due to uninitialized memory references. -2006-07-14 21:02 robert +Thu, 4 Mar 2004 16:38:56 +0000 +Checked in by : Robert Osfield +From Paul Martz, fix to the byte swapping of the version number - * Updated osgversion and AUTHORS.txt for release +Thu, 4 Mar 2004 14:33:01 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, added support for FragmentProgram and VertexProgram into .ive -2006-07-14 20:50 robert +Thu, 4 Mar 2004 14:32:27 +0000 +Checked in by : Robert Osfield +Removed redundent getAssociatedModes() - * Updated ChangeLog for the release +Wed, 3 Mar 2004 15:38:22 +0000 +Checked in by : Robert Osfield +Changed StateAttribute::getAssociatedModes(std::vector&) across to StateAttribute::getModeUsage(StateAttribute::ModeUsage&). -2006-07-14 20:46 robert +Wed, 3 Mar 2004 13:27:21 +0000 +Checked in by : Robert Osfield +Removed include where possible, replacing with istream or ostream and changing std::cout/cerr to osg::notify(). - * Updated news for rc2. +Wed, 3 Mar 2004 11:17:21 +0000 +Checked in by : Robert Osfield +From Ruben, Added osgpointsprite examples. -2006-07-14 18:40 robert +Tue, 2 Mar 2004 22:36:11 +0000 +Checked in by : Robert Osfield +From Ruben, addition of osg::PointSprite and osgpointsprite example. - * From Brede Johansen, patch to make osgconv.cpp compile on VC - 2005. +Tue, 2 Mar 2004 21:37:44 +0000 +Checked in by : Robert Osfield +From David Fries, changed the Win32 Timer init code across to using QueryPerformanceCounter to avoid inaccurate and slow original Sleep based code. -2006-07-14 18:37 robert +Tue, 2 Mar 2004 20:35:27 +0000 +Checked in by : Robert Osfield +Added support for osg::Capsule into .osg format. - * Updated to officially deprecate VS6.0 support. +Tue, 2 Mar 2004 20:33:00 +0000 +Checked in by : Robert Osfield +From David Jung, added support for osg::Capsule shape -2006-07-14 18:20 robert +Tue, 2 Mar 2004 20:05:43 +0000 +Checked in by : Robert Osfield +From Marco Jez, fix to circular reference which was causing a crash. - * Added optional compilation of setenv code +Tue, 2 Mar 2004 16:57:08 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, updated osg.ico file. -2006-07-14 14:38 robert +Tue, 2 Mar 2004 16:53:21 +0000 +Checked in by : Robert Osfield +From Brede Johansen, added support for incrementing animation of DOFTransform w.r.t. time rather than frame number. - * Implemented Radeon workaround for polygonoffset +Tue, 2 Mar 2004 16:12:11 +0000 +Checked in by : Robert Osfield +From Paul Martz, with a couple of mods by Robert Osfield:"Changes to return the lat/long origin of an +OpenFlight model as userData of the root node object." -2006-07-14 14:08 robert - * Added s/getFactorMultiplier(), s/getUnitMultiplier(), - areUnitAndMultipliersSet() and - setFactorAndUnitMultipliersUsingBestGuessForDriver() static - methods to - osg::PolygonOffset to help implement workarounds for lack of - portablity of - settings between different hardware. -2006-07-14 14:04 robert +Tue, 2 Mar 2004 15:37:41 +0000 +Checked in by : Robert Osfield +From Paul Martz:"These two files fix the alignment bug in the flt plugin header +parsing, which I posted about on Saturday. They go in the flt plugin +directory. - * Removed the default loading of bluemarble.ive +The fix is to memcpy the data read from the flt file into individual fields +in our Header struct, then replace the raw (packed) data block with our +header struct. This avoids the alignment problem entirely, and all fields +now contain valid data." -2006-07-14 11:34 robert - * Fixed popStateSet -2006-07-14 11:29 robert +Tue, 2 Mar 2004 15:27:59 +0000 +Checked in by : Robert Osfield +From Brad Christiansen: added _matrixDirty=true to AutoTransform::setPosition(..) method. From Robert Osfield, probagated this change to other AutoTransform set methods. - * Removed debug info +Tue, 2 Mar 2004 15:26:31 +0000 +Checked in by : Robert Osfield +Fixed warning message -2006-07-14 11:04 robert +Mon, 1 Mar 2004 09:15:51 +0000 +Checked in by : Robert Osfield +Build fixes - * Speeded up merge geometry +Thu, 26 Feb 2004 18:33:06 +0000 +Checked in by : Don BURNS +Changed OsgCameraGroup to check for the Producer::RenderSurface::defaultWindowName rather than the hard coded string -2006-07-13 20:50 robert +Tue, 24 Feb 2004 12:04:48 +0000 +Checked in by : Robert Osfield +Warning fix - * Typo fixes +Sun, 22 Feb 2004 11:58:44 +0000 +Checked in by : Robert Osfield +Added scale parameter into PositionAttitudeTransform.Added pivotPoint parameter into AnimationPathCallack. -2006-07-13 20:42 robert - * Optimized the MERGE_GEODES pass -2006-07-13 19:42 robert +Sat, 21 Feb 2004 16:59:14 +0000 +Checked in by : Robert Osfield +Changed the Timer class to default to using the standard clock under Linux to prevent Timer problems occur under Linux32 on the Athlon64. - * Updated ChangeLog +Sat, 21 Feb 2004 16:57:57 +0000 +Checked in by : Robert Osfield +Made the FRAME event handling in the various MatrixManipulators return false from the handle method to prevent frame events from being eaten. -2006-07-13 15:56 robert +Sat, 21 Feb 2004 16:56:23 +0000 +Checked in by : Robert Osfield +Added AnimationPathCallback::s/getTimeOffset and s/getTimeMultiplier() methods. - * Updated wrappers +Fri, 20 Feb 2004 20:47:35 +0000 +Checked in by : Robert Osfield +Added missing _pause(false) into AnimationPathCallback default contructor. -2006-07-13 15:25 robert +Fri, 20 Feb 2004 20:10:51 +0000 +Checked in by : Robert Osfield +Added missing initialization in the AnimationPathCallback constructor. - * Added StatsVisitor to include/osg/Statistics, and usage of it in - osgUtil::Optimizer. - - Added --optimize option to osgconv +Fri, 20 Feb 2004 11:51:14 +0000 +Checked in by : Robert Osfield +Added Material::operator = -2006-07-13 14:58 robert +Thu, 19 Feb 2004 10:10:25 +0000 +Checked in by : Robert Osfield +Fixed typo in inline docs on the default value of the clear stencil value - * Added share duplicates traversal to optimizer call +Wed, 18 Feb 2004 21:40:18 +0000 +Checked in by : Robert Osfield +Added support for osg::LineWidth into ive format -2006-07-13 13:00 robert +Tue, 17 Feb 2004 09:46:16 +0000 +Checked in by : Robert Osfield +Added support for a OSG_DISABLE_FAST_PATH_IN_DISPLAY_LISTS environmental variable in the computeFastPathsUsed() method so that use of vertex arrays can be forced off. This is a work around for a bug in the OpenGL drivers in OSX/Panther. - * Fixed Trajce Nikolov name reversal. +Mon, 16 Feb 2004 15:27:45 +0000 +Checked in by : Robert Osfield +Removed redundent byte swap on _version -2006-07-13 11:46 robert +Thu, 12 Feb 2004 18:40:15 +0000 +Checked in by : Don BURNS +Submission by Paul Martz for doing units conversions on flight files. - * Fixed Statistics::reset() method to include a reset of all member - variables +Thu, 12 Feb 2004 12:53:51 +0000 +Checked in by : Robert Osfield +Changed _X & _Y varaibles to _tileX & _tileY -2006-07-13 09:12 robert +Thu, 12 Feb 2004 01:42:00 +0000 +Checked in by : Robert Osfield +From Shane Arnott, added drawing of "split" - * Fixed typos. +Thu, 12 Feb 2004 01:15:37 +0000 +Checked in by : Robert Osfield +Improved osgSim::SphereSegmenet's handling of transparancy. -2006-07-13 09:01 robert +Wed, 11 Feb 2004 12:06:37 +0000 +Checked in by : Robert Osfield +Added support for draw back then front faces of the osg::Sphere shape - * Fixed management of Text's StateSet so that it works correctly - when the DefaultFont is active. +Wed, 11 Feb 2004 10:19:52 +0000 +Checked in by : Robert Osfield +From Brad Christiansen, fix to enable AutoTransform to keep track of window size/perspective changes -2006-07-12 20:59 robert +Wed, 11 Feb 2004 10:18:34 +0000 +Checked in by : Robert Osfield +Added defined(__x86_64__) to force X86-64 build to use standard clock - * Updated NEWS +Tue, 10 Feb 2004 12:36:17 +0000 +Checked in by : Robert Osfield +Made getViewport(...) const. -2006-07-12 09:50 robert +Tue, 10 Feb 2004 10:07:32 +0000 +Checked in by : Robert Osfield +From David Fries, added _frameTime copying into copy constructor of osg::Sequence - * From Vincent Vivanloc, Removed commas from end of enum lists, and - removed semi-colon - from end of namespace. +Mon, 9 Feb 2004 22:56:39 +0000 +Checked in by : Robert Osfield +From Ronny Krueger: In RenderStage.cpp removed erroneous else statement. -2006-07-12 09:40 robert + In ShapeDrawable.cpp's PrimitiveShapeVisitor::apply(const Box& box) fixed + order of the last face. - * From Brede Johansen, - - "I found some artifacts on some models and traced it back to the - external palette override feature. There are some changes in the - layout of the external record the loader have to take into - consideration. - - The other fix is to remove the OF pools from the user data of the - external ProxyNode when it is no longer needed." -2006-07-11 21:53 robert - * Removed StateSet::ENCLOSE_RENDERBIN_DETAILS since it is - rendendent, and - implemented the OVERRIDE_RENDERBIN_DETAILS. +Mon, 9 Feb 2004 10:14:06 +0000 +Checked in by : Robert Osfield +Added new TriangleIndexFunctor. -2006-07-11 14:24 robert +Sat, 7 Feb 2004 19:36:15 +0000 +Checked in by : Robert Osfield +Removed slideshow3D from runexamples.bat - * From Brede Johansen, "Here's a small patch to - BlendFunc::setFunction(source,destination) to - make it consistent with the constructor and prevent the - BlendFuncSeparate path being called. This patch fixed the - artifact - with the osgpointsprite demo on ATI cards reported by Mike - Weiblen." +Thu, 5 Feb 2004 21:23:09 +0000 +Checked in by : Robert Osfield +From Eric Hammil, addition of /Zm200's to keep things compiling under VS6 -2006-07-11 10:34 robert +Thu, 5 Feb 2004 12:11:06 +0000 +Checked in by : Robert Osfield +Fixed the className() defintations to be const - * From Antoine Hue, - - "There was a typo in "int setNotifyOffset()", appear to be a - getter => - "int getNotifyOffset()". - - Then I have added a switch to create GDALTermProgress only when - the - current notify level + local offset permit message display. In - fact, if - the offset is set to 0 and the notify level is at the default, - DataSet - is quiet but for the GDALTermProgress. That is quite disturbing - since - you think the progress is related to the complete processing but - it is - actually only related to the GDAL Warp." +Thu, 5 Feb 2004 11:53:09 +0000 +Checked in by : Robert Osfield +Changed fonts to lower case. -2006-07-11 10:33 robert +Thu, 5 Feb 2004 11:39:12 +0000 +Checked in by : Robert Osfield +From Nick, Improved support for 3D labels. - * Added preciption effects to NEWS +Thu, 5 Feb 2004 10:50:29 +0000 +Checked in by : Robert Osfield +From Tom Jolly, Fixes to osgSim::BlinkSequence to enable proper saving and loading. -2006-07-11 09:06 robert +Thu, 5 Feb 2004 10:15:38 +0000 +Checked in by : Robert Osfield +Fixed warning in Tesselation w.r.t unhandled cases in switch statement - * Updates osgversion and AUTHORS.txt for typo. +Thu, 5 Feb 2004 10:10:18 +0000 +Checked in by : Robert Osfield +Removed slideshow3D from list of example apps, and rejigged makedefs handling of the QUICK_TIME -2006-07-06 20:44 robert +Thu, 5 Feb 2004 09:24:52 +0000 +Checked in by : Robert Osfield +Removed DRAWIN_QUICKTIME definition - * Updated AUTHORS.txt and ChangeLog for 1.1-rc1 +Wed, 4 Feb 2004 13:21:41 +0000 +Checked in by : Robert Osfield +Removed slideshow3D from project file. -2006-07-06 20:43 robert +Wed, 4 Feb 2004 13:21:16 +0000 +Checked in by : Robert Osfield +Removed slideshow3D project file - * Tweak for VS6.0 build +Wed, 4 Feb 2004 13:19:32 +0000 +Checked in by : Robert Osfield +Removed slideshow3D example source code, since it being moved to a seperate distribution. -2006-07-06 15:47 robert +Wed, 4 Feb 2004 11:03:52 +0000 +Checked in by : Robert Osfield +Added virtual destructor to LightPointDrawable - * Fixed scoping for for loop varaible for VS6.0 build. +Wed, 4 Feb 2004 09:30:06 +0000 +Checked in by : Robert Osfield +From Brad Christaiansen, added check for projection matrix changing in screen coord character size mode. -2006-07-06 15:00 robert +Tue, 3 Feb 2004 22:46:10 +0000 +Checked in by : Robert Osfield +Changes to help differentiate between OSX using Quicktime vs not using quicktime, from Eric Sokolosky and Robert Osfield. - * Tweaks to try and fix VS6.0 problems. +Tue, 3 Feb 2004 21:08:35 +0000 +Checked in by : Robert Osfield +Added rounding to nearest power of two in tile image size -2006-07-06 14:50 robert +Tue, 3 Feb 2004 19:07:32 +0000 +Checked in by : Robert Osfield +Added dynamic_cast into SceneView::init() method to properly check for class type before doing setState(). - * Removed explict definition of osgUtil::Optimizer::StateVisitor to - attempt - to get round VS 6.0 cruddiness. +Tue, 3 Feb 2004 16:51:44 +0000 +Checked in by : Robert Osfield +Added support for better merging of height fields which ignores NoData values. Fixed various problems with handing of coordinates systems. Added support for halving levels in x and y respectively, in addition to the previous divide in both x and y at the same time, which allows long line/short tall regions to be handled better. -2006-07-06 14:43 robert +Mon, 2 Feb 2004 17:16:40 +0000 +Checked in by : Robert Osfield +From Eric Sokolosky, change to use X_INC in GNUmakefile to allow compiling on systems with X installed in a non standard place. - * Tweaked for loop variaible definition. +Mon, 2 Feb 2004 16:55:29 +0000 +Checked in by : Robert Osfield +Moved the InitVisitor::setState() into the SceneView::init() method to make sure that it always has the correct State object at the of the init. -2006-07-06 14:36 robert +Mon, 2 Feb 2004 08:55:17 +0000 +Checked in by : Robert Osfield +Added atan2f to the list of #define's into include/osg/Math. - * Updated NEWS and ChangeLog +Sun, 1 Feb 2004 17:21:12 +0000 +Checked in by : Robert Osfield +Commented out the PagedLOD priority offset to leave it at its default values, so not to force the loading of distance children before near ones, letting PagedLOD set priorities simply on the depth into a child range. -2006-07-06 14:14 robert +Sun, 1 Feb 2004 17:19:33 +0000 +Checked in by : Robert Osfield +Changed the osgviewer example to use the osg::Timer::instance instead a loca instance. - * From Eric Sokolowsky, - "If a texture is used that is not a multiple of four, and - compression - was requested through the texture's internal format, the - texture's - internal format reverts to a non-compressed type and a NOTICE is - given. - At present, compressed textures must have a multiple of four in - each - dimension." +Sun, 1 Feb 2004 17:18:36 +0000 +Checked in by : Robert Osfield +From Nick, "I have modified the gdal code to read ecw images as well There is a small issue though ... GDALRasterBand::GetColorInterpretation() is not implemented for ecw images (in GDAL's sources I downloaded today) ... I put small hack in there to interpret the bands based on their index and it seams to work .." -2006-07-06 14:10 robert +Sun, 1 Feb 2004 17:17:16 +0000 +Checked in by : Robert Osfield +Increased expiry delay from 1 second to 30 seconds - * Updated wrappers +Sun, 1 Feb 2004 16:13:07 +0000 +Checked in by : Robert Osfield +Fixed the PagedLOD::removeExpiredChildren() so it only removes the high res child that has expired and no more. -2006-07-06 14:02 robert +Sun, 1 Feb 2004 15:40:33 +0000 +Checked in by : Robert Osfield +Fixed GL_COMPRESSED_RGB_S3TC_DXT1_EXT pathway so both pixel and internal formats are the same. - * From Eric Sokolowsky, - - "Attached is some fixes for Image::readImageFromCurrentTexture. - It was - failing when used with a new Image object (some of the fields - were - not set before they were used, and some were set to the wrong - values). - A new optional parameter was added to give the desired data type, - which - defaults to GL_UNSIGNED_BYTE, so programs should only need a - recompile - to work properly." +Sun, 1 Feb 2004 10:27:19 +0000 +Checked in by : Robert Osfield +Improvements to the merging of source image datasets into the destination tiles which ensure that gaps don't appear.Made the elevation properly scaled relative to the having the x & y in +degrees. -2006-07-06 13:06 robert - * Fixed typo and unpdated AUTHORS file -2006-07-06 11:40 robert +Sat, 31 Jan 2004 21:27:02 +0000 +Checked in by : Robert Osfield +Fixed second pathway for computing HeightField bounding box. - * Added setting of name from the .obj goup name and object names. +Sat, 31 Jan 2004 20:45:40 +0000 +Checked in by : Robert Osfield +Fixed HeightField compute bounding box implementation. -2006-07-06 11:33 robert +Sat, 31 Jan 2004 11:34:28 +0000 +Checked in by : Robert Osfield +Added AnimationPathCallback::getAnimationTime() method - * Removed redundent debug message. +Fri, 30 Jan 2004 21:17:50 +0000 +Checked in by : Robert Osfield +Fixed another typo :) -2006-07-06 11:30 robert +Fri, 30 Jan 2004 21:17:27 +0000 +Checked in by : Robert Osfield +Fixed misspelling of dependencies - * Add "hack" fix for black materials being exported from Maya. +Fri, 30 Jan 2004 21:11:58 +0000 +Checked in by : Robert Osfield +Added new dependancies file which contains a list of libraries that various OSG modules depend upon, these can be set as installed or not. The makedirdefs now uses this to configure which modules to compile. -2006-07-06 11:08 robert +Fri, 30 Jan 2004 21:10:05 +0000 +Checked in by : Robert Osfield +Added osg:: infront of State in Draw callback to make the callback work when copy and pasting it in user code. - * Tweaked osgversion to catch typos and updates AUTHORS.txt +Fri, 30 Jan 2004 21:09:21 +0000 +Checked in by : Robert Osfield +Added new osgspacewarp example which demonstrates how to create a star field which becomes lines as one accelerates, similar to the effect seen in star trek's warp drive. -2006-07-06 10:39 robert +Fri, 30 Jan 2004 16:12:53 +0000 +Checked in by : Robert Osfield +From Bob Keuhne, warning fixes under OSX - * Updated ChangeLog and AUTHORS.txt for release +Fri, 30 Jan 2004 15:54:41 +0000 +Checked in by : Robert Osfield +Added osgText dependancy to the TXP plugin -2006-07-06 10:28 robert +Fri, 30 Jan 2004 15:52:58 +0000 +Checked in by : Robert Osfield +Added Windows icon - * Updated version numbers for 1.1 release +Fri, 30 Jan 2004 14:06:29 +0000 +Checked in by : Robert Osfield +Added osgmovie example, derived from Ulrich Hertlien's original videotex example, and brought up to date. -2006-07-06 10:27 robert +Fri, 30 Jan 2004 13:53:15 +0000 +Checked in by : Robert Osfield +Changed the snap image filename to save_image.jpg taking advantage of the new JPEG writing support. - * Tweaked polygon offset +Fri, 30 Jan 2004 13:52:12 +0000 +Checked in by : Robert Osfield +From Stephane, added support for writing JPEG images. -2006-07-06 09:11 robert +Thu, 29 Jan 2004 20:14:20 +0000 +Checked in by : Robert Osfield +Fixed the clampProjectionMatrix method so it doesn't modify the input znar and zfar, by avoid the use of float/double&. - * From Eric Wing, updaetes to Xcode projects +Thu, 29 Jan 2004 17:09:13 +0000 +Checked in by : Don BURNS +Adde Texture1D to .dsp file -2006-07-06 08:36 robert +Thu, 29 Jan 2004 15:47:51 +0000 +Checked in by : Robert Osfield +Attempts to fix compile problems under IRIX due to namespace problems. - * From Vivek Rajan, "Rotated text in SCREEN_COORDS was looking a - little squished especially - in orthographic projection. Performing the rotation before the - scaling - fixed the problem. I've attached Text.cpp with the fix." - - From Robert Osfield, in keeping with Vivek's change moved the - auto rotate to screen befor the scale as well. +Thu, 29 Jan 2004 15:47:06 +0000 +Checked in by : Robert Osfield +Improved support for handling externally set projections -2006-07-05 21:52 robert +Thu, 29 Jan 2004 11:16:49 +0000 +Checked in by : Robert Osfield +From Pavel Moloshtan, add support to osg::Texture files for GL_ARB_shadow_ambinet support - * From Eric Sokolowsky, "The attached Texture.cpp fixes a problem - when subloading compressed - textures. Near the top of the function that implements texture - subloading, osg::Texture::applyTexImage2D_subload(), the local - variable - compressed_image examines the _image's_ pixel format to see if it - is - compressed. However, further on, in calls to getCompressedSize() - the - _texture's_ pixel format is used. In my application's Texture2D - class, - I use osg::Texture::USE_ARB_COMPRESSION to - osg::Texture2D::setInternalFormatMode(), which causes the - internal format - to become one of the generic ARB_COMPRESSED types, which do not - have a - specific size. Thus the recent warning message added to - osg::Texture::getCompressedSize() is triggered. The correct - behavior is - to use the format mode from the Image class instead of the - Texture class - within the subload implementation, and then the size is - calculated - correctly." +Thu, 29 Jan 2004 10:44:08 +0000 +Checked in by : Robert Osfield +Added double's as parameters to _clampProjectionMatrix() template function to cure compile problems -2006-07-05 21:12 robert +Wed, 28 Jan 2004 22:23:10 +0000 +Checked in by : Don BURNS +Fixed WIREFRAME_CLOSED swap in flt loader. submitted by Andreas Ekstrand - * Updated AUTHORS file +Wed, 28 Jan 2004 20:17:10 +0000 +Checked in by : Robert Osfield +Made the thread priority outwith the frame PRIORITY_MIN -2006-07-05 21:12 robert +Wed, 28 Jan 2004 14:44:35 +0000 +Checked in by : Robert Osfield +Adding scaling of skirt. - * Fixed typo. +Wed, 28 Jan 2004 10:53:59 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, icons for osgviewer under Windows. The osgviewer changes effectively provides template for making icons for all the examples. -2006-07-05 20:56 robert +Wed, 28 Jan 2004 10:49:23 +0000 +Checked in by : Robert Osfield +Added support for CullVisitor::clampProjectionMatrixCallback - * From Brede Johansen, "Changed ">" to ">=" when testing for - version 16.1 or later." +Tue, 27 Jan 2004 22:45:03 +0000 +Checked in by : Don BURNS +Added 1D texture support to .ive plugin. (Fixed a couple of misspellings as well). -2006-07-05 13:44 robert +Tue, 27 Jan 2004 21:29:58 +0000 +Checked in by : Robert Osfield +Added support for osg::Texture::setBorderWidth(). - * From Eric Sokolowsky, "There is code in Image.cpp that calculates - the size of a compressed image - based on the internal format. There is similar code in the - Texture class - but it does not account for the ARB types. I modified the Texture - class - implementation to show a warning when an incomplete internal - format is - used to calculate the image size." +Tue, 27 Jan 2004 14:49:59 +0000 +Checked in by : Robert Osfield +Fixed problems with the DatabasePager free of texture objects and display list before they are finished with. -2006-07-05 13:31 robert +Tue, 27 Jan 2004 14:47:41 +0000 +Checked in by : Robert Osfield +Added className() method to GlyphTexture for debugging purposes. - * Added mutex to the test context. +Tue, 27 Jan 2004 14:46:29 +0000 +Checked in by : Robert Osfield +Added operator = implementations to template classes. -2006-07-05 13:18 robert +Tue, 27 Jan 2004 11:50:32 +0000 +Checked in by : Robert Osfield +From Nick, added VectorUInt in osgText/String hack to get around VS's stoopid compiler bugs.From Robert, removed an #if #else #endif block, for code clarity. - * Added vertex program hack to get round apparent NVidia bug when - handling - vertex texture read. -2006-07-05 12:54 robert - * Updated AUTHORS file +Mon, 26 Jan 2004 14:52:11 +0000 +Checked in by : Robert Osfield +Re-enabled the unref image of texture apply, since the bug of disappearing textures was due to a bug in DatabasePager. -2006-07-05 12:51 robert +Mon, 26 Jan 2004 14:51:01 +0000 +Checked in by : Robert Osfield +Set the delete of expired subgraphs in the database thread to false, to prevent problems with osgText. Will need to solve the dirtyTextureObject issue. - * More fixes for typos +Mon, 26 Jan 2004 13:55:17 +0000 +Checked in by : Robert Osfield +Removed Texture unref on apply. -2006-07-05 10:48 robert +Mon, 26 Jan 2004 09:01:08 +0000 +Checked in by : Robert Osfield +Fix to computation of size of texture in presense of compressed textures + mipaplevels<=1 - * Updated AUTHORS file +Sun, 25 Jan 2004 13:52:55 +0000 +Checked in by : Robert Osfield +From Nick, added Text support. -2006-07-05 10:47 robert +Sat, 24 Jan 2004 20:50:33 +0000 +Checked in by : Robert Osfield +Removed redundent , from enum. - * Updated osgversion to correct for ChangeLog typos. +Sat, 24 Jan 2004 09:41:29 +0000 +Checked in by : Robert Osfield +Added release of file request block in the DatabasePager destructor. -2006-07-05 10:29 robert +Fri, 23 Jan 2004 21:47:39 +0000 +Checked in by : Robert Osfield +Added proper handling of the rotation of billboards about an artbitary axis. Note, this code while mathermatically is not optimal, and will need to reviewed in the future to optimize it. - * Updated ChangeLog. +Fri, 23 Jan 2004 16:29:54 +0000 +Checked in by : Robert Osfield +Added rotation of billboard normal into flattern transform Optimizer pass. -2006-07-05 10:24 robert +Fri, 23 Jan 2004 16:09:56 +0000 +Checked in by : Robert Osfield +Made getLookAt() etc methods const - * Updated NEWS. +Fri, 23 Jan 2004 13:38:28 +0000 +Checked in by : Robert Osfield +Fixed the handling of the Producer Fovy so that it accounts for Producer now using degrees in set and get methods -2006-07-05 10:23 robert +Fri, 23 Jan 2004 13:25:45 +0000 +Checked in by : Robert Osfield +From Romano Magacho, fixes to handle the subloading from Image when the internal format changes requiring a rebuild of the texture object. - * First steps towards updating NEWS for 1.1 release +Fri, 23 Jan 2004 12:06:03 +0000 +Checked in by : Robert Osfield +Reverted by hand osgshadowtexture -2006-07-05 09:52 robert +Thu, 22 Jan 2004 14:24:51 +0000 +Checked in by : Robert Osfield +Added support for copying tex coord data directly from prpgGeometry. - * Fixed warnings +Thu, 22 Jan 2004 12:28:55 +0000 +Checked in by : Robert Osfield +Added report of LOD scale -2006-07-05 08:59 robert +Thu, 22 Jan 2004 12:21:59 +0000 +Checked in by : Robert Osfield +Added setLODScale into TileMapper traversal - * From Markus Trenkwalder, "Mingws gcc includes a file called - types.h which in turn defines - _TYPES_H_. types.h in the directx plugin defines the same include - guard. I've renamed the guard name in this file to _DX_TYPES_H_. - Now - the plugin compile in mingw too." +Thu, 22 Jan 2004 11:33:40 +0000 +Checked in by : Robert Osfield +Added back in handling of non seam children in seam subgraphs, now uses a seperate group to enclose both the seam and the non seam children. -2006-07-05 08:55 robert +Thu, 22 Jan 2004 10:55:56 +0000 +Checked in by : Robert Osfield +From Nick, addition of pruning to remove redundent local materials. - * From Brede Johansen, renaned FLT_preserveFace to preserveFace +Thu, 22 Jan 2004 10:43:59 +0000 +Checked in by : Robert Osfield +Added setName("TileContent") on the subgraphs that represent the contents of the tiles, this name is then searched for during the TileMapper pre cull traversal to help cut short traversals, and thereby improve its performance. -2006-07-04 19:58 robert +Thu, 22 Jan 2004 10:42:32 +0000 +Checked in by : Robert Osfield +Added controls over the datatbase pager threading priority during and outwith the frame. - * Changed parameter name from osberver_ptr to observer. +Wed, 21 Jan 2004 20:38:03 +0000 +Checked in by : Robert Osfield +Added _activeSwitchSet(sw._activeSwitchSet) into the copy constructor. -2006-07-04 19:54 robert +Wed, 21 Jan 2004 19:13:09 +0000 +Checked in by : Robert Osfield +Commented back in osg::Material settings - * From Paul Martz, - - "Previously, the new OpenFlight plugin only allowed ext ref - models to use - their own palettes. With this change, parent models can override - child model - palettes with the parent palettes. - - These changes are made against very current CVS (just updated - about 1/2 hour - ago, eliminated conflicts, and retested before this posting). - - To regurgitate what I did: - - A new class, ParentPools (public osg::Referenced), is created - when an ext - ref record is parsed, and it is populated with any parent model - pools that - should override the child model pools (according to bits in the - ext ref - record). The ParentPools object is then set as UserData on the - ProxyNode - corresponding to the ext ref. - - When the ReadExternalsVisitor hits the ProxyNode, it takes its - UserData and - sets it as UserData in the Options parameter to the - osgDB::ReadNode call, - which then read the ext ref model. In the course of parsing the - Options - string, ReaderWriterFLT also looks at the Options UserData and - sets the - parent pools in the Document class accordingly. - - When palette records are encountered while loading a file, they - are ignored - if the corresponding pool was set by the parent. - - Thanks to Brede for consulting with me on the implementation. - " +Wed, 21 Jan 2004 17:26:23 +0000 +Checked in by : Robert Osfield +Added new mechanism for handling Seams. -2006-07-04 14:37 robert +Tue, 20 Jan 2004 10:02:45 +0000 +Checked in by : Robert Osfield +Build fix. - * Updated wrappers. +Mon, 19 Jan 2004 15:55:51 +0000 +Checked in by : Robert Osfield +Upates from Nick. -2006-07-04 14:18 robert +Mon, 19 Jan 2004 11:02:54 +0000 +Checked in by : Robert Osfield +Added support for osg::Texture::setUnRefImageDataAfterApply(true) into all objects osg::Textures the TXP plugin creates. - * From Stephan Huber, - - "attached you'll find some modifications to Producer, osgGA and - osgProducer to enable Mac OS X support for - - + scrollwheels, - + mightymouse-srollballs - + new tracking-pads with scroll feature - + tablet-support (pressure, proximity and pointertype) (Wacom - only tested) - - I think there was a bug in the windows-implementation of - scroll-wheel - support (wrong order of ScrollingMotion-enum, casting problem) - which is - fixed now. - - The scrollwheel-code is a bit klunky across platforms, some - devices on - OS X can report an absolute delta in pixel-coordinates not only - the - direction, so for now there is scrollingMotion (which describes - the - direction) and scrolldeltax and scrolldeltay. I decided to leave - the - scrollingmotion-stuff to not break old code relying on this." +Mon, 19 Jan 2004 11:01:45 +0000 +Checked in by : Robert Osfield +Fixed bug in logic in areAllTextureObjectsLoaded() which was producing the exact opposite result to what it should have been generating. -2006-07-04 13:56 robert +Sun, 18 Jan 2004 21:59:20 +0000 +Checked in by : Robert Osfield +Updates for improvements to osgdem, such as adding support for skirt and border into osg::HeightField, handling of computation of neigherbouring tiles in osgdem's DestinationGraph. - * Updated wrappers. +Fri, 16 Jan 2004 16:39:04 +0000 +Checked in by : Robert Osfield +Improvements to generation of terrain and texture'd LOD'd destination datasets -2006-07-04 13:56 robert +Thu, 15 Jan 2004 21:07:34 +0000 +Checked in by : Robert Osfield +Added automatic generation of LOD levels with destination graph - * Change osgText so that the Text drawable now can have its own - StateSet - that users can assign to it without it being overriden. If none - is - assigned externally it now uses a StateSet associated wit the - Font assigned - to the Text. +Wed, 14 Jan 2004 15:14:20 +0000 +Checked in by : Robert Osfield +Clean ups of floats & .0f's -2006-07-04 13:33 robert +Tue, 13 Jan 2004 16:07:02 +0000 +Checked in by : Robert Osfield +Fixed #undef's - * From Brede Johansen, - - "The attached file corrects two small typos in MultiSwitch.cpp. - The - local "values" reference and the "_values" member attribute are - of - different types but both are vectors so the size() operator - happily - compiles. A renaming of _values to _masks or similar may be a - more - future proof solution but the submission only removes the - underscore - in two places. - - The switch_1701.flt model part of the Creator gallery revealed - this bug." +Tue, 13 Jan 2004 10:30:36 +0000 +Checked in by : Robert Osfield +From Daved Ergo, patch for handling group names better -2006-07-04 12:57 robert +Tue, 13 Jan 2004 09:47:50 +0000 +Checked in by : Robert Osfield +Fixed typo's of ImpostorSprite - * Fix to Registry::read(ReadFunctor) to better handle reporting of - errors +Tue, 13 Jan 2004 09:47:31 +0000 +Checked in by : Robert Osfield +Fixed for Win32 build -2006-07-04 11:24 robert +Mon, 12 Jan 2004 22:03:29 +0000 +Checked in by : Robert Osfield +Added support for automatic subdivision of the destination graph - * Fixed warnings. +Mon, 12 Jan 2004 14:22:18 +0000 +Checked in by : Robert Osfield +Introduce new Matrix::invert() implementation from Ravi Mathur, with tweaks by Robert Osfield. -2006-07-04 10:55 robert +Mon, 12 Jan 2004 14:21:26 +0000 +Checked in by : Robert Osfield +Fixed compile warning - * Warning fix. +Mon, 12 Jan 2004 13:53:04 +0000 +Checked in by : Robert Osfield +Changed of _firstTime intial values of 0 to DBL_MAX. -2006-07-04 10:52 robert +Sun, 11 Jan 2004 21:33:43 +0000 +Checked in by : Robert Osfield +Improvements from Pavel. - * Warning fix +Sat, 10 Jan 2004 21:29:15 +0000 +Checked in by : Robert Osfield +Added support for controlling the LODScale via '*' and '+' keys in osgProducer::Viewer. -2006-07-04 09:46 robert +Sat, 10 Jan 2004 20:58:09 +0000 +Checked in by : Robert Osfield +Fixed consolodateRequireResolutions() methods - * fixed warning and add a few extra tests +Sat, 10 Jan 2004 17:13:20 +0000 +Checked in by : Robert Osfield +From Alberto Farre, added osgDB::SharedStateManager. Also a couple of ammendments by Robert Osfield, adding get/setSharedStateManager() methods into osgDB::Registry, and clean up fixes in SharedStateManager for the StateSet arrays. -2006-07-04 09:18 robert +Sat, 10 Jan 2004 09:10:44 +0000 +Checked in by : Robert Osfield +Did a to_unix on all the LWS files include GNUmakefile. - * From Roland Smeenk, Added missing initialization to zero of the - _carryOver value in - default and copy constructor. +Fri, 9 Jan 2004 20:33:23 +0000 +Checked in by : Robert Osfield +Standardised on using value_type in most methods in Matrixd & Matrixf interfaces and Matrix_implementation.cpp. -2006-07-04 09:13 robert +Fri, 9 Jan 2004 14:07:26 +0000 +Checked in by : Robert Osfield +From Romano Magacho, add group->setName() to flattening of static transforms - * From Ulrich Hertlein, updates to DirectX loader +Fri, 9 Jan 2004 13:35:55 +0000 +Checked in by : Robert Osfield +Fixed to TXP plugin from Nick. -2006-07-03 20:28 robert +Thu, 8 Jan 2004 21:39:14 +0000 +Checked in by : Robert Osfield +Fixes from Geoff. - * From Brede Johansen, set the default value of texture wrap mode - to REPEAT to fix problem - with database without .attr files. +Thu, 8 Jan 2004 21:04:42 +0000 +Checked in by : Robert Osfield +Made the default settings of Quat 0,0,0,1 to represent a zero rotation. -2006-07-03 16:31 robert +Wed, 7 Jan 2004 20:58:07 +0000 +Checked in by : Robert Osfield +Moved the default light to be from the sky. - * Fixed a couple of warnings. +Wed, 7 Jan 2004 19:57:16 +0000 +Checked in by : Robert Osfield +Fixed TXPPagedLOD.h/.cpp typos. -2006-07-03 16:21 robert +Wed, 7 Jan 2004 14:14:38 +0000 +Checked in by : Robert Osfield +Fixed tabs to be four spaces. - * Fixed orientation and lighting of model. +Wed, 7 Jan 2004 14:10:47 +0000 +Checked in by : Robert Osfield +From Nick, updates to TXP plugin to handle differences in LOD levels between adjacent tiles. -2006-07-03 15:21 robert +Wed, 7 Jan 2004 12:38:55 +0000 +Checked in by : Robert Osfield +Added osgsimplepager example program - * Removed template methods that were break VS6.0 build. +Wed, 7 Jan 2004 12:38:36 +0000 +Checked in by : Robert Osfield +Removed redundent DatabasePager pointer. -2006-07-03 13:53 robert +Wed, 7 Jan 2004 12:37:44 +0000 +Checked in by : Robert Osfield +Added DatabasePager::setUseFrameBlock(bool) method - * Added a performace test section to osgunitests, currently just - does basic C/C++ tests. +Wed, 7 Jan 2004 08:43:38 +0000 +Checked in by : Robert Osfield +Removed eroneous CreateShadowedScene.cpp/.h from .dsp -2006-07-03 10:47 robert +Wed, 7 Jan 2004 08:39:33 +0000 +Checked in by : Robert Osfield +Moaved PagedLOD::PerRangeData implementaton into .cpp and add missing return *this to copy operator. - * Added merge geodes and geometries optimizer call +Wed, 7 Jan 2004 08:36:14 +0000 +Checked in by : Robert Osfield +Fixed ending of .dsp -2006-07-03 09:26 robert +Tue, 6 Jan 2004 21:18:36 +0000 +Checked in by : Robert Osfield +Simplified the API for using the DatabasePager, by providing a single DatabasePager::updateSceneGraph(..) method, and added a ref_ptr<> into osDB::Registry for managing a single DatabasePager in a centralised way. - * From Eric Sokolowski, "Added the ability to read and write images - directly in the ive plugin, - through the osgDB::readImageFile and osgDB::writeImageFile - functions. - This is useful for storing compressed textures on disk for rapid - playback - for animations." +Tue, 6 Jan 2004 15:56:18 +0000 +Checked in by : Robert Osfield +Added osgdistortion examples .dsp -2006-07-03 09:22 robert +Tue, 6 Jan 2004 14:37:25 +0000 +Checked in by : Robert Osfield +Fixed comments - * From Michael Platings, added support for blend seperates to .ive - and .osg +Tue, 6 Jan 2004 14:09:12 +0000 +Checked in by : Robert Osfield +Added code to the DatagbasePager::removeExpiredSubgraphs() that update the osgDB::Registry cache. -2006-06-30 13:50 robert +Tue, 6 Jan 2004 12:27:20 +0000 +Checked in by : Robert Osfield +Merged changes from Cobin Holtz for support of "noUnitsConversion" via the ReaderWriter::Options string. - * Updated wrappers. +Tue, 6 Jan 2004 08:38:17 +0000 +Checked in by : Robert Osfield +From Nick, increased info.radius by x 1.3 to avoid culling -2006-06-30 13:50 robert +Mon, 5 Jan 2004 20:51:30 +0000 +Checked in by : Robert Osfield +Added code to scale the priority by the offset and scale. - * From Michael Platings, added support for glBlendFuncSeperate. +Mon, 5 Jan 2004 20:45:28 +0000 +Checked in by : Robert Osfield +Added support for priority offset and scale into PagedLOD. -2006-06-30 13:47 robert +Mon, 5 Jan 2004 19:04:25 +0000 +Checked in by : Robert Osfield +#if 0'd out code for switch off seam generation. - * From Eric Sokolowsky, made a couple of methods static. +Mon, 5 Jan 2004 15:40:44 +0000 +Checked in by : Robert Osfield +Compile fixes for Win32 -2006-06-29 19:38 robert +Mon, 5 Jan 2004 15:34:41 +0000 +Checked in by : Robert Osfield +Fixed .dsp - * From David Callu, compile fix for gcc 4.1 +Mon, 5 Jan 2004 14:17:01 +0000 +Checked in by : Robert Osfield +Renamed osgshadowtexture.dsp to osgdepthshadow.dsp -2006-06-29 15:57 robert +Mon, 5 Jan 2004 13:40:36 +0000 +Checked in by : Robert Osfield +Added support into osgProducer::Viewer for flushing and compiling GL objects via a Producer post swap callback. - * Added support for RenderBin's have a local top level StateSet. - This is now - used by default in the depth sorted bin. +Mon, 5 Jan 2004 09:34:28 +0000 +Checked in by : Robert Osfield +From Pavel Moloshtan, osgdepthshadow example -2006-06-29 11:57 robert +Sun, 4 Jan 2004 22:28:37 +0000 +Checked in by : Robert Osfield +Experiments at fixing seam handling. - * Updated wrappers +Sun, 4 Jan 2004 12:37:18 +0000 +Checked in by : Robert Osfield +Fixed osgFX::Validator::compare(..) so that it checked for the correct StateAttribute type before comparing member variables.Fixed docs typo in Material -2006-06-29 11:00 robert - * Updated wrappers. -2006-06-29 10:19 robert +Sat, 3 Jan 2004 22:52:51 +0000 +Checked in by : Don BURNS +Oops. Fixed glaring memory leak in main loop of osgsimple - * Updated wrappers +Sat, 3 Jan 2004 20:32:27 +0000 +Checked in by : Robert Osfield +From Marco Jez, new Light Wave Scene loader -2006-06-29 10:17 robert +Sat, 3 Jan 2004 15:20:33 +0000 +Checked in by : Robert Osfield +From Marco Jez, updates to the LWO loader. - * Changed _WIN32 to _MSC_VER +Sat, 3 Jan 2004 09:06:52 +0000 +Checked in by : Robert Osfield +Updates to osgGL2 from Mike Weiblen -2006-06-29 10:06 robert +Fri, 2 Jan 2004 20:44:18 +0000 +Checked in by : Robert Osfield +Fixed getFogCoord methods - * From Eric Wing, updates to QuickTime plugin +Fri, 2 Jan 2004 17:30:05 +0000 +Checked in by : Robert Osfield +Updates to TXP plugin from Nick. -2006-06-29 09:34 robert +Fri, 2 Jan 2004 17:06:18 +0000 +Checked in by : Robert Osfield +Added "&& oitr->second.first->referenceCount()<=1" check to removeExpiredObjectsInCache so that it only expires objects in the cache that have no external reference. - * Form Brede Johansen, move from istrstream to istringstream. - From Robert Osfield, remapped Paul Martz's changes to Pools.h and - PaletteRecords.cpp w.r.t texturePatternIndex being a in16, and - converted a char* string to a std::string. +Fri, 2 Jan 2004 11:31:45 +0000 +Checked in by : Robert Osfield +Updates to the AUTHORS file from Rune. -2006-06-29 08:08 robert +Sat, 27 Dec 2003 22:17:41 +0000 +Checked in by : Robert Osfield +Added osgdistortion demo. - * Changed unsinged int to GLuint for OSX compile fix. +Sat, 27 Dec 2003 22:17:25 +0000 +Checked in by : Robert Osfield +From Geof Michel, addition of TESSELATE_GEOMETRY pass. -2006-06-28 20:38 robert +Sat, 27 Dec 2003 15:57:57 +0000 +Checked in by : Robert Osfield +Removed TXPIO.h - * Changed unsigned int to GLuint for OSX build. +Sat, 27 Dec 2003 13:46:33 +0000 +Checked in by : Robert Osfield +From Geoff Michel, added tesselate pass to Optimizer and added handling of per primitve color to osgUtil::Tesselator. -2006-06-28 14:36 robert +Sat, 27 Dec 2003 11:30:41 +0000 +Checked in by : Robert Osfield +From Rommano Silva, admendments to Texture::computeRequiredTextureDimensions so that it takes into account the current mip map settings. - * Change internal variables across to being GLuint. +Fri, 26 Dec 2003 16:45:06 +0000 +Checked in by : Robert Osfield +Fixed osgFX::Scribe so that is handled setting of colour and line width correctly, by setting up the Materiail and LineWidth attributes within the Scribe constructor. -2006-06-28 11:37 robert +Wed, 24 Dec 2003 19:28:39 +0000 +Checked in by : Robert Osfield +Fixes for VS6.0 - * From Eric Wing, updates to Xcode projects +Wed, 24 Dec 2003 17:20:13 +0000 +Checked in by : Robert Osfield +Removed redundent osgcameragroup -2006-06-28 11:27 robert +Wed, 24 Dec 2003 17:19:07 +0000 +Checked in by : Robert Osfield +Fixed typo of TileMap - now corrected to TileMapper - * From Eric Wing, updates to Xcode projects +Wed, 24 Dec 2003 00:14:45 +0000 +Checked in by : Robert Osfield +Fixed typos in error reporting -2006-06-28 10:22 robert +Wed, 24 Dec 2003 00:14:12 +0000 +Checked in by : Robert Osfield +Build fixes for VS6.0 - * Made the new OpenFlight plugin the default. +Wed, 24 Dec 2003 00:07:28 +0000 +Checked in by : Robert Osfield +Added osgphotoalbum project -2006-06-28 10:00 robert +Tue, 23 Dec 2003 23:55:06 +0000 +Checked in by : Robert Osfield +Added support for a photo archive. - * Added a setRadius into the screen space LOD. +Tue, 23 Dec 2003 13:02:13 +0000 +Checked in by : Robert Osfield +Updates from Nick.Added support for OSG_TXP_DEFAULT_MAX_ANISOTROPY to override the default make +anistropy in textures. -2006-06-28 07:17 robert - * From Martin Naylor, build fix for windows. -2006-06-28 07:14 robert +Tue, 23 Dec 2003 12:10:06 +0000 +Checked in by : Robert Osfield +removed osg:: - * Removed old #include entries. +Tue, 23 Dec 2003 09:18:29 +0000 +Checked in by : Robert Osfield +Removed osg:: from NodeVisitor and Group base class calls -2006-06-27 20:13 robert +Mon, 22 Dec 2003 21:05:10 +0000 +Checked in by : Robert Osfield +Added beginings of PhotoArchive for storing and loading a set of photos from an archive. - * Added setting of the CameraConfig:TheradModelDirective +Mon, 22 Dec 2003 14:48:14 +0000 +Checked in by : Robert Osfield +Added max texture anisotropy of 4. -2006-06-27 13:09 robert +Mon, 22 Dec 2003 14:05:04 +0000 +Checked in by : Robert Osfield +Updates from Nick. - * From Eric Wing, added support for outline/shadow and colour - gradient effects. +Mon, 22 Dec 2003 07:26:45 +0000 +Checked in by : Robert Osfield +Moved TileMapper code out into its own file and made it a signleton -2006-06-27 12:08 robert +Mon, 22 Dec 2003 06:27:17 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov, port of TXP plugin across to a pure PagedLOD based pager, with a little assistance from Robert Osfield. - * From Stephan Huber, remove Platform specific handling of - multi-sample setup as its - now supported within Producer in a generic way. From Robert - Osfield fix to the parameter ordering +Sun, 21 Dec 2003 23:02:32 +0000 +Checked in by : Robert Osfield +Fixed memory leak and utilised DrawArrayLengths in place of multiple DrawArray calls. -2006-06-27 12:05 robert +Sun, 21 Dec 2003 13:11:36 +0000 +Checked in by : Robert Osfield +Added extra clampProjectionMatrix methods to handle both Matrixd and Matrixf pathways. - * From Eric Wing, added support for outline/shadow and colour - gradient effects. +Sat, 20 Dec 2003 23:25:05 +0000 +Checked in by : Robert Osfield +Fixed PagedLOD's handling of distances beyond the furthest range. -2006-06-27 10:07 robert +Sat, 20 Dec 2003 14:25:18 +0000 +Checked in by : Robert Osfield +Added support for placing pictures of backs and fronts of pages. - * From Terrex and Andrew Sampsom and Don Tidrow and Robert Osfield, - - email comments from Andew Sampson, - - "I've contacted Terrex, and obtained the 2.2 version - of their trpage library. The library included a - fork of OSG 0.9.8's txp plugin, modified to load 2.1+ - txp DBs. - - I've done the work of incorporating the changes made - to OSG's txp plugin since 0.9.8 into Terrex's fork. - The forked version is now up-to-date with the changes - made to OSG 0.9.9 and 1.0. - - Terrex made a lot of changes (especially differences - in whitespace), so the diff between the forked version - - and OSG 1.0's txp plugin is yucky. I did my best, but - - keep in mind that this is the result of a 4-way merge - (kinda... terrex-0.9.8, stock-0.9.8, stock-0.9.9, - stock-1.0). - - I really want to see this forked version merged back - into the main OSG branch. The new features offered by - - this version of the plugin (2.1+ support, variable - LOD support, bug fixes) are worth the trouble." - - -- - - Don Tidrow then took this code and added his work. - - -- - - Robert Osfield then fixed all the warnings that abound in the - trpage code base. +Sat, 20 Dec 2003 14:23:04 +0000 +Checked in by : Robert Osfield +Added support for REVERESED_XY_PLANE, REVERESED_XZ_PLANE and REVERESED_YZ_PLANE's for the axis alignement to allow the text to be reversed. -2006-06-26 20:45 robert +Sat, 20 Dec 2003 14:20:48 +0000 +Checked in by : Robert Osfield +*** empty log message *** - * Replaced ref_ptr<>:take with ref_ptr<>:release, and added - handling of removeal - of ref_ptr<> operator >. +Sat, 20 Dec 2003 14:19:09 +0000 +Checked in by : Robert Osfield +Added Mode parameter to constructor. -2006-06-26 20:43 robert +Fri, 19 Dec 2003 23:14:54 +0000 +Checked in by : Robert Osfield +Added support for reading and writing UserData from objects. - * Added DeleteHandler flush call. +Fri, 19 Dec 2003 22:55:35 +0000 +Checked in by : Robert Osfield +Added support for tagging the required resolutions from the source data. -2006-06-26 20:41 robert +Fri, 19 Dec 2003 22:34:18 +0000 +Checked in by : Robert Osfield +Added swap bytes methods. - * From Tyge Løvset, ref_ptr<> template constructor, operators and - associated functions. - - From Robert Osfield, tweaks and fixes to the above, also removed - the deprecated take() method. +Fri, 19 Dec 2003 22:21:57 +0000 +Checked in by : Robert Osfield +From Corbin Holtz, support for endian testing and bytes swapping. With mods from Robert to use include/osg/Endian -2006-06-26 20:35 robert +Fri, 19 Dec 2003 10:52:17 +0000 +Checked in by : Robert Osfield +Added _ARB to GL_COMPARE_R_TO_TEXTURE - * Added a functional DeleteHandler. +Thu, 18 Dec 2003 20:53:23 +0000 +Checked in by : Robert Osfield +Changed inline docs for readPixels to say "read pixels from current frame buffer" -2006-06-26 15:18 robert +Thu, 18 Dec 2003 16:15:58 +0000 +Checked in by : Robert Osfield +Added definition of GL_DEPTH_TEXTURE_MODE_ARB - * Fixed crash on osgconv --compressed cow.osg cow.ive +Thu, 18 Dec 2003 12:20:38 +0000 +Checked in by : Robert Osfield +Changed the ArrayData constructor to use copyop for copying arrays, instead of by default doing cloning. -2006-06-26 10:57 robert +Thu, 18 Dec 2003 10:57:57 +0000 +Checked in by : Robert Osfield +Fixed s/getCreateBackFace(bool on) methds so that use used the correct variable. - * Changed GLunit usage to unsigned int. +Thu, 18 Dec 2003 09:56:48 +0000 +Checked in by : Robert Osfield +Fixed typo in comments. -2006-06-26 10:39 robert +Wed, 17 Dec 2003 23:19:11 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, build fixes for OSX. - * From Andreas Ekstrand, fix for Windows +Wed, 17 Dec 2003 19:26:16 +0000 +Checked in by : Robert Osfield +From Pavel Moloshtan, added GL_ARB_shadow_support to osg::Texture. -2006-06-26 09:56 robert +Wed, 17 Dec 2003 17:05:20 +0000 +Checked in by : Robert Osfield +From Pavel Molishtan, Fixed comparision of _t plane. - * From Leandro Motta Barros, documentation additions to - PrimitiveSet & TriangleFunctor. +Wed, 17 Dec 2003 17:02:23 +0000 +Checked in by : Robert Osfield +Added support for tracing the resolutions that are required by the destination data. -2006-06-26 09:30 robert +Wed, 17 Dec 2003 10:05:29 +0000 +Checked in by : Robert Osfield +From Jeremy Bell, made SHARED = -dynamic for OSX. - * From Philipp Siemoleit, - - There are some group codes (i.e. "62") which are interpreted as - dxfDataType::SHORT. That's right because the dxf-specification - defines - "16 bit integer" as the type for the corresponding value. - But readerBase::readGroup() calls readValue(std::ifstream&, - unsigned - short). I changed readValue(std::ifstream&, unsigned short) to - readValue(std::ifstream&, short). I found no group code at the - dxf-specs - which needs a "16 bit unsigned integer" value. So the - readValue(std::ifstream&, unsigned short) function is obsolete - - right? +Wed, 17 Dec 2003 10:04:01 +0000 +Checked in by : Robert Osfield +Added VS projects for osgkeyboardmouse and osgsimple examples. -2006-06-26 09:18 robert +Wed, 17 Dec 2003 00:58:36 +0000 +Checked in by : Robert Osfield +Added -losgGL2 to link line. - * From David Fries, Reset only the RenderLeaf objects used in the - last - frame as given by the _currentReuseRenderLeafIndex instead of - resetting all leaves which can be very time consuming. +Tue, 16 Dec 2003 23:43:37 +0000 +Checked in by : Robert Osfield +From Marco Jez, fixes to osgFX so that effects are compiled correctly.Fixed title name of osgkeyboardmouse example. -2006-06-26 09:09 robert - * From Martin Naylor, added osgGA dependency to osgkeyboardmouse -2006-06-16 09:28 robert +Tue, 16 Dec 2003 19:21:45 +0000 +Checked in by : Robert Osfield +Added osgUtil dependancy to lib3ds plugin - * Fixed typo. +Tue, 16 Dec 2003 08:56:49 +0000 +Checked in by : Robert Osfield +Put the ordering of the callbacks so that the update callback is first, then cull then draw. Added missing copy of update callback into copy constructor. -2006-06-12 14:04 robert +Mon, 15 Dec 2003 23:23:45 +0000 +Checked in by : Robert Osfield +Added support for updating the SceneView projection matrix from the values of near and far computed during the cull traversal. - * Added pick handler. +Mon, 15 Dec 2003 23:22:35 +0000 +Checked in by : Robert Osfield +Changed the default wrap modes from REPEAT to CLAMP since CLAMP is the OpenGL default value. -2006-06-12 11:32 robert +Mon, 15 Dec 2003 16:46:06 +0000 +Checked in by : Robert Osfield +Added two news examples, osgsimple just loads a model and then renders it in a single window. osgkeyboardmouse adds to osgsimple support for keyboard mouse and picking interactions. - * Revamped osgkeyboardmouse to use the osgGA. +Mon, 15 Dec 2003 16:40:26 +0000 +Checked in by : Robert Osfield +Added gemetry of photo album and page turning animation. -2006-06-12 09:57 robert +Mon, 15 Dec 2003 08:54:38 +0000 +Checked in by : Robert Osfield +Added test against MultiSwitch in Optimizer to prevent switch children being removed. - * From Mathew May, FreeBSD build fixes. +Sat, 13 Dec 2003 22:15:47 +0000 +Checked in by : Robert Osfield +Fixed paramter name from being fileName to file. -2006-06-08 15:27 robert +Sat, 13 Dec 2003 22:07:55 +0000 +Checked in by : Robert Osfield +From Jeremy Bell, add -losgText to fix OSX compile. - * Martin Spindler, new osg::ClampColor state attribute. +Sat, 13 Dec 2003 16:41:46 +0000 +Checked in by : Robert Osfield +Added TriStripVisitor usage. -2006-06-08 14:32 robert +Sat, 13 Dec 2003 16:36:29 +0000 +Checked in by : Robert Osfield +From Michael Gronager, with updates from Robert Osfield, to add support for Registry::closeAllLibrary and forced Registry destruction via Registry::instance(true). - * From Paul Martz, added support to textured light points into - osgSim and OpenFlight loader, as part of the OpenFlight v16.0 - spec. +Sat, 13 Dec 2003 15:33:48 +0000 +Checked in by : Robert Osfield +From Eric Sokolosky, fixed broken handling of palatted textures. -2006-06-08 13:34 robert +Fri, 12 Dec 2003 20:33:36 +0000 +Checked in by : Robert Osfield +Fixed typo of s/getUpdateVisitor(). - * From Matt Green, fix to handling of centering of multi-line text - entries. +Fri, 12 Dec 2003 17:23:03 +0000 +Checked in by : Robert Osfield +Fixed flatten static transform -2006-06-08 12:09 robert +Fri, 12 Dec 2003 16:34:46 +0000 +Checked in by : Robert Osfield +Removed comments, and move the tri stipper slightly later in the code to apply it on all geometries. - * From Paul Martz, clean up of comments. +Fri, 12 Dec 2003 15:22:39 +0000 +Checked in by : Robert Osfield +Updates from Geof Michel. -2006-06-08 12:07 robert +Fri, 12 Dec 2003 13:53:04 +0000 +Checked in by : Robert Osfield +Made progress reports use osg::notify(osg::INFO) instread of std::cout - * From Mike Weiblen, reverted shaders changes due to lack of - hardware/driver support +Fri, 12 Dec 2003 13:24:23 +0000 +Checked in by : Robert Osfield +Fixed merging of geometry code. -2006-06-08 11:58 robert +Thu, 11 Dec 2003 23:33:27 +0000 +Checked in by : Robert Osfield +Renamed PermissableOptions to setPermissableOptimizations. - * From Gustavo Wagner, addition of trim method to TemplateArray - class. - - From Robert Osfield, made trim method a virtual method of the - base Array class - and added a trim implementation to TemplateIndexArray. +Thu, 11 Dec 2003 23:26:22 +0000 +Checked in by : Robert Osfield +Added support for controlling what optimization operations can be applied to specific nodes in the scene graph. Typical use would be tagging a node so that it can't be optimized away in say a flatten static transform pass. Added methods to Optimizer are: inline void setPermissableOptionsForObject(const osg::Object* object, unsigned int options) + { + _permissableOptionsMap[object] = options; + } -2006-06-08 11:56 robert + inline unsigned int getPermissableOptionsForObject(const osg::Object* object) const + { + PermissableOptionsMap::const_iterator itr = _permissableOptionsMap.find(object); + if (itr!=_permissableOptionsMap.end()) return itr->second; + else return 0xffffffff; + } - * From Paul Martz, fixed incorrect filename in project file + inline bool isOperationPermissableForObject(const osg::Object* object,unsigned int option) const + { + return (option & getPermissableOptionsForObject(object))!=0; + } -2006-06-08 11:39 robert - * With direction from Paul Melis, fixed bug in - CopySharedSubgraphsVisitor which prevented - it being applied. Also fix inappropriate comment. -2006-06-08 11:22 robert +Thu, 11 Dec 2003 16:46:45 +0000 +Checked in by : Robert Osfield +Added _maximumNumberOfActiveOccluders variable to CollectOccludersVisitor(), to limit the maximum number of occluders used in the cull traversal, default is now 10.Added set/getCollectOccluderVisitor() method into SceneView to allow control +of the the settings of the CollectOccluderVisitor. - * From Joan Abadie: patch fixes : "osgDB::makeDirectory doesn't - work on win32 when using full path name like : "d:/demo" - it tryes a mkdir("d:")." -2006-06-08 11:19 robert - * Added setting of default colour. +Wed, 10 Dec 2003 16:50:26 +0000 +Checked in by : Robert Osfield +Added environmental variable for setting the height of the drive manipulator. -2006-06-08 11:18 robert +Wed, 10 Dec 2003 15:24:14 +0000 +Checked in by : Robert Osfield +Added a special AvailablerReaderWriterIterator class to handle the task of iterating through the list of available reader writer, whilst handling cases where the list itself changes size during iteration through the list. Previous size changes during iteration was cause invalid iterators, which in turn was causing a crash. - * added SphereSegment test code segment, commented out at pressent. +Wed, 10 Dec 2003 15:22:05 +0000 +Checked in by : Robert Osfield +Added proper handling of unhandled file return type. -2006-06-05 16:25 robert +Wed, 10 Dec 2003 11:40:58 +0000 +Checked in by : Robert Osfield +Improved the management of errors reported from ReaderWriters, and cleaned up the reporting of errors in DynamicLibrary. - * Added missing clip against maximum azimuth. +Wed, 10 Dec 2003 10:49:16 +0000 +Checked in by : Robert Osfield +Added support for using DrawArrays when indices are in ascending order, and increment 1 at a time. -2006-06-05 16:25 robert +Tue, 9 Dec 2003 22:29:56 +0000 +Checked in by : Robert Osfield +Improvements to the TriStripVisitor such that it now groups 4 point tri strips together as quads. - * Added extra SphereSegment intersection tests. +Tue, 9 Dec 2003 14:07:44 +0000 +Checked in by : Robert Osfield +Removed osg::Transform::ComputeTransformCallback from osg::Transform.Updated various dependant files to reimplemt callbacks as Transform subclasses. -2006-06-05 16:06 robert - * Improved stats sizing in presense of wide screens. -2006-05-29 09:08 robert +Tue, 9 Dec 2003 14:06:48 +0000 +Checked in by : Robert Osfield +Added support for new PagedLOD Radius and NumChildrenThatCannorBeExpired variables to .osg and .ive support. - * Reverted changes from revision 1.4, as they look like a temporary - hack not intended - to be merged. +Tue, 9 Dec 2003 12:11:21 +0000 +Checked in by : Robert Osfield +Added new example osgphotoalbum. -2006-05-26 15:19 robert +Tue, 9 Dec 2003 12:09:36 +0000 +Checked in by : Robert Osfield +Reverted back to non exception based JPEG plugin. - * From Jason Baverage, support for interpolating DEM data from GDAL - to the positions - required for the current tile. +Tue, 9 Dec 2003 12:08:27 +0000 +Checked in by : Robert Osfield +Addition of the following methods: /** Set the object-space reference radius of the volume enclosed by the PagedLOD. + * Used to detmine the bounding sphere of the PagedLOD in the absense of any children.*/ + inline void setRadius(float radius) { _radius = radius; } -2006-05-23 19:03 robert + /** Get the object-space radius of the volume enclosed by the PagedLOD.*/ + inline float getRadius() const { return _radius; } - * Ran dos2unix of files -2006-05-22 19:30 robert + /** Set the number of children that the PagedLOD must keep around, even if thay are older than their expiry time.*/ + inline void setNumChildrenThatCannotBeExpired(unsigned int num) { _numChildrenThatCannotBeExpired = num; } - * Cleaned up the OpenGL error reporting. + /** Get the number of children that the PagedLOD must keep around, even if thay are older than their expiry time.*/ + unsigned int getNumChildrenThatCannotBeExpired() const { return _numChildrenThatCannotBeExpired; } -2006-05-16 21:32 robert - * Updated wrappers. -2006-05-16 21:20 robert +Tue, 9 Dec 2003 12:07:41 +0000 +Checked in by : Robert Osfield +Added get() method to ReaderWriterProxy class to allow the readerwriter to be obtained once its constructed. - * Minor tweaks of ints to unsigned ints +Tue, 9 Dec 2003 12:05:50 +0000 +Checked in by : Robert Osfield +Addition of Mode mode=MODULATE constructor. -2006-05-16 21:00 robert +Tue, 9 Dec 2003 12:04:14 +0000 +Checked in by : Robert Osfield +Fixes for optional compile of GL_LUMINANCE_ALPHA and GL_ALPHA texture usage in fonts. Default to GL_ALPHA. - * From Mike Weiblen, futher work on Uniform array support. +Tue, 9 Dec 2003 11:31:33 +0000 +Checked in by : Robert Osfield +Moved osgText across to create GL_ALPHA textures instead of GL_LUMINANCE_ALPHA -2006-05-16 21:00 robert +Tue, 9 Dec 2003 11:20:44 +0000 +Checked in by : Robert Osfield +From Pavel Moloshtan, extension support for ARB_occlusion_querry - * From Mike Weiblen, support for new Uniform arrays. - From Robert Osfield, refactor of above with original code to - ensure backwards compatibility. +Tue, 9 Dec 2003 11:19:52 +0000 +Checked in by : Robert Osfield +From Mike Wieblen, tweak to GL2 shader -2006-05-16 10:21 robert +Tue, 9 Dec 2003 10:42:30 +0000 +Checked in by : Robert Osfield +From Tree, tweaks to the coord generation to improve text alignment. - * Compile fixes for OSX +Tue, 9 Dec 2003 10:38:59 +0000 +Checked in by : Robert Osfield +From Johan Nouvel, support for AnimationPathCallback values in .osg file. Includes a small modication to ensure that code works shared animation paths, by RO. -2006-05-15 15:46 robert +Tue, 9 Dec 2003 09:25:53 +0000 +Checked in by : Robert Osfield +From Eric Sokolosky, OSX uses DYLD_LIBRARY_PATH for initial library search path instead of LD_LIBRARY_PATH. - * From Mike Weiblen, support GLSL uniform arrays. A couple of - tweaks and fixes from Robert Osfield. +Tue, 9 Dec 2003 09:03:14 +0000 +Checked in by : Robert Osfield +Aded FileUtils include. -2006-05-15 13:22 robert +Mon, 8 Dec 2003 19:25:08 +0000 +Checked in by : Robert Osfield +Added commented out lines for setting orange blue anaglyphic stereo. The analgyphic block really needs to have the color mask set up optionally, this is something to configure in the future. - * From Paul Martz, "This change is based on current CVS. (Note both - Brede and I have submitted - changes to this plugin that aren't in current CVS yet -- this - change is - based on current CVS, not our changed files.) - - This changes how shader palette records are parsed to support - GLSL per the - OpenFlight 16.1 spec. Existing functionality for 16.0 files is - preserved. - - The change to Document.h simply adds an enum for VERSION_16_1." +Mon, 8 Dec 2003 11:24:43 +0000 +Checked in by : Robert Osfield +Moved the responsibility for finding file to load on to the ReaderWriter plugins, instead of osgDB::Registry where it original lay. This has been done to allow fileName strings to be encode data rather than just file names, such as one requires when using PagedLOD along with plugins for doing dynamic tesselation. -2006-05-15 13:13 robert +Sun, 7 Dec 2003 20:58:46 +0000 +Checked in by : Robert Osfield +Added check against null being passed into std::string constructor. - * Replaced BoundingBox with GeospatialExtents. +Fri, 5 Dec 2003 22:42:02 +0000 +Checked in by : Robert Osfield +Changed the minium tri strip length to 2 rather than 0. -2006-05-15 13:12 robert +Fri, 5 Dec 2003 14:39:32 +0000 +Checked in by : Robert Osfield +Added code for combining adjacent static MatrixTransforms - * From Jason Baverage, A - - dded GeospatialExtents bounding box class which used doubles - in place of the original usage of osg::BoundingBox. - - Added path for computing interpolation elevation data being read - from GDAL. +Fri, 5 Dec 2003 14:39:09 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build. -2006-05-15 11:56 robert +Fri, 5 Dec 2003 13:58:27 +0000 +Checked in by : Robert Osfield +Fixes for Windows build. - * From Eric Wing, removed trailing commans from enum lists. +Fri, 5 Dec 2003 13:26:47 +0000 +Checked in by : Robert Osfield +Removed DOFTransform. -2006-05-15 11:53 robert +Fri, 5 Dec 2003 09:22:03 +0000 +Checked in by : Robert Osfield +Added a cast (Array*) to get round VS.NET compiler error. - * From Eric Wing, compile fix for OSX. +Thu, 4 Dec 2003 17:14:06 +0000 +Checked in by : Robert Osfield +Added support for expanding index'd attributes from within osgUtil:TriStripVisitor. -2006-05-15 11:48 robert +Thu, 4 Dec 2003 09:43:34 +0000 +Checked in by : Robert Osfield +Added optional TraversalMask paramter to computeIntersections() methods. - * From Daniel Trastenjak, added checking of binding modes to ensure - that changes are only applied - when the binding mode changes, thereby avoiding uncessary calls - to dirtyDisplayList. - - Note, from Robert Osfield, moved bodies of set*Binding() into - Geometry.cpp to avoid - clutter in the header. +Wed, 3 Dec 2003 21:45:32 +0000 +Checked in by : Robert Osfield +Implemented duplicate removal code into TriStripVisitor and added an extra pass to doing tri stripping in the osgUtil::Optimzer.Added validity checks into osg::TexEnvCombine to catch eronous enumarant values. -2006-05-15 11:38 robert +Improved the efficient of CullingSet's handling of new transforms. - * From Adrian Egli, added std::ifstream::binary qualifier to - ifstream usage. +Added a copy shared subgraphs and subdivision code into osgUtil::Optimizer. -2006-05-15 11:27 robert - * From Paul Martz, "add support for the v16.0 "Add" texture - environment and "mirrored repeat" wrap mode." -2006-05-15 11:22 robert +Wed, 3 Dec 2003 21:28:42 +0000 +Checked in by : Robert Osfield +Made removedExpiredChildren() virtual. - * Changed instances of setCoord(const Vec3) to setCoord(const - Vec3&) style. +Tue, 2 Dec 2003 21:38:52 +0000 +Checked in by : Robert Osfield +Suggestion from Tree, changed tex coord scaling against textureWidth/Height rather than textureWidth-1 etc. -2006-05-15 11:18 robert +Tue, 2 Dec 2003 21:38:01 +0000 +Checked in by : Robert Osfield +From Rune, Added catch for erroneous size specification in .dds file. - * From Brede Johansen, - "- Replaced some member attributes with local variables in Face - record. - - Multitexture support in Vertex class. - - Renamed VertexList to VertexListRecord (VertexList is now a - Vertex array) - - new Mesh (with reserved field at offset 12, thanks to Paul - Martz) - - new LocalVertexPool - - new MeshPrimitive - - Use ProxyNode for externals. - - Local cache for externals" +Mon, 1 Dec 2003 14:31:56 +0000 +Checked in by : Robert Osfield +From Pavel Moloshton, addition of AlphaFunc support to .ive. -2006-05-15 09:55 robert +Mon, 1 Dec 2003 10:28:23 +0000 +Checked in by : Robert Osfield +Added a spatializer into osgUtil to create a balanced quad/oct tree. - * Added VisualStudio project for Quake3 BSP plugin +Fri, 28 Nov 2003 22:39:15 +0000 +Checked in by : Robert Osfield +From Ruben,>Fixed: The iv loader that uses Inventor library has a little bug, if used with +>osgconv, it doesn't write the images to the converted file because it's +>not setting the osg::Image->setFilename() -2006-05-15 09:46 robert - * From Carlos García and Paul Baker, Port of Paul Baker's Quake3 - BSP loader to OSG by Carlos García. - - Added Quake3 BSP plugin. -2006-05-09 09:47 robert +Fri, 28 Nov 2003 14:37:46 +0000 +Checked in by : Robert Osfield +From Geoff Michel, updates to GEO plugin. - * From Farshid Lashkari, "The drawInner() method of - osgUtil::RenderStage ignores the - checkForGLErrors flag of the osg::State object. The attatched - file - fixes this." +Fri, 28 Nov 2003 14:26:51 +0000 +Checked in by : Robert Osfield +Updates to osgdem. -2006-05-09 09:42 robert +Fri, 28 Nov 2003 13:41:10 +0000 +Checked in by : Robert Osfield +From Qing Shen, addition of computeIntsect methods which take a node pointer to intersect with rather than assume the viewer's scene pointer. - * From Tree, build fixes for JavaOSG build. +Thu, 27 Nov 2003 22:53:40 +0000 +Checked in by : Robert Osfield +From Rune Schmidt Jensen, support for osgSim::VisibilityGroup in the .ive loader and support for node masks. -2006-05-09 09:35 robert +Thu, 27 Nov 2003 22:06:11 +0000 +Checked in by : Robert Osfield +Standardised the tabbing so that 4 spaces are used instead of hardware tabs. - * From Farshid Lashari, round funciton. +Thu, 27 Nov 2003 16:23:07 +0000 +Checked in by : Robert Osfield +From Michael Gronager, osgSim::VisibilityGroup -2006-05-09 09:13 robert +Thu, 27 Nov 2003 15:13:55 +0000 +Checked in by : Robert Osfield +Updates to osgdem + BoundingBox to support graph iterators - * Removed redundent variable declaration. +Thu, 27 Nov 2003 13:31:16 +0000 +Checked in by : Robert Osfield +From Nikolaus Hanekamp, Fixes to lightpoint code -2006-05-09 09:12 robert +Thu, 27 Nov 2003 13:25:52 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov:> There are databases that contain both Matrix and GeneralMatrix records as +> ancillary records. If this happens, this fix will only use one matrix to +> create osg::TransformMatrix node. - * From Farshid Lashkari, "The setScale(Vec3) method of - osg::AutoTransform does not dirty the - matrix. The fix is attached." -2006-05-04 19:39 robert - * Updated wrappers +Wed, 26 Nov 2003 16:56:32 +0000 +Checked in by : Robert Osfield +Addition of light point. -2006-05-04 19:36 robert +Wed, 26 Nov 2003 16:43:28 +0000 +Checked in by : Robert Osfield +Warning fix from Romano - * Added removeChild(unsigned int, unsigned int) back in for - backward compatibility. +Wed, 26 Nov 2003 13:21:40 +0000 +Checked in by : Robert Osfield +Added a f after 2.0 definitions in atan2 to get round stupid MS errors. -2006-05-04 19:15 robert +Wed, 26 Nov 2003 11:33:30 +0000 +Checked in by : Robert Osfield +Removed DOFTransform. - * Fixed expire of children to work with the new - Group::removeChildren method. +Wed, 26 Nov 2003 11:01:12 +0000 +Checked in by : Robert Osfield +Changed SG_EXPORT to OSGSIM_EXPORT. -2006-05-02 15:52 robert +Wed, 26 Nov 2003 08:37:03 +0000 +Checked in by : Robert Osfield +Added missing DOFTransform and MultiSwitch implementations - * Added selective support for thread safe ref/unref such that the - rendering - backend now doesn't use thread safe ref counting where - multi-buffering exists. - This reduces the overhead of multi-threading. +Tue, 25 Nov 2003 19:43:19 +0000 +Checked in by : Robert Osfield +Checked in support for osgTerrain in Make/makedirdefs -2006-05-02 09:50 robert +Tue, 25 Nov 2003 19:42:35 +0000 +Checked in by : Robert Osfield +Early development work on osgTerrain. - * Updated wrappers. +Tue, 25 Nov 2003 19:25:59 +0000 +Checked in by : Robert Osfield +Disabled the build of osgTerrain, until its checked in. -2006-05-02 09:49 robert +Tue, 25 Nov 2003 19:25:42 +0000 +Checked in by : Robert Osfield +Added OSGSIM_EXPORT to scalarbar::printer - * Fixed docs on GL_SCALE_NORMAL +Tue, 25 Nov 2003 19:06:31 +0000 +Checked in by : Robert Osfield +Added missing DOFTransform.cpp -2006-05-02 09:45 robert +Tue, 25 Nov 2003 16:28:32 +0000 +Checked in by : Robert Osfield +Added suport for osgSim::MultiSwitch to .ive plugin - * Reorganised the Group::removeChild and Geode::removeDrawable - methods so - that removeChild(Node*), removeChild(uint) and equivilant Geode - methods are - now inline methods, not designed to be overriden, and seperated - out the - multiple remove method to be called removeChildren(uint, uint) - which is - now the only virtual method. There removeChildren is now the - method to - override in subclasses. - - This reorganisation requires some call code to be rename - removeChild usage - to removeChildren. +Tue, 25 Nov 2003 16:07:32 +0000 +Checked in by : Robert Osfield +Tweaked MultiSwitch IO -2006-05-02 09:18 robert +Tue, 25 Nov 2003 15:58:57 +0000 +Checked in by : Robert Osfield +Added osgSim::MultiSwitch and support for it in the OpenFlight and .osg plugins - * Fixed popping of state frustum. +Tue, 25 Nov 2003 14:38:16 +0000 +Checked in by : Robert Osfield +Added support for TexMat to .ive plugin -2006-05-01 16:20 robert +Tue, 25 Nov 2003 14:11:05 +0000 +Checked in by : Robert Osfield +Moved osg::DOFTransform to osgSim::DOFTransform.Fixed crash associated with .osg files which contain empty description fields. - * From Colin MacDonald, fixed handling of an adding a graphics - context after the creating of the osgText::Text. +From Sondra Inverson, added support to .ive plugin for osgSim::DOFTransform. -2006-05-01 16:13 robert - * Ran dos2unix. -2006-05-01 16:11 robert +Tue, 25 Nov 2003 11:40:10 +0000 +Checked in by : Robert Osfield +Work in progress on osgdem example and osgTerrain::DataSet class - * From Eric Wing, updated precompiled header list in new project - file template. +Tue, 25 Nov 2003 11:06:39 +0000 +Checked in by : Robert Osfield +Fixed type of unrecognized -2006-05-01 16:05 robert +Tue, 25 Nov 2003 11:05:22 +0000 +Checked in by : Robert Osfield +Moved the unrecognized options check to after loaded - * From Eric Wing, removed trailing semi colonds from namespace end - bracket. +Tue, 25 Nov 2003 10:57:50 +0000 +Checked in by : Robert Osfield +Tweaks for debugging output -2006-05-01 14:51 robert +Tue, 25 Nov 2003 10:56:42 +0000 +Checked in by : Robert Osfield +Added intersect method. - * From Mathew May, FreeBSD support for AMD64. +Tue, 25 Nov 2003 10:56:12 +0000 +Checked in by : Robert Osfield +Added read(string,float,float,float,float) method -2006-04-28 10:48 robert +Tue, 25 Nov 2003 10:55:37 +0000 +Checked in by : Robert Osfield +Reorganised posstion of getViewMatrix*() methods. - * Added catch for thread model w.r.t new PrecipitationEffect not - being - sensitive to threading issues. +Tue, 25 Nov 2003 10:53:57 +0000 +Checked in by : Robert Osfield +From Eric Hammil, support for compute the dimensions when the file specified size is zero. -2006-04-25 13:50 robert +Tue, 25 Nov 2003 10:52:13 +0000 +Checked in by : Robert Osfield +Changed error message to something more meaningful - * UPdated wrappers +Tue, 25 Nov 2003 10:50:57 +0000 +Checked in by : Robert Osfield +Increased the prevision of outputing the height field parameters -2006-04-25 12:56 robert +Tue, 25 Nov 2003 10:49:38 +0000 +Checked in by : Robert Osfield +Added support for case insenstive file searches. - * Added UseFarLineSegments option +Tue, 25 Nov 2003 10:47:13 +0000 +Checked in by : Robert Osfield +From Trajce Nicklov, support for GeneralMatrix record -2006-04-25 12:39 robert +Tue, 25 Nov 2003 10:32:23 +0000 +Checked in by : Robert Osfield +From Alberto Farre, added support for nesting of files. - * Implemented seemless update of precipitation properties. +Tue, 25 Nov 2003 10:20:21 +0000 +Checked in by : Robert Osfield +From Michael Morrison, added support for the OpenFlight BSPRecord, simply mapping it to a Group. -2006-04-25 09:00 robert +Tue, 25 Nov 2003 09:23:04 +0000 +Checked in by : Robert Osfield +Updated links to mailing list - * Reset the default number of graphics context to 1. +Tue, 25 Nov 2003 09:04:41 +0000 +Checked in by : Robert Osfield +Added support for case insenstive searches of the filepaths. -2006-04-24 21:48 robert +Mon, 24 Nov 2003 10:01:02 +0000 +Checked in by : Robert Osfield +Changed the shadow colour so that it is now controlled via the emissive light material rather than ambient, this allows it to bypass any of the osg::Light values and control the resulting shadow colour more directly. - * Moved LessFunctor into header. +Fri, 21 Nov 2003 20:21:41 +0000 +Checked in by : Robert Osfield +Removed the ScalarBar:: from the from of the ScalarPrinter::printScalar() calls. -2006-04-24 16:21 robert +Fri, 21 Nov 2003 19:33:09 +0000 +Checked in by : Robert Osfield +From John Tan, support for offset and scale tex coords via TexMat. - * Moved PrecipitationParameters directly into PrecipitationEffect. +Fri, 21 Nov 2003 16:30:59 +0000 +Checked in by : Robert Osfield +From Stephan Huber, clean up of QTexture.cpp's scaling code and additions of handling of different extensions in ReaderWriterQT.cpp -2006-04-24 11:24 robert +Fri, 21 Nov 2003 16:19:07 +0000 +Checked in by : Robert Osfield +Removed newline from top of header - * Added depth sorting of cells. +Fri, 21 Nov 2003 14:30:01 +0000 +Checked in by : Robert Osfield +From Stephan Huber, with mods by Robert to keep old code in place, change to replace scaling of texture since the OSG does this automatically when required. -2006-04-24 10:32 robert +Fri, 21 Nov 2003 14:17:26 +0000 +Checked in by : Robert Osfield +Changed the main to create a Group and then add the loaded scene and HUD scene into this. This has been done to rework code nearer to what Stephan Huber used to get round a crash under OSX when a model was passed in. This crash suggest a problem in dynamic_cast<> perhaps? - * Added near/far compute. +Fri, 21 Nov 2003 13:45:40 +0000 +Checked in by : Robert Osfield +From Romano J M Silva, changed osg::Texture2D::copyTexImage2D so that it uses the _internalFormat for the texture format to read rather than default to GL_RGBA.From Robert Osfield, changed the osg::Texture2D::copyTexImage2D and copyTexSubImage +code so that it set the _internalFormat to GL_RGBA if is is zero. -2006-04-24 09:35 robert - * Added osgParticle dependency to osgPrecipitation example. -2006-04-24 08:37 robert +Thu, 20 Nov 2003 12:03:51 +0000 +Checked in by : Robert Osfield +Added the missing insertChild(index,child) and insertChild(index,child,value) into osg::Switch. - * Added osgUtil to the osgParticle dependencies. +Thu, 20 Nov 2003 11:07:19 +0000 +Checked in by : Robert Osfield +Changed the freetype plugin so it keeps its own ref_ptr to fonts that it creates, rather than have osgText::Font::readFontFile() use the osgDB::Registry object cache.This has been done to prevent problems when users flush the object cache, +which was causing a dangling pointer. -2006-04-24 06:36 robert - * Added support for wind. -2006-04-22 15:08 robert +Wed, 19 Nov 2003 20:30:24 +0000 +Checked in by : Robert Osfield +Changed libgdal.lib to gdal.lib - * Moved PrecipitationEffect node into osgParticle. +Fri, 14 Nov 2003 13:39:34 +0000 +Checked in by : Robert Osfield +From Ruben, added support for nested update and cull callbacks. -2006-04-22 15:07 robert +Fri, 14 Nov 2003 09:25:17 +0000 +Checked in by : Robert Osfield +Changed the credit from NVidia's NvTriStrip to Tanguy Faure's traingulation code. - * Decreased notify level of debug message. +Thu, 13 Nov 2003 15:45:31 +0000 +Checked in by : Robert Osfield +From Tom Jolly, Fix to handling of triangle fans. -2006-04-22 06:33 robert +Wed, 12 Nov 2003 19:05:54 +0000 +Checked in by : Robert Osfield +Added usage of object cache + fixed handling of projection matrix. - * Moved PrecipitationDrawable into PrecipitationEffect. +Wed, 12 Nov 2003 15:03:05 +0000 +Checked in by : Robert Osfield +Fixed setting of OSG_SPLIT_STEREO_AUTO_ADJUST_ASPECT_RATIO value. -2006-04-21 19:39 robert +Wed, 12 Nov 2003 10:13:31 +0000 +Checked in by : Robert Osfield +Moved the getTime to inside the locked part of the add events. - * Added new precipitation nodes. +Tue, 11 Nov 2003 16:30:35 +0000 +Checked in by : Robert Osfield +From Tom Jolly, fixed incorrect setTexCoordIndices to setColorIndices.Added support for triangle fan primitives. -2006-04-21 17:16 don - * Fixed a cut-n-paste error in the ground intersects. -2006-04-19 19:00 robert +Tue, 11 Nov 2003 08:52:41 +0000 +Checked in by : Robert Osfield +From Dean Iversion, fix to the ReaderWriter::Options management in Pool.cpp - * Fixed mouse scroll mapping. +Fri, 7 Nov 2003 09:00:22 +0000 +Checked in by : Robert Osfield +Made getWidth and getHeight const. -2006-04-19 13:04 robert +Thu, 6 Nov 2003 22:06:44 +0000 +Checked in by : Robert Osfield +From Sondra Iverson: small optimization to ParticleSystem.cpp moving sqrtf out of inner loop. + fix of copy and past error changing erronous cullTimes to drawTimes. - * Convertered shaders across to using modelview matrix instead of - uniforms. -2006-04-17 19:10 robert - * Standardised the bin number of the particle effects +Thu, 6 Nov 2003 21:58:41 +0000 +Checked in by : Robert Osfield +Added Producer.lib into the dependancy list. -2006-04-17 13:25 robert +Thu, 6 Nov 2003 13:44:59 +0000 +Checked in by : Robert Osfield +From David Ergo, patch for setting the shininess strength of the specular material, - * Added setting of the FrameStamp on the RenderStage's local - GraphicsContext to - keep it in sync with the calling graphics context. +Thu, 6 Nov 2003 04:08:53 +0000 +Checked in by : Don BURNS +Fixed loading of dynamic libraries with dlopen if the library is in the current directory -2006-04-14 16:44 robert +Wed, 5 Nov 2003 10:24:51 +0000 +Checked in by : Robert Osfield +Added code to load the bluemarble.ive database instead of the texture mapped sphere for the earth model in the logo. - * Added inline shaders so that the tha example can be run from any - directory. +Wed, 5 Nov 2003 04:58:18 +0000 +Checked in by : Don BURNS +MIssing check for ptr == NULL at line 227 in Registry.cpp -2006-04-14 15:03 robert +Wed, 5 Nov 2003 04:56:08 +0000 +Checked in by : Don BURNS +Small bug in DynamicLibrary.cpp ptr was not being checked for NULL - * Further tweaks to settings to improve performance at mid - intensity ranges +Wed, 5 Nov 2003 04:51:10 +0000 +Checked in by : Don BURNS +Changed versioning for make rpms -2006-04-14 14:24 robert +Tue, 4 Nov 2003 22:00:16 +0000 +Checked in by : Robert Osfield +Added TextureObjectManager constructor. - * Refined the default settings for rain and snow to achieve better - framerates. +Tue, 4 Nov 2003 19:26:16 +0000 +Checked in by : Robert Osfield +Made all positioning transform DYNAMIC to avoid the osgUtil::Optimizer flattening them. Flattening of static transforms was affecting the PagedLOD nodes. -2006-04-14 11:04 robert +Tue, 4 Nov 2003 16:38:10 +0000 +Checked in by : Robert Osfield +Added support to slideshow3D for -s commandline option allow the size of the display to be specified.Also implementaited some code for display position and speed info in +osgProducer::Viewer, not fully implemented yet. - * Added fog parameters settings. -2006-04-14 08:28 robert - * From Ben Discoe, added missing drawable->dirtyDisplayList(). +Tue, 4 Nov 2003 15:07:42 +0000 +Checked in by : Robert Osfield +Changed the slide coordinates system so that the bottom left hand corner of the slide is 0,0,0 and the top right is 1,1,0, and the eye point is at the appex of a frustum at x,y,1. -2006-04-13 20:21 robert +Tue, 4 Nov 2003 13:40:24 +0000 +Checked in by : Robert Osfield +Added osgText::Text::getTextureGlyphQuadMap(). - * Added --numberOfParticles, --numberOfCellsX, --numberOfCellsY, - --numberOfCellsZ, --boundingBox, --fogEnd and --fogDensity - controls +Mon, 3 Nov 2003 23:26:17 +0000 +Checked in by : Robert Osfield +Fixed positioning of images. -2006-04-13 19:05 robert +Mon, 3 Nov 2003 23:22:58 +0000 +Checked in by : Robert Osfield +Fixed positioing of text. - * Added command line options and various speed improvements. +Mon, 3 Nov 2003 23:13:31 +0000 +Checked in by : Robert Osfield +Updated to slideshow3D to support animation + pausing of animation.Updated associated osg/osgUtil classes that provide animation pausing. -2006-04-12 11:59 robert - * Implement positioning of cells via vertex attribute. -2006-04-12 09:42 robert +Sun, 2 Nov 2003 20:10:04 +0000 +Checked in by : Robert Osfield +Merged fixes from Geof Michel. - * Moved common uniforms to top of precipitation subgraph. - - Added a run of the SpatializeGroupVisitor to create a balanced - subgraph. - - Changed the quad to particle transistion distance from 100 to - 50m. +Fri, 31 Oct 2003 10:11:38 +0000 +Checked in by : Robert Osfield +Renamed _mips to _mipMapKernel -2006-04-11 19:56 robert +Thu, 30 Oct 2003 16:22:21 +0000 +Checked in by : Robert Osfield +Added support for float to the slideshow3D .xml format to allow the time for autostepping between layers/slides.Moved the tiles accross to the left hands side by default. - * Added support for LOD's with transistion between quads and point - rendering. -2006-04-11 13:22 robert - * Added support for point sprite particle effects. +Thu, 30 Oct 2003 00:10:54 +0000 +Checked in by : Robert Osfield +Changed the wrap mode from CLAMP to CLAMP_TO_EDGE to avoid artifacts under OSX. -2006-04-11 10:53 robert +Wed, 29 Oct 2003 23:10:11 +0000 +Checked in by : Robert Osfield +Added support for 565 textures to osgbluemarble.Added a osg::Image::scaleImage() version which allows the datatype to be varied. - * Added point and line paths. -2006-04-11 08:44 robert - * Added setting of the - DisplaySettings::setMaxNumberOfGraphicsContext() to the - number of contexts required by Producer. +Wed, 29 Oct 2003 22:47:21 +0000 +Checked in by : Robert Osfield +Added option for 565 16bit textures. -2006-04-10 15:45 robert +Wed, 29 Oct 2003 19:22:19 +0000 +Checked in by : Robert Osfield +Added copying of reference to the main CullVisitor's DatabaseRequestHandler over to the left/right eye CullVisitor to ensure that the database works in stereo. - * From Martin Naylor, osgprecipitation project file. +Wed, 29 Oct 2003 16:45:17 +0000 +Checked in by : Robert Osfield +Commented out verbose debugging messages. -2006-04-07 19:54 robert +Wed, 29 Oct 2003 14:59:22 +0000 +Checked in by : Robert Osfield +Added -e -w -o and -l options to the osgbluemarble example. - * Added mipmap generation. +Wed, 29 Oct 2003 11:11:17 +0000 +Checked in by : Robert Osfield +Updates for osgdem. Including new read/writeHeightField() methods. -2006-04-07 18:24 robert +Wed, 29 Oct 2003 10:41:36 +0000 +Checked in by : Robert Osfield +Fixed PNG plugin so it handles endianess correctly, and alpha/grey scale textures. - * Added quad based rain effect +Mon, 27 Oct 2003 16:07:21 +0000 +Checked in by : Robert Osfield +*** empty log message *** -2006-04-06 14:06 robert +Mon, 27 Oct 2003 10:29:52 +0000 +Checked in by : Robert Osfield +Added a check into osg::Sequence::traverse() against an empty sequence, so that a non existant child is not traversed. - * From Brede Johansen, added MergeGeode visitor to - osgUtil::Optimizer. +Wed, 22 Oct 2003 13:39:16 +0000 +Checked in by : Robert Osfield +Fixed error when handling mulltiple non per vertex vertex attributes during rendering. -2006-04-05 15:13 robert +Mon, 20 Oct 2003 21:31:15 +0000 +Checked in by : Robert Osfield +Added ImageOptions to osgDB. - * Added beginings osgprecipitation example. +Mon, 20 Oct 2003 20:17:45 +0000 +Checked in by : Robert Osfield +Added Producer and OpenThreads to linkline. -2006-04-04 23:22 don +Mon, 20 Oct 2003 09:01:16 +0000 +Checked in by : Robert Osfield +Fixed print on scalar bar example. - * Fixed a bug in the DelaunayTriangulator uniquify points method. - Was always - skipping the first point. +Sun, 19 Oct 2003 11:46:34 +0000 +Checked in by : Robert Osfield +From Trajce Nikolov, support for use of PagedLOD in the txp plugin. -2006-04-04 14:10 robert +Fri, 17 Oct 2003 15:26:30 +0000 +Checked in by : Robert Osfield +Added support for generating compressed textures in osgbluemarble. - * Added missing .js file. +Fri, 17 Oct 2003 15:26:03 +0000 +Checked in by : Robert Osfield +Michael Gronager's changes for supporting the in memory gz archiving. -2006-04-04 13:47 robert +Fri, 17 Oct 2003 14:40:05 +0000 +Checked in by : Robert Osfield +From Marco Jez, Fix to the bumping mapping effect. - * From Joran Jessurun and Chris Hanson, Visual Studio Static build - support. +Fri, 17 Oct 2003 10:28:55 +0000 +Checked in by : Robert Osfield +Changed the warnings about unhandled op codes to NOTICE instead or WARN -2006-04-04 13:20 robert +Fri, 17 Oct 2003 10:27:18 +0000 +Checked in by : Robert Osfield +Set default values for datatype & pixelformat. - * Updated wrappers. +Fri, 17 Oct 2003 10:26:31 +0000 +Checked in by : Robert Osfield +Made = opeator const. -2006-04-04 12:58 robert +Fri, 17 Oct 2003 10:25:59 +0000 +Checked in by : Robert Osfield +Added SceneView::s/getDrawBufferValue(GLenum) to allow customization of what glDrawBuffer() value is set on each frame. - * Converted SceneHandlerList to use Producer::ref_ptr<> +Fri, 17 Oct 2003 10:24:22 +0000 +Checked in by : Robert Osfield +From Eric Hammil, fix for bmp image size. -2006-04-04 12:53 robert +Fri, 17 Oct 2003 10:23:24 +0000 +Checked in by : Robert Osfield +From Michael Gronenger, updates to JP2 plugin. - * From Eric Wing, XCode project files. +Fri, 17 Oct 2003 10:22:46 +0000 +Checked in by : Robert Osfield +Adding clamping of the tree textures. -2006-04-03 19:14 robert +Sun, 12 Oct 2003 15:20:09 +0000 +Checked in by : Robert Osfield +From Geoff Michel & Roger James,revised AC3D loader - accepted the improvement from Roger James for texture mapping, and developed his writer until it actually writes most geometries (no text or osgFX nodes of course). - * #if'd out use of barrier for stats collection. +Sun, 12 Oct 2003 14:51:54 +0000 +Checked in by : Robert Osfield +Moved Producer::Block temporarily into osgDB to ensure that osgDB isn't dependent on Producer. -2006-04-03 18:25 robert +Sun, 12 Oct 2003 12:13:58 +0000 +Checked in by : Robert Osfield +Improvements to the DatabasePager - * Temporary fix for hang in stats when multi-threaded. +Fri, 10 Oct 2003 19:25:14 +0000 +Checked in by : Robert Osfield +Improvements to DatabasePager -2006-03-31 01:37 don +Fri, 10 Oct 2003 12:56:35 +0000 +Checked in by : Robert Osfield +Added ClusterCullingCallback to ive. - * Don Tidrow's ifdef for MingW +Fri, 10 Oct 2003 12:54:21 +0000 +Checked in by : Robert Osfield +Udates to Drawable + IVE plugin with support for new ClusterCullingCallack.Improvement to osgbluemarble. -2006-03-30 10:20 robert - * Build fixes to cope with changes to Producer/osgProducer. -2006-03-29 23:32 don +Fri, 10 Oct 2003 11:12:37 +0000 +Checked in by : Robert Osfield +Fix for 64bit build. - * Updates to osgProducer to bring it up to speed with changes in - Producer +Fri, 10 Oct 2003 09:41:04 +0000 +Checked in by : Robert Osfield +Fixed the setting of the offset so that it convert degrees to radians.Added setting of FOV, however, it doesn't yet function, will need to look into Producer to work out why. -2006-03-28 16:08 robert - * From Mike Weiblen, changes to internal help class in prep for - array uniform support. - Small tweaks for build under Linux from Robert Osfield. -2006-03-28 14:45 robert +Thu, 9 Oct 2003 20:56:15 +0000 +Checked in by : Robert Osfield +Fix for 64bit build. - * From Glenn Waldrom, addition of .ive support for PriorityOffset - and PriorityScale. +Thu, 9 Oct 2003 20:50:21 +0000 +Checked in by : Robert Osfield +Fixed missing osg:: -2006-03-28 10:45 robert +Thu, 9 Oct 2003 14:55:56 +0000 +Checked in by : Robert Osfield +Added DrawElementsUByte to ive plugin. - * From Eric Sokolosky, added help for - PRODUCER_CAMERA_BLOCK_ON_VSYNC +Thu, 9 Oct 2003 10:44:15 +0000 +Checked in by : Robert Osfield +Converted the animation path file reading code to use std::ifstream rather than C style file so that it can handle configurable types better - fixing a bug associated with reading animation paths with the new osg::Quat defaulting to doubles. -2006-03-28 10:28 robert +Thu, 9 Oct 2003 09:48:36 +0000 +Checked in by : Robert Osfield +Added protection to the DatabasePager::requestNodeFile()'s call to startThread to ensure that only one startThread is every issued. - * From Mike Weiblen, added support for new OSG_IMAGE_FILE_NAME env - var for - setting the default name to use when writing out captured images - from the - viewer. +Wed, 8 Oct 2003 21:29:45 +0000 +Checked in by : Robert Osfield +Made the Drawable::*Callback derive from osg::Object so that they can be saved to .osg properly.Added osg::ClusterCullingCallback to Drawable header/source. Not complete yet, +but will enable drawables to culled is they are facing away from the eye point. -2006-03-27 20:30 robert - * Updated ChangeLog. -2006-03-18 07:07 robert +Wed, 8 Oct 2003 14:24:13 +0000 +Checked in by : Robert Osfield +Added ImageOptions for use with the GDAL plugin - * From Farshid Lasharki, added IO suppoty fo - osgParticle::ConstantRateContour +Wed, 8 Oct 2003 14:08:28 +0000 +Checked in by : Robert Osfield +Added osgbluemarble data -2006-03-17 22:25 robert +Wed, 8 Oct 2003 13:09:23 +0000 +Checked in by : Robert Osfield +Added new GDAL plugin and osgbluemarble example to demonstrate how to create PagedLOD'd databases using GDAL. - * Updated wrappers. +Tue, 7 Oct 2003 18:41:38 +0000 +Checked in by : Robert Osfield +From Rune Schmidt Jensen, bug fix to reading of osg::Quat's -2006-03-17 22:23 robert +Mon, 6 Oct 2003 10:03:39 +0000 +Checked in by : Robert Osfield +Added -losgGL2 to link line for OSX. - * Added exports. +Mon, 6 Oct 2003 08:53:56 +0000 +Checked in by : Robert Osfield +Added -losgGL2 -2006-03-17 22:22 robert +Mon, 6 Oct 2003 08:01:12 +0000 +Checked in by : Robert Osfield +Commented out gdal temporarily from the list of plugins to compile. - * From Keith Steffen, changed instance of sun to sun_geode to avoid - Solaris10 build issue with it defining "sun"?#! +Sun, 5 Oct 2003 16:16:39 +0000 +Checked in by : Robert Osfield +Changed the texture search path mechanism to better utlise the OSG's search file path mechansim. -2006-03-17 14:05 robert +Sun, 5 Oct 2003 11:42:26 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, added support for OpenGL SL to osgFX::Cartoon. - * From Farshid Lashkari, Added ability to read/write the texture - tile - settings of osgParticle::Particle to .osg files. +Sun, 5 Oct 2003 11:34:25 +0000 +Checked in by : Robert Osfield +Added VS.dsp updates for Mike Weiblen's updates to osgGL2/osgshaders -2006-03-17 11:28 robert +Sun, 5 Oct 2003 11:30:54 +0000 +Checked in by : Robert Osfield +From Mike Weiblen, updates to osgGL2 to support Uniform values - * From Sohey Yamamoto, fixed eroneous CHECK_BLACK_LISTED_MODES enum - value, changing 0xA0 to 0x100 +Fri, 3 Oct 2003 16:29:34 +0000 +Checked in by : Robert Osfield +From Jason Ballenger, fix for ArgumentParser::getApplicationName() -2006-03-15 15:49 robert +Fri, 3 Oct 2003 16:27:02 +0000 +Checked in by : Robert Osfield +Updated NEWS - * Added createEvent() convinience method. +Fri, 3 Oct 2003 09:00:09 +0000 +Checked in by : Robert Osfield +Added Producer.lib and OpenThreadsWin32.lib to link lines. -2006-03-15 12:26 robert +Thu, 2 Oct 2003 19:09:19 +0000 +Checked in by : Robert Osfield +Fixes to project files. - * Added comment on the meaning of the matrix paramter in the - computeIntersections methods. +Thu, 2 Oct 2003 14:46:07 +0000 +Checked in by : Robert Osfield +Returned revision number to 0, for main development work -2006-03-15 12:26 robert +Thu, 2 Oct 2003 14:43:39 +0000 +Checked in by : Robert Osfield +Updated the revsion number to 2, for the 0.9.6-2 release. - * Added moving sphere segment intersections. +Thu, 2 Oct 2003 14:42:48 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for release. -2006-03-15 11:21 robert +Thu, 2 Oct 2003 14:28:30 +0000 +Checked in by : Robert Osfield +Updated docs for 0.9.6-2 release - * From Martin Naylor, build fix for Win32. +Thu, 2 Oct 2003 14:11:57 +0000 +Checked in by : Robert Osfield +Updated NEWSAdded support for inline/nonlining of texture cube maps. -2006-03-15 10:36 robert - * From Martin Naylor, added ESRIShape.dsp project -2006-03-14 13:18 robert +Thu, 2 Oct 2003 13:26:01 +0000 +Checked in by : Robert Osfield +Added osgDB::Registry::s/getUseObjectCacheHint() - * Build fixes +Wed, 1 Oct 2003 21:59:55 +0000 +Checked in by : Robert Osfield +Added a check against opaque textures, when detected turn the material white as per specs for 3ds. -2006-03-14 09:33 robert +Wed, 1 Oct 2003 20:48:37 +0000 +Checked in by : Robert Osfield +Added osgcameragroup to the Windows apps list. - * Added 21 as the version number of xine video plugin to allow it - work with latest versions of xine. +Wed, 1 Oct 2003 20:41:15 +0000 +Checked in by : Robert Osfield +Removed afterescher reference from runexamples.bat. -2006-03-14 09:23 robert +Wed, 1 Oct 2003 15:56:52 +0000 +Checked in by : Robert Osfield +Introduced new DisplaySettings::set/getDisplayType() and environemtal variables to and command line arguments to set it.Added support for using the DisplaySettings::getDisplayType() to detect use +of a Head Mounted Display when doing stereo so that the asymtric frustum can +be switched off. - * From Martin Naylor, added normals VS project -2006-03-13 21:29 robert - * From Farshid Lashkari, "The following patch adds a multisample - option to the - osg::DisplaySettings class. OsgCameraGroup will now read the - setting - from the DisplaySettings instead of hardcoding the value. I added - the - following commandline option to be able to set the multisample - value: - - --samples - - One thing to note, OsgCameraGroup would previously check if the - computer is an SGI and set multisample to 4. I retained this - check in - DisplaySettings to be backwards compatible." +Wed, 1 Oct 2003 13:12:25 +0000 +Checked in by : Robert Osfield +Added addEntryToObjectCache method to osgDB::Registry -2006-03-13 21:20 robert +Wed, 1 Oct 2003 09:46:11 +0000 +Checked in by : Robert Osfield +Rewrote the osgtexturerectangle and osgprerendercubemap - * From Andrew Sampson, "The terravista terrain generation tool can - insert references to external model files into a terrapage tile. - It unfortunately does not update the bounding sphere of that tile - to include the extents of the external model. This means that if - a large model (such as an airfield model) is attached to a tile, - the model will disappear when the tile is off-screen (outside the - view volume), even though the model is on-screen." +Wed, 1 Oct 2003 09:18:24 +0000 +Checked in by : Robert Osfield +From Tree, added missing setTextureData method. -2006-03-13 13:19 robert +Tue, 30 Sep 2003 21:30:39 +0000 +Checked in by : Robert Osfield +Removed debugging comments. - * Added an EventQueue directly into osgProducer::Viewer. +Tue, 30 Sep 2003 19:42:27 +0000 +Checked in by : Robert Osfield +Add /Zm200 option to osg library, -2006-03-09 15:16 robert +Tue, 30 Sep 2003 19:24:40 +0000 +Checked in by : Robert Osfield +Added osgText dependancy to the osgforest project. - * Checked in the genwrapper generated Export.cpp. This does seem to - be an eroneously - built file though since Export.cpp doesn't appear in the other - plugins... I have checked - it in here to keep the builds running, there isn't actually any - useful body in the Export.cpp. +Tue, 30 Sep 2003 19:09:31 +0000 +Checked in by : Robert Osfield +Changed std::vector<>::at to []. -2006-03-09 13:02 robert +Tue, 30 Sep 2003 15:50:46 +0000 +Checked in by : Robert Osfield +Added text hud instructions. - * Ran dos2unix on new OpenFlight files. +Tue, 30 Sep 2003 13:48:58 +0000 +Checked in by : Robert Osfield +Added quad tree support into osgforest -2006-03-08 21:38 robert +Mon, 29 Sep 2003 14:42:15 +0000 +Checked in by : Robert Osfield +Fixed DriveManipulator::init(,) method so that used a Matrix::set(Quat) rather than the inappropriate usage Matrix::get(Quat). - * From Brede Johansen, new OpenFlight plugin!!!!! - - By default the original flt plugin is still used, to select at - runtime - the new plugin set the env OSG_OPEN_FLIGHT_PLUGIN=new +Mon, 29 Sep 2003 14:07:46 +0000 +Checked in by : Robert Osfield +Fixed the Geometry::verifyBindings && computeCorrectBindingsAndArraySizes so they correctly check the indices and array elements. -2006-03-08 16:11 robert +Mon, 29 Sep 2003 13:35:02 +0000 +Checked in by : Robert Osfield +Made osg::Quat support either float or double internal representation, defaulting to double.Generalised the osgDB::Field so that its getFloat() method can be used with either doubles or +floats governed by the type passed in - this helps support either float/double +Quat and Matrix classes seemlessly. - * From Bob Kuehne, added osg::getGlVersion() and fixed a minor typo - in Texture3D. -2006-03-08 15:40 robert - * Added EventQueue. +Mon, 29 Sep 2003 13:14:34 +0000 +Checked in by : Robert Osfield +Added getPerspective() method to Matrix* and SceneView -2006-03-08 15:30 robert +Mon, 29 Sep 2003 08:03:08 +0000 +Checked in by : Robert Osfield +From Clay Fowler, fixes to osgdemeter so that the whole terrain model can be visualised at once. - * From Farshid Lashkari, "A while back the behaviour of extension - alias' was modified so that - the user can override existing alias'. The change allowed for - circular - references, so the createLibraryNameForExtension would get caught - in - an endless loop. The following fix will catch circular - references." +Sun, 28 Sep 2003 10:15:10 +0000 +Checked in by : Robert Osfield +Added equals operator to CUllingSet.Update AUTHORS file. -2006-03-08 15:26 robert +Change tabs to 4 spaces in ive/TextureCubeMap.cpp - * From Farshid Lashkari, "I noticed that sometimes when a particle - emitter is re-enabled, a few - particles will appear at the location it was disabled at. The - problem - is that the previous local to world matrix is not being updated - while - it is disabled. I modified the particle processor so that it will - set - the dirty flag for the previous local to world matrix when the - processor is skipped for a frame, since the value will no longer - be - relevant." -2006-03-08 15:16 robert - * From Roger James, "1. Fixed a problem with the caching of - textures when the associated image file was not in the current - working directory. In this case the texture object was being - placed in the cache with the short filename, but was looked up - with the full path. - - 2. Fixed a problem with the caching of textures when CACHE_IMAGES - was enabled. This caused a conflict is the names used to cache - the image and texture objects. - - 3. Fixed a problem where AC3D generates surfaces with duplicate - vertex indices. - - 4. Removed what I believe are redundant calls to the tesselator. - - 5. Added a couple of asserts which should fire in debug mode if - my assumptions about 4. are incorrect. - - 6. Removed obviously unused code. (Stuff that was commented or - ifdeffed out.)" - - Note, from Robert Osfield, changed the asserts to if () report - error using notify so we can catch errors in both optimized and - debug builds, but without crashing. +Sun, 28 Sep 2003 09:34:31 +0000 +Checked in by : Robert Osfield +Added a using namespace osgGA to keep things compiling under MipsPro + VS6.0 at them same time. -2006-03-08 14:09 robert +Sun, 28 Sep 2003 09:23:45 +0000 +Checked in by : Robert Osfield +Fixed nameing of getAllocationMode() - * Converted osgGA::GUIEventAdapter into a concrete class capable of - respresenting - keyboard and mouse events. - - Added osgGA::EventQueue class to support a thread safe event - queue and adaption - of keyboard and mouse events. - - Removed osgProducer::EventAdapter as GUIEventAdapter replaces it. - - Adapted osgProducer and examples to work with the new changes to - osgGA. +Fri, 26 Sep 2003 20:14:30 +0000 +Checked in by : Robert Osfield +Changed std::vector<>::at(i) array access usage to straight [i] to keep things compiling on gcc 2.x serious -2006-03-07 18:26 don +Fri, 26 Sep 2003 16:02:53 +0000 +Checked in by : Robert Osfield +From Michael Gronager, jp2 plugin for reading and writing JPEG2000 files. - * Improved the GET protocol for the http socket. By adding - Connection: close - the server sends a EOF immediately after the data, improving - performance - because readers are not left waiting for EOF. +Fri, 26 Sep 2003 11:20:43 +0000 +Checked in by : Robert Osfield +Improves to CullStack.From M.Grngr. options support for f=switching off internal imagery in .ive files -2006-03-05 20:46 robert - * Began work on making EventVisitor capable of adapting events - directly. -2006-03-02 20:39 robert +Thu, 25 Sep 2003 21:54:33 +0000 +Checked in by : Robert Osfield +Added the beginnings of a new osgforest example.Added support into osg::TriangleFunctor for specifying whether the vertices +being generates are temporary or not. - * From Farshid Lashkari, support for writing to istream for the the - TIFF plugin and support for - controlling PNG compression level via the the - ReaderWriter::Option string "PNG_COMPRESSION " -2006-03-02 20:31 robert - * Added automatic toggling between png and jpeg when - compressImageData option is used. Jpeg - is used to compress RGB data only, the just of the formats are - passed on to the png plugin. +Wed, 24 Sep 2003 18:54:28 +0000 +Checked in by : Robert Osfield +Added a local osg::State to the pbuffer implementation. -2006-03-02 15:26 robert +Wed, 24 Sep 2003 18:53:47 +0000 +Checked in by : Robert Osfield +Made the calling of drawable update callbacks always happen when a geode is traversed in the update traversal. - * From Robert Swain, compile fix for debian unstable. +Wed, 24 Sep 2003 15:54:22 +0000 +Checked in by : Robert Osfield +Improved the Geometry::verifyBinding() and computeCorrectBindingsAndArraySizes() methods to check all atributes and to report warnigns when errors are detected.Added a CheckGeomtryVisitor to osgUtil::Optimizer to detect eroneous Geometry +before rendering. -2006-03-02 14:58 robert - * From Farshid Lashakari, support for png write. -2006-03-01 10:17 robert +Tue, 23 Sep 2003 14:42:56 +0000 +Checked in by : Robert Osfield +From Tom Jolly, added support for TexEnv to pfb plugin. - * From Farshid Lashkari, "I've attached another modified version of - the IVE loader which - supports compressing the image data. The option to compress the - data - is "compressImageData". Currently it uses the jpeg plugin to - write the - image. Maybe we could add an option that allows the user to - specify - which image format to use. The jpeg writer supports specifying - the - quality of the jpeg, so you could use the following command line - to - convert the skydome.osg model to IVE using 50% jpeg quality: - - osgconv -O "compressImageData JPEG_QUALITY 50" skydome.osg - skydome.ive" +Mon, 22 Sep 2003 21:22:16 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, added extra include for freetype to find it on OSX. -2006-02-28 21:18 robert +Mon, 22 Sep 2003 17:09:59 +0000 +Checked in by : Robert Osfield +Changed reference to osgPluins/GNUmakefile to Make/makedirdefs - * Added TextureRectangle.cpp +Mon, 22 Sep 2003 09:13:22 +0000 +Checked in by : Robert Osfield +Renamed instance of variables called format to pixelFormat to make a clearer distinction between pixelFormat and internalTextureFormat. -2006-02-28 20:10 robert +Wed, 17 Sep 2003 15:48:43 +0000 +Checked in by : Robert Osfield +Added osgUtil to dependencies of the obj plugin. - * Compile fix. +Wed, 17 Sep 2003 12:04:48 +0000 +Checked in by : Robert Osfield +From Alberto Farre, added support for GL_EXT_blend_color, GL_ARB_multisample, GL_NV_multisample_filter_hint extension in the form of osg::BlendColor and osg::Multisample state attribute classes. -2006-02-28 19:46 robert +Tue, 16 Sep 2003 22:26:24 +0000 +Checked in by : Robert Osfield +Updated release data of 0.9.6 from 15th to 16th. - * From Brede Johansen, added missing array handling into - Geometry::accept(AttributeFunctor& - af) and Geometry::accept(ConstAttributeFunctor& af). +Tue, 16 Sep 2003 21:26:19 +0000 +Checked in by : Robert Osfield +Updated Make/makedefs version number to 0.9.6-1. -2006-02-28 19:36 robert +Tue, 16 Sep 2003 21:25:25 +0000 +Checked in by : Robert Osfield +Updated version numbers and ChangeLog for the release. - * Further clean up of RefNodePath references. +Tue, 16 Sep 2003 19:56:19 +0000 +Checked in by : Robert Osfield +Warning fixes for Win32. -2006-02-28 19:12 robert +Tue, 16 Sep 2003 19:56:00 +0000 +Checked in by : Robert Osfield +Added a check for the maximum index values of primitives, and then use this to select whether to use UByte,UShort or UInt versions of osg::DrawElements. - * Updated wrappers. +Tue, 16 Sep 2003 19:54:57 +0000 +Checked in by : Robert Osfield +Fixes for .osg output of UByte4 values, and added missing template contructor to DrawElementsUShort. -2006-02-28 18:54 robert +Tue, 16 Sep 2003 19:53:51 +0000 +Checked in by : Robert Osfield +Improved the tesselation of obj surfaces so that rendering performance is significantly improved. - * Fixes to removed dependency on RefNodePath. +Tue, 16 Sep 2003 11:54:56 +0000 +Checked in by : Robert Osfield +Moved a local new StateSet into cull callback as a ref_ptr to prevent memory leaks. -2006-02-27 19:51 robert +Tue, 16 Sep 2003 11:22:48 +0000 +Checked in by : Robert Osfield +Warning fixes for VS .NET. - * Updated wrappers. +Tue, 16 Sep 2003 09:54:41 +0000 +Checked in by : Robert Osfield +Added support for per vertex colors. -2006-02-27 19:49 robert +Tue, 16 Sep 2003 08:10:11 +0000 +Checked in by : Robert Osfield +Added inlucde to trPageArchive to get round IRIX build problem. - * Ported NodeTrackCallback and NodeTrackManipulator across to use - oberserver_ptr - instead of RefNodePath. - - Removed now redundent RefNodePath. +Mon, 15 Sep 2003 22:13:26 +0000 +Checked in by : Robert Osfield +Changed a couple of int64's back to int32. -2006-02-27 19:48 robert +Mon, 15 Sep 2003 21:43:54 +0000 +Checked in by : Robert Osfield +Added support for handling of wordwrap in osgText::Text, so that whole words are cut in two, but rather moved completely to the next line. - * Added support in osg::computeWorldToLocal and compteLocalToWorld - functions for automatically - stripping any absolute or root CameraNode's from the NodePaths. - - Added osg::Node::getWorldMatrices() convinience method. +Mon, 15 Sep 2003 15:03:30 +0000 +Checked in by : Robert Osfield +From Julian Ortiz, fix to OpenFlight loader so that it handlers OpenFlight switches in a more appropriate way. -2006-02-27 19:44 robert +Mon, 15 Sep 2003 13:54:19 +0000 +Checked in by : Robert Osfield +Added support for correct sizing of the created presentation w.r.t the size of the scene, a default home position, handling of field in the slideshow xml file, and support for stereo image pairs. - * Added new observer_ptr templated smart pointer to allow one to - retain pointers - to objects but have the pointer reset to null if that object is - deleted. +Mon, 15 Sep 2003 10:17:29 +0000 +Checked in by : Robert Osfield +Updates ChangeLog and NEWS for the 0.9.6 release. -2006-02-26 17:45 robert +Mon, 15 Sep 2003 10:12:04 +0000 +Checked in by : Robert Osfield +Fixes for warnings under VS.NET from Marco Jez. - * From Farshid Lashkari, "I've made some changes to the IVE loader - which will add the capability - of saving image files inside the IVE file. Currently, only the - raw - image data is saved into the file. If your model uses jpg images - as - textures then this will cause your file size to increase. - - I've added an option that will embed the original image file into - the - IVE file. The IVE file will then attempt to read the image from - memory. Since most image loaders support reading from memory, - this - shouldn't be a problem. To use this new feature the user must - specify - the option "includeImageFileInIVEFile" when converting to IVE. - - I tested this out on the "skydome.osg" model that comes with OSG. - Using the old method, the IVE file size would be 785 KB, with the - new - method it is only 42 KB. - - Also, I've added the support for TextureRectangle's to the IVE - reader/writer." +Mon, 15 Sep 2003 08:34:30 +0000 +Checked in by : Robert Osfield +Updated NEWS date to 15th September 2003, for 0.9.6 release. -2006-02-24 13:57 robert +Mon, 15 Sep 2003 08:32:36 +0000 +Checked in by : Robert Osfield +Fixed warnings in geo plugin. - * Added debugging code to help pick out instablilities in - osgParticle. Debugging - code now commented out. +Sun, 14 Sep 2003 22:49:47 +0000 +Checked in by : Robert Osfield +From Geoff Michel, updated geo plugin to support latest rev of Geo Modeller's file format. -2006-02-24 13:56 robert +Sun, 14 Sep 2003 22:48:35 +0000 +Checked in by : Robert Osfield +Forom yne Schmidt Jansen, added support for osgSim into ive plugin. - * Added clamping of the wind force contribution to acceletion of - particle so - that the de-acceleration never exceed the actual wind vector - itself. +Sun, 14 Sep 2003 22:11:16 +0000 +Checked in by : Robert Osfield +Added support for conrolling point size into slideshow3D. -2006-02-23 20:37 robert +Sat, 13 Sep 2003 16:48:40 +0000 +Checked in by : Robert Osfield +Added commandline usage docs. - * Completed .osg support for ClusterCullingCallback. +Sat, 13 Sep 2003 16:43:34 +0000 +Checked in by : Robert Osfield +Changed the FREETYPE_LIB under Cygwin from ft freetype2 to freetype -2006-02-23 16:47 robert +Sat, 13 Sep 2003 15:59:38 +0000 +Checked in by : Robert Osfield +Fixed the OBJ loader so that it shares all duplicate state, improving the load time and rendering performance significantly. - * Disabled the running of tristripping and smoothing from within - the Simplifier. +Fri, 12 Sep 2003 21:15:51 +0000 +Checked in by : Robert Osfield +Updated change log for release. -2006-02-23 12:41 robert +Fri, 12 Sep 2003 21:15:13 +0000 +Checked in by : Robert Osfield +Changed std::size_t to unsigned int to attempt to fix IRIX build problem. - * From Gordon Tomlinson, spelling fixes. +Fri, 12 Sep 2003 21:05:40 +0000 +Checked in by : Robert Osfield +From Norman Vine, fixes for Cygwin and Mingw builds. -2006-02-23 12:39 robert +Fri, 12 Sep 2003 19:17:46 +0000 +Checked in by : Robert Osfield +Work around for OSX errors when reading .ive files. - * Fixed function name call. +Fri, 12 Sep 2003 18:49:23 +0000 +Checked in by : Robert Osfield +Changed OSGUTIL_LIBRARY to OSGFX_LIBRARY -2006-02-22 20:51 robert +Fri, 12 Sep 2003 15:29:02 +0000 +Checked in by : Robert Osfield +Added verbode debugging option to dataoutputstream and datainputstream to help invstigation into crash under OSX when reading .ive files. - * Fixed getBound() comment. +Fri, 12 Sep 2003 13:58:15 +0000 +Checked in by : Robert Osfield +Rebuild osgFX plugin by hand to fix dependancy problems that some Win32 users are experiencing. -2006-02-22 19:28 robert +Fri, 12 Sep 2003 13:20:04 +0000 +Checked in by : Robert Osfield +Commented out various osg::notify() calls that were causing crashes under OSX during initialization. - * Updated wrappers. +Fri, 12 Sep 2003 13:02:03 +0000 +Checked in by : Robert Osfield +Added #ifdef IVE_CATCH_EXCEPTIONS to allow catching of exceptions to be turned off for debugging purposes. -2006-02-22 19:14 robert +Fri, 12 Sep 2003 09:48:54 +0000 +Checked in by : Robert Osfield +Updated NEWS file for the release. - * Fixed typo of Validity. +Fri, 12 Sep 2003 08:45:12 +0000 +Checked in by : Robert Osfield +From Sebastien Kuntz, added support for external refernces to vertex/fragment program files. -2006-02-22 16:05 robert +Thu, 11 Sep 2003 09:44:22 +0000 +Checked in by : Robert Osfield +Clean ups for the release. - * From Thom Carlo, with tweak from Robert Osfield, removed the - setting of the outline colour - (the emission part of material) during setup of the Carton - effects for the second pass. +Wed, 10 Sep 2003 23:18:52 +0000 +Checked in by : Robert Osfield +Added applyProjectionMatrix(0); & applyModelViewMatrix(0); into osg::State::popAllStateSets(), removed some debugging output. -2006-02-22 14:35 robert +Wed, 10 Sep 2003 21:30:01 +0000 +Checked in by : Robert Osfield +Fixed unix line ending. - * Fixed documentation. +Wed, 10 Sep 2003 21:22:47 +0000 +Checked in by : Robert Osfield +Added osg::State::popAllStateSets() method to pop all remain StateSet's off the state stack, thus readying the state object to recieve a new frame.Removed the state.reset() call in osgUtil::SceneView::cull() as this was +causing problems with stats producing inheritance of state when toggling +stats on. -2006-02-22 14:31 robert - * Added support for OpenGL mode black listing to provide better - support - for extension checking and invalidation of OpenGL modes - associated with - extensions. -2006-02-21 21:29 robert +Wed, 10 Sep 2003 20:43:27 +0000 +Checked in by : Robert Osfield +Fixed state inheritance from the stats overlay onto the rest of the scene. - * Added ClusterCullingCallback.cpp +Wed, 10 Sep 2003 20:24:49 +0000 +Checked in by : Robert Osfield +Added -I/sw/include to Make/makedefs -2006-02-21 21:28 robert +Wed, 10 Sep 2003 19:55:14 +0000 +Checked in by : Robert Osfield +Addeed LIBXML2_INCLUDE defined to Make/makedefs to handle non standard placement of libxml2 in OSX. - * Added initial cut of ClusterCullingCallback .osg support. +Wed, 10 Sep 2003 19:25:36 +0000 +Checked in by : Robert Osfield +Changed OsgCameraGroup so that it shares osg::State between Producer::Camera's which share the same Producer::RenderSurface.Added support for more colors in slideshow3D's constructor code. -2006-02-21 14:34 robert - * From Gordon Tomlinson, spelling fixes. -2006-02-21 13:55 robert +Wed, 10 Sep 2003 14:43:48 +0000 +Checked in by : Robert Osfield +Fix warning under Win32. - * From Gordon Tomlinson, VS2005 Syntax highling regonition. +Wed, 10 Sep 2003 13:25:42 +0000 +Checked in by : Robert Osfield +Added /Zm200. -2006-02-21 13:51 robert +Wed, 10 Sep 2003 12:38:28 +0000 +Checked in by : Robert Osfield +Fixes for osgFX. - * From Paul Martz, "I've attempted to make AutoTransform override - computeBounds() to return - an invalid bounding sphere if it hasn't seen a cull traversal - yet. It - depends on _firstTimeToSetEyePoint, which is initially true, then - false - after a cull. There might be a better way? If so, let me know. - - This change does resolve the issue I had encountered with auto - scale to - screen and incorrect culling." +Wed, 10 Sep 2003 12:26:54 +0000 +Checked in by : Robert Osfield +Added -losgText into txp plugin's GNUmakefile for OSX build. -2006-02-21 12:39 robert +Wed, 10 Sep 2003 12:04:17 +0000 +Checked in by : Robert Osfield +Added -losgText for OSX build. - * From Trajce Nikolov, "small fix for the flt loader - the back - color of the bidirectional light points" +Wed, 10 Sep 2003 11:21:56 +0000 +Checked in by : Robert Osfield +From Marco Jez, moved color matrix IO code across to using Marix.h so it handles float's double's properly. -2006-02-20 21:05 robert +Wed, 10 Sep 2003 11:18:27 +0000 +Checked in by : Robert Osfield +Added osgText and osgDB to the list of dependencies for OSX build. - * From Ulrich Hertlein, spelling corrections and a few Doxgen - comments. +Wed, 10 Sep 2003 08:35:16 +0000 +Checked in by : Robert Osfield +Updated docs for release. -2006-02-20 20:06 robert +Tue, 9 Sep 2003 22:18:35 +0000 +Checked in by : Robert Osfield +Cleaned up handling of vertex arrays in osg::Geometry.Added support for vertex attribute arrays in .osg and .ive. - * From Eric Sokolowsky, "There was a problem with the PNG plugin - when it encounters an image that is - less than 8 bits per pixel (this can happen with greyscale or - paletted images). - It was a pretty simple problem to fix." -2006-02-20 19:13 robert - * From Nathan Monteleone, addition of AutoTransform support. +Tue, 9 Sep 2003 11:54:05 +0000 +Checked in by : Robert Osfield +Updates to osgFX, from Marco Jez, to map Effect across to being derived from osg::Group rather than from osg::Node. -2006-02-20 16:50 robert +Tue, 9 Sep 2003 10:09:20 +0000 +Checked in by : Robert Osfield +Made writeMatrix/readMatrix use doubles exclusively. - * Moved the intialization variable reset to end of the init - funciton to - avoid multi-thread initialization from producing different - results. +Tue, 9 Sep 2003 08:56:51 +0000 +Checked in by : Robert Osfield +Updated docs for release.Added OSG_USE_DOUBLE_MARTRICES define into include/osg/Matrix to make it more +convinient to switch between single and double matrices. -2006-02-20 16:20 robert - * From Ed Ralston, "According to the OSX Developer Documentation, - CFRelease - cannot be called with a NULL argument. - - This patch prevents osgDB::FileUtils from doing this." -2006-02-20 15:46 robert +Mon, 8 Sep 2003 10:51:14 +0000 +Checked in by : Robert Osfield +Updated NEWS/AUTHORS + html docs for release. - * Added missing swap byte operations to readVec*sArray() methods. +Mon, 8 Sep 2003 08:44:05 +0000 +Checked in by : Robert Osfield +Added call to handle_cull_callbacks_and_traverse(node) to CullVisitor::apply(Geode&) to enable cull callbacks to function on geode's. -2006-02-20 15:32 robert +Sun, 7 Sep 2003 14:18:22 +0000 +Checked in by : Robert Osfield +From Boris Bralo, addition of support for osgSim::LightPoint's into TXP plugin. - * From Daniel Larimer, fixed error is swap byte code handling - vector +Sat, 6 Sep 2003 11:07:05 +0000 +Checked in by : Robert Osfield +Fixes from Marco. -2006-02-20 15:25 robert +Fri, 5 Sep 2003 22:37:10 +0000 +Checked in by : Robert Osfield +Removed eroneous reference to Matrix_implementaion.cpp. - * From Markus Trenkwalder, "when building debug libs in mingw the - .dll.a files are not copied to - the lib/MINGW(32) folder. The makefiles in the attached zip - should fix this." +Fri, 5 Sep 2003 22:35:34 +0000 +Checked in by : Robert Osfield +Added new Matrixf and Matrixd implementations.Made Matrix be a typedef to either Matrixf or Matrixd. Defaults to Matrixf. -2006-02-09 19:31 don +Converted the osgGA::MatrixManipulators and osgProducer::Viewer/OsgCameraGroup +across to using exclusively Matrixd for internal computations and passing betwen +Manipulators, Producer and SceneView. Note, SceneView still uses Matrix internally +so will depend on what is set as the default in include/osg/Matrix. - * Fixed a bug spotted in UFOManipulator where a Vec3's 4th - component was - being inspected (ip[3]). +Added the ability to osgProducer::setDone/getDone(), kept done() as the +method that the viewer main loop uses for detecting the exit condition. -2006-02-09 12:20 robert - * Added BlenColour(Vec4) constructor and updated wrappers. -2006-02-08 23:41 don +Fri, 5 Sep 2003 20:52:36 +0000 +Checked in by : Robert Osfield +Added set and get methods for Matrixd and Matrixf. - * Added a filter to the Delaunay Triangulator to insure that - incoming points - are unique in the X and Y components. +Fri, 5 Sep 2003 20:48:42 +0000 +Checked in by : Robert Osfield +Added support for Matrixd and Matrixf implementations, with the default Matrix typedef's to either Matrixd or Matrixf. -2006-02-06 20:36 robert +Thu, 4 Sep 2003 19:45:55 +0000 +Checked in by : Robert Osfield +Moved testCancel() to end of loop as per TXP pager code. - * Added s/getDoTriStrip and s/getSmoothing method. +Thu, 4 Sep 2003 19:37:49 +0000 +Checked in by : Robert Osfield +Added testCancel() to DatabasePager::run() loop. -2006-02-06 19:41 don +Thu, 4 Sep 2003 08:50:06 +0000 +Checked in by : Robert Osfield +Build Fixes for IRIX. - * Added normals and ESRIshape directories to makedirdefs +Wed, 3 Sep 2003 18:17:07 +0000 +Checked in by : Robert Osfield +Fix for IRIX build. -2006-02-06 19:40 don +Wed, 3 Sep 2003 10:47:25 +0000 +Checked in by : Robert Osfield +Added a Matrix::value_type typedef'd trait into osg::Matrix, defaulting its value to float, and converted the internal code across to use value_type. This allows Matrix to be converted to use double's simply by change the definition of value_type. Added Matrix::glLoadlMatrix and Matrix::glMultMatrix() to help encapsulate the changes between float and double matrix usage.Updated code that uses Matrix so it doesn't assume float or double matrices. - * Added 'normals' pseudoloader -2006-02-06 19:16 robert - * Improved default settings, re-enambled smoothing and tri - stripping of sampled data. +Wed, 3 Sep 2003 08:14:00 +0000 +Checked in by : Robert Osfield +Fixes for IRIX build. -2006-02-06 17:12 robert +Wed, 3 Sep 2003 07:39:42 +0000 +Checked in by : Robert Osfield +Removed old DatabasePager.cpp from osgProducer. - * Added support for up sampling by dividing longest edges. +Tue, 2 Sep 2003 21:53:41 +0000 +Checked in by : Robert Osfield +Added Inventor plugin, submitted by Sean Spicer, Written by Vivek (c) Magic-Earth. To compile in do a setenv/export USE_COIN or USE_INVENTOR. -2006-02-05 21:53 robert +Tue, 2 Sep 2003 20:39:41 +0000 +Checked in by : Robert Osfield +Merged changed to osgParticle from Marco Jez, the changes are (quoted from email from Marco)"Most relevant news: +1) particle systems now have the "freezeOnCull" property set to false by +default. Since it is an optimization, and using it may cause some unwanted +behaviors if not handled properly, it makes more sense to turn it off by +default. +2) new "LINE" shape mode which uses GL_LINES to draw line segments that +point to the direction of motion. +3) particles can now have a rotation angle and angular velocity. +4) new AngularAccelOperator applies angular acceleration to particles. +5) particle processors such as emitters and programs can have a "start", +"end" and "reset" time coordinate. For example, an emitter may be instructed +to start emitting particles only after a certain time, stop after another +amount of time and then start again. - * From David Guthrie, OSX marco reworking to better handling - different OSX versions. +Update (2) is from Gideon May. +Updates (3) to (5) are from Douglas A. Pouk." -2006-02-04 21:25 robert - * From Edmond Gheury, fixe and bug in the PrimitiveShapeVisitor. -2006-02-04 21:20 robert +Tue, 2 Sep 2003 20:06:20 +0000 +Checked in by : Robert Osfield +Commented out calc near/far debugging messages. - * From Marco Jez, " I've modified in order to make FBO mipmapping - work. In - FrameBufferObject.cpp there is also another fix: when - initializing a FBO - attachment from a CameraNode attachment, the renderbuffer's - format must be - set to the attachment's internal format, not to the image's pixel - format. - - Another problem is that attaching a renderbuffer to the FBO - through - CameraNode is not simple (if not impossible) if you don't intend - to specify - an Image object. Probably CameraNode could be enriched with an - "attach(buffer, width, height, format)" method. For example if - you attach a - color buffer as a texture whose size is different than that of - the - CameraNode's viewport you also need to attach a depth buffer of - the same - size, because the depth buffer that is automatically attached by - RenderStage - has the viewport's size. FBOs require that all attachment have - the same - dimensions, so said setup will fail if you can't specify a custom - depth - renderbuffer" +Tue, 2 Sep 2003 20:03:01 +0000 +Checked in by : Robert Osfield +Added test of sizeof(types) - run osgunittests sizeof. -2006-02-04 21:12 robert +Tue, 2 Sep 2003 17:19:18 +0000 +Checked in by : Robert Osfield +Made Matrix a typedef to Matrixf, and converted the old Matrix to Matrixf, as part of prep for supporting both Matrixf (float) and Matrixd (double).Added osg::Matrixf::glLoadMatrix() and osg::Matrixf::glMultiMatrix() methods +and changed corresponding usage of glLoad/MultMatrixf() calls across to use these +methods. Again prep for support Matrixd. - * From Brad Anderegg, add _frameNumber and associated code to - ensure that particles - only get updated once per frame. +Fixes for VisualStudio 6.0 compile. -2006-02-04 21:06 robert - * From Chris Hanson, added get methods for size of file request and - data to compile lists. -2006-01-24 17:43 don +Tue, 2 Sep 2003 17:16:17 +0000 +Checked in by : Robert Osfield +Converted eroneous writeLong/readInt boolean entries used writeBool/readBool. - * Changes to zip and tgz plug-ins to allow for use of TEMP variable - on Windows. - Submitted by Zach Deedler +Tue, 2 Sep 2003 10:27:57 +0000 +Checked in by : Robert Osfield +Fixes for IRIX build + to_unix on txp plugin files. -2006-01-24 12:02 robert +Mon, 1 Sep 2003 21:53:53 +0000 +Checked in by : Robert Osfield +Support for BumpMapping added by Marco Jez. - * cleaned up clampNearNar code. +Mon, 1 Sep 2003 19:43:58 +0000 +Checked in by : Robert Osfield +Updates from Marco:sgfxbrowser.cpp (added specular component to scene light) and AnisotropicLighting.cpp (workaround for a multiple-context issue). -2006-01-23 20:38 robert +Mon, 1 Sep 2003 15:49:08 +0000 +Checked in by : Robert Osfield +Win32 fixes. - * Improved the env var reporting to avoid the overlong lines. +Mon, 1 Sep 2003 15:46:10 +0000 +Checked in by : Robert Osfield +Fixes for Win32. -2006-01-23 20:16 robert +Mon, 1 Sep 2003 11:23:29 +0000 +Checked in by : Robert Osfield +Added a call to disable all vertex attrib arrays when none are present on an osg::Geometry. - * Added explanation of --no-terrain-simplification +Mon, 1 Sep 2003 09:36:03 +0000 +Checked in by : Robert Osfield +From Neil Salter, added osgSim::SphereSegment and osgSim::ScalarBar, and osgspheresegment and osgscalarbar, and osgsimulation examples. -2006-01-21 13:02 robert +Sun, 31 Aug 2003 22:17:53 +0000 +Checked in by : Robert Osfield +Converted cout's to notify's. - * Updated wrappers. +Sun, 31 Aug 2003 22:17:15 +0000 +Checked in by : Robert Osfield +From Alberto Farre, fixes to the file path handling of internally referenced files. -2006-01-18 12:16 robert +Sun, 31 Aug 2003 22:08:22 +0000 +Checked in by : Robert Osfield +Added experiment Tempated fast path implemenation, #if 0 out right now. - * From Marco Jez, adding osgDB::findDataFile() usage. +Sun, 31 Aug 2003 21:23:08 +0000 +Checked in by : Robert Osfield +From Tree, updated syntax highlighting. -2006-01-18 12:13 robert +Sun, 31 Aug 2003 21:13:50 +0000 +Checked in by : Robert Osfield +Converted cout's messages to use notify. - * From Marco Jez: - - here is a patch that enables a new option named - "BIND_TEXTURE_MAP" in the LWO plugin. Its purpose is to allow - explicit binding between texture UV maps defined in the LWO file - and OpenGL texture units, overriding the default mechanism that - allocates texture units automatically. This is useful when you - have an UV map built in Lightwave (for example an atlas map) but - no textures actually using it, so you can keep the UV map (that - would be discarded otherwise) and add a texture later int your - program. - - Syntax is: - BIND_TEXTURE_MAP +Fri, 29 Aug 2003 23:04:42 +0000 +Checked in by : Robert Osfield +Added s/getCullVistorLeft/Right(), s/getRenderStageLeft/Right(), s/getRenderGraphLeft/Right() methods. -2006-01-18 12:03 robert +Fri, 29 Aug 2003 22:05:06 +0000 +Checked in by : Robert Osfield +From Alberto Farre, added support for both / and \ slashes in path utility functions. - * From Maya Leonard, ERSIShape VS project file, and compile fixes - for Win32. +Fri, 29 Aug 2003 22:04:35 +0000 +Checked in by : Robert Osfield +Added an explicit check for file extension so that only .jpg and .jpeg files are loaded with the JPEG plugin, thus avoid a crash which was occuring when it was passed non JPEG files. -2006-01-18 11:45 robert +Fri, 29 Aug 2003 21:52:52 +0000 +Checked in by : Robert Osfield +Added fonts/ in front of arial.ttf. - * From Marco Jez, addition of glw extension checking under Windows, - and tweaks to - BlendEquation and RenderStage to correct the extensions being - tested. +Thu, 28 Aug 2003 21:40:23 +0000 +Checked in by : Robert Osfield +Added getBound() to the database pager so that once a model has been loaded it bounding volume is computed upfront and in the database paging thread. -2006-01-17 17:04 robert +Thu, 28 Aug 2003 12:49:38 +0000 +Checked in by : Robert Osfield +Removed double line spacing in ExternalReference code. - * From Zbigniew Sroczynski, fix for handling of paths with spaces. +Thu, 28 Aug 2003 12:47:32 +0000 +Checked in by : Robert Osfield +Added a PushAndPopFilePath usage to the internal flt file references. -2006-01-17 15:18 robert +Wed, 27 Aug 2003 14:13:12 +0000 +Checked in by : Robert Osfield +From Marco Jez, tangent space generator. - * Added new BoxPlacer files. +Wed, 27 Aug 2003 13:09:38 +0000 +Checked in by : Robert Osfield +Added /Zm200 for VS6.0 build. -2006-01-17 15:17 robert +Wed, 27 Aug 2003 10:34:34 +0000 +Checked in by : Robert Osfield +Added /Zm200 define to .dsp's to avoid compile errors under VisualStudio6.0. - * From Zach Deedler, addition of osgParticle/BoxSpacer. +Wed, 27 Aug 2003 10:22:12 +0000 +Checked in by : Robert Osfield +Added KeyboardMouseCallback::shutdown() support. -2006-01-16 17:05 robert +Wed, 27 Aug 2003 08:54:30 +0000 +Checked in by : Robert Osfield +Added Performer plugin .dsp - * Improved handling of clean up of osg::Program/osg::Shader on - closing of a graphis context. +Wed, 27 Aug 2003 00:39:44 +0000 +Checked in by : Robert Osfield +Fixed CullVisitor::popProjectionMatrix() handling of othorgraphic near and far values. -2006-01-16 17:03 robert +Tue, 26 Aug 2003 22:09:15 +0000 +Checked in by : Robert Osfield +Added missing osgFX files. - * Fixed indenting. +Tue, 26 Aug 2003 21:17:22 +0000 +Checked in by : Robert Osfield +Added osgFX - Marco Jez's special effects nodekit. -2006-01-12 22:43 robert +Tue, 26 Aug 2003 15:49:49 +0000 +Checked in by : Robert Osfield +Moved the keyboardmouse startThread into the Viewer::realize() method. - * Added support for tracking mouse movement and computing the - intersection of the mouse position - into texture coords. +Tue, 26 Aug 2003 08:02:43 +0000 +Checked in by : Robert Osfield +Added set/getDatabasePager() method. -2006-01-03 16:52 robert +Mon, 25 Aug 2003 22:50:01 +0000 +Checked in by : Robert Osfield +Added check for :: in wrapper name when writing out to .osg, so that if a namaspace:: exists in the wrapper name then one isn't created for it by default. - * Added ability to write out the selected parts of the scene graph. +Mon, 25 Aug 2003 14:04:16 +0000 +Checked in by : Robert Osfield +Updated NEWS for 0.9.6 release. -2006-01-03 10:44 robert +Mon, 25 Aug 2003 14:03:49 +0000 +Checked in by : Robert Osfield +Added osgProducer:: in front of KeyboardMouseCallback. - * Moved the body of the FBOExtensions::instance() to the .cpp and - added bool to - control whether that an FBOExtensions structure can be created if - missing. +Mon, 25 Aug 2003 13:31:31 +0000 +Checked in by : Robert Osfield +Removed suplerfluous inline from setInitialViewMatrix(). -2006-01-02 12:03 robert +Mon, 25 Aug 2003 13:06:15 +0000 +Checked in by : Robert Osfield +Added getInitialInverseViewMatrix() to osg::State. - * Standardised compile code to use - _maximumNumOfObjectsToCompilePerFrame. +Mon, 25 Aug 2003 11:37:22 +0000 +Checked in by : Robert Osfield +Added support for loading nodekits/plugins to resolve associates when reading .osg files. -2005-12-23 10:59 robert +Sat, 23 Aug 2003 20:48:36 +0000 +Checked in by : Robert Osfield +Add osg_ref to osgProducer::Viewer to ensuer that the keyboard mousr desctructor is being called correctly. - * Ported picking across to using PickVisitor. +Thu, 21 Aug 2003 19:23:24 +0000 +Checked in by : Robert Osfield +Made getLibrary public. -2005-12-23 10:59 robert +Thu, 21 Aug 2003 14:26:40 +0000 +Checked in by : Robert Osfield +Compile/Warnings fixes. - * Added setting of the parent path on the new PickVisitor. +Thu, 21 Aug 2003 09:52:12 +0000 +Checked in by : Robert Osfield +Moved OpenThreads::Threads::Yield() calls across to new OpenThreads::Threads::YieldCurrentThread() naming. -2005-12-22 14:06 robert +Thu, 21 Aug 2003 09:51:25 +0000 +Checked in by : Robert Osfield +From Marco Jez, improvement to the handling of coordinates frame in CubeMapGenerator. - * Seperated out the view and model matrices in IntersectVisitor to - allow - handling of world coordinates better when using PickVisitor. +Wed, 20 Aug 2003 12:52:33 +0000 +Checked in by : Robert Osfield +Added explicit calls cancel and wait until thread and no longer running to the DatabasePager and TXP pager. -2005-12-21 10:32 robert +Wed, 20 Aug 2003 12:51:40 +0000 +Checked in by : Robert Osfield +Renamed instances of Click to Tick for consistency. - * Added support for an externally referenced shader file, via the - keyword combinations - - file "shader.vert" - - OR - - file shader.vert. +Wed, 20 Aug 2003 12:50:54 +0000 +Checked in by : Robert Osfield +Standardised the culling flags between CullingSet and CullStack, and made ENABLE_ALL_CULLING enable all culling including the near and far plane. DEFAULT_CULLING is now used for the default as uses the same original values as ENABLE_ALL_CULLING once did - view frustum culling with near and far culling. SceneView now uses DEFAULT_CULLING. -2005-12-20 09:29 robert +Wed, 20 Aug 2003 10:38:54 +0000 +Checked in by : Robert Osfield +Added osg::setGLExtensionDisableString && osg::getGLExtensionDisableString() functions the GLExtensions file, and made the isGLExtensionSupported() function use the extension disable string when extension are querried. - * Removed "if (mapExt!=toExt)" from alias map assignement to allow - aliases to - be overriden for all cases. +Wed, 20 Aug 2003 07:36:47 +0000 +Checked in by : Robert Osfield +Moved the delete of expired subgraphs to the database thread to improve the stability of the frame rate. -2005-12-20 09:13 robert +Tue, 19 Aug 2003 19:46:18 +0000 +Checked in by : Robert Osfield +Fixes to the database paging. - * From Farshid Lashkari, compile fix +Tue, 19 Aug 2003 14:05:53 +0000 +Checked in by : Robert Osfield +Fixed typo of getNumMatrixManipulators(). -2005-12-19 15:05 robert +Tue, 19 Aug 2003 13:01:01 +0000 +Checked in by : Robert Osfield +Removed inappropriate static_cast<>. - * Added check against the validity of the _inverse matrix pointer. +Mon, 18 Aug 2003 19:51:27 +0000 +Checked in by : Robert Osfield +Changed applyTextParamaters() to set the wrap modes : GL_TEXTURE_WRAP_S for all texture targets. + GL_TEXTURE_WRAP_T for all texture targets except GL_TEXRTURE_1D + GL_TEXTURE_WRAP_R for only GL_TEXTURE_3D -2005-12-19 14:48 robert +And changed the defaults to OpenGL defaults of GL_REPEAT. - * From Ali Botorabi, adding of osg::Depth support in .ive format. -2005-12-19 13:57 robert - * Added debugging info for future reference (currently commented - out.) +Mon, 18 Aug 2003 19:36:50 +0000 +Checked in by : Robert Osfield +Added applyTexImage_subload() implemention into TextureRectangle class to provide automatic support for texture subloading. -2005-12-19 13:40 robert +Mon, 18 Aug 2003 15:14:09 +0000 +Checked in by : Robert Osfield +Changed private to protected to allow Timer to be subclassed more easily. - * Added transform of the eye point into local coordinates to - properly account - for transforms within the scene graph. +Mon, 18 Aug 2003 15:12:04 +0000 +Checked in by : Robert Osfield +Added getSecondsPerClick() method to Timer. -2005-12-19 12:00 robert +Mon, 18 Aug 2003 10:58:30 +0000 +Checked in by : Robert Osfield +Added X_INC into the Make/makedefs and changed the *GNUmakefile* to use it. - * Fixed computeWindowMatrix so that it properly accounts for x,y - position of the viewport. +Mon, 18 Aug 2003 09:24:17 +0000 +Checked in by : Robert Osfield +Fixes for Java build. -2005-12-19 11:18 robert +Sat, 16 Aug 2003 20:42:54 +0000 +Checked in by : Robert Osfield +Fixes to Cygwin/Mingw makedefs.Converted unix line endinges to dos line endings in various VS project files. - * From Eric Wing, made getLineCount() const. -2005-12-18 16:06 robert - * Improved handling of clamping of projection matrix for scenes - with close to zero depth range. +Sat, 16 Aug 2003 18:52:37 +0000 +Checked in by : Don BURNS +Added check for byte swapping when writing RGB files so rgb files can be created on big endian machines -2005-12-16 17:01 robert +Fri, 15 Aug 2003 09:44:29 +0000 +Checked in by : Robert Osfield +Did a to_dos on examples, plugins and core libs. - * Fixed null matrix op. +Fri, 15 Aug 2003 09:38:36 +0000 +Checked in by : Robert Osfield +Changed cout's to notufy(INFO). -2005-12-16 16:27 robert +Thu, 14 Aug 2003 00:05:34 +0000 +Checked in by : Robert Osfield +Removed the deprecated NodeVisitor::getLocalToWorld/WorldToLocal methods as this are replaced by the osg::computeLocalToWorld/WorldToLocal() functions found in osg/Transform.Made the ReleaseTextureAndDisplayListsVisitor a public nested class of +osgDB::DatabasePager to allow it to be used in the TXP plugin, and added +usage of this visitor to the TXP plugin to make sure that textures and +display lists are released during the update thread. - * Fixed handling of absolute transforms in IntersectVisitor. -2005-12-16 14:53 robert - * Fixed typo in text string. +Tue, 12 Aug 2003 23:36:40 +0000 +Checked in by : Robert Osfield +Added -lOpenThreads to the IRIX OTHER_LIBS definition. -2005-12-16 11:04 robert +Tue, 12 Aug 2003 23:06:25 +0000 +Checked in by : Robert Osfield +Fixed capitalization of QTtexture.h - * Added back in Switch::removeChild(Node*) +Tue, 12 Aug 2003 10:15:59 +0000 +Checked in by : Robert Osfield +Fixed DrawVertex/DrawColors access of null arrays errors. -2005-12-15 20:56 robert +Sat, 9 Aug 2003 00:46:48 +0000 +Checked in by : Robert Osfield +Added s/getFastPathHint(). - * Added proper catch of Paul de Repentinguy name +Fri, 8 Aug 2003 14:41:37 +0000 +Checked in by : Don BURNS +updates makedefs and makerules for Mac OSX submitted by Bob Kuehne -2005-12-15 19:38 robert +Fri, 8 Aug 2003 00:36:51 +0000 +Checked in by : Robert Osfield +Added support for clampping the near and far values in othrographic projection.Fixed the handling of anaglyphic/stereo state in SceneView::draw(). - * Updated wrappers. -2005-12-15 17:14 robert - * Improved stats handling, and fixed a couple of stats bugs. +Fri, 8 Aug 2003 00:21:30 +0000 +Checked in by : Robert Osfield +Added missing copy ops in the copy constructor.Added computeInternalOptimziedGeometry() and associated methods to Geometry +to support alternate versions of a geometry to be used to optimize rendering, +such as flattening indexed attributes to straight attribute arrays. -2005-12-15 16:30 robert - * From Jason Beverage, added option to control whether - simplification of - tiles is done during osgdem builds. -2005-12-15 16:24 robert +Fri, 8 Aug 2003 00:19:06 +0000 +Checked in by : Robert Osfield +Added convience constructor. - * From Matthew May, fixes for threading problems under FreeBSD - build. +Mon, 4 Aug 2003 22:03:55 +0000 +Checked in by : Robert Osfield +Fixed computeFastPathsUsed() so that it includes a check for the presence of _vertexIndices and disables fast paths in this case. -2005-12-15 15:50 robert +Mon, 4 Aug 2003 21:09:40 +0000 +Checked in by : Robert Osfield +From Romano Magacho. add osg:: to Referenced() calls for IRIX build. - * Removed Switch::removedChild(Node*) as the - Group::removeChild(Node*) implementation - should be sufficient, as it calls the virtual - removeChild(uint,uint). +Mon, 4 Aug 2003 21:04:48 +0000 +Checked in by : Robert Osfield +From Gideon May, added 'd' to end of osgdb_osgSim.lib for debug build. -2005-12-15 15:36 robert +Mon, 4 Aug 2003 16:26:45 +0000 +Checked in by : Don BURNS +Removed a couple of stray PRODUCER_LIB_DIR definitions in the examples - * From Paul de Repentigny, ciyple fo fixes for the DXF reader. +Sun, 3 Aug 2003 02:59:48 +0000 +Checked in by : Robert Osfield +Fixed VC6 for scoping problem in ive plugin. -2005-12-15 15:25 robert +Sun, 3 Aug 2003 00:24:59 +0000 +Checked in by : Robert Osfield +From Romano Magacho, fix for compile problem under IRIX. - * From Yefei He, fix to QUAD_STRIP stats. +Sat, 26 Jul 2003 23:44:55 +0000 +Checked in by : Robert Osfield +Post release revision change. -2005-12-09 22:53 robert +Sat, 26 Jul 2003 23:06:23 +0000 +Checked in by : Robert Osfield +Updated dependencies. - * Updated version/revision for 1.0.0 release. +Sat, 26 Jul 2003 22:44:04 +0000 +Checked in by : Don BURNS +Small typo -2005-12-09 20:17 robert +Sat, 26 Jul 2003 22:32:19 +0000 +Checked in by : Robert Osfield +Typos fixed. - * Updated NEWS and AUTHORS files for the release. +Sat, 26 Jul 2003 21:06:39 +0000 +Checked in by : Robert Osfield +Updated changelog for release. -2005-12-09 20:10 robert +Sat, 26 Jul 2003 21:01:43 +0000 +Checked in by : Robert Osfield +Updated NEWS for release. - * Updated ChangeLog for 1.0 release. +Sat, 26 Jul 2003 19:08:04 +0000 +Checked in by : Robert Osfield +Updated NEWS -2005-12-09 20:03 robert +Sat, 26 Jul 2003 18:57:12 +0000 +Checked in by : Robert Osfield +Fixed warning in jpeg loader by replacing longjmp with throw/catch. - * Fixed typo in comments and onscreen help. +Sat, 26 Jul 2003 14:15:24 +0000 +Checked in by : Robert Osfield +Fixed long jump warning. CV: ---------------------------------------------------------------------- -2005-12-09 19:54 robert +Sat, 26 Jul 2003 04:51:38 +0000 +Checked in by : Robert Osfield +Added openthreads to list of dependencies.: - * Fixed the text to match the implementation. +Sat, 26 Jul 2003 04:25:27 +0000 +Checked in by : Robert Osfield +Fixed warnings. -2005-12-09 19:34 robert +Sat, 26 Jul 2003 01:02:39 +0000 +Checked in by : Don BURNS +Fixes to makedefs/makedirdefs ordering in some makefiles, and conditional build for osgslideshow on Sun - * From Thom DeCarlo, changed of ?= to = in Cygwin/minw options for - INST_LOCATION. +Sat, 26 Jul 2003 00:12:17 +0000 +Checked in by : Don BURNS +Removed command line definitions of OSG_VERSION and OSG_RELEASE -2005-12-09 19:14 robert +Fri, 25 Jul 2003 23:49:03 +0000 +Checked in by : Don BURNS +Removed references to PRODUCER_INCLUDE_DIR and PRODUCER_LIB_DIR in the local makefiles.Small change in txp loader for sun build - * From Simon Julier, library reordering for compiling osgTerrain - under cygwin. -2005-12-09 16:00 robert - * Changed constructors to use unsigned int to get round VS6.0 + - wrapper problems. +Thu, 24 Jul 2003 06:13:24 +0000 +Checked in by : Robert Osfield +Fixed warnings. -2005-12-09 15:05 robert +Thu, 24 Jul 2003 06:09:28 +0000 +Checked in by : Robert Osfield +Fixed warning. - * From Simon Julier, fix for .exe extension under Mingw/Cygwin. +Thu, 24 Jul 2003 06:07:12 +0000 +Checked in by : Robert Osfield +Fixed warning, which was actually a bug, sometimes you've just gotta love pedantic warnings. -2005-12-09 14:52 robert +Thu, 24 Jul 2003 06:05:54 +0000 +Checked in by : Robert Osfield +Fix warnings. - * Build fix for VS6.0 in the template constructors +Wed, 23 Jul 2003 21:32:11 +0000 +Checked in by : Robert Osfield +Removed all references to sleep/usleep. -2005-12-09 11:22 robert +Wed, 23 Jul 2003 21:18:04 +0000 +Checked in by : Robert Osfield +Moved t->testCancel() to end of loop.Changed a sleep() to a Yield. - * From Eric Wing, added missing removeChildren method. +Removed debugging messages. -2005-12-09 09:38 robert - * From Eric Sokolosky, add setting of _cameraRequiresSetUp in - constructor to - avoid uninitialized variable. -2005-12-08 22:12 robert +Wed, 23 Jul 2003 21:03:35 +0000 +Checked in by : Robert Osfield +From Gideon, update to the PolygonOffset for the background quad. - * Updated NEWS. +Wed, 23 Jul 2003 20:57:57 +0000 +Checked in by : Robert Osfield +Added makefile. -2005-12-08 20:32 robert +Wed, 23 Jul 2003 20:55:26 +0000 +Checked in by : Robert Osfield +Made the fine grained checking of GL errors off by default. - * From Paul Martz, changed Vec3 to Vec3d to ensure that the lazy - evaluation of computeBound work properly. +Wed, 23 Jul 2003 20:53:53 +0000 +Checked in by : Robert Osfield +From Romano José Magacho da Silva, extension checking for NV_occlusion_query extension. -2005-12-08 14:08 robert +Wed, 23 Jul 2003 20:50:56 +0000 +Checked in by : Robert Osfield +From Sean, fix for Sun windows extension checking. - * From Simon Julier, fixed typo of unknown. +Wed, 23 Jul 2003 20:38:46 +0000 +Checked in by : Robert Osfield +Fixes to paths and dependancies. -2005-12-08 12:02 robert +Wed, 23 Jul 2003 19:08:42 +0000 +Checked in by : Don BURNS +Added conditionals to find OpenThreads include and library directories if not installed - * Updated AUTHORS and ChangeLog for rc9. +Wed, 23 Jul 2003 18:32:52 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build. -2005-12-08 11:53 robert +Wed, 23 Jul 2003 18:25:04 +0000 +Checked in by : Robert Osfield +Fixed typo of SlideShowContructor.cpp - * Updated NEWS from wiki ammendments. +Wed, 23 Jul 2003 15:52:05 +0000 +Checked in by : Robert Osfield +Added support for PagedLOD node into .ive format and added support forEnabled texture object reuse by setting an expiry delay in the TextureObjectManager +of 10 seconds - done for both osgDB::DatabasePager and TXP plugin. -2005-12-08 11:37 robert - * From Simon Julier, build fixes for Cygwin/mingw -2005-12-08 11:01 robert +Wed, 23 Jul 2003 15:12:52 +0000 +Checked in by : Robert Osfield +Added control of auto option into slideshow3D - * Added support for pre and post relative transforms on cameranode. +Wed, 23 Jul 2003 15:00:07 +0000 +Checked in by : Robert Osfield +Fixed typo's slideshow3D -2005-12-08 10:06 robert +Wed, 23 Jul 2003 14:59:27 +0000 +Checked in by : Robert Osfield +Fixed blending mode on stats output. - * Added CameraNode::releaseGLObejcts() to help in clean up, and - changed the - ordering in SceneView::flushDeleteGLObjects() so that fbo's are - deleted - before any texture objects they use are deleted. +Wed, 23 Jul 2003 14:06:32 +0000 +Checked in by : Robert Osfield +From Gideon May, added support for osgSim into .osg file format. -2005-12-08 10:03 robert +Wed, 23 Jul 2003 13:34:48 +0000 +Checked in by : Robert Osfield +Merged changes from Nicklov Trajce and Boris Bralo. - * Changed s/getGdalDataset() methods to use void* to avoid - introspeciton wrapping problems. +Wed, 23 Jul 2003 12:06:37 +0000 +Checked in by : Robert Osfield +Updated docs to reflect new data direcory. -2005-12-08 08:57 robert +Wed, 23 Jul 2003 11:45:37 +0000 +Checked in by : Robert Osfield +Warning fixes from Gideon May. - * From Eric Wing, fix to comment. +Wed, 23 Jul 2003 11:37:06 +0000 +Checked in by : Robert Osfield +Added slideshow3D.dsp. -2005-12-07 15:29 robert +Wed, 23 Jul 2003 11:27:31 +0000 +Checked in by : Robert Osfield +Updated doc++ documentation. - * Added new Node::getParentalNodePaths() method. - - Added better handling in computeIntersections(..) of nodes that - are internal - to the scene graph, correctly accounting for the accumulated - transforms. - - Changed the EventVisitor so that it only traveses active children - rather than - all children. - - Updated wrappers. +Wed, 23 Jul 2003 10:11:48 +0000 +Checked in by : Robert Osfield +Fixed osgslideshow3D to slideshow3D -2005-12-07 15:26 robert +Wed, 23 Jul 2003 09:27:09 +0000 +Checked in by : Robert Osfield +Added slideshow3D to the examples list under VisualStudio.Partially updated the NEWS.txt. - * From Antonoine Hue, a small modification to the - osgTerrain::DataSet - to be able to pass an already opened GDAL Dataset to the - osgTerrain::DataSet::Source -2005-12-07 12:29 robert - * Updated NEWS for release +Wed, 23 Jul 2003 08:54:29 +0000 +Checked in by : Robert Osfield +Bumped up version numbers in preperation for the 0.9.5 release. -2005-12-07 11:38 robert +Wed, 23 Jul 2003 08:48:23 +0000 +Checked in by : Robert Osfield +Made the keyboard mouse callback a ref_ptr<> managed object to fix ref count problem. - * From Eric Wing, fixed typo induced bug. +Wed, 23 Jul 2003 08:18:19 +0000 +Checked in by : Robert Osfield +Added check to allocateImage() so that if the pixel size wouldn't be computed unless valid _data already existed on the object. -2005-12-07 11:36 robert +Tue, 22 Jul 2003 21:03:59 +0000 +Checked in by : Robert Osfield +Added support for osg::State::s/getInitialViewMatrix();Added slideshow3D examples to the runexamples.bat. - * Added Camera::isRenderToTextureCamera() method, and improved - support in PickVisitor - and IntersectVisitor for CameraNode, including the ignoring of - render to texture cameras, - such that HUD's etc are still intersected against. +Fixed DatabasePager to work with the latest OpenThreads. -2005-12-07 10:25 robert - * Moved PickVistor into osgUtil -2005-12-07 09:48 robert +Tue, 22 Jul 2003 15:35:51 +0000 +Checked in by : Robert Osfield +Updates to the slideshow3D app. - * Enabled thread safe counting by default. +Tue, 22 Jul 2003 12:48:31 +0000 +Checked in by : Robert Osfield +Made BlinkSequence subclass from osg::Object. -2005-12-06 21:59 robert +Tue, 22 Jul 2003 12:39:40 +0000 +Checked in by : Robert Osfield +Added XML support and slideshow constructor to slideshow3D example, now renamed from the previous osgslideshow. - * Improved the PickVisitor to make it more flexible and robust. +Tue, 22 Jul 2003 10:33:56 +0000 +Checked in by : Robert Osfield +Changed the Sector classes so they are derive from osg::Object to allow them to be shared objects with the .osg support. -2005-12-06 12:07 robert +Tue, 22 Jul 2003 08:42:14 +0000 +Checked in by : Robert Osfield +Added Images/ infront of lz.rgb path. - * Removed osgdemeter example from distribution because it no longer - compiles, - and Demeter itself nolonger compiles, osgdemeter has now been - moved to the community - section of openscenegraph.org. +Mon, 21 Jul 2003 18:36:47 +0000 +Checked in by : Robert Osfield +From Marco, updates to osgDB and .osg plugin to better handle reading of objects of specified types. -2005-12-06 11:24 robert +Mon, 21 Jul 2003 15:51:43 +0000 +Checked in by : Robert Osfield +Added yield call to database paging main loop. - * Added checks in the drawImplementation to catch when attribute - bindings are set on - but the relevant arrays remain unset, this prevents previous - crash when this - occured. +Mon, 21 Jul 2003 15:26:06 +0000 +Checked in by : Robert Osfield +Fixed osgDB plugin. -2005-12-06 10:26 robert +Mon, 21 Jul 2003 11:54:51 +0000 +Checked in by : Robert Osfield +Removed old link. - * From Gideon May, fixed typo in docs. +Mon, 21 Jul 2003 10:39:07 +0000 +Checked in by : Robert Osfield +Added missing DatabasePager. -2005-12-06 10:18 robert +Mon, 21 Jul 2003 10:11:34 +0000 +Checked in by : Robert Osfield +Added -lOpenThreads to the OSX defines. - * From Farshid Lashkari, removed second redundent - dirtyDisplayList() call. +Mon, 21 Jul 2003 08:19:36 +0000 +Checked in by : Robert Osfield +Moved DatabasePager into from osgProducer into osgDB. This means that osgDB is now dependant on OpenThreads. -2005-12-06 10:16 robert +Sun, 20 Jul 2003 00:51:56 +0000 +Checked in by : Don BURNS +Integrated OpenThreads and brought dsps up to snuff on Win32 - * From Louis Hamilton, fix to LightPoint's under 64 bit build, - changing longs to ints in - colour conversion code. +Sat, 19 Jul 2003 17:55:18 +0000 +Checked in by : Don BURNS +Small bug in instrules -2005-12-05 20:11 robert +Sat, 19 Jul 2003 17:46:45 +0000 +Checked in by : Don BURNS +passing $(MAKE) into instexamplesrc script to shut the religious fanatics on the mailing list up. - * Changed debug message to INFO. +Sat, 19 Jul 2003 00:18:07 +0000 +Checked in by : Don BURNS +Updated OSG to use OpenThreads. Moved any references to OpenThread to OpenThreads and removed any dependency on Producer threads, Mutexes, etc. -2005-12-05 10:24 robert +Thu, 17 Jul 2003 06:43:15 +0000 +Checked in by : Robert Osfield +From Romano Jose Magacho da Silva, added osg:FragmentProgram.From Robert, add .osg support for FragmentProgram. - * Attempt at build fixes for IRIX. -2005-12-05 10:23 robert - * Removed the closeLibraries call from the registry singleton - desctuction. +Wed, 16 Jul 2003 22:26:17 +0000 +Checked in by : Robert Osfield +From Ruben, added support for vertex program in .osg loader. -2005-12-05 10:08 robert +Wed, 16 Jul 2003 22:15:28 +0000 +Checked in by : Robert Osfield +Added setProjectionMatrix*(), setViewMatrix*() and get*() methods to osgUtil::SceneView. - * From Geoff Michel, Fix to prevent Producer::Trackball being set - up with a negative - radius. +Wed, 16 Jul 2003 20:14:48 +0000 +Checked in by : Robert Osfield +Added osg::Matrix::getOtho,getFrustum and getLookAt() methods.Added test for new matrix methods into unit tests example, but these really +should go in their own lib... -2005-12-04 20:08 robert - * Fixed tabbing. -2005-12-03 15:12 robert +Wed, 16 Jul 2003 13:17:11 +0000 +Checked in by : Robert Osfield +Rejigged the management of state in the stats and help drawing so that it used StateSet's rather than straight OpenGL calls. - * Added OSG_EXPORT to PrimitiveSet. +Wed, 16 Jul 2003 09:52:43 +0000 +Checked in by : Robert Osfield +Improvements to the handling of deletion of OpenGL rendering objets such as display lists and textures object such that they can be deleted according to an available amount of time given to do deletes. -2005-12-03 00:03 robert +Tue, 15 Jul 2003 21:19:03 +0000 +Checked in by : Robert Osfield +Updates to the flush rendering objects function calls to allow for managment of amount of time available to do gl delete's. This control is required for constant frame rate applications. - * Moved the body of the getNumPrimitives() into the .cpp. +Tue, 15 Jul 2003 20:23:45 +0000 +Checked in by : Robert Osfield +Fixed case of OSGL2_EXPORT define in project file. -2005-12-02 12:30 robert +Tue, 15 Jul 2003 18:52:40 +0000 +Checked in by : Robert Osfield +Added extern + export's to global functions. - * Updated ChangeLog, AUTHTORS.txt and osgversion for next release - candidate. +Tue, 15 Jul 2003 18:19:21 +0000 +Checked in by : Robert Osfield +Added missing osg:: infront of Referenced() contructor. -2005-12-02 12:10 robert +Tue, 15 Jul 2003 16:22:29 +0000 +Checked in by : Robert Osfield +Moved PROGRAMOBJECT definition into StateAttribute. - * Fixed typos in NEWS, improved formating. +Tue, 15 Jul 2003 16:20:50 +0000 +Checked in by : Robert Osfield +Fix for compile oddities on an Octane with old zlib headers hanging around, change is non intrusive. -2005-12-02 11:59 robert +Tue, 15 Jul 2003 15:49:46 +0000 +Checked in by : Robert Osfield +Added osgGL2 to workspace file. - * Updated NEWS with quotes. +Tue, 15 Jul 2003 13:46:19 +0000 +Checked in by : Robert Osfield +Moved osg::Statistics to osgUtil::Statistics and merged addition to it fro Pavel Moloshtan. -2005-12-02 09:57 robert +Tue, 15 Jul 2003 11:49:56 +0000 +Checked in by : Robert Osfield +Changed the SceneView::setModelViewMatrix() methods across to being setViewMatrix(). The old RefMatrix methods for setModelViewMatrix() and setProjectMatrix() have been removed to keep the API as minimal as possible. - * Added a static_cast to get round IRIX64 build - problem. +Tue, 15 Jul 2003 10:45:46 +0000 +Checked in by : Robert Osfield +From Mike Weiblen's osgGL2 node kit which support the latest OpenGL 2.0 extensions. -2005-12-02 00:25 robert +Tue, 15 Jul 2003 09:39:45 +0000 +Checked in by : Robert Osfield +From Bart Gallet, updates to VisualStudo .dsp's to keep things compiling under Windows. - * From Marco Jez, hack/fix for VS compile/link problems related to - STL containers. +Tue, 15 Jul 2003 08:17:54 +0000 +Checked in by : Robert Osfield +From Gideon May, added typedef T element_type; -2005-12-02 00:21 robert +To ref_ptr<> to make it compatible with the boost ref_ptr<> implemenations. - * Updated NEWS -2005-12-01 16:44 robert - * Updated NEWS +Tue, 15 Jul 2003 07:53:25 +0000 +Checked in by : Robert Osfield +Compile fixes. -2005-12-01 16:43 robert +Mon, 14 Jul 2003 19:12:22 +0000 +Checked in by : Robert Osfield +Attempt to fix compile error caused by recent change in osg::Texture. - * Added comments. +Mon, 14 Jul 2003 14:42:10 +0000 +Checked in by : Robert Osfield +Added support for texture object manager, which provides an automatic mechansim for reusing deleted textures. -2005-12-01 14:37 robert +Fri, 11 Jul 2003 22:05:34 +0000 +Checked in by : Robert Osfield +warning fixes for IRIX. - * From Ali Botorabi, fixed the setDefault() fallback to properly - handle the case - when no scene view light is requested. +Fri, 11 Jul 2003 18:46:56 +0000 +Checked in by : Don BURNS +included for SGI compilation of Timer header file -2005-12-01 14:09 robert +Thu, 10 Jul 2003 15:23:18 +0000 +Checked in by : Robert Osfield +Added dataToMergeList into checks for active subgraphs. - * Added TestSupportCallback to properly handle querry of OpenGL - support of - vertex texturing in GLSL. +Thu, 10 Jul 2003 14:53:07 +0000 +Checked in by : Robert Osfield +Added default constructor implemention to LOD and PagedLOD.Added verbose messages to DatabasePager. -2005-12-01 13:38 robert - * From Thom DeCarlo, build fix for Cygwin. -2005-12-01 13:19 robert +Thu, 10 Jul 2003 13:48:56 +0000 +Checked in by : Robert Osfield +Fix to accomodate function name change in osgDB::Registry. - * From Geoff Michel, fixed the handling of zfar values of 0.0. +Thu, 10 Jul 2003 13:35:19 +0000 +Checked in by : Robert Osfield +From Michael Gronger, addition of ReaderWriter* Registry::getReaderWriterForExtension(const std::string& ext).Also removed copy constructor and = operator from Ouput as it was produce +spurious warnings under gcc 3.3. -2005-11-30 15:30 robert - * Updated NEWS. -2005-11-29 22:29 robert +Thu, 10 Jul 2003 13:18:13 +0000 +Checked in by : Robert Osfield +From Tree, fixes for text bounding box initialization. - * Updated changed log for 1.0-rc7. +Thu, 10 Jul 2003 13:11:25 +0000 +Checked in by : Robert Osfield +From Eric Sokolosky, insertChild(). -2005-11-29 18:38 robert +Thu, 10 Jul 2003 11:10:39 +0000 +Checked in by : Robert Osfield +Updates to the DatabasePager code to include support for compiling texture objects and display lists before merging loaded subgraphs with the main scene graph. - * Added default opening of the file as a binary file, and once the - type is - confirmed then close and reopen as an ascii as required. This is - done to get - round problems under Windows. - - Also made the running of the SmoothingVisitor optional, now use - -O smooth to - make the loader run the osgUtil::SmoothingVisitor over the model. +Thu, 10 Jul 2003 08:05:24 +0000 +Checked in by : Robert Osfield +From Bob Kuehne, Fixed typo. -2005-11-29 14:20 robert +Thu, 10 Jul 2003 07:51:01 +0000 +Checked in by : Robert Osfield +Fixed typo. - * Updated ChangeLog, osgversion.cpp and AUTHORS.txt for 1.0-rc6. +Wed, 9 Jul 2003 19:48:04 +0000 +Checked in by : Robert Osfield +Further updates to the DatabasePager. -2005-11-29 14:07 robert +Wed, 9 Jul 2003 14:55:39 +0000 +Checked in by : Robert Osfield +Improvements to the DatabasePager and PagedLOD class adding support for deleting expuired children in the database thread. - * Updated NEWS with second draft of press release. +Wed, 9 Jul 2003 07:41:53 +0000 +Checked in by : Robert Osfield +Added #include to DatabasePager.cpp. -2005-11-29 12:09 robert +Tue, 8 Jul 2003 14:44:00 +0000 +Checked in by : Robert Osfield +Added osg::PagedLOD and osgProducer::DatabasePager class, and linked up osgProducer::Viewer to manage the pager. - * Added CameraBarrierCallback so that multi-thread multi-cameras - are synconized - correctly when do stats collection. +Mon, 7 Jul 2003 08:01:09 +0000 +Checked in by : Robert Osfield +Tweaked osg::Geometry's VBO code so that it should not call VBO when the extension is not supported. -2005-11-29 11:39 robert +Sat, 5 Jul 2003 19:49:06 +0000 +Checked in by : Robert Osfield +Added missing setUseVertexBufferObject(). - * From Eric Wing, fixes for "warning: converting of negative value - '-0x00000000000000001' to 'unsigned int'" +Sat, 5 Jul 2003 19:08:30 +0000 +Checked in by : Robert Osfield +Integrated various fixes from users. -2005-11-29 08:59 robert +Wed, 2 Jul 2003 01:56:12 +0000 +Checked in by : Don BURNS +Fixed glBindBufferARB to extensions->glBindBuffer() - * Switched off the VBO usage in osgparametric as it was tripping up - ATI and 3DLabs drivers. +Mon, 30 Jun 2003 06:41:42 +0000 +Checked in by : Robert Osfield +Added an osg:: infront of the Object() copy constructor call to AttrData. -2005-11-28 20:08 robert +Sun, 29 Jun 2003 21:53:38 +0000 +Checked in by : Robert Osfield +Added support for chunking the point data clouds into 10,000 point chunks to better optimize the VBO and AGP needs. - * Added temporary ref_ptr to prevent the _image going - out of scope - due to another thread complete the texture::apply() while the - present texture::apply() - is still running. +Sun, 29 Jun 2003 21:41:57 +0000 +Checked in by : Robert Osfield +Added support for the ARB_vertex_buffer_object into osg::Geometry. -2005-11-28 10:58 robert +Sat, 28 Jun 2003 17:35:17 +0000 +Checked in by : Don BURNS +fixed makeinnosetup - * Fixed warning. +Fri, 27 Jun 2003 21:41:00 +0000 +Checked in by : Don BURNS +Updates to makeinnosetup to work a bit smoother -2005-11-28 09:15 robert +Fri, 27 Jun 2003 21:01:18 +0000 +Checked in by : Don BURNS +Change some wording in help.sh and added makeinnosetup - * From Gideon May, port to OSX of GLUT examples. +Fri, 27 Jun 2003 14:33:37 +0000 +Checked in by : Robert Osfield +Added #include -2005-11-27 15:32 robert +Fri, 27 Jun 2003 14:33:13 +0000 +Checked in by : Robert Osfield +Added #include - * From Geoff Michel, fix for the scaling of the random number - generation. +Thu, 26 Jun 2003 16:21:49 +0000 +Checked in by : Robert Osfield +From Tree, updates to osgText and freetype plugin to support are kerning paramter. -2005-11-25 20:23 robert +Wed, 25 Jun 2003 22:11:12 +0000 +Checked in by : Robert Osfield +Addition of text to default presentation. - * Updated ChangeLog and authors file. +Wed, 25 Jun 2003 10:39:11 +0000 +Checked in by : Robert Osfield +Fixed from Pavel for the stats in RenderBin.cpp -2005-11-25 19:18 robert +Wed, 25 Jun 2003 10:30:46 +0000 +Checked in by : Robert Osfield +Updated NEWS.Added AttrData.h to flt.dsp - * From John Donovan, typo fixes. +Removed redundent (and duplicate definition of RenderBinPrototypeList and its +associated static) from the RenderBin header. -2005-11-25 14:58 robert - * Added disable of spurious VS6.0 warning. -2005-11-25 13:45 robert +Wed, 25 Jun 2003 10:12:50 +0000 +Checked in by : Robert Osfield +From Julia Oritz Rojas, support for detail textures. - * Fixed docs of setImage. +Wed, 25 Jun 2003 08:58:48 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, added support for TextureRectangle to .osg format. -2005-11-25 12:31 robert +Wed, 25 Jun 2003 08:50:57 +0000 +Checked in by : Robert Osfield +Spotted by Norman Vine - fixed typo in intersect visitor. - * Added releaseGLObjects to PrimitiveSet. +Wed, 25 Jun 2003 07:59:59 +0000 +Checked in by : Robert Osfield +Test of cvs. -2005-11-25 10:32 robert +Wed, 25 Jun 2003 07:50:19 +0000 +Checked in by : Robert Osfield +Added TessellationHints. - * Fixed typo of dxf. +Tue, 24 Jun 2003 22:11:13 +0000 +Checked in by : Robert Osfield +Added missing file. -2005-11-24 19:53 robert +Tue, 24 Jun 2003 21:57:13 +0000 +Checked in by : Robert Osfield +Additions since the CVS back up was made. - * Lightened by the ambientBias term. +Tue, 24 Jun 2003 15:40:09 +0000 +Checked in by : Don BURNS +*** empty log message *** -2005-11-24 15:18 robert +Tue, 24 Jun 2003 15:39:59 +0000 +Checked in by : Don BURNS +Updating 5/27/03 backup with 6/20/03 tarball - * Added FBO deletion support, and better FBO querry and fallback - mechansim in RenderStage. +Tue, 24 Jun 2003 15:36:53 +0000 +Checked in by : Don BURNS +Update of 5/27/03 backup with 6/20/03 tarball -2005-11-24 15:17 robert +Tue, 27 May 2003 17:04:01 +0000 +Checked in by : Robert Osfield +Converted dos to unix file endings. - * Changed the VS template export block to just compile when VS - verion >= 1300 (VS.NET onwards.) +Tue, 27 May 2003 11:03:49 +0000 +Checked in by : Robert Osfield +Added support for scaling the projection in vertical and horizontal split stereo modes. -2005-11-24 10:28 robert +Tue, 27 May 2003 11:02:45 +0000 +Checked in by : Robert Osfield +Reverted recent changes so the set(Matrix&) method. - * Changed the default value of Texture::_resizeNonPowerOfTwoHint to - true, to - improve the backwards compatibility of peformance on systems that - have OpenGL2.0 - drivers but without hardware that can't handle non power of two - textures. +Mon, 26 May 2003 15:00:38 +0000 +Checked in by : Robert Osfield +Adjustments to the horizontal and vertical split stereo code for better handling of aspect ratio. -2005-11-24 10:14 robert +Mon, 26 May 2003 11:02:42 +0000 +Checked in by : Robert Osfield +Added missing std:: - * Added automatic setting of thread safe reference counting when - multi-threaded - cameras are used. +Mon, 26 May 2003 10:05:52 +0000 +Checked in by : Robert Osfield +Added 3dc plugin for reading Arias 3D point clouds. -2005-11-23 16:32 robert +Mon, 26 May 2003 09:29:59 +0000 +Checked in by : Robert Osfield +Moved the GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB into its own #ifndef block to help with OSX support. - * Changed CameraNode::getDataChangeMutex() to be a pointer rather - than a reference to - get around osgIntrospeciton build problem with the - OpenThreads::Mutex copy constructor being private. +Mon, 26 May 2003 09:27:16 +0000 +Checked in by : Robert Osfield +Adding support using istream and ostream with the reader writers. -2005-11-23 16:24 robert +Sun, 25 May 2003 21:06:23 +0000 +Checked in by : Robert Osfield +Added mention of DYLD_BIND_AT_LAUNCH to OSX docs. - * Updated AUTHORES, ChangeLog, NEWS and version number for 1.0-rc6 +Sun, 25 May 2003 16:08:57 +0000 +Checked in by : Robert Osfield +From Geoff Michel, conversion from GeoSet to Geometry. -2005-11-23 15:25 robert +Sat, 24 May 2003 14:42:00 +0000 +Checked in by : Robert Osfield +Removed export macro. - * Changed the linux implement of getGLExtensionFuncPtr to querry - for glXGetProcAddressARB - and then use this if its available, otherwise fallback to the - original dlsym usage. +Sat, 24 May 2003 14:26:20 +0000 +Checked in by : Robert Osfield +Added missing std:: -2005-11-23 13:44 robert +Fri, 23 May 2003 19:51:12 +0000 +Checked in by : Robert Osfield +Added ive reader/writer - from Rune Schmidt Jensen/Michael Gronager - * Added multi-buffering of the CameraNode::_renderingCache to help - cope with multiple graphis context usages. +Thu, 22 May 2003 15:29:20 +0000 +Checked in by : Robert Osfield +Fixes to the Optimizer's handling of merging of osg::Geometry -2005-11-23 12:16 robert +Thu, 22 May 2003 14:02:10 +0000 +Checked in by : Robert Osfield +Removed occurances of SG_EXPORT. - * Fixed mistmatch of ReadFileCallback type. +Thu, 22 May 2003 11:09:28 +0000 +Checked in by : Robert Osfield +Convert Performer plugin across to generate osg::Geometry directly. -2005-11-23 10:16 robert +Thu, 22 May 2003 08:40:53 +0000 +Checked in by : Robert Osfield +Added syntax highlighting for VisualStudio7.1 from Joseph Steel. - * Moved getGLExtensionFuncPtr implementation into the .cpp to make - it easier to - change it implementation without forcing a complete recompile. +Wed, 21 May 2003 21:32:56 +0000 +Checked in by : Robert Osfield +Improved the handling of scaled matrices in the Quat::set(Matrix&) method. -2005-11-23 10:15 robert +Wed, 21 May 2003 16:33:53 +0000 +Checked in by : Robert Osfield +Removed the _state.reset() call as it was doing OpenGL calls outside of the thread with the graphics context. - * From Marco Jez, typo fix if GL extension name. +Wed, 21 May 2003 14:34:12 +0000 +Checked in by : Robert Osfield +Added GeoSet to osgconv. -2005-11-22 21:14 robert +Wed, 21 May 2003 12:15:45 +0000 +Checked in by : Robert Osfield +Removed osg::GeoSet for core osg lib and osgPlugin.Commented out OpenDX plugin as its still based on GeoSet. - * Simplified the TangentSpaceGenerator so that is automatically - converts any models - with indices to one without indices and then runs the tangent - space generation code on the result. +Added support for loading and converting GeoSet into the osgconv example. -2005-11-22 14:35 robert - * From Markus Trenkwalder, fixed placment of libs in mingw build. -2005-11-22 13:56 robert +Tue, 20 May 2003 20:45:10 +0000 +Checked in by : Robert Osfield +Added usage of the InputRectangle into setting up of the EventAdapter. - * Added missing dirtyDisplayList call into osg::Geometry::set - calls. +Tue, 20 May 2003 19:48:07 +0000 +Checked in by : Robert Osfield +Removed spurious editing file. -2005-11-22 13:14 robert +Tue, 20 May 2003 14:05:19 +0000 +Checked in by : Robert Osfield +Added osgtexturerectangle example from Ulrich Hertlein. - * Added DatabasePager::s/getDrawablePolicy() to allow the way that - the display list/VBO settings - are applied to loaded databases. +Tue, 20 May 2003 13:21:05 +0000 +Checked in by : Robert Osfield +Fixes to the handling of mouse coords after changes in the default behavior of Producer. -2005-11-22 10:26 robert +Tue, 20 May 2003 11:01:16 +0000 +Checked in by : Robert Osfield +Added setProjectMatrix(const Matrix&) and setModelViewMatrix(const Matrix&) methods. - * Added check against LODScale being zero, and fixed the search for - the maximum - LOD range in the pixel size range fallback. +Tue, 20 May 2003 08:57:02 +0000 +Checked in by : Robert Osfield +Removed redundent write_usage function. -2005-11-22 10:08 robert +Tue, 20 May 2003 08:47:21 +0000 +Checked in by : Robert Osfield +Changed the fusion distance update code to use OsgCameraGroup::setDistanceDistance() rather than going through the SceneView's by hand. This should ensure that values are kept consistent betwen OsgCameraGroup and SceneView's. - * From Chris Hanson, add LODScale support to pixel based LOD range - selection. +Tue, 20 May 2003 08:43:09 +0000 +Checked in by : Robert Osfield +Fixed manipulator. -2005-11-22 09:57 robert +Tue, 20 May 2003 08:09:36 +0000 +Checked in by : Robert Osfield +Removed the now redundent osg::Camera. - * From Jason Daly, (with small tweak by Robert Osfield) fix for - Prorgram::removeShader(Shader*) - so that it properly remove the shader and its entry in the - _shaderList. +Mon, 19 May 2003 20:18:37 +0000 +Checked in by : Robert Osfield +Removed all KeySwitchCameraManipulator class, replacing it with the KeySwitchMatrixManipulator -2005-11-22 09:51 robert +Mon, 19 May 2003 15:15:17 +0000 +Checked in by : Robert Osfield +Removed remaining dependancies on osg::Camera. - * From Eric Wing, warning fixes for gcc4.0/OSX. +Sat, 17 May 2003 13:15:54 +0000 +Checked in by : Robert Osfield +Removed redundent const -2005-11-22 09:47 robert +Sat, 17 May 2003 09:03:06 +0000 +Checked in by : Robert Osfield +Renamed png pnm - * From Marco Jez, fix for wchar_t being redefined. +Sat, 17 May 2003 08:36:25 +0000 +Checked in by : Robert Osfield +Removed superfluous const -2005-11-21 16:29 robert +Wed, 14 May 2003 16:07:39 +0000 +Checked in by : Don BURNS +Small operation precedence bug fixed in Text.cpp - * Updated NEWS +Fri, 9 May 2003 13:07:06 +0000 +Checked in by : Robert Osfield +Updates to the handling of vertex attributes. -2005-11-21 16:15 robert +Thu, 8 May 2003 15:13:50 +0000 +Checked in by : Robert Osfield +Add osgUtil as a dependancy of osgText - * Updated ChangeLog and authors file. +Thu, 8 May 2003 14:02:50 +0000 +Checked in by : Robert Osfield +Memory leak fixes from Joseph Steel. -2005-11-21 13:51 robert +Wed, 7 May 2003 15:26:08 +0000 +Checked in by : Robert Osfield +Added UserData to NodeVisitor. - * From Roger James, reworked the export of std::vector<> on - standard types to prevent - problems with .lib being built for all targets under VS7.x +Wed, 7 May 2003 13:13:13 +0000 +Checked in by : Robert Osfield +From Romano José Magacho da Silva, support for vertex attributes in vertex program. -2005-11-20 22:07 robert +Wed, 7 May 2003 11:13:49 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, support for mouse scroll wheel in osgGA/osgProducer. - * Replaced asserts with notification of error. +Wed, 7 May 2003 09:35:43 +0000 +Checked in by : Robert Osfield +Changed the CullVisitor::popProjection() so that it doesn't adjust orthorgraphic projection matrices. -2005-11-20 22:06 robert +Tue, 6 May 2003 18:04:27 +0000 +Checked in by : Robert Osfield +Aded extra constructors to BlendFunc and Depth to help set them up convieniently.Added a background quad to osghud. - * From Donn Mielcarek, added support Materials being declared - globally. -2005-11-19 12:18 robert - * Updated ChangeLog, osgversion and AUTHORS file. +Tue, 6 May 2003 13:13:31 +0000 +Checked in by : Robert Osfield +Added support for multibuffering of tex coordinates. -2005-11-18 17:04 robert +Mon, 5 May 2003 14:30:12 +0000 +Checked in by : Robert Osfield +Fixed accept(PrimitiveFunctor&) so it uses the transform coords correctly. - * Added the ability for osgParticle::ParticleEffect to switch off - the automatic setup. - Normally the automatic setup is useful, but in the case of the - .osg support this automatic - update was forcing premature loading of imagery that wasn't - necessarily, and can lead to - reports of looking for files that arn't present. +Fri, 2 May 2003 18:24:56 +0000 +Checked in by : Robert Osfield +Fixed build. -2005-11-18 15:00 robert +Thu, 1 May 2003 21:06:18 +0000 +Checked in by : Robert Osfield +Addd support for maximum screen text size into osgText when auto scale to screen is active.Added osgautotransform demo. - * Added s/getCenter and s/getRotation methods, and updated wrapper. -2005-11-18 14:49 robert - * From Toshiyuki Takeahei, addition of s/getDistance() methods +Thu, 1 May 2003 19:56:02 +0000 +Checked in by : Robert Osfield +Added set/getNearFarRatio() to CullVisitor. -2005-11-18 14:46 robert +Thu, 1 May 2003 08:51:03 +0000 +Checked in by : Robert Osfield +Remved exit(). - * The OpenFlight plugin was crashing with pre 15.6 .flt files that - contained - light points. This was due to the mismatch is size and fiels in - the LightPointRecord - before 15.6 and after it, the OSG's flt plugin was assuming just - 15.6 record - structure. As a temporary solution I have disabled the processing - of light point - records on .flt file version before 15.6, this allows these files - to be loaded - safely, but without light points. +Wed, 30 Apr 2003 15:40:57 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky - pnm (ppm, pgm, pbm) plugin -2005-11-18 10:03 robert +Wed, 30 Apr 2003 15:38:11 +0000 +Checked in by : Robert Osfield +Cleanup of the API. - * From Andrew Reyonolds : changed the endian conversion code to - work on a temporary - rather then on a flt structure to prevent repeated conversion of - the same value, - something that led to eroneously large light point string sizes. +Wed, 30 Apr 2003 11:41:24 +0000 +Checked in by : Robert Osfield +Reverted the test of setAutoScaleToScreen. -2005-11-18 09:52 robert +Wed, 30 Apr 2003 11:40:17 +0000 +Checked in by : Robert Osfield +Added support for automatic scaling of text to screen coords. Optimized the text implementation to provide better speed, especially by using the alignement to screen option.Deprecated the Text::setFontSize(,) method, which is now being replaced +by setFontResolution(,) - * From Rodger James, changed the Win32 static library compilation - support to use - OSG_LIBRARY_STATIC to avoid problems with building libs when not - required. +Fixed typos in Texture*.cpp. -2005-11-17 20:22 robert +Removed old deprecated methods from osg headers. - * Replaced tabs with spaces in examples. -2005-11-17 17:45 robert - * Updated wrappers. +Tue, 29 Apr 2003 14:24:11 +0000 +Checked in by : Robert Osfield +From Ben, promoted floats to doubles to produce better stability in the invert method. -2005-11-17 17:44 robert +Tue, 29 Apr 2003 00:55:12 +0000 +Checked in by : Don BURNS +set glDrawBuffer( GL_BACK ) in SceneView::draw() when not drawing in stereo mode. Without this, we end up drawing to the wrong buffer when toggling stereo off. - * Convert tabs to spaces. +Mon, 28 Apr 2003 12:57:58 +0000 +Checked in by : Robert Osfield +Updated NEWS. -2005-11-17 15:18 robert +Mon, 28 Apr 2003 11:37:53 +0000 +Checked in by : Robert Osfield +Updates to the introduction.html.Added support for new alignment modes in osgtext. - * From Toshiyuki Takahei, added #pragam to avoid build problem with - special characters. - From Robert Osfield, added #if _MSC_VER to restrict pragma usage - to just VisualStudio, - and added comment explaining all the extra parsing code in - osgversion. -2005-11-17 15:03 robert - * Replaced tabs with spaces. +Sun, 27 Apr 2003 19:23:00 +0000 +Checked in by : Robert Osfield +Fixed typo of Fturue! -2005-11-17 13:35 robert +Sun, 27 Apr 2003 10:58:39 +0000 +Checked in by : Robert Osfield +From Tree, addition of ; after MACRO_'s to help with Java port.From Tree + Robert, Addition of LEFT_BASE_LINE,RIGHT_BASE_LINE,CENTER_BASE_LINE +Alignment options in Text. - * Coverted tabs to space in core libraries. -2005-11-17 11:27 robert - * From Toshiyuki Takahei, fixed order intialiation problem in - Viewer::selectCameraManipulator(..). +Fri, 25 Apr 2003 19:53:22 +0000 +Checked in by : Robert Osfield +Updates to introducution. -2005-11-17 11:22 robert +Fri, 25 Apr 2003 13:52:08 +0000 +Checked in by : Robert Osfield +Updated index.html - * From Mike Weiblen, "fix for another one of those GLSL syntax - errors that slip thru the nvidia compiler. - gl_TexCoord[] is an array of vec4, and must be reduced to a vec2 - for use with texture2D()" +Fri, 25 Apr 2003 13:47:33 +0000 +Checked in by : Robert Osfield +Added support for gather information on which vertices have been intersected with. -2005-11-17 11:13 robert +Thu, 24 Apr 2003 20:41:18 +0000 +Checked in by : Don BURNS +A few minor mods to introduction.html - * From Eric Sokolosky, for Cygwin and Minw sections changed - definition of INST_SHARE - so that it is based on INST_LOCATION, providing the same default - as before but - also allow it to be override by env vars when required. +Thu, 24 Apr 2003 19:54:03 +0000 +Checked in by : Robert Osfield +Updates to the introduction.html documentaition. -2005-11-17 11:09 robert +Thu, 24 Apr 2003 13:45:35 +0000 +Checked in by : Robert Osfield +Typo fix. - * From Eric Sokolosky, made spacing more consistent. +Thu, 24 Apr 2003 13:45:10 +0000 +Checked in by : Robert Osfield +cout -> notify. -2005-11-17 11:03 robert +Thu, 24 Apr 2003 13:44:30 +0000 +Checked in by : Robert Osfield +Updates to docs. - * From Mikkel Gjøl, addition of paramter set/get methods to - osgGA::*Manipulators, - change of ' ' to GUIEventAdapter::KEY_Space, fix to url in - Matrix_implementation.cpp. - Syntax fixes by Robert Osfield to above submission fix - inconsistencies with normal - OSG coding style. +Wed, 23 Apr 2003 10:12:40 +0000 +Checked in by : Robert Osfield +From Romano, updated LANDEXT.DAT and new highlight.reg file for syntax highlighting under Windows. -2005-11-17 09:57 robert +Wed, 23 Apr 2003 09:59:08 +0000 +Checked in by : Robert Osfield +Added check for camera's sharing the same RenderSurface, if so switches off multi-threading of cull and draw. - * Improved handling of core OSG being compile with float Matrices. +Sat, 19 Apr 2003 09:53:39 +0000 +Checked in by : Robert Osfield +Changed the data link to OpenSceneGraph-Data-0.9.3.tar.gz since we won't be updating it for the release. -2005-11-17 09:20 robert +Sat, 19 Apr 2003 09:35:10 +0000 +Checked in by : Robert Osfield +Updated ChangeLog for the release. - * Added (_data || rhs._data) extra qualify to Image::compare is - data equal test. +Sat, 19 Apr 2003 09:09:46 +0000 +Checked in by : Robert Osfield +Updated NEWS for the release date.Tweaked the text sizes in osglogo. -2005-11-16 21:08 robert - * Removed redundent copyop. -2005-11-16 20:27 robert +Sat, 19 Apr 2003 06:57:07 +0000 +Checked in by : Robert Osfield +Mannually computes the mipmap levels to ensure correct loading of dds images which arn't square. - * Ran dos2unix on makefile. +Fri, 18 Apr 2003 21:44:48 +0000 +Checked in by : Robert Osfield +Changed the ordering of the picking intersections. -2005-11-16 16:35 robert +Fri, 18 Apr 2003 19:46:46 +0000 +Checked in by : Robert Osfield +Fixes to BlendFunc - adding missing ZERO handling.Improved handling of alpha values in DXT1 compression. - * Started experimenting with sections and table of contents. -2005-11-16 16:30 robert - * Converted remaining osg::Matrix usage to osg::Matrixd. +Fri, 18 Apr 2003 15:59:34 +0000 +Checked in by : Robert Osfield +Updated NEWS for the release.Fixed warnings. -2005-11-16 12:14 robert - * Updated changelog and authors file. -2005-11-16 12:07 robert +Fri, 18 Apr 2003 10:10:14 +0000 +Checked in by : Robert Osfield +Removed various assert() instances since these were causing crashes.From Alberto, changed the use of the DynGeoSet to it was querried on demand +rather than used as a pointer which was originally being invalidate before +use. - * Fixed typo entry. -2005-11-16 09:28 robert - * From Mike Weiblen, support for ARB_texture_rectangle extension - name. +Fri, 18 Apr 2003 08:17:18 +0000 +Checked in by : Robert Osfield +Added a realize callback for setting up the pbuffer so that it definately has a valid graphics context. -2005-11-15 22:18 robert +Thu, 17 Apr 2003 16:22:51 +0000 +Checked in by : Robert Osfield +Added doc++ documentation. - * From Joakim Simonsson/Robert Osfield. Fixed line endings. +Thu, 17 Apr 2003 15:57:05 +0000 +Checked in by : Robert Osfield +Added setting of the RenderSurface name to the application name. -2005-11-15 22:14 robert +Thu, 17 Apr 2003 15:27:17 +0000 +Checked in by : Robert Osfield +Moved #include from Viewer to OsgCameraGroup. - * Did a unix2dos and trimmed end of file of rendundent newlines. +Thu, 17 Apr 2003 13:57:15 +0000 +Checked in by : Robert Osfield +Added an alternate compile path for Windows in the toggle of fullscreen for the first time. -2005-11-15 22:07 robert +Thu, 17 Apr 2003 13:36:41 +0000 +Checked in by : Robert Osfield +Changed the maxx initializiation to use (*points)[last_valid_index].x(); - * Added proper descriptions of examples in place of the copy and - paste description. +Thu, 17 Apr 2003 11:14:25 +0000 +Checked in by : Robert Osfield +Moved the managing of frame stamp from osgProducer::Viewer into osgProducer::OsgCamaraGroup.Added setting of trackball in osgcameragroup so its starts in the +correct place for different models. -2005-11-15 21:47 robert - * From Eric Wing, compile fixes. -2005-11-15 21:24 robert +Thu, 17 Apr 2003 06:52:56 +0000 +Checked in by : Robert Osfield +Added OSGUTIL_EXPORT to front of DelaunayTriangulator class. - * From Gideon May, "I've added an alias for the new mpeg 4 format - used by quicktime and - podcasts." +Wed, 16 Apr 2003 23:09:31 +0000 +Checked in by : Don BURNS +InputRectangle converted to RenderSurface->get()... -2005-11-15 18:31 robert +Wed, 16 Apr 2003 21:16:23 +0000 +Checked in by : Don BURNS +Changed Rect('s to Rectangle('s - * From Sean Spicer, compile fixes for Intel compiler. +Wed, 16 Apr 2003 20:02:15 +0000 +Checked in by : Robert Osfield +Added support for set/getColor to ShapeDrawable. -2005-11-15 16:15 robert +Wed, 16 Apr 2003 19:21:27 +0000 +Checked in by : Robert Osfield +From Marco Jez, added DelaunayTriangulator class. - * From Joakim Simonsson, updated VS handling of extensionless - headers to be consistent with 1.0 release of OSG +Wed, 16 Apr 2003 19:20:15 +0000 +Checked in by : Robert Osfield +Changed near and far instances into near_point, far_point to avoid problems with Win32 build. -2005-11-15 16:06 robert +Wed, 16 Apr 2003 15:14:25 +0000 +Checked in by : Robert Osfield +Moved the PickVisitor from osgUtil into the implementation of osgProducer::Viewer. Removed methods in PickVisitor which wern't being used by osgProducer::Viewer. This has been done because the PickVisitor interface and implementation weren't ready for general usage. - * Fixed typo of Jason. +Wed, 16 Apr 2003 14:22:36 +0000 +Checked in by : Robert Osfield +Renamed computeNearFar to computeNearFarPoints. -2005-11-15 15:07 robert +Wed, 16 Apr 2003 14:17:49 +0000 +Checked in by : Robert Osfield +Added convinence methods to osgProducer::Viewer: /** compute, from normalized mouse coords, for sepecified Camera, the pixel coords relative to that Camera's RenderSurface.*/ + bool computePixelCoords(float x,float y,unsigned int cameraNum,float& pixel_x,float& pixel_y); - * Updated authors list from osgversion -r ChangeLog output. + /** compute, from normalized mouse coords, for sepecified Camera, the near and far points in worlds coords.*/ + bool computeNearFar(float x,float y,unsigned int cameraNum,osg::Vec3& near, osg::Vec3& far); -2005-11-15 15:07 robert + /** compute, from normalized mouse coords, for sepecified Camera, intersections with the scene.*/ + bool computeIntersections(float x,float y,unsigned int cameraNum,osgUtil::IntersectVisitor::HitList& hits); - * Updated the output of the contributors list. + /** compute, from normalized mouse coords, for all Cameras, intersections with the scene.*/ + bool computeIntersections(float x,float y,osgUtil::IntersectVisitor::HitList& hits); -2005-11-15 14:25 robert - * Added catch of erase of the last element of heap. -2005-11-15 11:43 robert +Wed, 16 Apr 2003 12:46:06 +0000 +Checked in by : Robert Osfield +Add a check for the result to writeNodeFile(). - * From Marco Jez, warning fixes. +Wed, 16 Apr 2003 09:22:33 +0000 +Checked in by : Robert Osfield +Changed OsgSceneHandler so it re-uses osgUtil::SceneView project and modelview matrices.Changed the osgpick demo so that it uses the OsgSceneHandler's projection and +modelview matrices where possible. -2005-11-15 11:39 robert - * Warning fixes. -2005-11-15 11:23 robert +Tue, 15 Apr 2003 20:54:10 +0000 +Checked in by : Robert Osfield +Added support for multiple cameras into osgpick. - * Warning fix. +Tue, 15 Apr 2003 14:29:36 +0000 +Checked in by : Robert Osfield +Changed the linking to Producer for debug builds so that producerd.lib is linked against. -2005-11-15 10:05 robert +Tue, 15 Apr 2003 09:33:56 +0000 +Checked in by : Robert Osfield +From Brede, Fixed the ordering of the znear and zfar. - * Added remapping of Drew's fullname. +Tue, 15 Apr 2003 09:33:11 +0000 +Checked in by : Robert Osfield +From Romano, extra methods/variables for controlling tesselation. -2005-11-15 08:56 robert +Mon, 14 Apr 2003 19:39:22 +0000 +Checked in by : Robert Osfield +Added -I/usr/X11R6/include to osgProducer and all the examples GNUMakefiles.From Bob, mods to GNUMakefile and Make/makedefs for the extra includes for +freetype. - * From Mike Weiblen, switched off lighting of points to make them - clearer -2005-11-15 08:43 robert - * Warning fix. +Mon, 14 Apr 2003 18:53:50 +0000 +Checked in by : Robert Osfield +Added using namespace Producer to get round namespace issue with CameraGroup call. -2005-11-14 21:40 robert +Mon, 14 Apr 2003 18:49:41 +0000 +Checked in by : Robert Osfield +Updated osgstereoimage and osgimpostor to handle the new default orientation of normalized mouse coords. - * Fixed handling of initials. +Mon, 14 Apr 2003 15:44:30 +0000 +Checked in by : Robert Osfield +Updates to the osgpick code.Updates to osgGA::CameraManipulors. -2005-11-14 20:54 robert - * Added typo correction for "Jolley". -2005-11-14 20:51 robert +Mon, 14 Apr 2003 15:03:55 +0000 +Checked in by : Robert Osfield +Tweak to the debug output. - * Added more typo catches. +Mon, 14 Apr 2003 15:02:13 +0000 +Checked in by : Robert Osfield +Added extra debugging details to help track down IRIX64 & Solaris64 problems. -2005-11-14 17:21 robert +Mon, 14 Apr 2003 13:23:12 +0000 +Checked in by : Robert Osfield +Improved the handling of Producer's no dimensional mouse coords. - * Further improvements to the name filtering. +Mon, 14 Apr 2003 13:22:21 +0000 +Checked in by : Robert Osfield +Addd new computeLocalToWorld(NodePath) etc methods. -2005-11-14 17:15 robert +Mon, 14 Apr 2003 08:16:55 +0000 +Checked in by : Robert Osfield +Changed push back to a += to try and fix compile on hopeless OSX g++ version. - * Improved handling on special characters in names +Sun, 13 Apr 2003 14:12:03 +0000 +Checked in by : Robert Osfield +Updated dependancies with link to Producer web page. -2005-11-14 17:07 robert +Sun, 13 Apr 2003 13:26:41 +0000 +Checked in by : Robert Osfield +Added Geoff Michel's osgpick and osgUtil::PickVisitor code. - * Added support for mining the ChangeLog for a list of - contributors. +Sun, 13 Apr 2003 12:02:29 +0000 +Checked in by : Robert Osfield +From Michael Gronager, changed apply(Sequence) to cast to an Group rather than a Switch which was a bug. -2005-11-14 13:34 robert +Sat, 12 Apr 2003 10:24:16 +0000 +Checked in by : Robert Osfield +Removed references to glut32.lib. - * Updated changelog. +Fri, 11 Apr 2003 18:57:35 +0000 +Checked in by : Robert Osfield +Convertex a std::copy() into a for loop to get round compile problems under OSX. -2005-11-14 12:49 robert +Fri, 11 Apr 2003 15:34:56 +0000 +Checked in by : Robert Osfield +Clean of doc++ directories. - * Fixed warnings in geo plugin +Fri, 11 Apr 2003 15:33:40 +0000 +Checked in by : Robert Osfield +Changed the uint arrays to GLuint to keep OSX build compiling. -2005-11-14 11:14 robert +Fri, 11 Apr 2003 10:37:31 +0000 +Checked in by : Robert Osfield +Fixes to documentions to refelect the move from osgGLUT to osgProducer. - * Updated package version to 1.0,0 +Fri, 11 Apr 2003 10:04:53 +0000 +Checked in by : Robert Osfield +Updated the version numbers to 0.9.4 -2005-11-14 11:08 robert +Fri, 11 Apr 2003 10:00:56 +0000 +Checked in by : Robert Osfield +Added afterescher back into the example list in runexamples.bat.Added osgSim and osgText into the geo/GNUmakefile LIBS. - * From Toshiyuki Takehei, typo fix of getTrackerMode(). -2005-11-14 11:00 robert - * Change the KeySwitchMatrixManipulator so that it two sets of - getMatrixManipulator - methods, two that takes an index,two that takes a key value. - Updated the ViewEventHandler - so the it now uses the getMatrixManipulatorWithIndex() method to - avoid previous ambiguity. +Fri, 11 Apr 2003 09:54:27 +0000 +Checked in by : Robert Osfield +From Romano, added support in osg::VertexProgram for deleting the flushed vertex programs. -2005-11-14 09:31 robert +Fri, 11 Apr 2003 07:18:13 +0000 +Checked in by : Robert Osfield +Added guards around Geo plugin to prevent it from being built under OSX, Solaris and IRIX as it breaks the OSX build and doesn't handle Endian issues. - * From Farshid Lashkari : "I reported earlier about a problem with - a custom emitter I was using. - I spent some more time debugging and it turns out there was a bug - in - the ParticleSystem::update_bounds function. When the bound is - being - reset, both the min and max are being set to the same postion - without - the radius being subtracted/added to it. When there is only one - particle alive in the system this causes it to be culled by small - feature culling. I've modifed the function so that when the bound - is - reset, the radius is subtracted/added to the position. This fixes - my - problem." +Fri, 11 Apr 2003 06:50:15 +0000 +Checked in by : Robert Osfield +Added std:: infront of cout instances. -2005-11-12 21:29 robert +Thu, 10 Apr 2003 19:32:32 +0000 +Checked in by : Robert Osfield +Added tests for presense of extensions to osgcubemap, osgvertexproram and osgmultitexture examples.Added osg::VertexProgram::Extensions class to better handle multiple graphics +context vertex program extensions. - * From Geoff Michel, geo plugin updated to for latest updates in - .geo format. -2005-11-12 13:38 robert - * Added support for ConnectedParticleSystem. +Thu, 10 Apr 2003 15:23:49 +0000 +Checked in by : Robert Osfield +Moved the osgcameragroup example across to being just based on osgProducer::OsgCameraGroup with no usage of osgGA manipulators.Removed redundent files from osgProducer. -2005-11-12 13:27 robert - * Added .osg support for osgParticle::SmokeTrailEffect -2005-11-11 19:29 robert +Thu, 10 Apr 2003 13:41:45 +0000 +Checked in by : Robert Osfield +Added support for modifying the osg::Texture*:Extensions stuctures.Added an example modifying osg::Texture::Extensions to osgtext. Optionally +compiled out by default. - * Updated ChangeLog -2005-11-11 17:00 robert - * Added scene stats support to osgProducer::ViewerEventHandler. +Thu, 10 Apr 2003 12:55:48 +0000 +Checked in by : Robert Osfield +Added usage of Producer::CameraGroup::isValidForRendering() to the Viewer::done() implemention so apps automatically close if one of the windows is killed. -2005-11-11 14:22 robert +Thu, 10 Apr 2003 12:11:40 +0000 +Checked in by : Robert Osfield +Added support for multiple graphics context to osg::VertexProgram and osg::Impostor - * Added s/getMaxNumOfTextureUnits control to - osgGA::StateSetManipulator, and set the default to 4. +Thu, 10 Apr 2003 10:21:20 +0000 +Checked in by : Robert Osfield +Changed the '-c' commandline option to '-m' to avoid overlapp with -c used for config files. -2005-11-11 12:45 robert +Thu, 10 Apr 2003 10:16:39 +0000 +Checked in by : Robert Osfield +Fix to the CameraGroup::setViewByMarix usage. - * Fixes for VS6.0 build. +Thu, 10 Apr 2003 10:02:24 +0000 +Checked in by : Robert Osfield +Fixed Viewer and OsgCameraGroup classes so that work properly with the Prodicer::setViewByMatrix calls. -2005-11-11 08:45 robert +Thu, 10 Apr 2003 08:25:30 +0000 +Checked in by : Robert Osfield +From Brede, added if (cv->getComputeNearFarMode() != osgUtil::CullVisitor::DO_NOT_COMPUTE_NEAR_FAR) to protect cv->updateCalculatedNearFar(matrix,_bbox); call to avoid inapporpriate near/far warnings. - * From Markus Trenkwalder, fix for Mingw build +Wed, 9 Apr 2003 21:53:09 +0000 +Checked in by : Robert Osfield +Fixes to the Impostor implementation. -2005-11-10 20:56 robert +Wed, 9 Apr 2003 13:29:12 +0000 +Checked in by : Robert Osfield +From Romano, ' ' now sets pause to false. - * From Marco Jez, compile for a syntax error problem. +Wed, 9 Apr 2003 11:45:41 +0000 +Checked in by : Robert Osfield +Added using namespace std; -2005-11-10 20:20 robert +Wed, 9 Apr 2003 11:44:32 +0000 +Checked in by : Robert Osfield +Added desciptions to all the demos. - * Added /Zm200 to loads of project to try and salavage something - from VS6.0 being such a bog awful compiler. +Wed, 9 Apr 2003 10:51:13 +0000 +Checked in by : Robert Osfield +Added environmental variable usage to OsgCameraGroup. -2005-11-10 20:04 robert +Wed, 9 Apr 2003 10:30:24 +0000 +Checked in by : Robert Osfield +Added support for osg::Node::get/setNodeMask() into .osg format. - * Fixes for VS6.0 +Wed, 9 Apr 2003 10:26:50 +0000 +Checked in by : Robert Osfield +Made the AnimationPathManipulator::home() reset the timming of the animation path so that the timing always starts at the begining of the loop. -2005-11-10 19:32 robert +Wed, 9 Apr 2003 10:13:07 +0000 +Checked in by : Robert Osfield +Added a setting of OsgCameraGroup::_applicateUsage to ApplicationUsage::instance() by default. - * Fixes for dumb VS6.0 compiler +Wed, 9 Apr 2003 10:11:56 +0000 +Checked in by : Robert Osfield +Fixed warning. -2005-11-10 19:16 robert +Wed, 9 Apr 2003 10:10:57 +0000 +Checked in by : Robert Osfield +Added fallback in RenderBin::createRenderBin(const std::string& binName) which return a new RenderBin when the no prototype is found with className of binName. - * Fixes for VS6.0 +Wed, 9 Apr 2003 08:20:08 +0000 +Checked in by : Robert Osfield +Fixed type of osg::ApplicationUsage::set/getApplictionName(), updated demos accordingly.Made OsgCameraGroup set the _applicationUsage to the +osg::ApplicationUsage::instance() when no ArgumentParser is supplied. -2005-11-10 17:24 robert +Added export to osgProducer::ViewerEventAdapter. - * Compile fixes for VS6.0. -2005-11-10 16:47 robert - * From Markus Trenkwalder, added freetype-config support to Mingw - section. +Tue, 8 Apr 2003 20:39:47 +0000 +Checked in by : Robert Osfield +Added support for key modifiers to osgProducer::EventAdapter. -2005-11-10 15:52 robert +Tue, 8 Apr 2003 20:06:37 +0000 +Checked in by : Robert Osfield +From Romano José Magacho da Silva, added 'p' toggle to animation path manipulator to allow animations to be paused and resumed.Added frame rate stats which are output on each repetition of the path. - * Added osgshaderterrain and osgparametric to runexamples.bat -2005-11-10 15:27 robert - * Updated wrappers +Tue, 8 Apr 2003 20:05:00 +0000 +Checked in by : Robert Osfield +Fixed warning. -2005-11-10 15:25 robert +Tue, 8 Apr 2003 15:47:45 +0000 +Checked in by : Robert Osfield +Added support for Viewer::setViewer::setView so that the internal old style osg::Camera and camera manipulators are updated correctly. - * Added better control for cancel GraphicsThreads. +Tue, 8 Apr 2003 15:18:45 +0000 +Checked in by : Robert Osfield +Changed the Viewer::realize() calls across to not using the threading paramter leaving it up to the Viewer to specify the mode (which by default is MultiThreaded). Added a check for the presence of osgParticle systems so that threading is disabled in this case. -2005-11-10 14:41 robert +Tue, 8 Apr 2003 13:53:28 +0000 +Checked in by : Robert Osfield +Set the static mouse position values in osgProducer::EventAdater to the same value as warp pointer to ensure that the now roll is encountered on warping of the pointer. - * Ran unix2dos on OpenSceneGraph.dsw +Tue, 8 Apr 2003 13:10:47 +0000 +Checked in by : Robert Osfield +Changed the KeySwichCameraManipulator::setNode() so it set all camera's attached to it. -2005-11-10 11:56 robert +Tue, 8 Apr 2003 10:59:08 +0000 +Checked in by : Robert Osfield +Convert dsp's to use dos endings. - * Fixed typo of CoordinateSystem. +Tue, 8 Apr 2003 10:17:44 +0000 +Checked in by : Robert Osfield +Cleaned up some warnings and added : LINKARGS += -Wl,multiply_defined -Wl,suppress -2005-11-10 11:39 robert +To GNUmakefile for the OSX build. - * Addd OsgSceneHandler::s/getCleanUpOnNextFrame() and support for - it in the draw() method, - when CleanUpOnNextFrame is enabled the next frame simple deleted - OpenGL objects without doing any draw traversal. -2005-11-10 10:29 robert - * Added checks against the values returned from dynamic_cast<>'s. +Tue, 8 Apr 2003 09:48:02 +0000 +Checked in by : Robert Osfield +Removed the output of command line usage when no arguments are passed since this example doens't need paramters. -2005-11-10 09:42 robert +Tue, 8 Apr 2003 09:44:21 +0000 +Checked in by : Robert Osfield +Added Producer to the dependcies in osgwindows. - * Compile fixes for VS7.1 +Tue, 8 Apr 2003 09:42:03 +0000 +Checked in by : Robert Osfield +Added an osg::absolute template function into osg/Math. -2005-11-09 22:09 don +Mon, 7 Apr 2003 19:19:01 +0000 +Checked in by : Robert Osfield +Added support for snaping screen images from osgProducer::Viewer apps. - * small change to test osg-cvs.... +Mon, 7 Apr 2003 15:11:29 +0000 +Checked in by : Robert Osfield +Fixes to dds plugin from Rune. -2005-11-09 22:07 don +Mon, 7 Apr 2003 15:07:45 +0000 +Checked in by : Robert Osfield +Set the hardware mip map generation to false in TextureCubeMap since this extension is not implemented when texture cube mapping. - * Small modification to change 2004 to 2005 in README.txt (this is - mostly - a test of osg-cvs) +Mon, 7 Apr 2003 14:57:18 +0000 +Checked in by : Robert Osfield +Set the fusion distance ratio to 1/300.0f to compensate for the coords of the hang gliding database being so small, this allow the scene to be viewed in stereo and still look a convincing size. -2005-11-09 20:30 robert +Mon, 7 Apr 2003 13:20:53 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlien, new osg::TextureRectangle class. - * Updated wrappers +Mon, 7 Apr 2003 12:51:00 +0000 +Checked in by : Robert Osfield +Added support for unref image data after apply in the osg::Texture* classes. Only unref's after all graphics context have been applied. -2005-11-09 20:26 robert +Mon, 7 Apr 2003 10:20:34 +0000 +Checked in by : Robert Osfield +Added osgwindows example which sets up and Producer::CameraConfig up and uses that to create multiple windows. - * Added release and flush of OpenGL objects after build of the - terrain database to prevent - the build graphics context state leaking into the viewers - graphics context set. +Mon, 7 Apr 2003 09:46:06 +0000 +Checked in by : Robert Osfield +Moved the modified tag's from osg::Texture into the osg::Texture1D,2D,3D and CubeMap classes. -2005-11-09 20:24 robert +Sun, 6 Apr 2003 21:46:48 +0000 +Checked in by : Robert Osfield +Added if (!_kbmcb) to handle the case where the keyboard mouse callback is pre set. - * Added a s/getState() to osgTerrain::DataSet to allow better - integration with applications. +Sun, 6 Apr 2003 21:32:44 +0000 +Checked in by : Robert Osfield +Added the usage report to the examples for when no arguments are passed to the examples. -2005-11-09 17:20 robert +Sun, 6 Apr 2003 18:18:52 +0000 +Checked in by : Robert Osfield +Fixed for new implemention osg OsgCameraGroup::setView(). - * Added some docs on command line options. +Sun, 6 Apr 2003 13:29:02 +0000 +Checked in by : Robert Osfield +Fixed setView to work with new OsgCameraGroup::setView -2005-11-09 17:19 robert +Sun, 6 Apr 2003 10:07:44 +0000 +Checked in by : Robert Osfield +Fixed handling of pixel and internal images formats. - * Added writing of commandline options in getFormatedString when - there is no description string. +Sat, 5 Apr 2003 22:24:48 +0000 +Checked in by : Robert Osfield +Added support for recording animation paths in the osgProducer::Viewer. -2005-11-09 17:08 robert +Sat, 5 Apr 2003 20:02:42 +0000 +Checked in by : Robert Osfield +Fixed manipulator to work correctly with new osgGA::GUIEventAdapter code. - * Moved the blink sequence light points down so they are visible in - the default - camera position. +Sat, 5 Apr 2003 19:54:51 +0000 +Checked in by : Robert Osfield +Added Images/ infront of dog_left and dog_right images. -2005-11-09 17:06 robert +Sat, 5 Apr 2003 19:40:18 +0000 +Checked in by : Robert Osfield +Added a couple ability of offset the images relative to each other horizontally and vertically to allow better comenstation for mismatched imagery. - * Changed the NO_ROTATION label so it is aligned with the XZ plane - to make it easier to see. +Sat, 5 Apr 2003 07:19:40 +0000 +Checked in by : Robert Osfield +Improvements to the handling of warp pointer call on start up. -2005-11-09 15:27 robert +Sat, 5 Apr 2003 07:11:07 +0000 +Checked in by : Robert Osfield +Fixed the drive manipulator so its height is now 1.5m and the buffer size if 2.0m. - * Quick updates to NEWS. +Fri, 4 Apr 2003 19:10:37 +0000 +Checked in by : Robert Osfield +Implemented support for float x and y mouse positions, and normalization of mouse coords in osgGA::GUIEventAdapter, and ported osgGA camera manaipulators to use the new normalized values.Moved osgProducer across to tracking the window dimensions and ensure that the +internals values in osgProducer::EventAdapter are kept consistent. Moved +the warp pointer in Viewer across to using KeyboardMouse::positionPointer(). -2005-11-09 15:19 robert - * Updated ChangeLog -2005-11-09 15:14 robert +Fri, 4 Apr 2003 15:22:25 +0000 +Checked in by : Robert Osfield +Removal of trailing \ from end of couple lines in cygwin path. - * Updated wrappers. +Fri, 4 Apr 2003 11:06:09 +0000 +Checked in by : Robert Osfield +Improved support for toggle between full screen and non fullscreen in the osgProducer::Viewer. -2005-11-09 15:11 robert +Fri, 4 Apr 2003 08:39:58 +0000 +Checked in by : Robert Osfield +Added code to set the colour of each geometry to white to prevent colours from the text being inherited. - * Added the support in AnimationPathCallback for taking a pivot, - axis and rotation rate - paramters in its constructor to allow it to be used to create - rotations around a point. - This provides the same interface and functionality as - osgUtil::TransformCallback but - has the advantage and AnimationPathCallback is fully supported by - the .osg and .ive file formats. +Thu, 3 Apr 2003 21:00:12 +0000 +Checked in by : Robert Osfield +Suported for mip mapping added by Rune. -2005-11-09 13:39 robert +Thu, 3 Apr 2003 14:12:09 +0000 +Checked in by : Robert Osfield +Fixes to the multipipe initialization. - * Updated the runexamples.bat to include glsl_mandelbrot.osg and - glsl_julia.osg references +Thu, 3 Apr 2003 08:14:49 +0000 +Checked in by : Don BURNS +Changes to fix compiles on Mac OS X -2005-11-09 13:39 robert +Thu, 3 Apr 2003 07:37:08 +0000 +Checked in by : Robert Osfield +Fixes for Win32 - removed second copy constructor from protected section in ReaderWriterLOGO.cpp, and add osgText as a dependancy to osgtexture3D example app. - * Reduced the size of the "oversized" cessna.osg +Thu, 3 Apr 2003 07:31:01 +0000 +Checked in by : Robert Osfield +Added osgText dependancy to osgtexture2D demo. -2005-11-09 13:26 robert +Wed, 2 Apr 2003 20:43:19 +0000 +Checked in by : Robert Osfield +Added GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB etc to the Texture header to allow compilation across platforms. - * Added a test of isRealized to requestWrapPointer to prevent a - deadlock condition occur when a wap pointer is done before a - window is realized. +Wed, 2 Apr 2003 19:41:18 +0000 +Checked in by : Robert Osfield +Fixes to the dds plugin. -2005-11-09 13:18 robert +Wed, 2 Apr 2003 18:26:34 +0000 +Checked in by : Robert Osfield +From Rune Schmidt Jensen - new dds loader. - * Update texture file names to reflect new files in - OpenSceneGraph-Data distribution. +Wed, 2 Apr 2003 14:54:05 +0000 +Checked in by : Robert Osfield +Removed OSX override override of PLUGIN_DIRS. -2005-11-09 11:59 robert +Wed, 2 Apr 2003 11:57:23 +0000 +Checked in by : Robert Osfield +Changed colour of anisotropic text in osgtexture2D example.Removed the save test.osg call in osgkeyboard. - * Added dxf VS6.0 project -2005-11-09 10:49 robert - * Bumped the version numbers up to 1.0 in preparation for 1.0-rc1. +Wed, 2 Apr 2003 10:50:15 +0000 +Checked in by : Robert Osfield +Added support for min pixel size, max pixel size and max visable distance to osgSim::LightPointNode, the max pixel size from was originally in osg::LightPoint.Added additional get/set methods to osg::LightPointNode. -2005-11-09 10:41 robert +Increased the compute pixel size by a ratio 1.41 (sqrtf(2)) to correlate the +computed size with the actual size seen on screen. - * Fixed warnings. -2005-11-09 10:37 robert - * Fixed compile warning. +Wed, 2 Apr 2003 08:22:47 +0000 +Checked in by : Robert Osfield +Added prefix's to ApplicationUsageProxy's and made them static to help prevent problems under OSX. -2005-11-09 09:30 robert +Tue, 1 Apr 2003 20:52:56 +0000 +Checked in by : Robert Osfield +Fixed std::string usage so that std::string::size_type is used where appropriate. - * Updated the bin number to be 100 for the logo overlay to force it - to draw later. +Tue, 1 Apr 2003 20:32:57 +0000 +Checked in by : Robert Osfield +Fixes to osg::Texture's handling of anisotropy updating and hardware generate mip mapping.Added switching off generate mip map from osgText::Font.cpp. -2005-11-08 16:41 robert +Changed savedmodel.osg to saved_model.osg in ViewerEventHandler. - * Added .ive support for osg::Texture SourceFormat and SourceType -2005-11-08 16:22 robert - * Added support for SourceType and SourceFormat to .osg. +Tue, 1 Apr 2003 18:50:36 +0000 +Checked in by : Robert Osfield +Changed unsigned int to std::string::size_type. -2005-11-08 16:02 robert +Tue, 1 Apr 2003 18:42:38 +0000 +Checked in by : Robert Osfield +Added convinience constructor. - * Updated wrappers. +Tue, 1 Apr 2003 18:42:17 +0000 +Checked in by : Robert Osfield +Added futher debugging messages to track down the x86-64 crash. -2005-11-08 15:52 robert +Tue, 1 Apr 2003 18:35:31 +0000 +Checked in by : Robert Osfield +Used notify for reporting the keypressing to the commandline. - * From Brad Colbert/Robert Osfield: added s/getSourceFormat and - s/getSourceType to osg::Texture - along with support for this Texture1D, 2D, 3D, TextureCubeMap and - TextureRectangle. The - new SourceFormat and SourceType parameters are only used when no - osg::Image is assigned to - an osg::Texture, and main use is for render to texture effects. - - Added support for --hdr option in osgprerender, which utilises - the new Texture::setSourceFormat/Type() methods. +Tue, 1 Apr 2003 16:00:33 +0000 +Checked in by : Robert Osfield +New osgtexture2D example code. -2005-11-08 14:03 robert +Tue, 1 Apr 2003 15:13:26 +0000 +Checked in by : Robert Osfield +Moved the logo plugins from the osgPlugins/logos directory to osgPlugins/logo to make it consistent with the naming of the plugin. - * Updated wrappers +Tue, 1 Apr 2003 15:08:30 +0000 +Checked in by : Robert Osfield +Bug spotted and fix by Sébastien Kuntz. Changed < to <= on Geometry.cpp, in removePrimitiveSet(), if( i+numElementsToRemove<_primitives.size() ) -2005-11-08 13:51 robert +Tue, 1 Apr 2003 13:16:02 +0000 +Checked in by : Robert Osfield +From Macro Jez, fixes to logo plugin under VS. - * From Colin McDonald, fixed image size calculation in - getTotalSizeInBytesIncludingMipmaps(), - added checks on success of opening files for writing in the .ive - plugin. +Tue, 1 Apr 2003 12:00:13 +0000 +Checked in by : Robert Osfield +Updated NEWS.Removed writing of test.osg from osgstereoimage. -2005-11-08 11:46 robert - * Added sorting and clearing of pre and post RenderStages stored in - RenderStage, - and added some debugging comments which are currently commented - out from compilation - - these are left in just in case future debug work requires them. -2005-11-08 09:36 robert +Tue, 1 Apr 2003 11:55:29 +0000 +Checked in by : Robert Osfield +Added timer code to the init in OsgCameraGroup.Made the stats view 20 frames rather than 6. - * Changed the occluder traversal so that checks the children of the - SceneView's Cameara - rather than starting at the camera itself. -2005-11-07 16:52 robert - * Renamed VisualStudio.dsw to OpenSceneGraph.dsw +Tue, 1 Apr 2003 11:53:34 +0000 +Checked in by : Robert Osfield +Cleaned up the reset of the vertex arrays in osg::State. -2005-11-07 16:48 robert +Tue, 1 Apr 2003 11:49:09 +0000 +Checked in by : Robert Osfield +Improved handling of subloading.Removed the rescalling of images in osg::Image during texture apply, moving +the rescale so it is locally calculated. This solves an outstanding threading +problem which occured by multiple draw threads all tried to rescale the same +image at one time. - * Improved the handling of CameraNode and viewers with projection - matrices - contained NaN's. +Made osg::Image ptr in osg::Texture2D non mutable as it is no longer modified +during apply. -2005-11-07 15:46 robert - * From Bob Kuehne, proper c++ cast instead of c-cast for - ApplicationUsage -2005-11-07 15:43 robert +Tue, 1 Apr 2003 11:38:33 +0000 +Checked in by : Robert Osfield +From Marco, fix to the path of the osgPlugin logo. - * From Steve Lunsford, added psuedo event dispatch to init within - selectCameraManipulator - to force the new minpulator to update correctly. +Tue, 1 Apr 2003 08:47:11 +0000 +Checked in by : Robert Osfield +Added extra debugging messages into the ArgumentParser::reportRemainingOptionsAsUnrecognized(ErrorSeverity severity) method to help track down a crash under x86-64. -2005-11-07 14:42 robert +Mon, 31 Mar 2003 21:41:17 +0000 +Checked in by : Robert Osfield +Implemented load and subload methods in osg::Texture/Texture2D. - * From David Spilling, added "noRotation" ReaderWriter::Option into - the .obj plugin - to enable disabling of the automatic rotation from Y up - coordinate frame to Z up coordinate frame. +Mon, 31 Mar 2003 12:48:33 +0000 +Checked in by : Robert Osfield +Made the default transparent bin be bin number 10 rather than 1 to allow more bins between it and the default opaque bin of 0.Added a check for compressed image format in osg::Texture. -2005-11-07 13:54 robert - * From Marco Jez, Added an unregister of the - GraphicsContextImplement on unload. -2005-11-07 12:41 robert +Mon, 31 Mar 2003 11:25:04 +0000 +Checked in by : Robert Osfield +Adding reseting of the array pointers to the dirty methods. - * From David Spilling, fix for typo of OVERRIDE. +Sun, 30 Mar 2003 11:10:56 +0000 +Checked in by : Robert Osfield +Removed closeLibrary reference for osgtext as this was causing problems with the osgtext help. -2005-11-07 11:14 robert +Sat, 29 Mar 2003 22:07:03 +0000 +Checked in by : Robert Osfield +Change the className() functions from non const to const to be consistent with the osg::Object definition. - * From Gideon May, compile fixes for OSX. +Fri, 28 Mar 2003 10:04:58 +0000 +Checked in by : Robert Osfield +Added Escape to the help list. Changed the help key from '?' to 'h' -2005-11-07 11:09 robert +Thu, 27 Mar 2003 18:56:23 +0000 +Checked in by : Robert Osfield +Moved demo references acros to being example references. - * From Norman Vine, "Cygwin uses unix style path separators" +Thu, 27 Mar 2003 18:42:31 +0000 +Checked in by : Don BURNS +Fixed installation of demo source from src/Demos to examples -2005-11-07 11:05 robert +Thu, 27 Mar 2003 17:20:21 +0000 +Checked in by : Robert Osfield +Changed private to protected. - * From Wang Lam,"The changes allow users of OpenSceneGraph to call - a new function - readFontStream() to load fonts from a std::istream, rather than - from the - local filesystem by name. Such a call may be used, for example, - if the - user has a font fetched over a network, or a font available in - memory - without a correspondng filename. - - The changes implement the new function by following the - corresponding code - for readFontFile(). readFontStream() reads a stream into memory, - and - holds that memory for FreeType. - - As a basic test, I mangled the osgtext example to use - readFontStream(std::ifstream("font")) in lieu of a readFontFile - call, and - the modified example ran completely." +Thu, 27 Mar 2003 17:18:59 +0000 +Checked in by : Robert Osfield +Fixed typo. -2005-11-07 10:29 robert +Thu, 27 Mar 2003 17:16:53 +0000 +Checked in by : Robert Osfield +Added -losgGA to keep things compiling across platforms. - * From Ruben (with a few addition/changes from Robert), fixed the - commandline of the osgsimplifier example. It now reads - --ratio and --max-error. - - --------------------------------------------------- +Thu, 27 Mar 2003 14:39:19 +0000 +Checked in by : Robert Osfield +Improved stats. -2005-11-04 19:00 robert +Thu, 27 Mar 2003 13:51:40 +0000 +Checked in by : Robert Osfield +Added -osgText to GNUMakefiles. - * Added extra debugging checks on FBO's +Thu, 27 Mar 2003 10:58:20 +0000 +Checked in by : Robert Osfield +Changed the background pixel colour to white, but kept the alpha value zero. This has been done to improve the quality of the mip mapping of text. -2005-11-04 12:08 robert +Thu, 27 Mar 2003 10:54:01 +0000 +Checked in by : Robert Osfield +Updates to utilise the new Producer keyboard bindings. - * Improved support for texture subload/render to texture in various - Texture classes - and RenderStage. +Wed, 26 Mar 2003 20:11:11 +0000 +Checked in by : Robert Osfield +Added osgText dependency to osgProducer lib. -2005-11-03 21:35 robert +Wed, 26 Mar 2003 16:48:29 +0000 +Checked in by : Robert Osfield +Improved the stats reporting. - * Improvements to CameraNode IO support, now handles render to - texture. +Wed, 26 Mar 2003 12:50:30 +0000 +Checked in by : Robert Osfield +Added help support for display help on screen to osgProducer::Viewer. -2005-11-03 19:20 robert +Tue, 25 Mar 2003 15:48:17 +0000 +Checked in by : Robert Osfield +Tweak the tex coords of fonts slightly to avoid cut off of text. - * Changed the CameraNode read/write code to use Transform as its - parent. +Tue, 25 Mar 2003 15:45:08 +0000 +Checked in by : Robert Osfield +Fixed axis alignment bug in text, which occured what text was placed on the XZ or YZ planes. -2005-11-03 17:12 robert +Tue, 25 Mar 2003 15:13:20 +0000 +Checked in by : Robert Osfield +Added a ViewerEventHandler which manages full screen, file write, and help output to osgProducer. Removed FullSreenEventHandler as it is now superseeded by ViewerEventHandler. - * Removed debugging message +Tue, 25 Mar 2003 13:57:16 +0000 +Checked in by : Robert Osfield +Added osgkeyboard to the ./runexamples.bat.Made osgstereoimage exit when non files have been loaded. -2005-11-03 17:08 robert +Added non const getText() method. - * Further work on osg::CameraNode support. -2005-11-03 15:59 robert - * Further work on added IO support from CameraNode. +Tue, 25 Mar 2003 13:01:34 +0000 +Checked in by : Robert Osfield +Spotted by Brede - missing ! -2005-11-03 12:25 robert +Tue, 25 Mar 2003 12:44:50 +0000 +Checked in by : Robert Osfield +Added text input field to the osgkeyboard demo. - * Completed osg::CameraView support in .osg and .ive formats. +Tue, 25 Mar 2003 12:42:06 +0000 +Checked in by : Robert Osfield +Added back into the win32 build of KeyboardMouseCallback the check against VK_ESCAPE. -2005-11-03 10:59 robert +Tue, 25 Mar 2003 11:28:52 +0000 +Checked in by : Robert Osfield +Added futher keys to complete the keyboard. - * Added env var docs on OSG_MAX_TEXTURE_SIZE +Tue, 25 Mar 2003 10:05:09 +0000 +Checked in by : Robert Osfield +Added a viewer.sync to the end of all the demos.Removed the Win32 remapping of keycodes from the osgProducer::EventAdapter. -2005-11-03 10:57 robert - * Added --help-env option. -2005-11-03 10:18 robert +Mon, 24 Mar 2003 23:12:47 +0000 +Checked in by : Robert Osfield +Added osgText dependency to osgkeyboard demo. - * Updated wrappers +Mon, 24 Mar 2003 23:02:08 +0000 +Checked in by : Don BURNS +changes to makedefs to support AMD 64 bit -2005-11-03 10:16 robert +Mon, 24 Mar 2003 21:17:51 +0000 +Checked in by : Robert Osfield +Added new osgkeyboad example. - * Added initial CameraNode and CameraView stups for the .ive loader +Mon, 24 Mar 2003 15:21:52 +0000 +Checked in by : Robert Osfield +Fixed typo. -2005-11-03 10:01 robert +Mon, 24 Mar 2003 15:13:00 +0000 +Checked in by : Robert Osfield +Added support for remapping of Win32 key symbols to osgGA::GUIEventAdpater::KeySymbols. - * From Eric Sokolowsky, added writeEnvironmentSettings to help - report what OSG - centric environment variables are used. +Mon, 24 Mar 2003 13:43:22 +0000 +Checked in by : Robert Osfield +Added osgGA::GUIEventAdapter::KeySymbol enumate list, which is a remapping of the X settings.Added a pass through of X11 sybmbols from Producer to osgGA::GUIEventAdapter::KeySymbol +in the osgProducer::EventAdapter. -2005-11-03 09:03 robert - * Added CameraNode.cpp and CameraView.cpp -2005-11-02 19:52 robert +Mon, 24 Mar 2003 09:37:51 +0000 +Checked in by : Robert Osfield +Redid logo dsp. - * Inital work on adding .osg support for CameraNode and CameraView. +Mon, 24 Mar 2003 08:42:35 +0000 +Checked in by : Robert Osfield +Made the osgGA::GUIEventHandler sublassed from osg::Object as a virtual inheritence to allow handler to also be used as node callbacks.Fix to UpdateVisitor to make the visitation of Drawable more consistent +with the way that nodes are traversed. -2005-11-02 19:35 robert - * Updated wrappers. -2005-11-02 19:15 robert +Sun, 23 Mar 2003 20:39:07 +0000 +Checked in by : Robert Osfield +Added Producer.lib to osgstereoimage demo. - * Added request for accumulator buffer. +Sun, 23 Mar 2003 20:36:55 +0000 +Checked in by : Robert Osfield +Converted to windows endings. -2005-11-02 19:15 robert +Sat, 22 Mar 2003 20:35:11 +0000 +Checked in by : Robert Osfield +Revamp of the osgstereoimage demo to provide a presentation tool for up comming "In Your Face" shows held at the Glasgow Science Center. - * Added support in DisplaySettings and OscCameraGroup for - requesting accumulator buffer. +Sat, 22 Mar 2003 09:48:43 +0000 +Checked in by : Robert Osfield +Added a traverseGeode method to the UpdateVisitor which contains the traversal code for both the nodes traversal and the drawables the geode contains. -2005-11-02 16:20 robert +Fri, 21 Mar 2003 22:32:01 +0000 +Checked in by : Robert Osfield +Added using namespace osg and removed osg:: from CopyOp's as this was causing problems with VisualStudio's scoping bug. - * From Alan Ott, added support for palletted imagery. +Fri, 21 Mar 2003 08:30:52 +0000 +Checked in by : Robert Osfield +Added Prodcuer.lib and PThread*.lib to the osgcluster example. -2005-11-02 15:56 robert +Thu, 20 Mar 2003 22:13:10 +0000 +Checked in by : Robert Osfield +Duplicated the handling of 64 bit linux builds for ia64 and x86_64 and placed them under the seperate paths for Intel vs GNU compilers. - * From Brede Johnasen, changed wrap mode to CLAMP_TO_EDGE to avoid - edges being - seen when zoomed into the reflectio map. +Thu, 20 Mar 2003 21:26:54 +0000 +Checked in by : Robert Osfield +Added -m64 -DARCH64 option to Linux 64 bit build. -2005-11-02 15:23 robert +Thu, 20 Mar 2003 20:38:38 +0000 +Checked in by : Robert Osfield +Add osg:: infront of CopyOp instances. - * Added handling of CameraNode into PickVisitor in - src/osgProducer/Viewer.cpp. This - is unlikely to be the final solution, but does at least fix part - of the problem of handling - picking HUD's underneath CameraNodes. +Thu, 20 Mar 2003 17:24:25 +0000 +Checked in by : Robert Osfield +Added overide of the SceneHandler::clear() making it a no-op. Will revisit this implemention later. -2005-11-02 14:24 robert +Thu, 20 Mar 2003 17:00:32 +0000 +Checked in by : Robert Osfield +Updates to osgProducer and osgstereoimage for stereo support.Changed the default distance from the scene of the home position of the +trackball and flight manipulators. - * From Marco Jez, added Image/ path to image files to help find - them from the OpenSceneGraph-Data directory. -2005-11-02 14:22 robert - * From Marco Jez, moved the rear view camera's viewport to the - bottom left of window to accomdate a greater range of display - sizes. - From Robert Osfield, made the background colour of the intersted - camera a scaled down verson of the main background colour to make - it more obvious. +Thu, 20 Mar 2003 14:07:03 +0000 +Checked in by : Robert Osfield +Added support for setting up VisualChoose with destination alpha, stencil and quad buffers attributes from DisplaySettings values. -2005-11-02 12:22 robert +Thu, 20 Mar 2003 08:58:51 +0000 +Checked in by : Robert Osfield +Changed the shadow texture implemention to use CLAMP_TO_BORDER for the WRAP_S and _T modes. Also set the border colour to 1,1,1,1 to ensure problem blending. - * Added a setSupportsDisplayList(false) to constructor to prevent - end users - enabling display lists, something that can break the osgText's - managment - of state. +Thu, 20 Mar 2003 08:46:19 +0000 +Checked in by : Don BURNS +Somehow the logo plugin got left out of the windows build. Adding it back in. (Needed for BMV) -2005-11-02 11:55 robert +Thu, 20 Mar 2003 08:43:38 +0000 +Checked in by : Robert Osfield +Added missing setInterleavedArray( InterleaveArrayType format, float *ia, GLuint *iai ) method. - * Fixed setCameraRequiresSetUp so it properly uses the bool passed - to it. +Wed, 19 Mar 2003 21:46:44 +0000 +Checked in by : Robert Osfield +Added Endian test header to the core osg, and add use of the new getCpuByteOrder test in LightPointDrawable. -2005-11-02 11:33 robert +Wed, 19 Mar 2003 21:14:50 +0000 +Checked in by : Robert Osfield +Added getCameraManipulator(unsigned int) method. - * Added doc comment and removed redundent inline keyword +Wed, 19 Mar 2003 15:57:31 +0000 +Checked in by : Robert Osfield +Added sync at the end of the main loop to prevent seg fault on exit. -2005-11-02 10:57 robert +Wed, 19 Mar 2003 15:49:21 +0000 +Checked in by : Robert Osfield +First pass fix at implementing requestWarpPointer. - * From Farshid Lashkari, "I need the ability to check for a font - file without actually loading - the font object. I've modified font.h/cpp of osgText so that it - exports the findFontFile function." +Wed, 19 Mar 2003 15:37:28 +0000 +Checked in by : Don BURNS +Adjusted date format for versionrules -2005-11-02 10:55 robert +Wed, 19 Mar 2003 14:27:05 +0000 +Checked in by : Robert Osfield +Addd a full screen toggle event handler to osgProducer & its viewer base class. - * From Marco Jez, commented out debuggin message. +Wed, 19 Mar 2003 12:06:29 +0000 +Checked in by : Robert Osfield +Added a realize callback to the OsgCameraGroup.Move osgtexture3D across to using the new realize callback for creating its textures. -2005-11-02 10:49 robert - * Added static orthoNormal function to match equivilant in Matrixd -2005-11-02 10:45 robert +Wed, 19 Mar 2003 10:28:19 +0000 +Checked in by : Robert Osfield +Fixed crash in osgoccluder which was calling setUpViewer and the osgProducer/Viewer was assuming that the update was always set. - * From Colin McDonald, "Fix for missing class name qualifier on the - orthoNormal function." +Wed, 19 Mar 2003 02:31:22 +0000 +Checked in by : Don BURNS +Fixed a globalState setting order in OsgCameraGroup::realize() -2005-11-02 10:29 robert +Tue, 18 Mar 2003 20:27:09 +0000 +Checked in by : Robert Osfield +Chaned the OsgCameraGroup so that its scene handler list used ref_ptr<> for robustly managing memory. - * From Colin McDonald, "Fixes for some duplicate global symbol - definitions in the plugins, - which cause errors when creating a statically linked executable." +Tue, 18 Mar 2003 20:10:51 +0000 +Checked in by : Robert Osfield +Added a clear of allocated Records and the cache's in flt::Registry to prevent memory leaks and unneccesary references to model models remaining beyond the scope of the loader. -2005-11-02 10:29 robert +Tue, 18 Mar 2003 20:02:02 +0000 +Checked in by : Don BURNS +Set VERSION_RELEASE back to 3, replaced guards in include/osg/Verson to OSG_VERSION_ with trailing underscore - * Fixed compile warning +Tue, 18 Mar 2003 19:42:34 +0000 +Checked in by : Robert Osfield +From Tree, added SG_EXPORT to the inner classes for Java binding work. -2005-11-01 20:16 robert +Tue, 18 Mar 2003 18:40:19 +0000 +Checked in by : Don BURNS +Added support for versioning to the build system - * Changed the error number reporting to be reported as hex. +Tue, 18 Mar 2003 09:29:06 +0000 +Checked in by : Robert Osfield +From Tree, ushort renamed GLushort -2005-11-01 19:32 robert +Mon, 17 Mar 2003 22:53:46 +0000 +Checked in by : Robert Osfield +Implemented a object cache in osgDB::Registry. - * Added an image negation callback to the render to image. Added - commandline docs - for the new --image and --texture-rectangle options. +Mon, 17 Mar 2003 20:08:36 +0000 +Checked in by : Robert Osfield +Added inc and links for local Producer. -2005-11-01 19:31 robert +Mon, 17 Mar 2003 09:51:19 +0000 +Checked in by : Robert Osfield +break from osgcluster main loop added for when the master send a killed messsage to slaves. - * Removed the double call to the camera post draw callback. +Sun, 16 Mar 2003 22:00:42 +0000 +Checked in by : Robert Osfield +Fixes for new beta release of VS.NET -2005-11-01 17:07 robert +Sun, 16 Mar 2003 21:58:27 +0000 +Checked in by : Robert Osfield +Fixes to osgcluster demo as new Producer based example.Added extra pragrma remove a warning about float to int cast under VS.NET. - * Added usage of image copy and modification. -2005-11-01 15:39 robert - * Set the draw and read buffer to GL_NONE when using FBO's, thereby - avoid - invalid enumrates being generated. +Sat, 15 Mar 2003 20:41:05 +0000 +Checked in by : Robert Osfield +Removed the GNUMakefile for the old Demos directory. -2005-11-01 15:23 robert +Sat, 15 Mar 2003 20:20:46 +0000 +Checked in by : Robert Osfield +Removed osgGLUT and Demos/*.Integrated Marco's updated examples/*/*.dsp's. - * Improved handling of osg::Image copying. -2005-11-01 11:18 robert - * From Brad Colbert, Added checking for a NULL return string rom - gluErrorString (with slight reformating of this by Robert - Osfield.) +Sat, 15 Mar 2003 16:41:27 +0000 +Checked in by : Robert Osfield +Added osgpbuffer example source. -2005-11-01 11:00 robert +Sat, 15 Mar 2003 09:20:11 +0000 +Checked in by : Robert Osfield +Added VisualStudio .dsp's for the new osgProducer based examples. - * Updated wrappers +Sat, 15 Mar 2003 08:01:41 +0000 +Checked in by : Don BURNS +Added -losgGA to all GNUmakefiles in examples. Added one std:: in front of an endl in osgunittests.cpp -2005-11-01 10:42 robert +Fri, 14 Mar 2003 21:01:35 +0000 +Checked in by : Robert Osfield +Moved code across to use the new ArgumentParser. - * Added RenderTargetFallback option into osg::CameraNode. +Fri, 14 Mar 2003 20:35:45 +0000 +Checked in by : Robert Osfield +Ported osgGLUT based src/Demos across to being osgProducer based, and placed them in the new examples/ directory. -2005-10-31 16:40 robert +Fri, 14 Mar 2003 10:49:06 +0000 +Checked in by : Robert Osfield +Ported all glut based demos across to using the new osg::ArgumentParser. - * From Steve Lunsford, "Attached is a copy of TXPNode.cpp with the - repaired computeBounds call. I - discovered that TXPNodes were being culled out prematurely - because the - loaded sub-tiles resulted in a computed bounds that was smaller - than the - extents indicated in the archive. I think this fix should be - fine. I can't - think of any reason why we would want to use anything other than - the archive - extents." +Fri, 14 Mar 2003 09:28:34 +0000 +Checked in by : Robert Osfield +The wrong file name was being used readFontFile. -2005-10-31 14:48 robert +Fri, 14 Mar 2003 02:29:34 +0000 +Checked in by : Don BURNS +Removed the building of the osgTXP library so the build system builds only the plugin. Building both the plugin and the library causes a race condition during parallel makes. - * Added default setting of _threading_model to ThreadPerCamera when - multiple cameras - are present, and SingleThreaded when a single camera is being - used. +Thu, 13 Mar 2003 14:29:16 +0000 +Checked in by : Robert Osfield +Reverted Don's changed of sqrtf to sqrt. Don't understand why the change was required, suggest a problem elsewhere which should be fixed, *not* by modification of Vec2. -2005-10-31 11:43 robert +Thu, 13 Mar 2003 09:22:30 +0000 +Checked in by : Robert Osfield +From Gabor Dorka, Added d to /MDd option for debug build of osgText. - * From Brede Johansen, "some tweaks to the osgSim lightpoints. - - - The first change is to start fadeing a lightpoint just before - the - maximum distance of a light is reached. - - The second change is to start fading a lightpoint when - pixelSize is - less than _minPixelSize instead of 1.0." +Thu, 13 Mar 2003 06:22:31 +0000 +Checked in by : Don BURNS +Fixes for Mac OS X -2005-10-29 11:29 robert +Thu, 13 Mar 2003 02:53:40 +0000 +Checked in by : Don BURNS +Various changes to the BUILD system: o Object files now go in subdirectories named $(OS)$(ARCH).Opt and + $(OS)$(ARCH).Debug for OS's that support both architectures. + eg. Linux32.Opt and Linux32.Debug - * Updated wrappers. + o Libraries links are now placed in lib/$(OS)$(ARCH) + eg. lib/Linux32/ -2005-10-29 10:04 robert + o Binaries are now placed in bin/$(OS)$(ARCH) + eg. bin/Linux32 - * Added catch for NULL return from glGetString( GL_VERSION ); + o 'make install' and 'make instlinks' now place files/links in + /usr/local/{include,lib,share/OpenSceneGraph} by default on + most systems (Solaris still goes in /opt/OpenSceneGraph). + Rather than having the somwehat confusing INST_SYS_PREFIX and + INST_SHARE_PREFX, you can override these with just + INST_LOCATION + For example, + make INST_LOCATION=/usr + will place files at /usr/include, /usr/lib, + /usr/share/OpenSceneGraph. -2005-10-29 09:52 robert - * Updated wrappers. -2005-10-28 18:39 robert +Wed, 12 Mar 2003 21:02:04 +0000 +Checked in by : Robert Osfield +Changed the GNUMakefile for the osgproducer demo to use INC += instead of CXXFLAGS. - * From Marco Jez, Fix for the class name lookup in - osgDB::Registry::writeObject(), which can silently fail when a - NodeKit's class (for example osgNVCg::Program) has the same name - as that of an OSG's class (for example osg::Program). +Wed, 12 Mar 2003 20:10:43 +0000 +Checked in by : Don BURNS +Removed osgPlugins from lib, which is now built on the fly -2005-10-28 18:37 robert +Wed, 12 Mar 2003 15:36:26 +0000 +Checked in by : Robert Osfield +Fix from Gabor for proper casting of char's to unsigned ints be setting up the osgText::String. - * Fixed env var docs for sharing graphics contexts. +Wed, 12 Mar 2003 14:01:49 +0000 +Checked in by : Robert Osfield +Moved the platform specific directory defs out of makedefs into makediredefs, and have standardised onto single instances where possible. -2005-10-28 14:02 robert +Wed, 12 Mar 2003 13:54:59 +0000 +Checked in by : Robert Osfield +Added 'w' toggle to StateSetManipulator to toggle between filled, line and point polygon drawing modes. - * Added warning message for when no file is loaded. +Wed, 12 Mar 2003 12:17:57 +0000 +Checked in by : Robert Osfield +Changed std::min to osg::minimum. -2005-10-28 13:18 robert +Wed, 12 Mar 2003 11:50:02 +0000 +Checked in by : Robert Osfield +Added -losgText - * From Ravi Mathur, "Here is an update to BlendEquation that adds - checking for the - SGIX_blend_alpha_minmax and EXT_blend_logic_op extensions. It is - tested with the osgblendequation example. If the extensions are - not - supported, a WARN level notification is generated." +Wed, 12 Mar 2003 11:36:55 +0000 +Checked in by : Robert Osfield +Added missing osghud Makefile. -2005-10-28 13:11 robert +Wed, 12 Mar 2003 10:39:43 +0000 +Checked in by : Don BURNS +1) Replaced all Makefile* with GNUmakefile*.2) Changed Makedepend system to make individual dependency files, which + should save time rebuilding dependencies by limiting the regeneration + of dependency file for only modified source files. - * Moved SceneView across to use an osg::CameraNode to store the - projection and view matrices, - the viewport, the clear colour and the subgraph needing rendered. - This is done - transparently so all existing functionality will behave as - before. What it does - add is the ability to set a SceneView directly by a single - osg::CameraNode when required. -2005-10-28 10:33 robert - * Changed debug message from NOTICE to INFO level of notification +Wed, 12 Mar 2003 09:45:12 +0000 +Checked in by : Robert Osfield +Added (unsigned int) cast to the call to osg::minimum. -2005-10-28 10:11 robert +Tue, 11 Mar 2003 21:53:28 +0000 +Checked in by : Robert Osfield +Added setBound() method to Drawable. - * Added command line option --overlay to turn on the use of an - OverlayNode. +Tue, 11 Mar 2003 21:42:55 +0000 +Checked in by : Robert Osfield +Added missing osg:: to StateAttribute. -2005-10-28 09:20 robert +Tue, 11 Mar 2003 15:25:49 +0000 +Checked in by : Robert Osfield +Added support for AbortRendering flag pointer in osg::State which is used by osgUtil::RenderLeaf to test if any abort state has been set, if so it doesn't do any further drawing.The osgProducer::Viewer has been set up to set the osg::State's it manages +with their AbortRendering flag pointers set to the osgProducer::Viewer::_done +memeber varaible. Now when escape is pressed the rendering is aborted early. - * Updated wrappers. -2005-10-28 08:35 robert - * From Mike Weiblen, added check to make sure that vertex texture - was - supported in the OpenGL driver. +Tue, 11 Mar 2003 13:30:03 +0000 +Checked in by : Robert Osfield +Bug fixes to osgText to handle the osgUtil::Optimizer being used on a scene graph containing text.Fixed warning in MD2 plugin. -2005-10-27 13:53 robert - * Added option to osgdepthpartion for loading the model specified - on the commandline. -2005-10-27 11:15 robert +Tue, 11 Mar 2003 13:24:28 +0000 +Checked in by : Robert Osfield +Added missing osgDB:: to writeArray() usage. - * Added documentation line about 32 being the maximum permitted - number of line segmenets +Mon, 10 Mar 2003 16:40:26 +0000 +Checked in by : Robert Osfield +Improvements to the Text .osg support. -2005-10-27 11:11 robert +Mon, 10 Mar 2003 12:06:17 +0000 +Checked in by : Robert Osfield +Addded new osgProducer based osgreflect demo. - * Added error message to report when too many line segments are - added to an IntersectVisitor. +Mon, 10 Mar 2003 11:59:41 +0000 +Checked in by : Robert Osfield +Moved the RenderLeaf implementatation across to always applying matrices before state, which fixes problem that can occur with state that needs the current model view or projection matrices.Changes osgreflect so that it uses ClipNode rather than clip plane, thereby +fixing the problems which occur when the above is applied. -2005-10-27 10:48 robert +Create a new osgProducer version of the original GLUT based version. - * Added support for tracking the directory of the output file - whilst still maintaining - local file references within this directory. -2005-10-27 09:38 robert - * From Ravi Mathur, "New functionality is the ability to - automatically determine the - maximum traversal depth necessary to obtain an accurate estimate - of - the minimum number of required cameras. In addition, the user can - specify an absolute maximum traversal depth that will not be - exceeded." +Mon, 10 Mar 2003 11:57:17 +0000 +Checked in by : Robert Osfield +Marged new getLibaryMethod added by Daniel. -2005-10-27 09:37 robert +Mon, 10 Mar 2003 09:15:59 +0000 +Checked in by : Robert Osfield +Moved the remain inline osg::Font methods into Font.cpp to avoid problems with the impossibly stupid visual studio compilers. - * From Geoff Michel, update to osgdelaunday. +Sat, 8 Mar 2003 21:39:40 +0000 +Checked in by : Robert Osfield +Fixed examples/osghud and osgtext Makefile's to include osgText. -2005-10-26 20:30 robert +Sat, 8 Mar 2003 09:51:41 +0000 +Checked in by : Robert Osfield +Removed the OSGTEXT_EXPORT symbol from FontImplementation to avoid problems under VisualStudio. - * From Don Tidrow, bug fix to setOutputTextureFiles(bool). +Fri, 7 Mar 2003 21:05:35 +0000 +Checked in by : Robert Osfield +Fixes for IRIX build. -2005-10-26 20:22 robert +Fri, 7 Mar 2003 09:04:04 +0000 +Checked in by : Robert Osfield +From Daniel Sjolie, support for light source. - * Added friend declarations of nested classes to prevent compile - problems under VS6.0 +Fri, 7 Mar 2003 08:52:51 +0000 +Checked in by : Robert Osfield +Fix to comment record and longID length using both inbedded null's and rec length to determine the length of a string. -2005-10-26 20:00 robert +Thu, 6 Mar 2003 21:35:33 +0000 +Checked in by : Robert Osfield +Added maximum width and maximum height limits to the osgText::Text which automatically wraps text which goes beyond these limits. - * Changed the minimum tile image size to be 4x4 to avoid problems - in mipmap generation - that was occuring at sizes of 2x2, seemingly somewhere in the - OpenGL driver. +Thu, 6 Mar 2003 19:41:59 +0000 +Checked in by : Robert Osfield +Reverted the changes to ref_ptr<> for implicit cast to pointer. -2005-10-26 16:02 robert +Thu, 6 Mar 2003 17:11:24 +0000 +Checked in by : Robert Osfield +Changed the osgText::Font implementation so it used a facade us abstract away the actual implemention. This has been done so that when a freetype font is created the implementation can unloaded when the freetype plugin is unloaded without breaking the main font.Also add image margin around founds to prevent any image boundaries appearing. - * From Bob Kuehne, "changed two set methods - (setFocalLength,setFieldOfView) to perform - assignment." -2005-10-26 09:22 robert - * From Geoff Michel, compile fixes for VS6.0 +Thu, 6 Mar 2003 13:45:20 +0000 +Checked in by : Robert Osfield +Reverted the ref_ptr<> implementation to prior implicit cast operator via commenting out// #define AUTOMATIC_CAST_TO_POINTER. -2005-10-25 18:34 robert +Thu, 6 Mar 2003 11:18:38 +0000 +Checked in by : Robert Osfield +Renamed Text::TextString String. - * Updated wrappers +Thu, 6 Mar 2003 10:38:56 +0000 +Checked in by : Robert Osfield +Fixed the setInterleavedArray call. -2005-10-25 15:49 robert +Thu, 6 Mar 2003 10:38:31 +0000 +Checked in by : Robert Osfield +Add #ifndef's around the comparison operator's against const T* now that the implicit cast operator has been added. - * Added command line support for the interlaced stereo modes. +Wed, 5 Mar 2003 21:05:37 +0000 +Checked in by : Robert Osfield +Added osgText::String implementation to better handle decoding of encoded text. -2005-10-25 15:43 robert +Wed, 5 Mar 2003 21:04:11 +0000 +Checked in by : Robert Osfield +Added implicit cast to T* to ref_ptr<>. - * From Farshid Lashkari & Robert Osfield: Added support for - VERTICAL_INTERLACE and HORIZONTAL_INTERLACE - stereo modes use the stencil buffer. +Wed, 5 Mar 2003 21:02:37 +0000 +Checked in by : Robert Osfield +Made the State::setInterleavedArrays method use a const GLvoid*. -2005-10-25 14:01 robert +Wed, 5 Mar 2003 20:18:12 +0000 +Checked in by : Robert Osfield +Fix for non standard compiliant Forte compilers. - * Updated wrappers. +Wed, 5 Mar 2003 19:31:55 +0000 +Checked in by : Don BURNS +added directives for intel compilers -2005-10-25 13:28 robert +Wed, 5 Mar 2003 14:02:48 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build. - * From Geoff Michel, added support for constrain delaunay - triangultion, and osgdelaunay example. +Wed, 5 Mar 2003 12:28:42 +0000 +Checked in by : Robert Osfield +Updates to the GLUT and Producer text demo.Fix to text to better handle unsetting of vertex arrays. -2005-10-25 13:24 robert - * Added check against glGetString(GL_VERSION) returning NULL. -2005-10-25 10:30 robert +Wed, 5 Mar 2003 09:56:56 +0000 +Checked in by : Robert Osfield +Added md2 plugin from Vladimir Vukicevic. - * Added missing projects +Wed, 5 Mar 2003 09:08:11 +0000 +Checked in by : Robert Osfield +Updates to Text for Sun Forte compilers. -2005-10-25 10:29 robert +Tue, 4 Mar 2003 19:52:32 +0000 +Checked in by : Robert Osfield +Added std:: infront of cout references. - * Added osgcatch project +Tue, 4 Mar 2003 17:14:42 +0000 +Checked in by : Robert Osfield +Updates to the new osgtext example and fix to the friend usage. -2005-10-25 10:12 robert +Tue, 4 Mar 2003 15:47:28 +0000 +Checked in by : Robert Osfield +Added support for using the generate mip map extension within osgText. - * Added missing projects. +Tue, 4 Mar 2003 14:25:12 +0000 +Checked in by : Robert Osfield +Added osgProducer project to larget list. -2005-10-25 09:54 robert +Tue, 4 Mar 2003 14:17:39 +0000 +Checked in by : Robert Osfield +Added osgProducer project file. - * From Markus Trenkwalder, added meanigful return types in - Registry::read(const ReadFunctor& readFunctor) for - ERROR_IN_READING_FILE and - FILE_NOT_FOUND cases. +Tue, 4 Mar 2003 12:34:42 +0000 +Checked in by : Robert Osfield +Further improvements to osgText and the freetype plugin, handling different font sizes better and plugin removal safely. -2005-10-25 09:49 robert +Tue, 4 Mar 2003 09:08:04 +0000 +Checked in by : Robert Osfield +Renamed "libunfreetype.lib" to "freetype.lib" - * Added protected destructors. +Mon, 3 Mar 2003 22:47:50 +0000 +Checked in by : Robert Osfield +Added examples/osghud - a osgProducer port of the old osghud demo. -2005-10-25 09:43 robert +Mon, 3 Mar 2003 22:18:33 +0000 +Checked in by : Robert Osfield +Updates osghud demo.Compile fixes for VisualStudio6.0 because its a hideous pile of junk and can't +compile its way out of a paper bag. - * From Don Tidrow, removed unncessary includes. -2005-10-25 09:23 robert - * From Brede Johansen, changed osg_InverseViewMatrix to - osg_ViewMatrixInverse to bring - into line with OpenGL shader languague conventions. - - From Robert Osfield, changed the SceneView::ActiveUnforms enum to - from INVERSE_VIEW_MATRIX_UNIFORM - VIEW_MATRIX_INVERSE_UNIFORM to be convistent with the above - change. +Mon, 3 Mar 2003 20:28:07 +0000 +Checked in by : Robert Osfield +Fix for warning under Windows. -2005-10-24 18:51 robert +Mon, 3 Mar 2003 20:24:49 +0000 +Checked in by : Robert Osfield +Typo fix. - * Changes to fix divide by 0 warning under VS. +Mon, 3 Mar 2003 20:12:18 +0000 +Checked in by : Robert Osfield +Compile fixes to osgText. -2005-10-24 13:49 robert +Mon, 3 Mar 2003 16:42:48 +0000 +Checked in by : Robert Osfield +Added search path to osgText::readFontFile. - * Updated wrappers. +Mon, 3 Mar 2003 16:12:00 +0000 +Checked in by : Robert Osfield +Changed the ownership of Glyph's so that GlyphTexture's own a reference to Glyph's as well as Font's so keeping the Font valid even after the Font itself has been desctructed. -2005-10-24 13:46 robert +Mon, 3 Mar 2003 15:36:52 +0000 +Checked in by : Robert Osfield +Fixes to osgText for default parameter. - * Fixed compile warnings. +Mon, 3 Mar 2003 11:04:15 +0000 +Checked in by : Robert Osfield +Fixes for the new osg::Image::setImage() parameter, from Ulrich Hertlein. -2005-10-24 11:46 robert +Mon, 3 Mar 2003 11:02:35 +0000 +Checked in by : Robert Osfield +Updates to the quicktime plugin from Bob Kuehne. - * From Mike Weiblen, "some fixes for OSG_OPTIMIZER envar parsing - and help display" +Mon, 3 Mar 2003 10:20:24 +0000 +Checked in by : Robert Osfield +Added project file for new freetype plugin. -2005-10-24 11:44 robert +Mon, 3 Mar 2003 09:37:02 +0000 +Checked in by : Robert Osfield +Added support for computing bounds of text. - * From Marco Jez, added missing example project files. +Sun, 2 Mar 2003 21:05:05 +0000 +Checked in by : Robert Osfield +First cut of new osgText implementation. -2005-10-24 11:37 robert +Thu, 27 Feb 2003 08:43:02 +0000 +Checked in by : Robert Osfield +Changed incorrect instance "TRUE" to "FALSE" to match DepthMask state. - * From Tony Horrobin: - - "This is a small fix for flt2osg.[cpp|h] that handles - old style road segments ( from Multigen II w/road - tools on IRIX ) in the same way as the newer road - constructions. ie create a group and do a nested - traversal. - - This makes roads appear in older format files where - there was previously a gap. This actually works - properly with the paths which are marked as hidden in - the openflight database." +Thu, 27 Feb 2003 08:38:53 +0000 +Checked in by : Robert Osfield +Changed the title of the ReaderWriter, removing the "Default" word as its no longer appropriate. -2005-10-24 11:34 robert +Tue, 25 Feb 2003 21:00:26 +0000 +Checked in by : Robert Osfield +Added using namespace Producer to get round scoping issues associated with trying to support VS6 and the rest of the compiler world. - * From Don Tidrow, "I discovered that externally-referenced models - in the TXP format didn't - get positioned correctly when the TXP database was built using - the - 'tile-offset' mode. I've included a tarball with what I believe - are the - needed changes - they work for the sample databases I have - available, - but not all conditions have been tested. I've set things up such - that - these changes shouldn't affect 'normal' txp databases." +Tue, 25 Feb 2003 12:28:16 +0000 +Checked in by : Robert Osfield +Renamed osgProducer::CameraGroup and SceneHandler to OsgCameraGroup and OsgSceneHandler to avoid the namespace bug under VS6.Removed the osgproducer demo (its now been replaced by examples/osgviewer.) -2005-10-24 11:25 robert - * Warning fixes for Win32 build. -2005-10-24 10:53 robert +Tue, 25 Feb 2003 11:56:18 +0000 +Checked in by : Robert Osfield +Added osg::Image::AllocationMode enum and associated set/get methods. osg::Image::setImage has also been modified to require the AllocationMode mode to be passed to it so that it knows how to delete the data once the image goes out of scope.Port the image plugins across to specify the new AllocationMode, and converted +them across to using new/delete in place of malloc/free. - * Added copyright notices. -2005-10-24 10:51 robert - * Added beginnings of Programming Guide, and NodeTrackerCallback. +Mon, 24 Feb 2003 12:02:00 +0000 +Checked in by : Robert Osfield +Implemented an osg::minimum and osg::maximum template functions to replace the std::min/max functions previously used in parts of the osg, since the std::min/max methods do not seem implemented under IRIX. -2005-10-14 21:40 robert +Sun, 23 Feb 2003 17:01:05 +0000 +Checked in by : Robert Osfield +Ported osgstereoimage to use osgProducer, added it to the examples directory.Added a osgProducer::CameraGroup::getSceneHanderList() methods. - * From Farshid Lashkari, compile fix for VS 2002. -2005-10-14 21:38 robert - * From Brede Johansen, fixed INVERSE_VIEW_MATRIX_UNIFORM enum - value. +Sun, 23 Feb 2003 15:50:57 +0000 +Checked in by : Robert Osfield +Fixes to try and keep OSX and Win32 compiling with the new usage of std::max. -2005-10-14 09:29 robert +Fri, 21 Feb 2003 20:22:32 +0000 +Checked in by : Robert Osfield +Added #include to keep OSX build compiling.Reverted the mymax implementation to std::max, hopefully this should be ok now +that we have standardised on non native STL under VisualStudio. - * From Farshid Laskari, changed the compute of the text bounding - box to include the spaces. -2005-10-13 12:51 robert - * Renamed osgUtil::RenderGraph to osgUtil::StateGraph +Fri, 21 Feb 2003 14:05:39 +0000 +Checked in by : Robert Osfield +Added examples directory, a place for all new OSG demo code.Added osgcameragroup, osgviewer, osgtext, osgconv to the new examples directory. -2005-10-13 10:29 robert - * Changed the "Cessna" text so that it is sized according to - OBJECT_COORDS rather - than SCREEN_COORDS as the later was causing problems with the - pixel size based LOD selection. -2005-10-13 08:18 robert +Thu, 20 Feb 2003 21:58:47 +0000 +Checked in by : Robert Osfield +Added std:: infront of cout. - * Updated wrappers. +Thu, 20 Feb 2003 21:52:50 +0000 +Checked in by : Robert Osfield +Changed the license details across to OSGPL instead of GPL. -2005-10-13 08:07 robert +Wed, 19 Feb 2003 21:37:12 +0000 +Checked in by : Robert Osfield +Added missing std:: infront of string usage. - * Added Producer.lib to osgdepthpartion project file +Wed, 19 Feb 2003 11:32:15 +0000 +Checked in by : Robert Osfield +Added check into the application usage list of command line args for unrecognized options to prevent unprocessed, but valid options being classed as unrecognized. -2005-10-13 08:05 robert +Wed, 19 Feb 2003 10:43:02 +0000 +Checked in by : Robert Osfield +Added keyboard mouse binding usage to the osg::ApplicationUsage and osgGA::GUIEventHandler and its subclasses. - * Added PRODUCER_INSTALLED=yes make options to the unix build - system, not defining - PRODUCER_INSTALLED=yes or setting it to another value than yes - (i.e no) will result - in the osgProducer library, OSG applications and demos not being - built. - - PRODUCER_INSTALLED=yes is the default. +Tue, 18 Feb 2003 21:58:40 +0000 +Checked in by : Robert Osfield +Completed first pass at providing commandline option usage via the new osg::ArgumentPareser and osg::ApplicationUsage classes. The osgproducer demo has been implemented using these new mechansims. -2005-10-12 18:42 robert +Tue, 18 Feb 2003 21:10:42 +0000 +Checked in by : Robert Osfield +Made the osg::ApplicationUsage forward declared.Added include of ostream to ArgumentParser header. - * Added SmokeTrailEffect which renders created particles as single - quad or line - strip, in the case of the quad strip the strip is aligned to the - be orthogonal with - the eye point. -2005-10-11 09:47 robert - * Added new shell of new class ConnectedParticleSystem, which will - be used - for managing connect particle system for the purpose of doing - missile trails etc. +Tue, 18 Feb 2003 19:45:53 +0000 +Checked in by : Don BURNS +std::cout replaced cout -2005-10-10 10:10 robert +Tue, 18 Feb 2003 16:36:42 +0000 +Checked in by : Robert Osfield +Added new osg::ApplicationUsage and osg::ArgumentParser to help streamline application/example developement. - * From Ravi Mathur, osgdepthpartition example program. +Tue, 18 Feb 2003 14:00:31 +0000 +Checked in by : Robert Osfield +Removed non implemented method convertWideString(const char* text) from header -2005-10-10 09:17 robert +Tue, 18 Feb 2003 11:33:55 +0000 +Checked in by : Robert Osfield +Added reference to Group in the RegisterDotOsgWrapperProxy. - * From Alberto Jaspe, added double precision interpolation method +Tue, 18 Feb 2003 10:50:57 +0000 +Checked in by : Robert Osfield +Added missing ; -2005-10-07 07:46 robert +Tue, 18 Feb 2003 09:12:27 +0000 +Checked in by : Robert Osfield +Removed linking to osgGLUT/GLUT in the osgconv program. - * Added into CVS missing PolgonMode files. +Sat, 15 Feb 2003 19:51:53 +0000 +Checked in by : Robert Osfield +Fixes to RenderToTextureStage to account for the cull/draw traversal no longer using reference counting of statesets.Moved last uint reference over to unsigned int. -2005-10-06 20:02 robert - * Improved the UpdateCameraAndTexGenCallback so it properly handles - rotation and - translations within the reflector nodepath. -2005-10-06 15:43 robert +Fri, 14 Feb 2003 22:32:29 +0000 +Checked in by : Robert Osfield +Moved osghanglide back to pure osgGLUT based, removing osgProducer pathways. - * From Brede Johansen, added support for PolygonMode into .ive - format. +Fri, 14 Feb 2003 20:27:23 +0000 +Checked in by : Robert Osfield +More work on uint -> unsigned int. -2005-10-06 15:41 robert +Fri, 14 Feb 2003 19:47:59 +0000 +Checked in by : Robert Osfield +MOre work on uint -> unsigned int. - * Changed the fallback code to use the result form the realize() - call, removed - the code path from running a PBuffer as a seperate graphics - context (this - was found to be slower than running single threaded so its not - worth the - extra complexity). +Fri, 14 Feb 2003 16:52:47 +0000 +Checked in by : Robert Osfield +Renamed futher uint/ushort instances. -2005-10-06 13:31 robert +Fri, 14 Feb 2003 11:41:52 +0000 +Checked in by : Robert Osfield +Removed last of the uint references. - * Added env var reporting for the OSG_CAMERA_THREADING and - OSG_SHARE_GRAPHICS_CONTEXTS env vars. +Thu, 13 Feb 2003 15:37:32 +0000 +Checked in by : Robert Osfield +Added support for ClipNode in the .osg plugin. -2005-10-06 13:20 robert +Thu, 13 Feb 2003 15:16:04 +0000 +Checked in by : Robert Osfield +From Geoff Michel, updates to the Geo plugin.Removed osg::uint reference form the pfb plugin. - * Added catch for disabling ThreadPerCamera when contexts are - shared. -2005-10-06 11:26 robert - * Improved the fallback mechanism from FBO, down to PBuffer_RTT - down to PBuffer down to frame buffer. +Wed, 12 Feb 2003 19:20:47 +0000 +Checked in by : Robert Osfield +Removed include/osg/Types header defining osg::ubyte, osg::ushort etc. Changed any reference to these in the distribution across to using unsigned char, unsigned short etc. This has been done to keep the OSG code more opaque to what types are. -2005-10-05 16:21 robert +Wed, 12 Feb 2003 14:39:51 +0000 +Checked in by : Robert Osfield +Merged linkage changes from Duncan Cavens to help the OSG osgtext and osghud demo's build cleanly even when a previous version of the OSG is installed. - * Moved the testing and setting up of FBO/Pbuffer extension from - CullVisitor to - support into RenderStage to allow better fallback - implementations. +Wed, 12 Feb 2003 12:02:25 +0000 +Checked in by : Robert Osfield +From Norman Vine, updates to TXP plugin so that the Cygwin build uses pthreads. -2005-10-05 09:48 robert +Wed, 12 Feb 2003 10:10:03 +0000 +Checked in by : Robert Osfield +Add if (!textureStateSet) return check to replace assert() to prevent crashes when multi-texture layers don't exist. - * Added support for CameraView into NodeVistor, and support for - CameraNode and CameraView - into the AnimationPathCallback so you can now animate both via - animation paths. +Wed, 12 Feb 2003 09:52:27 +0000 +Checked in by : Robert Osfield +Added if (!null) guard around description strings. -2005-10-04 18:50 robert +Tue, 11 Feb 2003 19:23:19 +0000 +Checked in by : Don BURNS +From Tom Jolley: I was converting a pfb file to osg and had trouble with a missing image library. I added -all in front of -limage where PFLIBS is defined in Make/makedefs to solve my problem. - * Added code paths for PBuffer RTT support. +Tue, 11 Feb 2003 15:54:31 +0000 +Checked in by : Robert Osfield +Made the Professional services subscript optional - use "osglogo ps" to enable it. -2005-10-04 13:41 robert +Tue, 11 Feb 2003 12:37:48 +0000 +Checked in by : Robert Osfield +Clean up of the logo demo. - * Added osg::CameraView to help application/modellers position - their cameras in scenes. Note, - CameraView is *not* a camera, it isn't an active object, but a - passive one that - camera must track each frame to following the path of the - CameraView. +Mon, 10 Feb 2003 22:15:04 +0000 +Checked in by : Don BURNS +Used INC instead of CXXFLAGSGVS: ---------------------------------------------------------------------- -2005-10-03 19:37 robert - * From Keith Steffen, fixed bug in StateSet::clear() where parents - of texture attributes - where not being reset correctly due to incorrect ordering of - _textureAttributeList.clear(). -2005-10-03 19:33 robert +Mon, 10 Feb 2003 16:48:53 +0000 +Checked in by : Robert Osfield +Removed the osg::notify() calls from the RenderBin prototype construction to avoid problems under OSX with construction/deletion of std::cout/cerr. - * From MFM, Added FreeBSD specific implementation for - getGLExtensionFuncPtr using dlsym(RTLD_DEFAULT, xxx) +Mon, 10 Feb 2003 15:16:51 +0000 +Checked in by : Robert Osfield +From Geoff Michel, updates to the Geo loader including handling of .geo files from the rc1 of the GEO modeller. -2005-10-03 19:24 robert +Mon, 10 Feb 2003 15:01:27 +0000 +Checked in by : Robert Osfield +From Tree, added support for using wchar_t strings with osg::Text/EncodedText. - * Added a couple of (double) casts for VS7 build. +Mon, 10 Feb 2003 14:47:20 +0000 +Checked in by : Robert Osfield +Updates from Ulrich for sharing of textures. -2005-10-03 19:18 robert +Mon, 10 Feb 2003 14:31:05 +0000 +Checked in by : Robert Osfield +Rename of INSTALL to INSTALL.txt, etc. to help OSX case insentivity issues. - * Added closing of loops. +Mon, 10 Feb 2003 14:23:31 +0000 +Checked in by : Robert Osfield +Changed int to GLint for OSX build. -2005-10-03 16:13 robert +Mon, 10 Feb 2003 13:58:39 +0000 +Checked in by : Robert Osfield +Minor fixes to ReaderWriter and Paragraph to help work with use of Doxygen.Fix to CullVisior to handle the new no referenced counted cull and draw traversal. - * Added fusing of ends of lines -2005-10-03 13:19 robert - * Improved handling of convex azim ranges. +Wed, 5 Feb 2003 23:13:27 +0000 +Checked in by : Don BURNS +Right, em.... fixed eh.. problem with destruction of RenderBin prototype list -2005-10-01 19:28 robert +Fri, 31 Jan 2003 23:46:15 +0000 +Checked in by : Robert Osfield +Fixed infinite loop in osgProducer::CameraGroup::advance(). - * Added test cases for SphereSegment intersection code. +Fri, 31 Jan 2003 00:44:56 +0000 +Checked in by : Robert Osfield +Port of osghangglide to use osg producer. Default build still uses GLUT. -2005-10-01 19:27 robert +Thu, 30 Jan 2003 23:02:32 +0000 +Checked in by : Robert Osfield +Added FrameStats support into osgProducer lib, and removed them from the osgproducer demo.Removed the producer config files osgproducer demo. - * Added a dirtyDisplayList() to the setColor() and - setTesselationHint() methods. +Added a search the osgDB::DataFilePath for the producer config file. -2005-10-01 12:23 robert - * Adding handling of case of convex azimuth side ways of sphere - segment. -2005-09-30 19:36 robert +Thu, 30 Jan 2003 21:46:57 +0000 +Checked in by : Robert Osfield +Fix for endianess of colour set up of RGBA values. - * Changed the line intersection algorithm to computer full line - intersections then - trim down to size by intersecting with the sphere segmenet - sufaces +Thu, 30 Jan 2003 16:11:39 +0000 +Checked in by : Robert Osfield +Fixed warning in osgTextAdded getBound() to begining of osgProducer::CameraGroup::frame() to ensure +that the parallel cull traversals don't all do a getBound(). -2005-09-29 15:55 robert +Added osgProducer::CameraGroup::getTopMostSceneData() convinience method. - * Fix to intersection code. -2005-09-29 13:07 robert - * Updated wrappers. +Thu, 30 Jan 2003 01:31:22 +0000 +Checked in by : Robert Osfield +From Max, fixes to UniCode support for bitmap fonts. -2005-09-29 13:00 robert +Thu, 30 Jan 2003 00:34:35 +0000 +Checked in by : Robert Osfield +Fixes to osgprerender and osgshadow scene for new cull and draw implemention without use of ref counting.New StatsEventHandler for osgprerender demo to add keyboard control of stats +output. - * From Marco Jez, fix for gcc build. -2005-09-29 10:25 robert - * Fixed typo of Primitive +Wed, 29 Jan 2003 17:24:54 +0000 +Checked in by : Robert Osfield +Fixed CullVisitor::getDistanceFromEyePoint so that withLODScale is handled correctly. -2005-09-29 10:22 robert +Wed, 29 Jan 2003 17:16:26 +0000 +Checked in by : Robert Osfield +Fixes for multipipe support.Addition of FrameStatsHandler to osgproducer demo to add frame stats. - * Added setOverlayClearColor and setTexEnvMode and automatic set up - of TexEnv. -2005-09-29 09:49 robert - * From Marco Jez, added fallback to TextureCubeMap subloading that - calls load - when mipmaps are required, but non are present. +Mon, 27 Jan 2003 20:40:08 +0000 +Checked in by : Don BURNS +Fixes to osgProducer for IRIX build. -2005-09-29 09:36 robert +Sat, 25 Jan 2003 00:14:14 +0000 +Checked in by : Robert Osfield +Final changes for release. - * Fixed typo of CameraNode::setRenderTargetImplementation(..) +Fri, 24 Jan 2003 23:59:55 +0000 +Checked in by : Robert Osfield +Addition for osgSim docs. -2005-09-28 16:05 robert +Fri, 24 Jan 2003 23:36:35 +0000 +Checked in by : Robert Osfield +Updates docs for release. - * From Volker Walkiewicz (with tweaks from Robert Osfield): - - Fix to the update of the error metrics on the edges in the - simplification mesh that are affected by an edge collapse. - - Addition of 'n' and 'p' keyboard control in osgsimplifier example - to allow users to control the sample ratio manually. +Fri, 24 Jan 2003 22:40:24 +0000 +Checked in by : Robert Osfield +Updates NEWS file with date of release. -2005-09-28 14:18 robert +Fri, 24 Jan 2003 16:57:28 +0000 +Checked in by : Robert Osfield +Removed the inline declarations of several method implementations. - * From Marco Jez, "Problems fixed: - - 1. type converters created automatically by the I_BaseType macro - use - static_cast<> even for base-to-derived conversions. - dynamic_cast<> should be - used instead. - 2. as a consequence of the above fix, I_BaseType must now - differentiate - between polymorphic and non-polymorphic base classes, because the - latter - can't be dynamic_cast'd to derived classes. Some template magic - (see - is_polymorphic<> in ReflectionMacros) is used to detect - polymorphism at - compile time (I'm NOT sure it works on all platforms as it's - partly - implementation-dependent. Please test!). - 3. predefined custom property getters/setters/counters/etc. (as - those - defined for STL containers) only work on Value objects that - contain - non-pointer instances. This was an unwanted restriction that no - longer - exists. - - Wrappers will need to be recompiled. This is a good time to give - them a - fresh update with genwrapper. - - NOTE: fix #1 should get rid of those crashes and strange - behaviours that - some users noticed while using osgIntrospection through osgTcl or - in their - own code." +Fri, 24 Jan 2003 15:33:54 +0000 +Checked in by : Robert Osfield +Changed the /MDd switch to /MD to remove a warning. -2005-09-28 14:05 robert +Fri, 24 Jan 2003 15:12:54 +0000 +Checked in by : Robert Osfield +Added an #ifdef to osgGLUT/Window.cpp to handle the case of compiling against older versions of GLUT. - * From Chris Hanson, "The following files are drop-in replacements - for the include/*/Export files to permit - building statically linked osg libraries under Win32." +Fri, 24 Jan 2003 12:39:18 +0000 +Checked in by : Robert Osfield +Changes to try and placate the Sun Forte compiler. -2005-09-28 13:55 robert +Fri, 24 Jan 2003 10:22:08 +0000 +Checked in by : Robert Osfield +Removd the linking to the debug version of the freetype lib as this won't be included in the new OsgWin32Dependances.zip file. - * From Leandro Motta Barros: fixed type of ATTRIBUTE_* +Fri, 24 Jan 2003 09:47:15 +0000 +Checked in by : Robert Osfield +Added osgvertexprogram to the demo list. -2005-09-28 13:53 robert +Fri, 24 Jan 2003 09:46:52 +0000 +Checked in by : Robert Osfield +Udpated the freetype 2.1.3 linked to by the osgText.dsp - * From A. Botorabi, "slightly modified osgUtil's - TangentSpaceGenerator class to allow the - option for using or not using geom's indices for tangent space - vectors - generation. now, Ruben's code is also used (it was disabled - before). in - order to keep backward compatibility, the compute method behaves - as before - in default case." +Fri, 24 Jan 2003 09:37:56 +0000 +Checked in by : Robert Osfield +Added support for osg::Transform::asMatrixTransform, asPositionAttitudeTransform and as DOFTransform. -2005-09-28 13:45 robert +Fri, 24 Jan 2003 09:37:11 +0000 +Checked in by : Robert Osfield +Changed the setUpViewer so it takes unisigned int to make it easier to do OR'ing of the various enumerates when passing in paramters (avoids a warning). - * From Joran Jessurun, comments explaining font search rules +Fri, 24 Jan 2003 09:35:05 +0000 +Checked in by : Robert Osfield +Fixed the formating of the Matrix output. -2005-09-28 13:39 robert +Fri, 24 Jan 2003 09:34:33 +0000 +Checked in by : Robert Osfield +Added an #ifdef check around the glutSpecialUpFunc to help compile unde old version of GLUT. - * From Joran Jessurun, added font search fallbck that strips the - leading path from the font file and then looks again. +Fri, 24 Jan 2003 09:11:05 +0000 +Checked in by : Robert Osfield +Fix for impostors bug where image insert were visible, this was down to a double call to RenderStage::drawPreRenderStage(). The call to it in RenderStage inside the draw() method has been removed, leaving on the call in SceneView. -2005-09-28 13:33 robert +Thu, 23 Jan 2003 22:12:04 +0000 +Checked in by : Robert Osfield +Changed the template insert(,,) method for a std::copy() implemention as it seems that the Sun Forte compiler can't handle member templates! - * From Chris Hanson: - - Spelling fixes in include/osg/LOD - - Negated priority in PagedLOD when using - _rangeMode==PIXEL_SIZE_ON_SCREEN - - Added clampedPixelSize() methods to CullStack and CullingSet to - return fabs()ed values. - - Changed LOD and PagedLOD ::traverse to use clampedPixelSize() - methods. +Thu, 23 Jan 2003 15:12:58 +0000 +Checked in by : Robert Osfield +Added extra checks in the removal of rendundent nodes code so that description fields etc are checked. -2005-09-27 20:28 robert +Thu, 23 Jan 2003 14:46:10 +0000 +Checked in by : Robert Osfield +Fix to handling of comment records and longid's. - * Added degugging methods. +Thu, 23 Jan 2003 12:18:22 +0000 +Checked in by : Robert Osfield +Changed the image directory refered to in billboard demo.Updates NEWS. -2005-09-27 14:48 robert +Changed the line endings in TextureCubeMap to unix endings. - * From Don Tidrow, Added support for locally referenced origins. -2005-09-27 12:15 robert - * Various improvements to the sphere segment intersection code. +Thu, 23 Jan 2003 12:07:01 +0000 +Checked in by : Robert Osfield +Tweaking of the osgvertexprogram tex matrix settings. -2005-09-26 11:24 robert +Thu, 23 Jan 2003 10:11:11 +0000 +Checked in by : Robert Osfield +Fixed Win32 compile problem. - * Set the defaul clear colour to 0,0,0,0. +Thu, 23 Jan 2003 09:58:25 +0000 +Checked in by : Robert Osfield +Removed COPYING file as it is now replaced by the LICENSE file. -2005-09-26 11:24 robert +Thu, 23 Jan 2003 08:39:48 +0000 +Checked in by : Robert Osfield +Fixed typo of APPLY_MATICES_BEFORE_STATE. - * Added TexEnv DECAL mode. +Thu, 23 Jan 2003 08:37:15 +0000 +Checked in by : Robert Osfield +Removed eroneous std:: from the from of DisplayListVector. -2005-09-25 20:41 robert +Wed, 22 Jan 2003 23:40:47 +0000 +Checked in by : Robert Osfield +From Ulrich, change to the pflib includes for Performer under Linux to solve problem loading pf datasets. - * From Mike Weiblen, fixes from VS 7.1 build. +Wed, 22 Jan 2003 23:35:19 +0000 +Checked in by : Robert Osfield +Added a couple more #defines for the texture cube maps that one can use. -2005-09-24 16:11 don +Wed, 22 Jan 2003 23:34:43 +0000 +Checked in by : Robert Osfield +Added support for a -c option. - * Brede's changes for limited morphed vertex support. These changes - allow - a model with morphed vertecies to load correctly with LOD - switches, but - does not implement the vertex morphing. +Wed, 22 Jan 2003 23:34:18 +0000 +Checked in by : Robert Osfield +Changed the implementation of the texture objects and display list to delete caches so that they use a std::vector<> swap on the internal data structures when ready to delete to minimize the amount of time that a race condition condition can happen. -2005-09-24 14:53 robert +Wed, 22 Jan 2003 20:48:10 +0000 +Checked in by : Robert Osfield +Vertex program update from Brede. - * Improvements to the clipping of polygons at boundary edges. +Wed, 22 Jan 2003 19:17:39 +0000 +Checked in by : Robert Osfield +Updated version numbers to 0.9.3 -2005-09-21 14:38 robert +Wed, 22 Jan 2003 16:49:05 +0000 +Checked in by : Robert Osfield +Fixed compute bound code which was applying offset first then rotating, rather than rotating first then offset. - * Further work on intersection code. +Wed, 22 Jan 2003 16:17:56 +0000 +Checked in by : Robert Osfield +Fixed handling of rotations reading from .osg of osg::Shapes. -2005-09-19 19:49 robert +Wed, 22 Jan 2003 15:44:22 +0000 +Checked in by : Robert Osfield +From Daniel Sjölie, support for controlling which viewports are focusable i.e. recive mouse/keyboard events. - * Added multiple intersect triangle visualization for testing - purposes. +Wed, 22 Jan 2003 15:30:17 +0000 +Checked in by : Robert Osfield +Clean up to the osgProducer lib and demo. -2005-09-19 15:33 robert +Wed, 22 Jan 2003 12:50:52 +0000 +Checked in by : Robert Osfield +Fixed remove transform code to work with the new extra paramter require by osgUtil::Optimizer. - * From Mike Weiblen: support for OSGHANGGLIDE_REVERSE_CONTROLS env - which reverses - the pitch and roll control to account from Mike's "unique" way of - flying hang gliders :-) +Wed, 22 Jan 2003 12:25:04 +0000 +Checked in by : Robert Osfield +Changed the decal=true setting to decal=false to make sure that textured models come out lit ok. The makes the assumption that colour values on the objects and realistic, if they arn't then decal texture can produce better results.. -2005-09-19 15:28 robert +Wed, 22 Jan 2003 12:06:22 +0000 +Checked in by : Robert Osfield +Fixed an Optimizer crash where if the top most node of a model was a static transform it would crash when this root was deleted. Have fixed by recognising this node as one not to remove and set it to identity instead. - * From Ravi Mathur, added extension checks for point sprite - support. - From Robert Osfield, tweaks of the above to use - osg::buffer_object and a local struct to store - initialized to help with multi-thread and out of order context - usage. +Tue, 21 Jan 2003 21:02:17 +0000 +Checked in by : Robert Osfield +Changed the local header includes from <> to "" to help the OSG compile. -2005-09-19 14:07 robert +Tue, 21 Jan 2003 19:37:45 +0000 +Checked in by : Robert Osfield +Removed debugging messages. - * Added support for "-O OutputTextureFiles" options string in .osg - plugin to - allow texture files to be written out when writing out a .osg - file. +Tue, 21 Jan 2003 16:45:36 +0000 +Checked in by : Robert Osfield +Added new Copyright/License notice to header and source files. -2005-09-19 13:15 robert +Tue, 21 Jan 2003 16:40:18 +0000 +Checked in by : Robert Osfield +Made the pre rendering texture using glCopySubImage rather than copy to image and then copy to texture, as the later was no longer working due to texture->apply ordering. - * Added countMultipleIntersections to help with debugging. +Tue, 21 Jan 2003 16:02:29 +0000 +Checked in by : Robert Osfield +Added gaurds around alpha function value to catch erroneous values before they are passed on to the OSG. -2005-09-17 18:50 robert +Tue, 21 Jan 2003 13:22:13 +0000 +Checked in by : Robert Osfield +Made a new osgproducer demo based on the new osgProducer::Viewer class. Kept the old camera group version around for future reference. - * Improved the region classifaction of the intersection code. +Tue, 21 Jan 2003 13:14:29 +0000 +Checked in by : Robert Osfield +Added new osgProducer::Viewer class for putting together simple producer based viewers very quickly. -2005-09-16 14:52 robert +Tue, 21 Jan 2003 09:09:48 +0000 +Checked in by : Robert Osfield +From Joseph Steel, addition of texture filter modes to txp plugin. - * Improved accuracy of spheresegment to mesh intersections uses - mathematical - models of surface geometry. +Mon, 20 Jan 2003 20:40:06 +0000 +Checked in by : Robert Osfield +Made the drawable::compile(State&) method const and the DisplayListVisitor to compile even when dislay list is off. This has been done to allow subclasses of Drawable handle their own compile implementation, such as used by text. -2005-09-16 09:28 robert +Mon, 20 Jan 2003 20:33:50 +0000 +Checked in by : Robert Osfield +Improvements to osgProducer lib, in particular adding a mutex lock to the init() call in SceneView to prevent init running multi-threaded. - * Added Azimuth and Elevation intersector functors. +Mon, 20 Jan 2003 20:28:28 +0000 +Checked in by : Robert Osfield +Improvements to the handling of multiple graphics contexts. Still needs alot of work, but at least it isn't crashes in trivial cases right now. -2005-09-15 20:55 robert +Mon, 20 Jan 2003 14:08:03 +0000 +Checked in by : Robert Osfield +Removed the ReaderWriterFLY.cpp for the project as its no longer used. - * Changed destinationRowDelta and destination_pixelSpace to int's, - solving a - memory corruption crash under 64 bit build. +Mon, 20 Jan 2003 14:07:27 +0000 +Checked in by : Robert Osfield +Removed the ReaderWriterFLY demo since it was causing OSX builds to crash when running the osghangglide demo. -2005-09-15 20:03 robert +Mon, 20 Jan 2003 12:41:15 +0000 +Checked in by : Robert Osfield +Added the new standard copyright notice. - * Added line connectivity code. +Mon, 20 Jan 2003 12:40:12 +0000 +Checked in by : Robert Osfield +Added the OpenSceneGraph Public License which is a based on the WxWindows license which inturn is a modified LGPL. -2005-09-15 09:03 robert +Mon, 20 Jan 2003 11:54:34 +0000 +Checked in by : Robert Osfield +Clean up to the osgproducer demo. - * Moved copyLeavesFromRenderGraphListToRenderLeafList into public. +Mon, 20 Jan 2003 11:52:34 +0000 +Checked in by : Robert Osfield +Fixed bug in the flight and drive manipulators where they would uncontrollably shrink down to a tiny window size when one rezized the window. -2005-09-12 19:42 robert +Mon, 20 Jan 2003 11:07:41 +0000 +Checked in by : Robert Osfield +Fixed osglogo demo so that is correctly set up the colour of the background. - * Added querry of video size during open() call and associated - allocImage to - ensure that the imagestream passed back is of a valid size. +Mon, 20 Jan 2003 11:02:27 +0000 +Checked in by : Robert Osfield +Made the setting of default glNormal and glColor values an compile option via #ifdef USE_DEFAULT_NORMAL and USE_DEFAULT_COLOR defines respectively. -2005-09-11 19:12 robert +Mon, 20 Jan 2003 10:41:21 +0000 +Checked in by : Robert Osfield +Updates from Pavel. 1. Storing color of geometry in ColorArray e.g. its don't work when + lighting off. - * From Henrique Bucher, add check against null light entry in - LightPool. + 2. Detecting of alpha channel and automatically enabling blending. -2005-09-11 19:08 robert - * From Farshid Lashkari, append "\fonts" to end of windows font - search path. -2005-09-11 19:05 robert +Mon, 20 Jan 2003 09:56:09 +0000 +Checked in by : Robert Osfield +Update the ReaderWriterATTR file so that it used the definitions that Joseph Steel obtained from MPI.Removed the unique child check from the flt::PrimRecord and osg::Group, this +allows more flexibility when specifing nodes, and is faster.. - * From Sondra Iverson, "The options to rewind/restart and to toggle - looping in the osgmovie - example have been implemented. " -2005-09-11 19:02 robert - * converted hardware tabs to spaces. +Mon, 20 Jan 2003 09:09:46 +0000 +Checked in by : Robert Osfield +From Ruben, updates to the IV/VRML1 loader to handler large datasets. -2005-09-11 19:00 robert +Mon, 20 Jan 2003 08:58:32 +0000 +Checked in by : Robert Osfield +Updates to osgProducer, moving the implementation of CameraGroup and SceneHandler into the source directory. - * From Sonda Iverson, fix for repeated pause/unpause toggleing in - Xine plugin +Sun, 19 Jan 2003 15:28:08 +0000 +Checked in by : Robert Osfield +Added osg::State::dirtyAllModes() and dirtyAllAttributes() methods. -2005-09-10 13:07 robert +Sat, 18 Jan 2003 22:07:59 +0000 +Checked in by : Robert Osfield +Improvements to the osgProducer lib to better handle Producer's normalized coord system.Addition of ReadCameraConfigFile and WriteCameraConfigFile as a tempory +measure for implementing local a C++ read/write of the Producer::CameraConfig, this +will be removed once these implementations or similar have been moved to Producer. - * From Joran Jessurun, fix to let the Viewer::computeNearFarPoints - function work correctly when used with multiple camera's on one - render - surface. -2005-09-10 12:51 robert - * Removed some debugging messages +Sat, 18 Jan 2003 10:17:28 +0000 +Checked in by : Robert Osfield +Updated the KeyboardMouseCallback so this it takes into account the the new passiveMouseMotion support in Producer. -2005-09-10 12:51 robert +Sat, 18 Jan 2003 09:44:12 +0000 +Checked in by : Robert Osfield +From Eric Sokolowsky, Fix for IRIX build, adding typename into the graph_array to allow the compiler to leave instation of typedefs until required. - * Added more intersection testing code. +Fri, 17 Jan 2003 20:27:07 +0000 +Checked in by : Robert Osfield +Added comment about osgProducer to the NEWS. -2005-09-09 20:26 don +Fri, 17 Jan 2003 20:05:41 +0000 +Checked in by : Robert Osfield +Added KeyboardMouse::allowContinousMouseMotionUpdate(), but commented out right now as Producer crashes when you use it.. - * Added initial ESRIShape file loader. - - Untabbed and formated LOGO loader. Removed extraneous noise from - NET loader +Fri, 17 Jan 2003 18:34:35 +0000 +Checked in by : Robert Osfield +Added osgProducer library to the distribution.Cleaned up the osgproducer demo, and made it work with the new osgProducer lib. -2005-09-09 15:42 robert - * Removed duplicate typedef. -2005-09-09 11:13 robert +Fri, 17 Jan 2003 16:00:09 +0000 +Checked in by : Robert Osfield +Removed the addition of 0 to the add of the encoded text vector as it is now redundent having added support for the begin,end range into FTFont. - * Added triangle index functor to src/osgUtil/SphereSegment.cpp for - computing - the intersection between an indivual geometry and the sphere - segment. - - Converted the terrain in osgspheresegment to be an osg::Geometry - based - drawable rather than a osg::ShapeDrawable/osg::HeightField one to - make it - more practicle to use as a test for the new SphereSegment - intersection code. +Fri, 17 Jan 2003 15:01:27 +0000 +Checked in by : Robert Osfield +Fixed a bug on the handling of empty EncodedText. -2005-09-08 18:56 robert +Fri, 17 Jan 2003 14:12:46 +0000 +Checked in by : Robert Osfield +Further improvements to the osgproducer demo. - * Added PolytopeVisitor to SphereSegment.cpp to help cull down to - only drawables - that intersect with the frustum of the SphereSegment. - PolytopeVisitor may - eventually be pulled out to be more generally used along the - lines of osgUtil::IntersectVisitor. +Fri, 17 Jan 2003 14:12:25 +0000 +Checked in by : Robert Osfield +Added new getCurrentCamaeraManipulator(), and removed and debugging message. -2005-09-08 13:10 robert +Fri, 17 Jan 2003 14:11:34 +0000 +Checked in by : Robert Osfield +Removed the osg::Referenced::createCount() and deleteCount() methods and associated variables which were only compiled in on debug build. These optional methods/static vars were causingproblems when mixing debug and release builds. - * Added initial interface for computing intersections between - sphere segments - and terrain. +Fri, 17 Jan 2003 13:34:03 +0000 +Checked in by : Robert Osfield +Integated the trackball manipulator with the osgproducer demo. -2005-09-07 16:18 robert +Fri, 17 Jan 2003 11:26:16 +0000 +Checked in by : Robert Osfield +Added ProducerEventCallback class to manager the conversion of producer events into GUIEventAdapter versions. - * Added support for cullable state, that uses a polytope to define - the extents - of objects that will be influenced by it. +Thu, 16 Jan 2003 19:27:30 +0000 +Checked in by : Robert Osfield +Added DOUBLECLICK EventType to GUIEventAdapter. -2005-09-06 20:28 robert +Thu, 16 Jan 2003 16:37:24 +0000 +Checked in by : Robert Osfield +Added support for ReferenceFrame into osg::LightSource, modified the .osg plugin and cull visitor to account for this change. - * Added a grid of lines into the OverlaySubgraph to demonstate use - the - OverlayNode for applying general drawing onto terrain. +Thu, 16 Jan 2003 12:39:15 +0000 +Checked in by : Robert Osfield +Added support for frame stamping each frame. -2005-09-06 19:54 robert +Thu, 16 Jan 2003 12:18:45 +0000 +Checked in by : Robert Osfield +Updates to clean up the demo. - * Added s/getContinousUpdate(bool) method to OverlayNode. +Wed, 15 Jan 2003 21:54:42 +0000 +Checked in by : Don BURNS +Added gstabs+ to DBGF in Linux in makedefs -2005-09-06 15:48 robert +Wed, 15 Jan 2003 20:57:48 +0000 +Checked in by : Robert Osfield +Warning fix for Win32. - * Added osgSim::OverlayNode to osganimate and osgspheresegment - examples, and - added support for setting texture size hint and coping with scene - graphs - with CoordinateSystemNode in them. +Wed, 15 Jan 2003 20:53:27 +0000 +Checked in by : Robert Osfield +Added #include simply to include the #pragma's for disabling the daft VisualStudio warnings. -2005-09-05 13:27 robert +Wed, 15 Jan 2003 20:50:12 +0000 +Checked in by : Robert Osfield +Made the osgDB::ParamterOutput class so that it is purely defined in terms of the header, and therefore not requiring to be exported.Updated the MUSE_READ_ME.txt to include mention of syntax highlighting. - * Changed #if -2005-09-05 13:26 robert - * Added checking of EventVisitor type +Wed, 15 Jan 2003 19:23:16 +0000 +Checked in by : Robert Osfield +Updates to the osgproducer demo. -2005-09-05 13:23 robert +Wed, 15 Jan 2003 15:44:49 +0000 +Checked in by : Robert Osfield +Removed the -> methods from the arc class to prevent stupid warnings under VisualStudio6.0. - * Fixed VisitorType of EventVisitor +Wed, 15 Jan 2003 15:24:35 +0000 +Checked in by : Robert Osfield +First cut and a demo which uses Open Producer for windowing. -2005-09-05 13:19 robert +Wed, 15 Jan 2003 13:17:52 +0000 +Checked in by : Robert Osfield +Attempts to fix more of the *stupid* errors in the VisualStudio6.0 compiler. - * Added event handler to shader code so that alphaCuttOff, - transparency and - sampleDensity are controlled via 'a', 't' and 'd' respectively. +Wed, 15 Jan 2003 11:33:33 +0000 +Checked in by : Robert Osfield +Patch from Joseph Steel, added missing check for the mipmap usage. -2005-09-05 10:40 robert +Wed, 15 Jan 2003 11:29:30 +0000 +Checked in by : Robert Osfield +Removed the template versions of the PrimitiveSet constructors as this was causing problem under VisualStudio6.0. - * Integrated shaders into source. +Tue, 14 Jan 2003 19:12:22 +0000 +Checked in by : Robert Osfield +Fix for win32. -2005-09-05 09:14 robert +Tue, 14 Jan 2003 16:39:41 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build. - * Added all sides of the shader cube +Tue, 14 Jan 2003 14:25:56 +0000 +Checked in by : Robert Osfield +From Daniel Sjölie, updates to the GUIEventAdapter and GLUTEventAdapter to handle key and key down, modifiers and funcion keys. -2005-09-05 07:48 robert +Tue, 14 Jan 2003 14:21:06 +0000 +Checked in by : Robert Osfield +Added an compile in option of applying the matrices before state in the RenderLeaf apply method. This order is intended to help support of vertex programming, but unfortunately breaks the osgreflect demo so the original ordering is kept by default. - * Added preliminary GLSL shader path for volume rendering. +Tue, 14 Jan 2003 14:00:09 +0000 +Checked in by : Robert Osfield +Submission from Joseph Stell, added LoadModels to TerrapageNode. -2005-09-04 11:17 robert +Tue, 14 Jan 2003 12:36:14 +0000 +Checked in by : Robert Osfield +Fixed typo. - * Standardised the Vec* class interfaces, and added num_components - enum to aid - generic programming. +Tue, 14 Jan 2003 10:54:01 +0000 +Checked in by : Robert Osfield +Replaced the NVTriStrip code with tri_stripper written by Tanguy Fautré. -2005-09-04 06:36 robert +Mon, 13 Jan 2003 20:14:23 +0000 +Checked in by : Robert Osfield +Typo fix if USE_HOME_POSITION. - * Added support in osgTerrain/osgdem for setting the image format - to use when writing tiles out to disk +Mon, 13 Jan 2003 14:56:04 +0000 +Checked in by : Robert Osfield +Added handling of the case when length is -1, allowing the code to just test against characters being zero, rather than against length, which is now only done when a valid value of length (i.e >=0) is passed in. -2005-09-03 20:56 robert +Mon, 13 Jan 2003 14:11:06 +0000 +Checked in by : Robert Osfield +Clean up to the cross platform support in DirectX plugin. - * Changed red()/green()/blue()/alpha() to r()/g()/b()/a() for - greater consistency - across Vec* classes and with OpenGL Shander Lanaguage. +Mon, 13 Jan 2003 14:05:08 +0000 +Checked in by : Robert Osfield +Fixes to osgText to handle std::string correctly. -2005-09-03 20:54 robert +Mon, 13 Jan 2003 10:39:14 +0000 +Checked in by : Robert Osfield +Added missing _bbox.init() to ShapeDrawable.cpp. - * Added release() to all GraphicsOperations in GraphicsThread. +Sat, 11 Jan 2003 20:56:29 +0000 +Checked in by : Don BURNS +ReaderWriterDirectX.cpp needed some std::'s -2005-09-02 20:06 robert +Sat, 11 Jan 2003 20:43:47 +0000 +Checked in by : Robert Osfield +From Ulrich, fixes to double to float conversion warnings under Windows. - * Added commandline arguments for controlling number of cameras - through to the windowing library to use. +Sat, 11 Jan 2003 12:50:39 +0000 +Checked in by : Robert Osfield +Moved some in inline methods in ParamterOutput into the new ParamterOutput.cpp file to clean up the interface. -2005-09-02 13:10 robert +Fri, 10 Jan 2003 17:06:20 +0000 +Checked in by : Robert Osfield +Updates from Ulrich. - * Added clean up class to help improve the exit of GraphicsThread +Fri, 10 Jan 2003 16:56:39 +0000 +Checked in by : Robert Osfield +Added missing header for new matric reading and writing methods. -2005-09-02 10:35 robert +Fri, 10 Jan 2003 09:25:42 +0000 +Checked in by : Robert Osfield +Made the more of the OSG's referenced object desctructors protected to ensure that they arn't created on the stack inappropriately.Split the implemention of Matrix up so that it is a simple no referenced counted +class and can be safefly created on the stack. To support referenced counting a +seperate subclass now exists, this is RefMatrix which inherits from both Matrix and +Object. - * Renamed osgUtil::RenderStageLighting - osgUtil::PositionalStateContainer -2005-09-01 19:55 robert - * Removed redundent code. +Thu, 9 Jan 2003 18:41:01 +0000 +Checked in by : Robert Osfield +Fixed typo. -2005-09-01 19:12 robert +Thu, 9 Jan 2003 16:13:30 +0000 +Checked in by : Robert Osfield +Added #ifndef GL_TEXTURE_WRAP_S #define block to keep things compiling on old drivers. - * Fixed typo +Thu, 9 Jan 2003 11:48:49 +0000 +Checked in by : Robert Osfield +Fixed typo. -2005-09-01 06:19 robert +Thu, 9 Jan 2003 10:06:44 +0000 +Checked in by : Robert Osfield +Added setting of the R wrap paramter to applyTexParamters(). - * Added osgcamera projects +Wed, 8 Jan 2003 22:52:27 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, DirectX .x model loader plugin. -2005-08-31 20:39 robert +Wed, 8 Jan 2003 16:37:09 +0000 +Checked in by : Robert Osfield +Fix to case statement from Tree. - * Removed circular reference of osg::CameraNode, fixing memory - leak. Added - a auto exit after a maximum number of frames are completed. +Wed, 8 Jan 2003 16:33:02 +0000 +Checked in by : Robert Osfield +Added Shape.cpp to cvs resposity. Shape.cpp adds support for the various osg::Shape in the .osg file format. -2005-08-31 15:04 robert +Wed, 8 Jan 2003 16:30:48 +0000 +Checked in by : Robert Osfield +Cleaned up the code for the animation flags of the group record. - * Added osgSim::OverlayNode setup in osgsimulation, and added - preliminary test - code to the osgSim::OverlayNode to test osgsimulation/the - architecture. +Wed, 8 Jan 2003 15:22:17 +0000 +Checked in by : Robert Osfield +From Tree, support for encoded text added into osgText. -2005-08-31 13:43 robert +Wed, 8 Jan 2003 14:32:13 +0000 +Checked in by : Robert Osfield +Added support for reading and writing Sphere, Box, Cone, Cylinder and Grid shapes. - * Set number of cameras to 3. +Tue, 7 Jan 2003 16:29:07 +0000 +Checked in by : Robert Osfield +Added support for sharing arrays in the .osg format for osg::Geometry.Fixed the osgUtil::Optimizater so it takes into account sharing of arrays when +deciding whether an geometry can be merged or not. -2005-08-31 12:56 robert - * Added graphics context pointer to osg::Texture in prep for - support for Pbuffer - Render To Texture. -2005-08-31 12:49 robert +Mon, 6 Jan 2003 23:19:42 +0000 +Checked in by : Robert Osfield +Fixes for Irix64 build. - * Disable the glFinishBarrierOp usage as glFinish was spin locking - the CPU :-| +Mon, 6 Jan 2003 16:42:02 +0000 +Checked in by : Robert Osfield +Removed the osg::LightPoint::OPAQUE option, and implemented the ADDTIVE blending option. -2005-08-31 10:55 robert +Mon, 6 Jan 2003 13:45:55 +0000 +Checked in by : Robert Osfield +Fixed headers guard typo in LightPoint.Updated the NEW files. - * Seperated out the cull and draw traversals into their own - operations, - and added a glFinishBarrierOp which can be placed between the - cull and the - draw or after swap. -2005-08-31 09:21 robert - * Add comments explain how example works. +Sat, 4 Jan 2003 20:45:53 +0000 +Checked in by : Robert Osfield +Added new ARB vertex program state attribute and demo program, sent in my Brede Johansen. -2005-08-30 22:28 robert +Sat, 4 Jan 2003 20:44:17 +0000 +Checked in by : Robert Osfield +Fixed small typo. - * Added support for GrapicsOpeations that are reused each frame, - cleaned up - osgcamera example. +Sat, 4 Jan 2003 20:43:53 +0000 +Checked in by : Robert Osfield +Added usage info in -O option. -2005-08-30 19:20 robert +Sat, 4 Jan 2003 20:43:27 +0000 +Checked in by : Robert Osfield +Fixed options code. - * Compile fix. +Fri, 3 Jan 2003 21:42:02 +0000 +Checked in by : Robert Osfield +Removed the dual inheritance from the AnimationPathCallback, moving the NodeVisitor implemention into the .cpp.Small tweak to the lighpoint drawable implmenentation to improve the additive +blending and state resotoration. -2005-08-30 19:19 robert - * From Colin McDonald, fix for big endian systems -2005-08-30 19:03 robert +Thu, 2 Jan 2003 20:10:04 +0000 +Checked in by : Robert Osfield +Added a AnimationPathCallback which can update both a MatrixTransform and a PositionAttitudeTransform, removed the equivialnt callbacks once found in these transform classes.Changed the NodeCallback class so its derived from osg::Object instead of +osg::Referenced to allow it to be saved out in the .osg format. - * Added name and keep member variables to - osg::GraphicsThread::Operation to allow - the names of the operations to be logged for stats purposes, or - used when - do searches of the operation list. The keep member variable tells - the graphics - thread run loop wether to remove the entry from the list once its - been called. +Added support for Update and Cull callbacks into the .osg file format. -2005-08-30 14:41 robert +Added support for AnimationPathCallback into the .osg file format. - * Clean up and fixes to GraphicThread class, and osgcamera example. -2005-08-30 09:33 robert - * From Norman Vine, fixed small typo. +Sat, 21 Dec 2002 19:41:27 +0000 +Checked in by : Robert Osfield +Updates the terrapage to try and make it thread "safer" when used with the OSG. -2005-08-29 20:38 robert +Sat, 21 Dec 2002 11:30:54 +0000 +Checked in by : Robert Osfield +Turned display lists off in the osg::Geomety created by the terrapage loader, this is done because terrapage will dynamic page in and out geometry so we don't want to keep creating and deleting display lists. - * Fixed reading and writng of data. +Fri, 20 Dec 2002 10:48:22 +0000 +Checked in by : Robert Osfield +Tweaked the colours in the logo. -2005-08-29 20:16 robert +Fri, 20 Dec 2002 09:47:06 +0000 +Checked in by : Robert Osfield +From March Jez, updated the osgSim.dsp with the addition of /Op option to enable VS.NET to compile with crashes. - * Added scratch pad reset. +Fri, 20 Dec 2002 09:43:15 +0000 +Checked in by : Robert Osfield +Renamed the app method update. -2005-08-29 19:57 robert +Thu, 19 Dec 2002 19:50:45 +0000 +Checked in by : Don BURNS +Update for ia64 - * Implement a scratch pad for writing and read data to, to solve - issue between - running a master and slave on a mix of 32bit and 64bit. +Thu, 19 Dec 2002 19:50:16 +0000 +Checked in by : Don BURNS +update for ia64 -2005-08-29 14:05 robert +Thu, 19 Dec 2002 15:55:40 +0000 +Checked in by : Robert Osfield +Renamed all instance of AppCallback/AppVisitor to UpdateCallback/UpdateVisitor inline with the decision to rename the "app phase" the "update phase". - * Improved support for keyboard/mouse events in osgcluster. +Thu, 19 Dec 2002 10:32:02 +0000 +Checked in by : Robert Osfield +Changed the remaining #include <> to #include "" to get things compiling under VS. -2005-08-29 12:25 robert +Wed, 18 Dec 2002 11:43:39 +0000 +Checked in by : Robert Osfield +Removed the reference of Sequence from Switch. - * Added extra debug info. +Wed, 18 Dec 2002 10:17:52 +0000 +Checked in by : Robert Osfield +Removed the osg:: from the front of the Group::computeBound() method to keep things compiling under Windows. -2005-08-29 12:05 robert +Wed, 18 Dec 2002 09:50:36 +0000 +Checked in by : Robert Osfield +Changed the <*.h> to "*.h> in the terrapage plugin to get it compile under Windows. - * Added extra access methods on osgProducer::KeyboardMouseCallback, - and added - support for reading and writing keyboard/mouse events in - osgcluster. +Tue, 17 Dec 2002 17:22:06 +0000 +Checked in by : Robert Osfield +From Daniel Sjölie, support for reading comment records into description fields. -2005-08-28 19:07 robert +Tue, 17 Dec 2002 16:07:59 +0000 +Checked in by : Robert Osfield +Moved the include/osgTXP back into src/osgPlugins/txp as a seperate include directory is no longer required.Removed the osgtxp demo as it is no longer required. - * Disabled the pbuffer graphics thread. -2005-08-28 15:49 robert - * From Marco Jez, fixed typo of OverlayNode.cpp. +Tue, 17 Dec 2002 15:41:05 +0000 +Checked in by : Robert Osfield +Added txp::TerrapageNode to the txp plugin, and implemented the node so that it automatically assign handles the updates of eye points and database merges. -2005-08-26 20:01 robert +Mon, 16 Dec 2002 21:39:26 +0000 +Checked in by : Robert Osfield +Added a few more comments on the DeleteHandler.Changed the friend struct DeleteHandler to friend class DeleteHandler. - * Added OveralyNode into VS project file, and fleshed out more code - in the OveralyNode implementation. -2005-08-26 14:00 robert - * Added beginings of new OverlayNode, for managing a render to - texture which is - then used to overaly other parts of the scene such as terrain. +Mon, 16 Dec 2002 19:39:08 +0000 +Checked in by : Don BURNS +Fixed a scope issue for 3.2 compiler for friend declarattion, l ine 39 in include/osg/Referenced -2005-08-26 13:26 robert +Mon, 16 Dec 2002 17:00:05 +0000 +Checked in by : Robert Osfield +Moved TriangleFunctor from Drawable into its own header file. - * Added --num-components option. +Mon, 16 Dec 2002 16:57:47 +0000 +Checked in by : Robert Osfield +Removed the redundent export symbol. -2005-08-26 08:48 robert +Mon, 16 Dec 2002 16:55:50 +0000 +Checked in by : Robert Osfield +Removed MemoryManager. - * From Farshid Lashkari, fixed warnings. +Mon, 16 Dec 2002 14:52:48 +0000 +Checked in by : Robert Osfield +Fix for a warning. -2005-08-25 19:23 robert +Mon, 16 Dec 2002 14:12:48 +0000 +Checked in by : Robert Osfield +Removed reference to osg/MemoryManager. - * From Farshid Lashkari, added istream support to JPEG plugin. +Mon, 16 Dec 2002 13:46:42 +0000 +Checked in by : Robert Osfield +Renamed osgtests.bat to rundemos.bat and moved it into the root directory. -2005-08-25 18:18 don +Mon, 16 Dec 2002 13:44:35 +0000 +Checked in by : Robert Osfield +Removed the memory manager. - * made removeExpiredSubgraphs virtual. +Mon, 16 Dec 2002 13:40:58 +0000 +Checked in by : Robert Osfield +Converted the instance of osgNew and osgDelete back to new and delete as part of depecating the include/osg/MemoryManager -2005-08-25 17:53 robert +Mon, 16 Dec 2002 13:27:29 +0000 +Checked in by : Robert Osfield +Redone the project files for osgpbuffer and osgtxp to get it to work under VisualStudio. - * From Eric Sokolowsky, warning fixes for g++ 4.0 under Fedora Core - 4. +Mon, 16 Dec 2002 13:14:27 +0000 +Checked in by : Robert Osfield +Fixed the traverse method so it calls Transform::traverse() instead of MatrixTransform::traverse() which was recursive.. -2005-08-25 14:37 robert +Mon, 16 Dec 2002 10:28:14 +0000 +Checked in by : Robert Osfield +Added seperate Referenced.cpp implementation. - * From Farshid Lashkari, Support for reading TIF images from - stream, and support - from reading and writing RGB image to/from stream. +Mon, 16 Dec 2002 10:25:31 +0000 +Checked in by : Robert Osfield +Added a DeleteHandler into osg::Referenced so that it can delete objects via a seperate delete handler. Useful for making unref()/ref() thread safe if the users needs to address this issue. -2005-08-25 14:12 robert +Mon, 16 Dec 2002 10:22:37 +0000 +Checked in by : Robert Osfield +Integrated further updates from Geoff on the Geo loader. - * Added support for rapid movement of the emitter, with particle - now seeding between - the position of the emitter in the previous frame and the new - position in the new - frame, the number of particles added also scales up to compensate - for this movement. +Mon, 16 Dec 2002 10:05:55 +0000 +Checked in by : Robert Osfield +Changed the std::hex and std::dec to hex and dec to get it compile under VisualStudio, and added a using namespace std to keep it compiling on all other compilers! -2005-08-24 19:21 robert +Mon, 16 Dec 2002 09:55:30 +0000 +Checked in by : Robert Osfield +Added supported for setting animation path on MatrixTransform's. - * Removed old commented out code. +Mon, 16 Dec 2002 00:33:48 +0000 +Checked in by : Don BURNS +Uncommented fix for returning to non-stereo from stereo to get color mask back to normal. -2005-08-24 19:20 robert +Sun, 15 Dec 2002 22:42:03 +0000 +Checked in by : Robert Osfield +Updates the details on the plans for Open Procuder and osgSim. - * From Domenico Mangieri, added constructor. +Sun, 15 Dec 2002 09:57:32 +0000 +Checked in by : Robert Osfield +Fixes to txp plugin for Windows. -2005-08-24 11:53 robert +Sat, 14 Dec 2002 07:55:29 +0000 +Checked in by : Robert Osfield +Disabled the MemoryManager in all builds since it isn't yet thread safe. - * From Gordon Tomlinson: - " - This fixes some crashing issues I was having with certain FLT - files that only had partial colour palettes - - Which are typically found in older 14.x files and file converted - through Polytrans or Deep exploration etc. - - The code that grabs the color entries in - ConvertFromFLT::visitColorPalette was assuming that there were - full - palettes always coming in and stepping was out of bounds in - certain cases (not all) and thus crashing with - access violations etc, - - Although the normal from Creator is to have 1024 or 512 entries , - this is not a really requirement of the format, just the way - Creator creates its default palettes etc. - - Code changed to look at the number of entries and use just those - and fills in any missing entries with a default white colour" +Sat, 14 Dec 2002 06:42:56 +0000 +Checked in by : Robert Osfield +Added a check for extension of a filename to the gif loader, since it looks like the isn't reconginizing rgb files as not being gif. -2005-08-24 10:48 robert +Fri, 13 Dec 2002 20:33:05 +0000 +Checked in by : Don BURNS +Added TrPageViewer.[h,cpp] to Demos/osgtxp (moved from the plugin directory) and modified Makefile accordingly - * From Farshid Lashari, added support for reading from - std::istream's to the BMP, GIF, PNG and TGA image plugins +Fri, 13 Dec 2002 20:29:26 +0000 +Checked in by : Don BURNS +Moved TrpageViewer.h to Demos/src/osgtxp -2005-08-22 15:13 robert +Fri, 13 Dec 2002 20:28:58 +0000 +Checked in by : Don BURNS +Move TrPageViewer.cpp to src/Demos/osgtxp - * From Geoff Michel, added normal definition for tesselation +Fri, 13 Dec 2002 19:41:59 +0000 +Checked in by : Robert Osfield +Merged fixes to warnings in geo plugin from Geoff. -2005-08-22 14:13 robert +Fri, 13 Dec 2002 16:05:07 +0000 +Checked in by : Robert Osfield +Fixes for txp plugin. - * From Carlo Camporesi, fixed .ive handling of character height and - aspect ratio. +Thu, 12 Dec 2002 11:36:08 +0000 +Checked in by : Robert Osfield +Added the axis alignment into the Outline and Texture fonts drawing. -2005-08-22 14:07 robert +Thu, 12 Dec 2002 11:35:09 +0000 +Checked in by : Robert Osfield +Turned lighting off for whole of logo. - * From Domenico Mangieri: - - "I've added a Plane constructor which accepts a normal and a - point. - I also removed calculateUpperLowerBBCorners() from the - Plane(const - Vec3& v1, const Vec3& v2, const Vec3& v3) since the constructor - is - using the function set(const Vec3& v1, const Vec3& v2, const - Vec3& v3) - which already computes the upper and lower bounding box." +Thu, 12 Dec 2002 11:25:25 +0000 +Checked in by : Robert Osfield +Changed the osglogo demo to use arial texured font. -2005-08-22 13:58 robert +Thu, 12 Dec 2002 10:03:05 +0000 +Checked in by : Robert Osfield +Changed the colour of the text to be the same as the OpenGL logo. - * From Domenico Mangieri, addded some missing const qualifiers in - osgUtil::SceneView. +Wed, 11 Dec 2002 22:39:59 +0000 +Checked in by : Robert Osfield +Removed redundent std:: -2005-08-22 13:54 robert +Wed, 11 Dec 2002 19:49:34 +0000 +Checked in by : Robert Osfield +Converted the file to unix file endings. - * From Fabio Mierlo, - - "I add a new option in the HDR Reader. - - The RAW option store the RGBE values into a Image, to use - this option you need to decode the RGBE value in the frag- - ment shader. Follow the cube map glsl decoder: - - vec4 textureCubeRGBE( uniform samplerCube sampler, vec3 coords ) - { - ivec4 rgbe = textureCube( sampler, coords ) * 255. + 0.5; - float e = rgbe.a - ( 128 + 8 ); - return vec4( rgbe.rgb * exp2( e ), 1.0 ); - } - - This option is usefull for who have a outdate hardware like - FX cards and want to do cool things. - - Finally this patch is need by a new HDR Rendering example - that I will put on the Wiki." +Wed, 11 Dec 2002 16:27:01 +0000 +Checked in by : Robert Osfield +Removed erroneous character from end of file. -2005-08-22 13:45 robert +Wed, 11 Dec 2002 16:24:42 +0000 +Checked in by : Robert Osfield +Added the afteresher.geo demo to osgtest.bat and debugtests.bat.Converted the osgtxp demo to use straight string comparison instead of case sensitive string +comparion to help cross platform portability. - * From Joseph Winston, "Corrected displayed comment about the text - size - to match the actual text size." -2005-08-22 13:03 robert - * Tweaked flight manipulator pitch sensitivity. +Wed, 11 Dec 2002 16:14:51 +0000 +Checked in by : Robert Osfield +Added osgSim to the dependancy list of the geo plugin. -2005-08-21 15:32 robert +Wed, 11 Dec 2002 14:30:27 +0000 +Checked in by : Robert Osfield +Removed the duplicate file out from the GEO plugin.Changed the osglogo to reference a jpeg instead of a tiff one. - * Added OSG_EXPORT to GrephicsThread and fixed typo in osg.dsp. -2005-08-20 08:59 robert - * Further work on GraphicsContext/GraphicsThread +Wed, 11 Dec 2002 14:24:44 +0000 +Checked in by : Robert Osfield +Added code to the path to the executable, adding it into the libary and data file paths. -2005-08-20 08:20 robert +Wed, 11 Dec 2002 10:07:14 +0000 +Checked in by : Robert Osfield +Fixes for Win32. - * From Joseph Winston, removed #include +Wed, 11 Dec 2002 10:03:50 +0000 +Checked in by : Robert Osfield +Added space in bettern /D "OSGTXP_LIBRARY" and /YX to fix a compile problem under VisualStudio. -2005-08-18 20:35 robert +Tue, 10 Dec 2002 21:18:16 +0000 +Checked in by : Robert Osfield +Fixes from IRIX build from Bob Kuehne. - * Added GraphicsThread class +Tue, 10 Dec 2002 20:26:56 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlien, fix for new changes in osg::Switch interface. Small clean to changes by Robert. -2005-08-18 20:33 robert +Tue, 10 Dec 2002 20:00:56 +0000 +Checked in by : Robert Osfield +Updates from Geoff Michel to geo loader and demo. - * Added GraphicsThread to project file +Tue, 10 Dec 2002 19:58:03 +0000 +Checked in by : Robert Osfield +From Micheal Gronager, fix to osg::Quat::getRotate(..) to handle zero rotations.Port of Sequence to subclass directly from osg::Group. -2005-08-18 20:17 robert - * Various updates to support the new GraphicsThread class. -2005-08-18 09:36 robert +Tue, 10 Dec 2002 19:56:14 +0000 +Checked in by : Robert Osfield +Updates to the light points support to improve the control of the blending of light points with their background. - * Added beginings of GraphicsThread class +Tue, 10 Dec 2002 17:57:02 +0000 +Checked in by : Don BURNS +Fixed endif placement for SunOS build -2005-08-18 08:37 robert +Mon, 9 Dec 2002 21:03:02 +0000 +Checked in by : Robert Osfield +Added setting of the current texture unit into the applyTextureAttribute() method. - * Implemented more SceneView operations in main as a move to try - and replace SceneView usage in this example. +Mon, 9 Dec 2002 09:26:49 +0000 +Checked in by : Robert Osfield +Changed cout to notify. -2005-08-17 16:13 robert +Mon, 9 Dec 2002 06:00:57 +0000 +Checked in by : Don BURNS +fixed small typo (forgot std::) - * Replaced osgUtil::SceneView usage by osg::CameraNode +Sun, 8 Dec 2002 19:45:03 +0000 +Checked in by : Robert Osfield +Fixes for VisualStudio build of txp plugin. -2005-08-17 10:12 robert +Sun, 8 Dec 2002 17:22:20 +0000 +Checked in by : Robert Osfield +Modifed the .attr loaders handling if TX_BILINEAR minification filter so that it remaps it to LINEAR_MIPMAP_LINEAR to get round image quality issue of some OpenFlight databases. - * Merged RenderToTextureStage functionality into RenderStage +Sat, 7 Dec 2002 21:20:40 +0000 +Checked in by : Robert Osfield +Tweaks the light points blend function. -2005-08-17 08:50 robert +Sat, 7 Dec 2002 21:18:12 +0000 +Checked in by : Robert Osfield +Updated the Switch, Sequence and Group classes so that they all used a similar style removeChild() mechansim.Made the old style osg::Switch::setValue() method deprecated. - * Fix compile under x64_32. -2005-08-17 07:27 robert - * Disabled assembly code for x64_64 paths. +Sat, 7 Dec 2002 06:59:08 +0000 +Checked in by : Don BURNS +Cleanin' up after Robert's spelling ...er ... challenges. -2005-08-16 13:29 robert +Fri, 6 Dec 2002 19:56:17 +0000 +Checked in by : Don BURNS +Typo png was npg - * Added realize() and isRealized() methods to osg::GraphicsContext. - - Added osgcamera example that uses osg::GraphicsContext to create - the required - window for rendering too, will eventually use osg::CameraNode to - replace usage - of osgUtil::SceneView. +Fri, 6 Dec 2002 19:03:34 +0000 +Checked in by : Robert Osfield +From Tree, added support for accept(PrimitiveFunctor) into osg::Text. Currently implemention is overly simple, but will do until rewrite. -2005-08-15 13:54 robert +Fri, 6 Dec 2002 11:16:45 +0000 +Checked in by : Robert Osfield +Added checking of parents against switch and sequence into the RemoveRendundentNodeVisitor to prevent breaking of the orinal order of the nodes. - * Added osgshaderterrain example. +Fri, 6 Dec 2002 09:44:11 +0000 +Checked in by : Robert Osfield +From Tree, mods to help support the creation of Java bindings. -2005-08-09 14:13 robert +Fri, 6 Dec 2002 09:43:30 +0000 +Checked in by : Robert Osfield +Updated NEWS - * Added base texture support. +Fri, 6 Dec 2002 09:41:53 +0000 +Checked in by : Robert Osfield +Update from Norman Vine for Cygin gcc3.2 support. -2005-08-09 10:48 robert +Fri, 6 Dec 2002 09:20:20 +0000 +Checked in by : Robert Osfield +Updates to the osglogo demo adding colour to the sides of the cube. - * Added getStartTick() acess method +Fri, 6 Dec 2002 09:19:35 +0000 +Checked in by : Robert Osfield +Fixes from Norman Vine for Cygwin support. -2005-08-09 10:48 robert +Thu, 5 Dec 2002 15:21:25 +0000 +Checked in by : Robert Osfield +Updates to the osglogo demo. - * Added getDisplayList access method +Thu, 5 Dec 2002 14:30:57 +0000 +Checked in by : Robert Osfield +Added Brede Johansen's osgpbuffer demo, currently only runs under Windows, requires the equivilant glx support to be added. -2005-08-09 10:47 robert +Thu, 5 Dec 2002 12:43:08 +0000 +Checked in by : Robert Osfield +Norman Vine's changes for gcc 3.2 under Cygwin, moving of SG_EXPORT to after the extern declaration. - * Fixed indenting and typo +Thu, 5 Dec 2002 12:13:30 +0000 +Checked in by : Robert Osfield +Added osglogo to test scripts. -2005-08-09 09:11 robert +Thu, 5 Dec 2002 12:04:38 +0000 +Checked in by : Robert Osfield +Added first pass at a new logo, this time generated by a osglogo demo. - * Added GLSL shader pathway into osgforest. +Thu, 5 Dec 2002 12:01:38 +0000 +Checked in by : Robert Osfield +Added support for setting the axis which the text should be aligned along. -2005-08-06 19:19 robert +Wed, 4 Dec 2002 17:34:52 +0000 +Checked in by : Robert Osfield +Fixes for Cywin gcc3.x build in GL and Math headers.Fix for VS build in osgshadowtexture. - * Added setting up of Producer::VisualChooser. -2005-08-06 19:18 robert - * Change the frame reference time so that it uses the same time as - the - KeyboardMouseCallback. +Wed, 4 Dec 2002 13:26:11 +0000 +Checked in by : Robert Osfield +Removed the osg:: from the from of the osg::TexGen::apply() call. -2005-08-06 19:16 robert +Tue, 3 Dec 2002 17:20:31 +0000 +Checked in by : Robert Osfield +Made the callback class uses virtual inheritance of osg::Referenced to ensure that a single class can be used for two different types of callbacks whithout incurring issues of multiple ref counts and ref()/unref() methods existing. - * Set the double buffer off when setting up pbuffers. +Tue, 3 Dec 2002 10:19:37 +0000 +Checked in by : Robert Osfield +Fixed the ifeq ($(OS),SunOS) so it was correctly on its own seperate line, and complimented by the required endif -2005-08-06 04:33 robert +Mon, 2 Dec 2002 19:37:43 +0000 +Checked in by : Don BURNS +updated difference between forte compilers and gnu compilers on Solaris - * Added blend shadow fragment shader +Fri, 29 Nov 2002 22:10:12 +0000 +Checked in by : Don BURNS + Modified Files: include/osgTXP/trPagePageManager.h src/Demos/osgtxp/osgtxp.cpp Added Files: VisualStudio/Demos/osgtxp/osgtxp.dsp -2005-07-30 18:44 robert +Fri, 29 Nov 2002 16:14:03 +0000 +Checked in by : Don BURNS +Fixes to txp loader - * Added setStateSet(0) to destructors to force the problem clean up - of attached - StateSets. +Wed, 27 Nov 2002 05:29:59 +0000 +Checked in by : Don BURNS +Made LIB's dependent on PLUGINS for directories where both are built -2005-07-27 13:38 robert +Mon, 25 Nov 2002 16:57:49 +0000 +Checked in by : Robert Osfield +Added comment for future reference about the validity of using delete in the demo code... should really by using ref_ptr<> etc. - * From Pavel Moloshtan, setting of the cull traversal mask which - visiting camera - subgraphs. (with small tweak from Robert Osfield to remove - compile warnings.) +Mon, 25 Nov 2002 16:40:30 +0000 +Checked in by : Robert Osfield +Added check of translucency of an image via osg::Image::isImageTranslucent(). -2005-07-27 11:27 robert +Mon, 25 Nov 2002 16:39:05 +0000 +Checked in by : Robert Osfield +Added implementation of isImageTranslucent method. - * Further work on trying to get glGenerateMipMapEXT working in - conjunction with - frame buffer objects. Still don't work under Linux yet through - :-| +Mon, 25 Nov 2002 16:38:33 +0000 +Checked in by : Robert Osfield +Added isImageTransulacent() method. -2005-07-27 09:37 robert +Mon, 25 Nov 2002 16:30:34 +0000 +Checked in by : Robert Osfield +Added extra check to the freeing of memory. - * From Marco Jez, added setEventHandled() and getEventHandled() to - osgGA::EventVisitor. +Mon, 25 Nov 2002 16:13:57 +0000 +Checked in by : Robert Osfield +Fixes for OSX build from Stephan Huber. -2005-07-26 21:07 robert +Sun, 24 Nov 2002 21:36:05 +0000 +Checked in by : Don BURNS +Added Paging TerraPage loader and osgTXP library. - * From Jeremy Bell, - - "My patch is a slight refactoring of the mac specific code in - Registry.cpp and FileUtils.cpp, specifically around the library - and - resource file path initilialization methods. This patch cleans up - a - lot of the mac specific code by moving repeated code into - separate - local functions in FileUtils.cpp that are only compiled on mac - builds. - It also adds one function to the API, - appendPlatformSpecificResourceFilePaths in FileUtils. This - function - will mirror the already existing - appendPlatformSpecificLibraryFilePaths except for resource file - paths. - Currently this function is empty except when built on the mac, in - which case it will add the application bundle's internal - Resources - folder and the bundle's parent folder. Previously this code was - implemented as a separate mac specific #ifdef block in - Registry.cpp - around the initDataFilePathList method. However, it now is - implemented - in appendPlatformSpecificResourceFilePaths in FileUtils.cpp and - the - initDataFilePathList method is now the same on all platforms. - This - patch should behave the same as before on non-mac platforms. - - This patch already includes the fix that Eric mentioned earlier. - This - patch is based off of the 0.99 release code. I have tested this - patch - using the following testing scheme: - - Make a proper bundled application. - While Run from the Finder: - Test that it finds plugins in its internal plugins path. - Test that it finds resources in its internal resources path. - Test that it finds resources in the bundle's parent directory - Test that it finds plugins in the user's Application Support - Directory - Test that it finds plugins in the system's Application Support - Directory - Test that it finds plugins in the Network Application Support - Directory - Check the plugin and resource path lists after they have been - initialized to see if they are in the correct order - - While Run from the command line (both from it's parent directory - and - from inside the /Contents/MacOS directory) and repeat the above - tests. - Check that it also finds plugins and resources within the paths - defined by various environment variables. - - Now, Make an application that is NOT bundled/command line only - Test that it does NOT try to look in an internal bundle - plugin/resource directory for plugins or resources. - Test that it finds plugins/resources in the paths defined by the - environment variables. - " +Sun, 24 Nov 2002 00:23:47 +0000 +Checked in by : Don BURNS +Forced GLPixmapGlyph color to white rather than using glGetCurrentColor -2005-07-26 20:31 robert +Sat, 23 Nov 2002 05:16:47 +0000 +Checked in by : Don BURNS +Freetype 2.1 and later align bitmap pitch on boundaries of 2 bytes. It is therefore necessary to use glPixelStorei(..,UNPACK_..., 2). There is an #if() statement that allows the continued use of freetype 2.0 (Rh 7.x), as well as accomodating newer releases. - * From Eric Wing, fix to be able to handle "spacial" characters - under OSX. +Fri, 22 Nov 2002 17:36:46 +0000 +Checked in by : Don BURNS +Merged in Joseph Steel's updates to rgb plugin -2005-07-26 16:05 robert +Fri, 22 Nov 2002 09:46:25 +0000 +Checked in by : Robert Osfield +Warning fixes. - * From Brede Johansen, fix to the isImageTranslucent() method. +Fri, 22 Nov 2002 08:23:54 +0000 +Checked in by : Robert Osfield +Adjusted tabbing. -2005-07-26 15:49 robert +Fri, 22 Nov 2002 08:05:20 +0000 +Checked in by : Robert Osfield +Added d to the end of the dll name for the debug build of the ac3d loader. - * From Fabio Mierlo, removed cast from float to RGB8, to allow - native float imagery - to be correctly importated from HDR files. - - From Robert Osfield, tweaked the above to allow the original - casting to RGB8 as an - options switched on by a osgDB::ReaderWriter::Options string with - a value of "RGB8". +Fri, 22 Nov 2002 05:00:43 +0000 +Checked in by : Don BURNS +Fixes for IRIX build -2005-07-25 16:12 robert +Thu, 21 Nov 2002 20:28:28 +0000 +Checked in by : Don BURNS +Fixed std:: prefix and reinitialized variable for gcc 3.2 - * Perliminary support for glGenerateMinMapEXT. +Thu, 21 Nov 2002 16:08:30 +0000 +Checked in by : Robert Osfield +Added use of ref_ptr<> for the replaced node in osg::Group::replaceChild(,) to prevent it being deleted while it was still being used with the body of the method.Added mention of the shadow texture demo. -2005-07-25 14:28 robert - * Added handling of automatic setting up of the contextID. -2005-07-25 13:05 robert +Thu, 21 Nov 2002 15:35:51 +0000 +Checked in by : Robert Osfield +Moved the shadow creation code into a seperate CreateShadowedScene header and source, and exposed just the basic createShadowedScene function in the header. - * Added support for TextureCubeMap into - osgUtil::RenderToTextureStage. +Thu, 21 Nov 2002 14:54:14 +0000 +Checked in by : Robert Osfield +Clean up of the shadow texture code... -2005-07-24 20:31 robert +Thu, 21 Nov 2002 14:38:55 +0000 +Checked in by : Robert Osfield +Added shadow texture demo .dsp under the correct name! - * Added post draw callback to - osg::CameraNode/osgUtil::RenderToTextureStage. - - Added support for Texture1D, 2D, 3D and TextureRectangle into - osgUtil::RenderToTextureStage. +Thu, 21 Nov 2002 13:25:39 +0000 +Checked in by : Robert Osfield +Fixed the updating of projection matrix so that is done in eye coordinates. -2005-07-24 11:06 robert +Thu, 21 Nov 2002 09:07:11 +0000 +Checked in by : Robert Osfield +Added osg::Geometry::setPrimtiveSet,removePrimtiiveSet, insertPrimitiveSet and getPrimitiveSetIndex().Renamed osg::Group::findChildNum(..) to getChildIndex(). - * Port Impostor across to use the new osg::CameraNode. +Renamed osg::Geode::findDrawableNum(..) to getDrawableIndex(). -2005-07-23 19:08 robert - * Updated wrappers. -2005-07-23 19:05 robert +Thu, 21 Nov 2002 07:53:48 +0000 +Checked in by : Robert Osfield +Fix for compile problems under IRIX. - * Added osg::CameraNode to ImpostorSprite in prep for moving across - to using - camera node in pre rendering of impostors. +Wed, 20 Nov 2002 15:51:18 +0000 +Checked in by : Robert Osfield +First pass at shadow textures. -2005-07-23 15:21 robert +Wed, 20 Nov 2002 14:40:33 +0000 +Checked in by : Robert Osfield +Moved the code to create StateSet around textures into flt::Pool::getTexture so that the code associated with loading textures is done is just one place. - * Attached ImpostorSpriteManager to the CullVisitor. +Wed, 20 Nov 2002 07:46:25 +0000 +Checked in by : Robert Osfield +Fixed the texture apply method which was broken yesterday, the new code wasn't checking for the validity of _image before doing checks on it. This breaks when render to texture is used as there is no image to check against...Added osgshadowtexture demo source. Demos still in development, so don't expect +any shadows yet... -2005-07-22 16:25 robert - * Renabled impostor support using old style RenderToTextureStage - setup. -2005-07-22 09:31 robert +Wed, 20 Nov 2002 07:44:28 +0000 +Checked in by : Robert Osfield +Fixed the references osgSim project file.Added the osgshadowtexture demo project file. - * Added glSissor suppor via new osg::Scissor class. - Added .osg support for osg::Scissor. - Added .ive support for osg::Viewport and osg::Scissor. -2005-07-22 08:21 robert - * Added missing typedef +Tue, 19 Nov 2002 12:48:58 +0000 +Checked in by : Robert Osfield +Added handling of image dirty after a textyre has been bound, the texture is now updated when the image is dirty. -2005-07-21 20:45 robert +Tue, 19 Nov 2002 12:26:51 +0000 +Checked in by : Robert Osfield +Updated OSX defs to compile osgSim and osglightpoint - * Fixed compile error. +Tue, 19 Nov 2002 12:25:38 +0000 +Checked in by : Robert Osfield +Added osglightpoint to the demo list. -2005-07-21 19:37 robert +Tue, 19 Nov 2002 12:23:45 +0000 +Checked in by : Robert Osfield +Added visual workspace files for osgSim nodekit and osglightpoint demo. - * Added GraphicsContextImplementation +Tue, 19 Nov 2002 10:57:40 +0000 +Checked in by : Robert Osfield +Added osgSim library which encapulsulates light points.Added osglightpoint demo. -2005-07-21 19:27 robert - * Implemented the beginings of the - osgProducer::GraphicsContexImplementation. - - Added options into osgprerender for controlling how to do the pre - rendering i.e. - --fbo, --pbuffer, --fb --window, and also added the option for - controlling the - window size with --width and --height. -2005-07-21 08:43 robert +Tue, 19 Nov 2002 10:56:59 +0000 +Checked in by : Robert Osfield +Moved Drawable across to using osg::buffered_value.Added new osg::State::setInterleavedArray() method. - * Checked in graphics context. +Added new osg::Group::setNode(uint,Node*) method. -2005-07-20 19:42 robert +Cleaned up and fixed the osg::Texture's handling of dirtyTextureParamters(). - * From Marco Jez (with tweaks by Robert Osfield) : clean up of - inheritance from std::vector<> classes -2005-07-20 15:55 robert - * Added new osg::GraphicsContext base class +Mon, 18 Nov 2002 16:14:00 +0000 +Checked in by : Robert Osfield +Added setDrawable(uint,Drawable*) method. -2005-07-20 14:31 robert +Thu, 14 Nov 2002 15:30:28 +0000 +Checked in by : Robert Osfield +From Jason Daly, fix for long file names on sequence nodes. - * Removed osgIntrospection wrappers +Thu, 14 Nov 2002 09:03:31 +0000 +Checked in by : Robert Osfield +Updated the plugins so they do the extension checking with a non case sensitive comparison. -2005-07-20 08:03 robert +Wed, 13 Nov 2002 13:04:00 +0000 +Checked in by : Robert Osfield +Updated NEWS and ChangeLog for the release. - * Updated wrappers +Wed, 13 Nov 2002 12:42:58 +0000 +Checked in by : Robert Osfield +Updates to docs for release -2005-07-19 20:40 robert +Wed, 13 Nov 2002 11:09:55 +0000 +Checked in by : Robert Osfield +Added State::computeSecondaryColorSupported() & computeFogCoordSupported().Updated NEWS. - * Added wrapper projects and updates of autogenerated wrappers. -2005-07-19 20:01 robert - * Added support for multiple colour buffers into - osg::CameraNode/osgUtil::CullVisitor +Wed, 13 Nov 2002 10:23:55 +0000 +Checked in by : Robert Osfield +Small improvement to the computation of the pixel size vector. -2005-07-19 16:30 robert +Tue, 12 Nov 2002 15:50:39 +0000 +Checked in by : Robert Osfield +Fixed ansisotropic scaling problem with pixel scaling/small feature culling. - * Ported all the render to texture examples across to using the new - osg::CameraNode. - Added support for texture cube maps in FBO + CameraNode. +Tue, 12 Nov 2002 13:51:04 +0000 +Checked in by : Robert Osfield +Fixed bug in stats where overdraw would be reported incorrectly. -2005-07-15 21:47 robert +Tue, 12 Nov 2002 13:37:43 +0000 +Checked in by : Robert Osfield +Removed debugging messages. - * Updated wrappers +Tue, 12 Nov 2002 13:36:56 +0000 +Checked in by : Robert Osfield +Fixed bug in osg::Transform's computation of a its bounding sphere, where it was erroneously using the y axis for the z axis test. -2005-07-15 19:24 robert +Tue, 12 Nov 2002 10:22:38 +0000 +Checked in by : Robert Osfield +Added LEFT_EYE and RIGHT_EYE stereo to osg::DisplaySettings/osgUtil::SceneViewRenamed LODBias to LODScale. - * Added return 1. -2005-07-15 16:26 robert - * Added .osg suppot for new alignment modes +Mon, 11 Nov 2002 20:18:27 +0000 +Checked in by : Don BURNS +Fixed a const/non-const inconsistency in NodeVisitor.cpp Fixed a blank namespace issue in UnitTestFramework.cpp -2005-07-15 16:22 robert +Mon, 11 Nov 2002 16:11:48 +0000 +Checked in by : Robert Osfield +Fixes to typo of *Dirty() - * From Yuri Vilmanis, improved multi-line justifaction support and - new alignment modes +Mon, 11 Nov 2002 09:06:02 +0000 +Checked in by : Robert Osfield +Added missing demos and libs into the darwin defines. -2005-07-15 14:41 robert +Mon, 11 Nov 2002 09:01:54 +0000 +Checked in by : Robert Osfield +Added a getBound() to the SceneView::app() to make sure the bounding volume is updated well before the cull traversal which can be multithreaded. - * Renamed Byte2,3,4 and Short2,3,4 and UByte4 to use the Vec*b, - Vec*s and Vec4ub form +Mon, 11 Nov 2002 08:52:24 +0000 +Checked in by : Robert Osfield +Fixed bug in osg::Node::isCullingActive().Rnabled the automatic selection of the animation path if one is specified +on the commandline in sgv. -2005-07-15 10:48 robert - * From Brede Johansen, fixed range check -2005-07-15 09:56 robert +Mon, 11 Nov 2002 08:08:37 +0000 +Checked in by : Robert Osfield +Updates to news. - * Fixed bug in ProxyNode write out where non existant children were - written out. +Mon, 11 Nov 2002 08:05:23 +0000 +Checked in by : Robert Osfield +Updates to doc -2005-07-15 08:32 robert +Mon, 11 Nov 2002 08:05:07 +0000 +Checked in by : Robert Osfield +Fixes for MING build - * Added reference frame to TexGenNode +Mon, 11 Nov 2002 08:04:40 +0000 +Checked in by : Robert Osfield +Fixes to const paramter types. -2005-07-15 08:31 robert +Mon, 11 Nov 2002 07:20:11 +0000 +Checked in by : Robert Osfield +*** empty log message *** - * Cleaned up osghud and osgprerender examples +Mon, 11 Nov 2002 07:12:21 +0000 +Checked in by : Robert Osfield +Added osgText to dependancy list of geo plugin. -2005-07-14 21:04 robert +Fri, 8 Nov 2002 15:56:49 +0000 +Checked in by : Robert Osfield +Fixes to build in VS7.0 - * Updates +Fri, 8 Nov 2002 14:24:33 +0000 +Checked in by : Robert Osfield +Added newly generated html files. -2005-07-14 20:32 robert +Fri, 8 Nov 2002 14:15:17 +0000 +Checked in by : Robert Osfield +Checking in updates to documentition for the 0.9.2 release. - * Fix PagedLOD::addChild(,,) so that they allocate the correct size - of range data. +Fri, 8 Nov 2002 14:03:44 +0000 +Checked in by : Robert Osfield +Removed deprecated API -2005-07-14 13:21 robert +Fri, 8 Nov 2002 12:58:34 +0000 +Checked in by : Robert Osfield +Updates version numbers to 0.9.2 - * Added back in the call to drawPreRenderStages() as this shouldn't - interfere - with the stereo code in SceneView as RenderStage should - automatically only - allow themselves to be draw on per frame. +Fri, 8 Nov 2002 12:56:45 +0000 +Checked in by : Robert Osfield +Updates to GEO loader from Geoff Michel. -2005-07-14 10:34 robert +Fri, 8 Nov 2002 12:54:09 +0000 +Checked in by : Robert Osfield +Minor warning fix. - * Removed the set culling active flag setting +Fri, 8 Nov 2002 12:26:41 +0000 +Checked in by : Robert Osfield +Added #define DARWIN_OSX_PRE_10_2 and related #ifdef checks to cope with backwards compatiblity with versions of OSX before 10.2. -2005-07-14 10:27 robert +Fri, 8 Nov 2002 11:00:16 +0000 +Checked in by : Robert Osfield +Added GL_LIBS to the osgText/Makefile for OSX build.Fixed typo in IntersectVisitor. - * From Mike Weiblen, addiding of Program::validateProgram and - osg::isNotifyEnabled() method +Fixed warnings in osgimpsotor demo. -2005-07-14 10:18 robert - * Changed osgpagedlod example to convert LOD nodes into PagedLOD - ones. -2005-07-14 10:17 robert +Fri, 8 Nov 2002 10:25:08 +0000 +Checked in by : Robert Osfield +Updates to Math for OSX build.Added 3dmodelworld.com to the data source directory. - * Added missing copy _referenceFrame in copy constructor +Fixed compile problem under VC6.0 in osgimpostor. -2005-07-10 14:50 robert - * Ported osgshadow across to using new osg::CameraNode -2005-07-09 14:35 robert +Fri, 8 Nov 2002 08:51:30 +0000 +Checked in by : Robert Osfield +Fixes for VisualStudio6.0 build. - * Ported osgdistortion example across to using osg::CameraNode. +Fri, 8 Nov 2002 08:45:30 +0000 +Checked in by : Robert Osfield +Removed the usage report from sgv when it fails to load a file. -2005-07-09 09:56 robert +Fri, 8 Nov 2002 08:34:06 +0000 +Checked in by : Robert Osfield +Converted usage of GLuint to usigned int, in hope that it will get round the warnings generated under OSX. - * From Paul Martz, fix to memory leak of StateSet's +Fri, 8 Nov 2002 08:12:18 +0000 +Checked in by : Robert Osfield +Commented back in LIBS into Makefile for OSX build. -2005-07-08 19:45 robert +Fri, 8 Nov 2002 08:11:12 +0000 +Checked in by : Robert Osfield +Fixes for VisualStudio build and OSX build. - * From Jason Beverage, fix to setting of grey band. +Fri, 8 Nov 2002 08:00:28 +0000 +Checked in by : Robert Osfield +Added TestManipulator into osgimpostor project file. -2005-07-08 19:33 robert +Thu, 7 Nov 2002 16:08:37 +0000 +Checked in by : Robert Osfield +Compile fix from Duvan Cope. - * From Tom Jolly, added setPulse +Thu, 7 Nov 2002 15:45:01 +0000 +Checked in by : Robert Osfield +Commented out the selection of the animation path manipulator since it was somehow disabling culling?!? -2005-07-08 14:46 robert +Thu, 7 Nov 2002 15:13:32 +0000 +Checked in by : Robert Osfield +Titled the view in osganimate and added the title into osgimpostor. - * From Marco Jez, added missing method implementations to - CameraNode and - added check to ensure FBO extension is support to - RenderToTextureStage. +Thu, 7 Nov 2002 14:44:01 +0000 +Checked in by : Robert Osfield +Renamed Primitive:: to PrimitiveSet. -2005-07-07 14:14 robert +Thu, 7 Nov 2002 14:29:33 +0000 +Checked in by : Robert Osfield +Commented out the USE_DEPRECATED_API define. - * Tweaks for better OSX paging support, 6 and 9 keys for control - drive manipulator - up and down looking, and removed redundent API from - osg::Geometry. +Thu, 7 Nov 2002 14:13:51 +0000 +Checked in by : Robert Osfield +Intergrated Martin Kada's impostor test program with the old test program. -2005-07-05 15:57 robert +Thu, 7 Nov 2002 13:56:12 +0000 +Checked in by : Robert Osfield +Added Geoff Michel's new osggeomdemo program which allows control of geo models via the mouse. - * From Pavel Moloshtan, Byte2,3,4 and Short2,3,4 classes and their - Array counterparts. - With a few build tweaks and bug fixes by Robert Osfield. +Thu, 7 Nov 2002 13:47:39 +0000 +Checked in by : Robert Osfield +Updates to GEO loader from Geoff Michel. -2005-07-03 19:58 robert +Thu, 7 Nov 2002 08:49:12 +0000 +Checked in by : Robert Osfield +Added shape drawable into dot osg plugin. - * Changed notice to be an info message +Thu, 7 Nov 2002 08:48:30 +0000 +Checked in by : Robert Osfield +Fix for build under Linux. -2005-07-02 08:11 robert +Wed, 6 Nov 2002 23:00:37 +0000 +Checked in by : Don BURNS +Oops... experiment gon awry in makerules. This works for Solaris, but not Linux, evidently. The goal was to do a dependency update on only files that had changed, since Solaris is so gawdawful slow at doing CC -xM - * Added support for equalizing the normals along tile boundaries. +Wed, 6 Nov 2002 18:39:32 +0000 +Checked in by : Don BURNS +Changed a couple of const/non-const discrpancies between header and source for TexGen. Removed external library dependencies in plugin makefiles -2005-07-01 09:10 robert +Wed, 6 Nov 2002 16:04:51 +0000 +Checked in by : Robert Osfield +Fix for backwards compatibility. - * Added support for point sprites +Wed, 6 Nov 2002 15:43:11 +0000 +Checked in by : Robert Osfield +Name change and const change of Drawable::drawImmediateMode(State&) to Drawable::drawImplementation(State&) const. Various updates to the rest of the OSG to accomodate this. -2005-06-30 09:08 robert +Wed, 6 Nov 2002 11:15:23 +0000 +Checked in by : Robert Osfield +Added in default value of _timeScale. - * Added tri sripping and support for outputing files. +Wed, 6 Nov 2002 10:46:34 +0000 +Checked in by : Robert Osfield +Renamed ProceduralGeometry to ShapeDrawable to better reflect its current purpose. -2005-06-30 07:59 robert +Wed, 6 Nov 2002 10:24:33 +0000 +Checked in by : Robert Osfield +Added support for recording camera animation paths in osgGLUT::Viewer, and fixed the osgGA::AnimationPathManipulator to handle it.Added a new Drawable::ConstAttributeFunctor and make the accept(PrimitiveFunctor) +be a const method so can disallows modification. Added Drawable::supports(...) methods +for each of the AttributeFunctor, ConstAttributeFunctor and PrimitiveFunctor so +that programs can querry whether it is possible to use functors with that object type. - * Romoved redudent gdal link -2005-06-29 15:52 robert - * Added smoothing and tri strip pass. +Tue, 5 Nov 2002 07:50:40 +0000 +Checked in by : Robert Osfield +From Jason Daly, fix for 14.2 color records in versions of OpenFlight files. -2005-06-29 10:23 robert +Mon, 4 Nov 2002 15:33:08 +0000 +Checked in by : Robert Osfield +From Stephan Huber, fix for OSX build. - * Added support nesting the parameter specification within a - [x,y,z] block and - float parameters +Mon, 4 Nov 2002 10:37:11 +0000 +Checked in by : Robert Osfield +Added std:: in front of string. -2005-06-29 10:21 robert +Mon, 4 Nov 2002 09:08:50 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlien, added ReaderWriter::Options to the osgconv and pfb plugin so that all the pfi files can be converted to rgb be the plugin. - * From Colin McDonald, build fix for Solaris +Mon, 4 Nov 2002 09:07:25 +0000 +Checked in by : Robert Osfield +Fixed warning under Visual.NET -2005-06-28 17:53 robert +Mon, 4 Nov 2002 08:40:51 +0000 +Checked in by : Robert Osfield +Added in guard to png loader so that it only accepts png files. This has been added since the png loader itself doesn't not seem robust enough at detecting non png files.Added a tab in to the flt code to make it more obvious what is happening in +the flow of the code. - * From Mike Weiblen, icon file. -2005-06-28 09:34 robert - * From Mike Weiblen, "some polish for 1.0: centralizes the icon - resource definition and adjusts all - app and example projects to use that single defn. The various - existing - resources.rc files should be deleted." +Mon, 4 Nov 2002 08:35:55 +0000 +Checked in by : Robert Osfield +Added back in the missing flt.dsp. -2005-06-27 14:28 robert +Fri, 1 Nov 2002 15:12:51 +0000 +Checked in by : Robert Osfield +Added support for primitive functor into the new osg::ProceduralGeometry class - * Added / and * controls of the distance attentuations of the point - size extension +Fri, 1 Nov 2002 15:11:05 +0000 +Checked in by : Robert Osfield +Futher fixes for VisualStudio.NET compilation. -2005-06-27 08:54 robert +Fri, 1 Nov 2002 14:16:58 +0000 +Checked in by : Robert Osfield +Michael Gronage fix for aspect ratio in split stereo. - * Added missing dirtyBound(). +Fri, 1 Nov 2002 12:48:15 +0000 +Checked in by : Robert Osfield +Fixed VisualStudio7.0 compile error related to an std::vector<>::iterator no longer being a pointer, fixed by using a &(*itr). -2005-06-24 20:19 robert +Fri, 1 Nov 2002 12:40:33 +0000 +Checked in by : Robert Osfield +Added missing Shape and ProceduralGeometry references in the osg project file. - * From David Spilling, fixed the incircle test so it handles - colinear points. +Fri, 1 Nov 2002 12:20:34 +0000 +Checked in by : Robert Osfield +Futher updates to shapes support. -2005-06-24 19:50 robert +Fri, 1 Nov 2002 12:11:23 +0000 +Checked in by : Robert Osfield +Added handled of invlid drawable bounding boxes. - * From Colin McDonald, - "On fixing the pointer access I discovered that reading osga - archives - containing ive files went into a cpu loop. This turned out to be - a - problem with proxy_streambuf on Solaris. Public methods in the - Solaris - streambuf standard library implementation rely on the gptr() - being set, - which proxy_streambuf was not doing. So I have modified - proxy_streambuf to set the input sequence pointers, and have also - aligned it more with the standard library streambuf - implementation - where all input is through underflow(), not uflow() which merely - calls - underflow() and advances the pointer." - - From Robert Osfield, change from using pointer cast and - assignment to using - a templated _write and _read method to avoid pointer aliasing to - 2/4/8 - byte boundaries that some computer system may produce. These - changes - where inspried by Colin McDonalds change to using memcpy, these - changes weren't merged as memcpy is not as clear in naming as - _read, - _write and memcpy will incurr a function call just for copy a - uint. +Fri, 1 Nov 2002 10:39:35 +0000 +Checked in by : Robert Osfield +Added export to the height field class. -2005-06-24 15:39 robert +Fri, 1 Nov 2002 10:25:27 +0000 +Checked in by : Robert Osfield +Updates to Shape support. - * From Colin McDonald: - - "Some makedefs fixes for Solaris: - - For multithreaded applications the -mt option must be specified - on both - the compile and link steps, to ensure correct behaviour. - According to - the Sun compiler documentation it sets REENTRANT flags in the - system - header files, and links the -lthread library in the correct - order. - - When compiling shared libraries the -KPIC option should be - specified. - Although Solaris will handle shared libraries without - position-independent code there is a performance penalty. The - linker - reference manual says: 'If a shared object is built from code - that is - not position-independent, the text segment will usually require a - large - number of relocations to be performed at runtime. Although the - runtime - linker is equipped to handle this, the system overhead this - creates can - cause serious performance degradation'." +Thu, 31 Oct 2002 15:24:17 +0000 +Checked in by : Robert Osfield +Added a dirtyBound & diryDisplayList to the geometry merge operation in the Optimizer to fix a bug where the bouding volumes where being invildated. -2005-06-24 15:34 robert +Thu, 31 Oct 2002 12:51:09 +0000 +Checked in by : Robert Osfield +From Geoff Michel, added AC3D .ac and GEO .geo loaders. - * From Martijn Kragtwijk: "I ran into the same problems as Karl - Martensson - (http://openscenegraph.org/archiver/osg-users/2005-June/0575.html); - after switching children of a Switch node off and on again, they - become - unpickable. This issue occurs first in 0.9.9, with 0.9.8 - everything is fine. - My fix involves calling dirtyBound() every time the on/off-values - of the - Switch are changed" +Thu, 31 Oct 2002 10:36:11 +0000 +Checked in by : Robert Osfield +Added osg::Grid shape class, and added an example of its use into the hang glide demo. -2005-06-24 15:30 robert +Thu, 31 Oct 2002 10:35:15 +0000 +Checked in by : Robert Osfield +Yefei He's updates to Pool and flt2osg to use lazy loading of textures from a texture pallette. - * From David Guthrie, "The call NSLookupAndBindSymbol was changed - to - NSLookupSymbolInModule. The former call would lookup the named - symbol NOT in the current dynamic library, but in the entire - running - program while the call NSLookupSymbolInModule, takes the handle - to - the library the symbol should be found in. This means the current - code will fail if one loads multiple bundles at runtime and - attempts - to load the same named symbol from each one." +Wed, 30 Oct 2002 13:27:15 +0000 +Checked in by : Robert Osfield +Added first cut of new primtive shapes support. -2005-06-24 15:15 robert +Wed, 30 Oct 2002 12:58:26 +0000 +Checked in by : Robert Osfield +Removal of more redundent const base types. - * Moved the working createPagedLODScene() implemention into - createScene() - method replacing the original flaky code. +Wed, 30 Oct 2002 12:56:55 +0000 +Checked in by : Robert Osfield +Updated osgText .osg support so that it handles text via the osgDB::Outpur::wrapString() method. -2005-06-22 11:26 robert +Wed, 30 Oct 2002 10:07:16 +0000 +Checked in by : Robert Osfield +Fixed addChild(node,value) so that it resizes using the _newChildDefaultValue rather than the add child value, then sets the child's value to value. - * From Mike Weiblen, fixes to shaders to correct modification of - varying types +Mon, 28 Oct 2002 12:55:19 +0000 +Checked in by : Robert Osfield +Updated the handling of string in the .osg reading and writing so that it handles the use of " quotes inside the string. -2005-06-22 11:02 robert +Mon, 28 Oct 2002 09:43:21 +0000 +Checked in by : Robert Osfield +Removed the remapping of special keys to keyboard events. - * Disabled NPO2T on GeforceFX. +Fri, 25 Oct 2002 12:29:03 +0000 +Checked in by : Robert Osfield +From Gideon May, fixes to remain const base type instances in headers. -2005-06-22 11:01 robert +Fri, 25 Oct 2002 09:34:51 +0000 +Checked in by : Robert Osfield +Updated the min and mag filter modes to be more appropriate, still some of the FLT modes havn't been mapped across as its is not obvious how to map them to OpenGL/OSG. - * Added experimental OpenGL shader path for positioning of trees - (doens't work yet though..) +Thu, 24 Oct 2002 20:49:15 +0000 +Checked in by : Don BURNS +changed unsigned int's to unsigned longs so 64 bit build would work. -2005-06-21 16:10 robert +Thu, 24 Oct 2002 20:45:44 +0000 +Checked in by : Don BURNS +Added ARCH64 def for 64 bit builds - * Added option for terrain texturing. +Thu, 24 Oct 2002 15:24:39 +0000 +Checked in by : Don BURNS +FIxed set_new_handler to std::set_new_handler -2005-06-21 15:24 robert +Wed, 23 Oct 2002 07:46:11 +0000 +Checked in by : Robert Osfield +Fix from Don Tidrow for bug when moving between RenderGraph when popping back up to common parents. - * Added matrix and simple vertex shader paths. +Mon, 21 Oct 2002 15:09:03 +0000 +Checked in by : Robert Osfield +Changed the nameing of iterators to prevent clashes with VisualStudio's dumb compiler. -2005-06-21 15:13 robert +Mon, 21 Oct 2002 13:03:02 +0000 +Checked in by : Robert Osfield +Fixed spelling mistake in comment. - * Combined uniforms. +Mon, 21 Oct 2002 13:02:30 +0000 +Checked in by : Robert Osfield +Changed the private: to protected: to allow easier extension. -2005-06-21 12:12 robert +Fri, 18 Oct 2002 12:47:36 +0000 +Checked in by : Robert Osfield +Merged Pavel's updates to LWO2 for handle multiple texture layers. - * Tweaked the vertex program. +Fri, 18 Oct 2002 12:26:23 +0000 +Checked in by : Robert Osfield +Added default colour and normal definition to the Geometry draw to prevent state inheritance of these attributes from causing problems of Geometry which arn't fully defined. -2005-06-20 21:10 robert +Fri, 18 Oct 2002 12:23:42 +0000 +Checked in by : Robert Osfield +Added extension checking to the rgb and bmp write of images. - * Added very simply osgparametric example which uses an OpenGL - shader program - to create an animated parametric surface. +Thu, 17 Oct 2002 21:25:56 +0000 +Checked in by : Don BURNS +USE_MM was not defined for IRIX -2005-06-20 10:38 robert +Thu, 17 Oct 2002 13:48:46 +0000 +Checked in by : Robert Osfield +Renamed the RenderBin::sort_local to sortImplementation(), draw_local to drawImplementation() and added a new RenderBin::DrawCallback().Added osgcubemap to the Make/ test scripts. - * From Tom Jolly, added method for getting the number of frames. -2005-06-20 10:36 robert - * From Mike Weiblen, - " - adjustments to improve namespacing on VS - - clarify compilation status message" +Thu, 17 Oct 2002 11:59:01 +0000 +Checked in by : Robert Osfield +Fixed memory allocation. -2005-06-20 10:28 robert +Thu, 17 Oct 2002 11:50:53 +0000 +Checked in by : Robert Osfield +Checked in fix for std::hex for dumb arsed compilers. - * From Andreas Jochens (submitted by Loic Dachary), addintion of - forward declare - of class Progam; to fix compile problem under gcc4.0/amd64/debian - unstable. +Thu, 17 Oct 2002 11:39:04 +0000 +Checked in by : Robert Osfield +Fixed compile error under Windows. -2005-06-20 10:16 robert +Thu, 17 Oct 2002 10:04:11 +0000 +Checked in by : Robert Osfield +Fixed error in #ifdef GL_SECONDARY_COLOR... CV: ---------------------------------------------------------------------- - * From Mike Weiblen, added OSG_EXPORT to FrameBufferObject files. +Tue, 15 Oct 2002 19:10:05 +0000 +Checked in by : Don BURNS +Changed std::malloc to new in src/osgUtil/CubeMapGenerator.cpp -2005-06-16 14:01 robert +Mon, 14 Oct 2002 21:10:44 +0000 +Checked in by : Don BURNS +Fixed cstdlib to stdlib.h for IRIX in src/osgUtil/CubeMapGeneragortor.cpp - * Further FBO support work. +Thu, 10 Oct 2002 20:04:02 +0000 +Checked in by : Robert Osfield +Fixes from Macro. -2005-06-16 13:53 robert +Thu, 10 Oct 2002 18:02:05 +0000 +Checked in by : Robert Osfield +Added missing .cpp's. - * From Pavel Moloshtan, added support of - Drawable::Extensions::glDeleteQueries() +Thu, 10 Oct 2002 14:58:44 +0000 +Checked in by : Robert Osfield +Fixed the names of the ControlPoint parameters so they weren't capitals, to avoid the clash with the parameter type itself.Addd a PER_PRIMTIIVE_SET handling to the existing PER_PRIMTIIVE code, this code +is still flacky though and needs a rewrite as it doens't handle all attributes or +the full consequences of per primitive and per primitive set bindings. -2005-06-16 11:45 robert - * Added copyright notices. -2005-06-16 11:42 robert +Thu, 10 Oct 2002 13:06:24 +0000 +Checked in by : Robert Osfield +Added a little more info into the State contextID docs. - * Moved FBO support from osgfbo example into core osg. +Thu, 10 Oct 2002 12:44:38 +0000 +Checked in by : Robert Osfield +Added Macro's new cube map generation classes and osgcubemap demo. -2005-06-15 20:06 robert +Thu, 10 Oct 2002 09:42:41 +0000 +Checked in by : Robert Osfield +Maded the "flt::Registry::getPrototype: Unkown opcode:" message a INFO level notify message rather than a NOTICE. - * Futher work on FBO support +Thu, 10 Oct 2002 09:39:09 +0000 +Checked in by : Robert Osfield +Made the warning about a mis-matching in the number of children in a switch a INFO level notify message rather than a WARN. -2005-06-15 20:05 robert +Thu, 10 Oct 2002 09:29:07 +0000 +Checked in by : Robert Osfield +Added remapping of special keys to be handle like a convential key press. - * Added automatic creation of texture when size is set but not - osg::Image is assigned. - This is useful for FBO usage. +Thu, 10 Oct 2002 09:00:31 +0000 +Checked in by : Robert Osfield +From Gabor Dorka, Fixes to memory leaks. -2005-06-15 11:49 robert +Wed, 9 Oct 2002 15:43:56 +0000 +Checked in by : Robert Osfield +Fixes to smoothing visitor and tesselator to handle indexed Geometry. - * From David Guthrie, " In the constructor - in removes any options beginning with "-psn" from argv on OSX by - calling the "remove" method. When a .app run is created in OSX, - which is required to get a fully functioning UI application, the - OSX - finder passes a -psn_XXXX option to the application where the - XXXX - refers to a unique process number. An example option would be "- - psn_0_37617665". The argument parser was choking on this option - in - all the osg example applications." +Wed, 9 Oct 2002 15:41:22 +0000 +Checked in by : Robert Osfield +Changed the default value of StandardOrientation to true, to fix orientation problems which commonly occur with png files. Leaves the quesition of how to set this value automatically. -2005-06-15 10:59 robert +Tue, 8 Oct 2002 16:02:09 +0000 +Checked in by : Robert Osfield +Fixed bug in osg::LOD::addChild() which was forcing all ranges to be identical values. - * Added osgmultiplecameras example and support for pre/post - multiplaction. +Tue, 8 Oct 2002 14:10:55 +0000 +Checked in by : Robert Osfield +Fixed a bug in the Optimizer where BIND_PER_PRIMITIVE_SET primitives where being eroneously merged.Added missing support for reading geometry indices from the .osg format. -2005-06-14 20:51 robert +Added handling of geometry indices into the primitive functor in osg::Geometry. - * Work on the RenderToTexture usage of the new osg::CameraNode. - Both osghud - and osgprerender now ported across to osg::CameraNode. +Moved the method implementions of AnimationPathManipulator into src/osgGA and added extra convinience +methods for setting the manipulator with an hand built AnimationPath. -2005-06-14 13:16 robert +FCVS: VisualStudio/osgPlugins/iv/iv.dsp - * Added osg::CameraNode. -2005-06-14 09:12 robert - * Removed reference to non existant AVI plugin +Tue, 8 Oct 2002 08:39:42 +0000 +Checked in by : Don BURNS +osgdb_osg loader had more issues with const/non-const discrepancies on Solaris. Modified Geoset.cpp and Point.cpp -2005-06-14 08:48 robert +Tue, 8 Oct 2002 08:36:48 +0000 +Checked in by : Don BURNS +Solaris didn't like filebuf. Using old FILE - * Fixed position of glBindBuffer. +Tue, 8 Oct 2002 07:39:38 +0000 +Checked in by : Don BURNS +Added AnimationPathManipulator to osgGA and modified sgv to use it. -2005-06-13 20:03 robert +Tue, 8 Oct 2002 05:41:19 +0000 +Checked in by : Don BURNS +Fixed some inconsistencies between header files and function definitions where the header file declared a parameter non-const, but the function definition expected a const. The Solaris linker was coming up with undefined symbols. - * Fixed with the reprojection so that it doesn't promote all source - data to - RGBA, but only does this for RGB data. +Mon, 7 Oct 2002 21:23:37 +0000 +Checked in by : Robert Osfield +Added extra convinience methods to LOD - addChild(child,min,max).Added osganimate to test scripts. -2005-06-13 11:14 robert - * From Ken Sewell, fixed for x86_64 build. -2005-06-09 19:02 robert +Mon, 7 Oct 2002 20:17:57 +0000 +Checked in by : Robert Osfield +Fixes to Switch so that it defaults to adding children switched on, and adds a flag to control whether children and added as true or false. - * From Marco Jez, added project files for osgfbo example. +Mon, 7 Oct 2002 20:01:28 +0000 +Checked in by : Robert Osfield +Set the default values for scale to 1,1,1. This fixes the bug obsevered when using AnimationPath with MatrixTransform without setting the scale value of the osg::AnimationPath::ControlPoint's. -2005-06-09 11:53 robert +Mon, 7 Oct 2002 19:51:11 +0000 +Checked in by : Robert Osfield +Added new osganimate demo which demonstrate the osg::AnimationPath in action.Added extra parameters to the AnimationPath callbacks to allow finer control. - * Fixed makefiles -2005-06-09 11:08 robert - * From Marco Jez, added example that uses FBO extension to do - prerendering. +Mon, 7 Oct 2002 11:06:37 +0000 +Checked in by : Robert Osfield +Added missing osg::TextureCubeMap::getAssociatedMode(). -2005-06-09 09:27 robert +Mon, 7 Oct 2002 10:02:47 +0000 +Checked in by : Robert Osfield +Added code to Viewer::addViewport(..) to force the sharing of a single osg::State object between viewports. - * Added \n to end of a couple shader source lines. +Mon, 7 Oct 2002 09:41:30 +0000 +Checked in by : Robert Osfield +From Daneil Sjölie - modifications to the support of custom GUIEventHandlers in osgGLUT -2005-06-09 08:29 robert +Sun, 6 Oct 2002 20:33:13 +0000 +Checked in by : Robert Osfield +Converted osg::LOD from used n+1 successive ranges to n min/max ranges, one min/max pair per child. Converted the rest of the OSG to use the new osg::LOD node. - * Added texture2D shader source +Fri, 4 Oct 2002 16:40:45 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build. -2005-06-08 15:57 robert +Fri, 4 Oct 2002 14:50:33 +0000 +Checked in by : Robert Osfield +Implemented OpenFlight style switches so that each child of a switch can now be individually turned on or off. Moved the OpenFlight code across to use the new scheme, removing the old hack of using node masks to achieve the same end result. - * Added experiment GLSL fragment shader to clip out dark areas of - videos. +Fri, 4 Oct 2002 13:53:41 +0000 +Checked in by : Robert Osfield +Changed the include of MatrixTransform to Transform. -2005-06-08 13:20 robert +Wed, 2 Oct 2002 15:28:17 +0000 +Checked in by : Robert Osfield +Added osgteapot demo to show how to implement custom Drawables to wrap up OpenGL code. - * Updated wrappers. +Wed, 2 Oct 2002 13:16:39 +0000 +Checked in by : Robert Osfield +Added back in the old osg::Geometry::addPrimitive(..) methods for backwards compatibility and have placed them within a #ifdef USE_DEPREACATED_API block. -2005-06-08 13:16 robert +Wed, 2 Oct 2002 13:12:16 +0000 +Checked in by : Robert Osfield +Moved the new osg::IndexedGeometry class over the top of the the existing osg::Geometry class, and removed the temporary IndexedGeometry. Port the rest of the OSG across to account for the change in method calls - osg::Geometry::addPrimitive(..) becomes osg::addPrimitiveSet(..) - * Moved the set/getName() support from osg::Node etc into the - osg::Obejct - base class +Mon, 30 Sep 2002 18:12:54 +0000 +Checked in by : Robert Osfield +Removed inappropriate inline keyword from getOrCreateStateSet(). -2005-06-08 10:39 robert +Mon, 30 Sep 2002 18:11:34 +0000 +Checked in by : Robert Osfield +Added setActiveTextureUnit(0) to State::reset(). - * Added sizeof(std::string) test to osgunittests +Mon, 30 Sep 2002 16:50:16 +0000 +Checked in by : Robert Osfield +Added traverse the AnimationPath callbacks. -2005-06-08 10:36 robert +Mon, 30 Sep 2002 13:30:46 +0000 +Checked in by : Robert Osfield +Added support for per primitive bindings in osg::IndexedGeometry. Added a convertToIndexedGeometry() method to GeoSet to allow datasets with per primitive bindings to be be mapped to across to osg::IndexedGeometry for testing purposes. - * From Mike Weiblen, added GLSL datatypes mat2 and mat3 to - osg::Uniform, with .osg and .ive support +Sun, 29 Sep 2002 17:55:46 +0000 +Checked in by : Robert Osfield +From Macro, added a setActiveTextureUnit(0) to osg::Text::drawImmediateMode() to prevent the wrong OpenGL mode being used. -2005-06-08 08:33 robert +Sun, 29 Sep 2002 12:33:30 +0000 +Checked in by : Robert Osfield +From Daniel, Fixes for warnings under Win32. - * From Mike Weiblen, "modified .rot pseudoloader plugin so rotation - order actually matches the embedded documentation" +Sat, 28 Sep 2002 19:09:42 +0000 +Checked in by : Robert Osfield +Fixes to IndexedGeometry.cpp to repair bugs introduced with Win32 build fixes.S -2005-06-06 10:18 robert +Sat, 28 Sep 2002 07:47:10 +0000 +Checked in by : Robert Osfield +Added a dirtyAllVertexArrays() to State::reset(). - * From Mathia Walker: bug fix to LOD ranges in TXP plugin to avoid - cracks: - - "I took a closer look at the conditional code in - SeamFinder::seamReplacement(). - - Because _info.minRange is a double and lod->getMinRange(0) is a - float, - the difference will be calculated with double precision. If - _info.minRange is cast as a float it is exactly the same value as - lod->getMinRange(0) and the difference is exactly zero. - - So if you change - - - if((fabs(_info.minRange-lod->getMinRange(0))<0.001)&&(fabs(_info.lod0Range-lod->getMaxRange(0))<0.001)) - - to - - - if((fabs((float)_info.minRange-lod->getMinRange(0))<0.001)&&(fabs((float)_info.lod0Range-lod->getMaxRange(0))<0.001)) - - it works a lot better." +Sat, 28 Sep 2002 07:43:04 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build. -2005-06-05 18:41 robert +Fri, 27 Sep 2002 19:04:46 +0000 +Checked in by : Robert Osfield +Fix build after change in GLExtensions. - * Changed VisualStudio 7.0 reference to 7.x +Fri, 27 Sep 2002 19:01:59 +0000 +Checked in by : Robert Osfield +Fixes to IndexGeometry for Win32 build. -2005-06-05 18:40 robert +Fri, 27 Sep 2002 17:47:47 +0000 +Checked in by : Robert Osfield +Improvements to IndexedGeometry. - * From Adam Richard, fixed typos + explanation how to use project - files. +Thu, 26 Sep 2002 15:26:22 +0000 +Checked in by : Robert Osfield +Futher work on the IndexedGeometry class. Indexed coordinates should now work. -2005-05-31 06:21 robert +Tue, 24 Sep 2002 20:14:08 +0000 +Checked in by : Robert Osfield +Changed the linux linking of -lgif to -lungif.Fixed a typo in the Images name. - * From Tim Daust, "I fixed the getScale functions in matrixf and - matrixd. It was returning the values of the diagonal - of the matrix, which only returns the scale if there - is not a rotation. I fixed this by returning the - length of the vectors that form the basis. - I also added a function to orthonormalize the - rotation component of the matrix. I seem to always run - into situations where non uniform (or even uniform) - scale complicate my calculations, and I thought other - members of the community could use this function as - well." -2005-05-31 05:48 robert - * Small fixes to NEWS +Tue, 24 Sep 2002 20:04:20 +0000 +Checked in by : Robert Osfield +Changed the image file so that use the Images/ prefix to help locate the files within the OpenSceneGraph-Data directory. -2005-05-31 05:47 robert +Tue, 24 Sep 2002 19:41:18 +0000 +Checked in by : Robert Osfield +Removed redundent /-------------------------------------------------------------------- - * Changed char* to const char* -2005-05-31 05:46 robert - * From Tom Jolly, fixes to the mapping of the billboard rotate - mode. +Sun, 22 Sep 2002 07:09:50 +0000 +Checked in by : Robert Osfield +Renamed Primitive to PrimitiveSet. -2005-05-31 05:37 robert +Fri, 20 Sep 2002 15:55:50 +0000 +Checked in by : Robert Osfield +From Gideon, support for tracking the number of objects constructed and deleted, only compiled in when unit tests are compiled in. - * Added ability to toggle on/off the pre compile of OpenGL objects - in the - DatabasePager via the setDoPreCompile(bool) method or via the env - var - OSG_DO_PRE_COMPILE=ON or OFF. +Fri, 20 Sep 2002 15:54:17 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlien, supported add to textures in the .lwo format. -2005-05-30 16:15 robert +Fri, 20 Sep 2002 14:51:59 +0000 +Checked in by : Robert Osfield +Renamed osg::Primitive to osg::PrimitiveSet which better reflect what it encapsulates.Added new osg::IndexGeometry implemention, *not* complete yet. - * Added support for reading: - - OSG_MINIMUM_COMPILE_TIME_PER_FRAME - - and - - OSG_MAXIMUM_OBJECTS_TO_COMPILE_PER_FRAME - - environmental variable during the initialization of the - DatabasePager - to allow apps to be tweaked for best database pager behavior. +Changed the rest of the OSG to handle the renaming og Primitive to PrimitiveSet. -2005-05-26 14:38 robert - * Reverted release number to 0 (development version). -2005-05-26 13:56 robert +Fri, 20 Sep 2002 14:48:41 +0000 +Checked in by : Robert Osfield +From Daniel, changed setEventHandler to addEventHandler. - * From James French, fix for multiple definitionwhen compiling osg - + plugins into monolithic dll. +Thu, 19 Sep 2002 10:30:15 +0000 +Checked in by : Robert Osfield +Added PolygonStipple class from Mike, with mods from Robert to make data management local. -2005-05-25 20:02 robert +Thu, 19 Sep 2002 09:52:50 +0000 +Checked in by : Robert Osfield +Made the calls to the drawing of the pre rendering stages exclit, using a seperate method in RenderStage and associated calls in sceneView.cpp. This fixes problems when doing stereo and prerender at the same time. - * Updated Version numbers for release. - - UPdated wrappers. +Thu, 19 Sep 2002 09:05:50 +0000 +Checked in by : Robert Osfield +Fixed copy constructor so that the _stage member variable was set to this correctly. -2005-05-25 17:19 robert +Wed, 18 Sep 2002 16:10:42 +0000 +Checked in by : Robert Osfield +Fix the sceondary color code. - * From Blake Williams, fix for VS8.0 build +Wed, 18 Sep 2002 16:05:26 +0000 +Checked in by : Robert Osfield +Added missing isCompressedInternalFormat() method. -2005-05-25 16:42 robert +Wed, 18 Sep 2002 15:59:35 +0000 +Checked in by : Robert Osfield +Fixed mispelling of SEPARATION. - * Renamed ExplosionDebriEffect to ExplosionDebrisEffect +Wed, 18 Sep 2002 14:57:01 +0000 +Checked in by : Robert Osfield +Simplified the depth calculation code in CullVisitor so that it always computes the depth of all drawables, so that it is always safe for RenderBin sort routines can use these values directly.Add an example of a RenderBin::SortCallback to sgv.cpp. -2005-05-25 15:35 robert - * Updated change log. - - From Fredric Marmond, changed unsigned int to unsigned long to - avoid compile errors under 64 bit compile. -2005-05-25 15:34 robert +Wed, 18 Sep 2002 11:11:10 +0000 +Checked in by : Robert Osfield +From Daniel Sjölie - added support for multitexured flt files. - * Added file to osgkeyboardmouse invokation. +Tue, 17 Sep 2002 15:47:23 +0000 +Checked in by : Robert Osfield +Improved the sort callback support in osgUtil::RenderBin, and removed the now rendundent DepthSortedBin class. -2005-05-25 11:45 robert +Mon, 16 Sep 2002 20:58:05 +0000 +Checked in by : Robert Osfield +Further work on multiple context extensions. - * Updated doxgen docs. +Mon, 16 Sep 2002 10:55:09 +0000 +Checked in by : Robert Osfield +Commented out the call to combine LOD's in the optimizer as it was causing problems in some flt datasets. -2005-05-25 09:50 robert +Sat, 14 Sep 2002 10:38:28 +0000 +Checked in by : Robert Osfield +Updates the osg::Texture3D::Extensions interface to support the standardisation of extensions supported across multiple graphics contexts. - * Changd unsigned int's to unsigned char* to fix gcc3.4 64 bit - issues. +Fri, 13 Sep 2002 13:50:58 +0000 +Checked in by : Robert Osfield +Added dirty methods for vertex arrays to better support external OpenGL code which modifies the OpenGL state and needs to tell the osg::State about it to ensure that the OSG doesn't make any errors during lazy state updating. -2005-05-25 09:48 robert +Thu, 12 Sep 2002 20:30:41 +0000 +Checked in by : Robert Osfield +From Pavel Moloshtan, fixes for Mingw32 build. - * Updated NEWS +Thu, 12 Sep 2002 19:59:05 +0000 +Checked in by : Robert Osfield +Added opengl32.lib and glu32.lib links to osgGLUT.dsp -2005-05-24 20:45 robert +Thu, 12 Sep 2002 15:34:31 +0000 +Checked in by : Robert Osfield +Added asGroup() and asTransform() methods to osg::Node to downcast nodes to these types without requiring an expensive dynamic_cast<>.Also added asGeometry() to osg::Drawable for the same reasons. - * Updated NEWS -2005-05-24 18:57 robert - * Added pragma to remove warnings under VS.8.0 +Thu, 12 Sep 2002 14:29:59 +0000 +Checked in by : Don BURNS +Fixed setFusionDistance -2005-05-24 15:34 robert +Thu, 12 Sep 2002 13:23:15 +0000 +Checked in by : Robert Osfield +From Brede Johansen - Fixes to osg::Plane::valid and added a new set method.From Stephan Huber - Compilation fix to Texture.cpp for OSX. - * Updates to clean up wrapper generation, and to update wrappers +From Don Tidrow - added dirtyBound() to osgText::Text::setPosition -2005-05-24 15:23 robert - * Did a dos2unix on all files -2005-05-24 10:46 robert +Mon, 9 Sep 2002 04:40:50 +0000 +Checked in by : Don BURNS +Added ability to accept '.tif' files (as well as '.tiff') and printed notify() on error - * Added check for an empty compile lists. +Thu, 5 Sep 2002 15:45:10 +0000 +Checked in by : Robert Osfield +Improvements to osg::Texture3D::Extensions code. -2005-05-24 10:37 robert +Thu, 5 Sep 2002 15:13:05 +0000 +Checked in by : Don BURNS +For Solaris, /usr/local/lib dependencies now compile static libraries. This reduces the dependencies for binary installs. ALso rearranged the SunOS gnu and Forte compiler sections to be more generic - * Added re-entrent mutex to serialize access to OpenFlight plugin - to prevent - any multi-threaded issues. +Thu, 5 Sep 2002 11:42:55 +0000 +Checked in by : Robert Osfield +Added new buffered_value template class which encapsulates a std::vector but initializes the array to the number of graphics contexts, and automatically expands the array when indices outside the current size are required.Added new osg::Texture::Extensions nested class to handle extensions on a per +context basis. -2005-05-23 11:27 robert - * Updated changelog -2005-05-23 11:18 robert +Wed, 4 Sep 2002 10:51:33 +0000 +Checked in by : Robert Osfield +From Ulrich Hertlein, check for max 3d texture size into the osgtexture demo. - * Added new examples to runexamples +Wed, 4 Sep 2002 10:49:17 +0000 +Checked in by : Robert Osfield +Added support for setting the fusion distance directly in SceneView, defaults to the original behavior of using the values from the Camera if attached. -2005-05-23 11:00 robert +Wed, 4 Sep 2002 08:14:04 +0000 +Checked in by : Robert Osfield +Added support for multiple graphics contexts to osg::Texture and its subclasses. - * Updated news. +Wed, 4 Sep 2002 01:15:07 +0000 +Checked in by : Don BURNS +Added setting colormask to SceneView on every frame to allow toggling between stereo on and off in Anaglyphic mode. -2005-05-22 20:30 robert +Tue, 3 Sep 2002 20:12:29 +0000 +Checked in by : Robert Osfield +Fixes to the LWO to better handle 3 and 4 vertex polygons.Added an extra pass into the Optimizer's merging of geometry primitives so +it convertex 3 and 4 vertex polygons into triangles and quads respectively. - * Changed .png files to .jpg to help save space in - OpenSceneGraph-Data. -2005-05-22 20:19 robert - * Added scoring, welcome page, you've lost and you've won pages. +Tue, 3 Sep 2002 19:25:00 +0000 +Checked in by : Robert Osfield +Removed const from the evaluateLODChild(,,) callback method. -2005-05-21 21:19 robert +Tue, 3 Sep 2002 14:42:19 +0000 +Checked in by : Robert Osfield +Removed the temporary commenting out of the Optimizer, which was done for debugging purposes. - * Added support for multiple levels, and exit on lose of all lives - or on finishng - the highest level. +Tue, 3 Sep 2002 13:04:53 +0000 +Checked in by : Robert Osfield +Fixed LWO2 ReaderWriter problem which was down to an the compiler reodering the evaluation of a Vec3 paramter. -2005-05-21 12:57 robert +Tue, 3 Sep 2002 09:50:51 +0000 +Checked in by : Robert Osfield +Fixed and unmatched malloc/free pair, which was previously doing a mallco/delete. - * Updates to osgcatch game to allow different types of falling - objects +Mon, 2 Sep 2002 12:31:35 +0000 +Checked in by : Robert Osfield +Converted the instances of const built in types being returned from methods and passed as paramters into straight forward non const built in types, i.e. const bool foogbar(const int) becomes bool foobar(int). -2005-05-21 09:55 robert +Sat, 31 Aug 2002 09:59:18 +0000 +Checked in by : Robert Osfield +From Yfei He, added in missing RoadConstruction handler. - * Maded debugging output write out at INFO level +Sat, 31 Aug 2002 09:51:52 +0000 +Checked in by : Robert Osfield +Bug fix from Tom Jolly, which adds a check aginst a delete of gl textures in FTGLTextureFont destructor to prevent a NULL be passed to glDeleteTextures. This solves the crash on exit of osghud/osgtext. -2005-05-20 22:15 robert +Sat, 31 Aug 2002 06:04:21 +0000 +Checked in by : Don BURNS +Added the script to make IRIX distribution packages (via 'inst'). - * Tweaked wrappers by hand to get them to compile +Fri, 30 Aug 2002 19:45:56 +0000 +Checked in by : Robert Osfield +Renamed osg::Statistics::addOpaque to addDrawable to better reflect its current function. -2005-05-20 21:12 robert +Fri, 30 Aug 2002 16:17:41 +0000 +Checked in by : Robert Osfield +Updates to windows build docs.Merge fixes for OSX from bob. - * Updated wrappers. +Added checking for impostor sprites into stats. -2005-05-20 21:01 robert - * Fixed doxygen comments. -2005-05-20 18:35 robert +Fri, 30 Aug 2002 15:32:59 +0000 +Checked in by : Robert Osfield +Fixes to Math for MacOSX build.Converted TextureCubeMap to unix file endings. - * Removed references to removed files. -2005-05-20 15:45 robert - * Reworking to avoid compile issues under VS6.0. +Fri, 30 Aug 2002 15:17:01 +0000 +Checked in by : Robert Osfield +Update LANDEXT.DAT to contain all the latest core OSG files. -2005-05-20 11:35 robert +Fri, 30 Aug 2002 15:07:10 +0000 +Checked in by : Robert Osfield +Fixed the flatten static transform visitor. - * Removed remaining references to old DX writer. +Fri, 30 Aug 2002 13:38:22 +0000 +Checked in by : Robert Osfield +Added std:: infront of ends references. -2005-05-20 11:33 robert +Fri, 30 Aug 2002 07:17:48 +0000 +Checked in by : Robert Osfield +Removed the OSG_COMPILE_UNIT_TESTS define from the OSX build to avoid issues with the missing - * Removed long unused and out of date DX writer plugin from - distribution, will now - be placed on the wiki just in case its needed. +Fri, 30 Aug 2002 01:34:40 +0000 +Checked in by : Don BURNS +Some small clean ups and editorializing of the NEWS file. -2005-05-20 06:39 robert +Thu, 29 Aug 2002 20:41:19 +0000 +Checked in by : Robert Osfield +Fixed the numerical accuracy problems in the Drive and Flight Manipulators. - * Added env var report. +Thu, 29 Aug 2002 16:38:51 +0000 +Checked in by : Robert Osfield +Fixed numerical accuracy problem in Trackball manipulator. -2005-05-19 21:42 robert +Thu, 29 Aug 2002 14:48:25 +0000 +Checked in by : Robert Osfield +Updated change log. - * From Martin Aumueller, fixed copy and paste error on - getActiveUniforms(). +Thu, 29 Aug 2002 14:41:12 +0000 +Checked in by : Robert Osfield +Removed html files which relate to now removed API. -2005-05-19 15:17 robert +Thu, 29 Aug 2002 14:39:41 +0000 +Checked in by : Robert Osfield +Added new autogenerated .html files - * Added support for setting the default render bin sort mode via - the - env OSG_DEFAULT_BIN_SORT_MODE variable or via or - RenderBin::setDefaultRenderBinSortMode() - method. +Thu, 29 Aug 2002 14:29:49 +0000 +Checked in by : Robert Osfield +Updated docs. -2005-05-19 09:22 robert +Thu, 29 Aug 2002 14:05:51 +0000 +Checked in by : Robert Osfield +Updated the NEWS to release the new release. - * From Alberto Farre, added support for caching of ProxyNode - children. +Thu, 29 Aug 2002 11:02:01 +0000 +Checked in by : Robert Osfield +Renamed the ConvexPlaner* classes to ConvexPlanar* and changed all the various classes that reference it.Added MUST_READ_ME.txt to the VisualStudio directory. -2005-05-18 21:45 don - * Fixed fullscreen toggle in ViewerEventHandler that assumed the - first - RenderSurface was a window (not a pbuffer). -2005-05-18 21:34 don +Thu, 29 Aug 2002 08:39:04 +0000 +Checked in by : Robert Osfield +Added SG_EXPORT. - * PBuffer example revamped to use a normal CameraConfig for setting - up the - PBuffer and main cameras, and a PBufferTexture2D for the texture, - rather - than a subload callback +Thu, 29 Aug 2002 03:49:23 +0000 +Checked in by : Don BURNS +Blast it, Don... You should rebuild before you check things in! -2005-05-18 21:31 robert +Thu, 29 Aug 2002 03:22:27 +0000 +Checked in by : Don BURNS +Fixed 69 occurance of 'Seperate' misspelling (should be 'Separate') - * Updated NEWS, ChangeLog and runexamples.bat. +Wed, 28 Aug 2002 21:40:38 +0000 +Checked in by : Robert Osfield +Changed instances of new across to use osgNew to help debugging, and fixed an unitialized variable in Sequence. -2005-05-18 21:17 robert +Wed, 28 Aug 2002 19:46:56 +0000 +Checked in by : Robert Osfield +Fixed the optimized library name of the osgText plugin. - * Updated wrappers. +Wed, 28 Aug 2002 18:49:27 +0000 +Checked in by : Robert Osfield +Updated the version numbers to reflect the upcomming release 0.9.1. -2005-05-18 19:55 robert +Wed, 28 Aug 2002 18:38:33 +0000 +Checked in by : Robert Osfield +Fixes to Win32 build. - * Added s/getClearMask() support to osg::ClearNode, - osgUtil::SceneView and the - .osg plugin. +Wed, 28 Aug 2002 17:37:12 +0000 +Checked in by : Robert Osfield +Added std:: infront of cout and endl. -2005-05-18 19:04 robert +Wed, 28 Aug 2002 16:59:22 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build. - * From Joakim Simonsson, DOFTransform multiplication order support - added to .ive format. - With tweak from Robert Osfield to wrap new read and write with a - new version number - to allow old files contain DOFTransforms to continue to work. +Wed, 28 Aug 2002 16:25:06 +0000 +Checked in by : Robert Osfield +Fixed unitialized variable in the MyTextureSubloadCallback. -2005-05-18 18:43 robert +Wed, 28 Aug 2002 16:17:54 +0000 +Checked in by : Robert Osfield +Added fixes to UnitTestFramework to get it compiling under Windows. - * From Joakim Simonsson: - - "DOFAnimation's default state could now be controlled by the RW - option. - - The option string is "dofAnimation" - - If the option string is omitted the default animation state is - off." +Wed, 28 Aug 2002 15:44:03 +0000 +Checked in by : Robert Osfield +Warning fixes for Windwos -2005-05-18 18:31 robert +Wed, 28 Aug 2002 15:35:17 +0000 +Checked in by : Robert Osfield +Fixed typo on osgunittests project name. - * Fixed copy and paste mistakes in setEventCallback methods +Wed, 28 Aug 2002 15:28:11 +0000 +Checked in by : Robert Osfield +Removed deprecated code from the distribution.Added .osg support for Texture1D and Texture3D. -2005-05-17 20:12 robert - * Added RADEON as render type for disabling mipmapped NPO2T -2005-05-17 15:00 robert +Wed, 28 Aug 2002 14:28:21 +0000 +Checked in by : Robert Osfield +Added -I{THISDIR} into the iv Makefile. - * Cleaned up in prep for release. +Wed, 28 Aug 2002 14:27:18 +0000 +Checked in by : Robert Osfield +Updates, from Neil Salter, to comments etc to osgGA which add better explanations of how each of the classes operates. -2005-05-17 14:25 robert +Wed, 28 Aug 2002 14:26:09 +0000 +Checked in by : Robert Osfield +Added Neil Salter's osgUtx library into the distribution, have put all the orignal seperate headers and source into include/osg/UnitTestFrameWork and src/osg/UnitTestFramework.cpp respectively. I have done this to keep the include and source directories focused on the scene graph rather than the test framework.Have added a very simple unit test to Vec3.cpp, which are optionally +compiled in with the OSG_COMPILE_UNIT_TESTS define, which is only +currently defined in debug builds under unix. It should be fine to +add it in under Windows project files as well. - * Improved the handling of data attached to proxy nodes +Finally, a new demo app osgunittests runs the tests and reports success +or failure of the tests. -2005-05-17 13:50 robert - * Changed the default behavior to not writing out proxynode - children. -2005-05-17 13:47 robert +Tue, 27 Aug 2002 21:01:22 +0000 +Checked in by : Robert Osfield +Commented out the #define TEXTURE_USE_DEPRECATED_API from includ/osg/Texture which forces the use of a typedef Texture2D Texture; in place of the orignal texure implementation. - * Improved the handling of writing out of proxy node files. +Tue, 27 Aug 2002 20:54:58 +0000 +Checked in by : Robert Osfield +Added code to write byte/int/float arrays out with 8 values per line by default, rather than 1 per line as before. -2005-05-17 13:34 robert +Tue, 27 Aug 2002 20:18:43 +0000 +Checked in by : Robert Osfield +Added support for DOFTransforms into .osg format, and add pivot point support to the PositionAttitudeTransform .osg support.Removed a double light reference in the osglight demo. - * From Daniel Sjölie, for the purpose of maintainability, made the - load proxy nodes code the standard, remove the older - code that remained as part of #else #endif blocks, and remove the - erroneous - implementation of caching of proxynodes. -2005-05-17 13:24 robert - * Added destructor to fix Cygwin build problem. +Tue, 27 Aug 2002 15:46:47 +0000 +Checked in by : Robert Osfield +Added support for reading and writing osg::PositionAttitudeTransform. -2005-05-17 11:11 robert +Tue, 27 Aug 2002 15:46:29 +0000 +Checked in by : Robert Osfield +Fixed bug in the Light reading code. - * Updated wrappers. +Tue, 27 Aug 2002 14:02:19 +0000 +Checked in by : Robert Osfield +Added proper osgtexture1D demo - this demo uses a 1D texture to dynamically contour the scene. -2005-05-17 11:00 robert +Tue, 27 Aug 2002 14:00:04 +0000 +Checked in by : Robert Osfield +From Marco, fix to include/GL to clean up warnigns in Windows builds. - * Added differentiation between Non power of two textures when mip - mapped vs - when not mipped mapped to get round the issue of incomplete - support under - ATI cards. +Tue, 27 Aug 2002 10:06:57 +0000 +Checked in by : Robert Osfield +Added osgtexture3D demo, renamed osgtexture demo to osgtexture2D, and have added osgtexture1D demo which currently is simply copy of osgtexture2D. I will be modifying it to do 1D texturing next.Fixed a bug in osg::Texture3D relating to checking of existance of +texturing. -2005-05-17 09:53 robert +Merged some fixes to the pfb loader from Ulrich Hertlein. - * Removed old GeoSet backward compatibility code since its now - redudent. -2005-05-17 09:06 robert - * From Thom DeCarlo, build fixes for Cygwin. +Mon, 26 Aug 2002 20:11:24 +0000 +Checked in by : Robert Osfield +Fixed typo of _texParametersDirty. -2005-05-16 18:24 robert +Mon, 26 Aug 2002 19:35:43 +0000 +Checked in by : Robert Osfield +Removed #ifdef hacks to remove optimization with VS6.0's STL. VS6.0 STL is now no longer supported! - * Fixed name. +Mon, 26 Aug 2002 15:02:31 +0000 +Checked in by : Robert Osfield +Moved the #define GL_DOT3_RGB_ARB's into their own #ifndef GL_ARB_texture_env_dot3 block. -2005-05-16 17:37 robert +Mon, 26 Aug 2002 13:04:43 +0000 +Checked in by : Robert Osfield +Moved #define's for OpenGL1.2 image formats into the include/osg/Image header to allow compilation of the rgb plugin under Windows with its 1.1 OGL headers.Added float.h to Math's compile path for VS7 compilation. - * Update to NEWS w.r.t contributors -2005-05-16 17:17 robert - * Bumped version numbers to 0.9.9 in rediness for 0.9.9 release. +Mon, 26 Aug 2002 12:34:42 +0000 +Checked in by : Robert Osfield +Made the sort callback's sort method pure virtual. -2005-05-16 16:50 robert +Mon, 26 Aug 2002 12:28:10 +0000 +Checked in by : Robert Osfield +Removed redundent parameter in sort() callback which was never being used. - * Updated NEWS and ChangeLog in prep for release +Mon, 26 Aug 2002 10:30:40 +0000 +Checked in by : Robert Osfield +Added #include to include/osg/glut for Windows build. -2005-05-16 15:51 robert +Mon, 26 Aug 2002 10:24:01 +0000 +Checked in by : Robert Osfield +Updated Texture3D to use extension checking to get the relevant 3d texturing extensions. - * Warning fixes for IRIX +Mon, 26 Aug 2002 03:15:45 +0000 +Checked in by : Don BURNS +Added writer to RGB plugin -2005-05-16 15:50 robert +Sun, 25 Aug 2002 15:31:44 +0000 +Checked in by : Robert Osfield +Converted code dependant on osg::Texture across to its replacement osg::Texture2D. - * Updated wrappers +Sun, 25 Aug 2002 11:00:30 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build -2005-05-16 14:27 robert +Sat, 24 Aug 2002 21:12:51 +0000 +Checked in by : Robert Osfield +Added guard to prevent VS7 builds using the #defines for cosf etc. - * Changed the getHitList and getNumHits methods to take const - osg::LineSegment* as a parameter. +Sat, 24 Aug 2002 21:12:10 +0000 +Checked in by : Robert Osfield +Added brief items to NEWS in prep for the 0.9.1 release. -2005-05-16 14:09 robert +Sat, 24 Aug 2002 21:11:07 +0000 +Checked in by : Robert Osfield +Added support for the texture_env_dot3 extension. - * Workaround for Mipspro compiler bug. +Sat, 24 Aug 2002 19:39:39 +0000 +Checked in by : Robert Osfield +Added new osg::TextureBase, osg::Texture1D, osg::Texture2D, and osg::Texture3D classes, and changed osg::Texture and osg::TextureCubeMap so that they now derive from osg::TextureBase. -2005-05-16 11:22 robert +Sat, 24 Aug 2002 19:35:00 +0000 +Checked in by : Robert Osfield +Clean up of include/osg/GL and include/osg/GLExtensions for better support of Windows build. - * Updated wrappers. +Fri, 23 Aug 2002 00:43:10 +0000 +Checked in by : Don BURNS +Modifed osgGLUT viewer and messages in SGV to allow for start up in full screen mode. -2005-05-16 11:18 robert +Thu, 22 Aug 2002 17:36:44 +0000 +Checked in by : Don BURNS +Fixed a dependency order - * Fixed method signatures. +Thu, 22 Aug 2002 09:19:41 +0000 +Checked in by : Robert Osfield +Added calling of the LightSource and ClipNode as Group by the NodeVisitor and fixed the CullVisitor and Optimizer to take account of this. -2005-05-16 10:12 robert +Thu, 22 Aug 2002 08:14:38 +0000 +Checked in by : Robert Osfield +Fixed the osg::Transform::coompute*() methods so the were using the _referenceFrame correctly, as previously they were doing the exact opposite from what they should have been doing. - * Added osgUtil osgDB osgFX osgText osgTerrain osgGA osgProducer to - the list - of wrapper libraries. +Wed, 21 Aug 2002 20:42:19 +0000 +Checked in by : Robert Osfield +From Stephan Huber, "I found a small bug in QTtexture.c: the code fails, when the image-files don't reside on the boot-partition. I replaced the offending function by a cleaner one.". -2005-05-16 09:41 robert +Tue, 20 Aug 2002 22:43:42 +0000 +Checked in by : Robert Osfield +Moved the include from the State header into State.cpp, and added it into other files which now required it. - * Updated wrappers +Tue, 20 Aug 2002 18:00:22 +0000 +Checked in by : Robert Osfield +Added IO Support for TexEnvCombine state attribute. -2005-05-15 20:32 robert +Tue, 20 Aug 2002 14:15:49 +0000 +Checked in by : Robert Osfield +Added support for the tex_env_add and tex_env_crossbar extensions. - * From Marco Jez, fixes to/and for osgIntrospection. +Tue, 20 Aug 2002 14:12:51 +0000 +Checked in by : Robert Osfield +Fixes to new osgText and osgParticle project files. -2005-05-15 20:31 robert +Tue, 20 Aug 2002 12:29:35 +0000 +Checked in by : Robert Osfield +Added the definition of GL_FOG_COORDINATE_SOURCE to Fog.cpp.Added #include to the GLExtensions header. - * Moved computeBounds into public scope. -2005-05-15 05:47 robert - * From John Grant, added getDrawableList() const. +Tue, 20 Aug 2002 11:27:08 +0000 +Checked in by : Robert Osfield +Moved the IO support for the osgText and osgParticle libraries into seperate plugin libraries. -2005-05-14 18:57 robert +Tue, 20 Aug 2002 10:26:36 +0000 +Checked in by : Robert Osfield +Added a error message for when OSG_NOTIFY_LEVEL is not set correctly. - * From Marco Jez, added export symbols. +Tue, 20 Aug 2002 10:14:12 +0000 +Checked in by : Robert Osfield +Merged fixes to the osg::GLExtensions function pointer code from Stefan Huber, and a fix to osg::State's secondary color code from Bob Kuehne.Moved the body of the getGLExtensionFuncPtr() into the header to help out +support for Windows mapping of different OpenGL extensions function ptr per +dll. -2005-05-14 14:31 robert - * From Marco Jez, change of Doxygen docs name of class from - UFOManipulator to - osgGA::UFOManipulator, done to avoid automated wrapper issues. -2005-05-13 21:39 robert +Tue, 20 Aug 2002 10:08:04 +0000 +Checked in by : Robert Osfield +A FogCoordinateSource set/get methods to osg::Fog which correspond to the FogCoord support added to osg::Geometry. Added suppot for these new parameters to the .osg plugin. - * Yet another using namespace osg to try and work out the spat - betwen MipsPro and VS.6.0. +Tue, 20 Aug 2002 08:14:02 +0000 +Checked in by : Robert Osfield +Reordered the string comparions so that DEBUG_INFO comes before INFO, since the find op will find INFO in a DEBUG_INFO string, and hence report the wrong notify level. -2005-05-13 21:38 robert +Mon, 19 Aug 2002 19:53:34 +0000 +Checked in by : Robert Osfield +Added default values to the TexEnvCombine constructor. - * From Tom Jolly, removing trailing comma for last entries in enums - to fix - IRIX compile warnings. +Mon, 19 Aug 2002 15:14:10 +0000 +Checked in by : Robert Osfield +Added missing include/osg/ClearNode -2005-05-13 14:54 robert +Mon, 19 Aug 2002 15:11:09 +0000 +Checked in by : Robert Osfield +Added new osg::TexEnvCombine state attribute. - * From Mike Weiblen, updated project files to link to new 3rdParty - libs +Mon, 19 Aug 2002 11:42:37 +0000 +Checked in by : Robert Osfield +Renamed the osg::EarthSky to osg::ClearNode to make it more obvious what role it has play and make it more relevant to non vis-sim applications. -2005-05-13 14:36 robert +Mon, 19 Aug 2002 08:35:35 +0000 +Checked in by : Robert Osfield +Moved "unsigned int i" from for(.. to just before it, and removed subsequent ones to get the VisualStudio compiler working once more. - * Updated wrappers. +Sun, 18 Aug 2002 14:42:43 +0000 +Checked in by : Robert Osfield +Added DOFTransform, MatrixTransform and PositionAttitudeTransform to NodeVisitor.Added osg::Matrix/Quat::makeRotate(angle1,axis1,angle2,axis2,angle3,axis3) and +osg::Matrix::rotate(angle1,axis1,angle2,axis2,angle3,axis3) method. -2005-05-13 13:29 robert +Made osg::Matrix/Quat::makeRotate(heading,pitch,roll) and +osg::Matrix::rotate(heading,pitch,roll) all deprecated API. - * Moved BaseOptimizerVisitor out of Optimizer into osgUtil - namespace to try and - get round MipsPro compile problems. +Fixed the Quat*Quat & Quat*=Quat multiplication methods so that they multiplied +in the correct order - they were reversed originally due to the Quat code being +based on code example which used the v' = M v ordering, rather than the OSG's +v' = v M ordering. -2005-05-13 12:06 robert - * Refinement of includes to help IRIX build -2005-05-13 11:11 robert +Sun, 18 Aug 2002 11:16:31 +0000 +Checked in by : Robert Osfield +Added check to disable color binding when the secondary colour extension doesn't exist. - * Cross platform build fixes. +Sat, 17 Aug 2002 07:34:11 +0000 +Checked in by : Robert Osfield +Fixed typo in #define of UBYTE4 -2005-05-13 09:52 robert +Fri, 16 Aug 2002 15:14:43 +0000 +Checked in by : Robert Osfield +Added Texuture::SubloadCallback example into the osgprerender demo to illustrate how to use it.Changed the ImpostorSprite to use LINEAR,LINEAR for min and mag filters for the +impostor texture. - * Added #include "dxfBlock.h" -2005-05-13 09:05 robert - * Added /Zm200 +Fri, 16 Aug 2002 13:33:32 +0000 +Checked in by : Robert Osfield +Added new osg::Texture::SubloadCallback, and getNumMipmapLevels() to osg::Texture and osg::Image. This additions are design to make texture subloading more flexible. -2005-05-13 08:54 robert +Fri, 16 Aug 2002 10:56:20 +0000 +Checked in by : Robert Osfield +Fixes from Ulrich Hertlein to get the pfb plugin compiling with using any deprecated API. - * Removed unused function. +Thu, 15 Aug 2002 20:27:33 +0000 +Checked in by : Robert Osfield +Supported added for secondary color & fog coords to osg::Geometry and osg::State. -2005-05-12 20:59 robert +Thu, 15 Aug 2002 20:25:46 +0000 +Checked in by : Robert Osfield +From Perry, support for color added to the MeshPrimtive/LocalVertexPool code. - * From Mike Weiblen, Added queries of compilation state to Shader - (for symmetry with Program's - link state queries) +Thu, 15 Aug 2002 15:04:23 +0000 +Checked in by : Robert Osfield +Removed the getData() from MeshRecord and the dummy SMesh record, this allow the FaceRecord base class to directly provide the datatype. -2005-05-12 20:46 robert +Thu, 15 Aug 2002 14:09:36 +0000 +Checked in by : Robert Osfield +Added a using namespace std; and removed std:: from from std::hex and std::dec. - * fixed warning. +Thu, 15 Aug 2002 13:04:13 +0000 +Checked in by : Robert Osfield +Added a virtual keyword into the getData() overrided methods. -2005-05-12 20:35 robert +Thu, 15 Aug 2002 11:25:23 +0000 +Checked in by : Robert Osfield +Submission from Perry Miller for support of OpenFlight15.7's local vertex pool and mesh primitives. Converted Perry's code to work with the osg::Geometry instead of osg::GeoSet. - * From Jan Ciger, gcc 4.0 compile fix. +Wed, 14 Aug 2002 20:56:04 +0000 +Checked in by : Robert Osfield +Added SG_EXPORT to PositionAttitudeTransform and MatrixTransform. -2005-05-12 20:06 robert +Wed, 14 Aug 2002 09:30:02 +0000 +Checked in by : Robert Osfield +Commented out the #define USE_DEPRECATED_API. - * Updated wrappers. +Tue, 13 Aug 2002 18:29:50 +0000 +Checked in by : Don BURNS +Added some comments -2005-05-12 20:03 robert +Tue, 13 Aug 2002 15:31:10 +0000 +Checked in by : Robert Osfield +Futher improvements and fixes to osg::AnimationPath, and the osglight demo to show it action. - * Fixed pairing of write and read of Matrixd +Tue, 13 Aug 2002 13:22:46 +0000 +Checked in by : Robert Osfield +Made improvements to osg::AnimationPath, added osg::PositionAttitudeTransform::AnimationPathCallback which us an app callback which uses an AnimationPath to specify the new positions of the transform.Added AnimationPath code to osglight to animate the positional light. -2005-05-12 19:14 robert +Added CullVisitor::setCullingMode() code into SceneView so that SceneView's +CullingMode is now properly passed onto CullVisitor. Note, this work +had been done before, but must has been lost in a merge. Umm... - * From Mike Weiblen, osgpbuffer now needs to link w/ Producer - (fixed .dsp file attached) -2005-05-12 19:05 robert - * Added missing Uniform(Matrixd) constructor implementation +Tue, 13 Aug 2002 09:35:06 +0000 +Checked in by : Robert Osfield +Fixed uninitialized _sortMode. -2005-05-12 15:51 robert +Mon, 12 Aug 2002 17:40:36 +0000 +Checked in by : Robert Osfield +Added new s/getPivotPoint() support to osg::PositionAttitudeTransform.Modified the osglight demo to use an AppCallback and a PositionAttitudeTransform +to animate the loaded model. - * From Alberto Farre, - - "ConvertFromFLT::addMultiTexture makes ENDIAN conversion for - SMultiTexture - struct attributes. - When an flt object is multi-instantiated y should be done just - first time, - because SMultiTexture struct is always the same, currently is - being done for - each instance. - - Attached file fix the problem but perhaps a more clean fix would - be making - ENDIAN conversion at writing attributes time instead of at - reading time. " -2005-05-12 14:48 robert - * Added IO support for new intialBound and callbacks to .osg, and - initialBound to .ive +Mon, 12 Aug 2002 13:42:43 +0000 +Checked in by : Robert Osfield +Updates to DOFTransform so that its overrides the traverse() and compute*() methods rather than depending upon callbacks for animating and compute matrices. Merged the put/inverseput code between Sasa's and Ferndinand's DOF code.From Bora Utka, Added support to osg::Sequence/OpenFlight AnimNode to the flt plugin. -2005-05-12 14:03 robert - * Added new Node/Drawable::s/getInitialBound and - Node/Drawable::s/getComputeBoundCallback - methods and reimplement computeBound so that it passes back a - bounding volume rather - than modifying the local one. -2005-05-12 08:58 robert +Mon, 12 Aug 2002 13:37:35 +0000 +Checked in by : Robert Osfield +attempt to fix read only status of Sequence.cpp. - * Added setTextureFileName method. +Sun, 11 Aug 2002 21:26:58 +0000 +Checked in by : Robert Osfield +Removed dependency of the new osg::DOFTransform and osg::Sequence Node's on osgUtil by implementing a NodeVisitor::VisitorType enum, and associated g/setVisitorType. This allows callbacks to querry the visitor/traversal type without doing down cast's to specific visitor subclasses such as osgUtil::AppVisitor/CullVisitor. -2005-05-12 08:54 robert +Sun, 11 Aug 2002 10:32:20 +0000 +Checked in by : Robert Osfield +Temporarily commented out the flat staic transforms visitor since it was causing problems with the new DOFTransform class. - * Added clear of lazy uniform updating structure on relink, also - added debug - output of shader being compiled. +Fri, 9 Aug 2002 19:51:12 +0000 +Checked in by : Robert Osfield +Submission for Gideon May, fixes for spacing in various osgText files. -2005-05-12 07:47 robert +Fri, 9 Aug 2002 16:27:39 +0000 +Checked in by : Robert Osfield +Fixed the X and Y axis rotation billboards so that now rotate correctly.Rewrote the osgbillboard demo so that it creates a point rotatated billbaord +and X,Y and Z axis billboards to both test and demonstrate this types of +billboards in action. - * Moved OpenGL2 definitions from Uniform header to GL2Extensions -2005-05-11 21:36 robert - * Updated wrappers. +Thu, 8 Aug 2002 21:36:22 +0000 +Checked in by : Robert Osfield +Fixes for IRIX 32bit timmer on O2. From Tom Jolley. -2005-05-11 21:06 robert +Thu, 8 Aug 2002 15:10:58 +0000 +Checked in by : Robert Osfield +Fixed warning related to where _increasingFlags is an unsigned short and 0xffffff is being truncated, spotted by Tom Jolly. - * Added missing required includes +Thu, 8 Aug 2002 15:09:18 +0000 +Checked in by : Robert Osfield +Removed inline definition from front of setMaxAnisotropy method. -2005-05-11 20:37 robert +Thu, 8 Aug 2002 13:45:16 +0000 +Checked in by : Robert Osfield +Fixed typos, sent in by Warren Macchi. - * Compile fix. +Thu, 8 Aug 2002 13:41:18 +0000 +Checked in by : Robert Osfield +Fixed bug related to switching on/off culling modes. Patch from Nikolaus Hanekamp. -2005-05-11 20:05 robert +Thu, 8 Aug 2002 11:27:11 +0000 +Checked in by : Robert Osfield +Changed the Geometry::setVertexArray and GeoSet::setCoords so that they call dirtyBound() instead of reseting the local bound flag, this ensures the updates are propagated upwards through into the parents. - * Updated wrappers +Thu, 8 Aug 2002 11:01:07 +0000 +Checked in by : Robert Osfield +Fixed the shininess factor in 3ds plugin. -2005-05-11 19:59 robert +Wed, 7 Aug 2002 15:52:24 +0000 +Checked in by : Robert Osfield +Changed the support for anisotropic filtering in osg::Texture so that it is now controlled via the setMaxAnisotropy(float) method, and is set up independently for the mag filter mode, which it previously was done. - * Moved GL2Extensions back out of Program and into its own header - file. +Wed, 7 Aug 2002 10:10:33 +0000 +Checked in by : Robert Osfield +Renamed osgsequence.cpp to osgsequence.dsp, as it was clearly a typo... -2005-05-11 19:34 robert +Wed, 7 Aug 2002 10:08:42 +0000 +Checked in by : Robert Osfield +Fixed type of DOFTransform.cpp - * From Don Tidrow, "I added some code to assign the archive pointer - in TXPnode - with the archive that ReaderWriterTXP actually loads. I also - added a - function in TXPArchive to help in manipulating the lightpoints." +Tue, 6 Aug 2002 17:07:05 +0000 +Checked in by : Robert Osfield +Added shells for DOFTransform and PositionAttitudeTransform to the .osg loader, still need to fill in the saving and loading of paramters.Went through the distribution remove old API usage. -2005-05-11 19:32 robert - * Changed the info log so that it output to INFO on success, to - WARN when an - error has occured. -2005-05-11 19:14 robert +Tue, 6 Aug 2002 10:37:22 +0000 +Checked in by : Robert Osfield +Changed the default value of _animationOn to true. - * From Nathan Monteleone, rewrote the osgpbuffer example so that it - uses - Producer xplatform support for pbuffer instead of Win32 specific - pathways - as support before. (with a few code tweaks to simplfy the code, - by Robert Osfield). +Tue, 6 Aug 2002 10:07:17 +0000 +Checked in by : Robert Osfield +Fixed typo in comment. -2005-05-11 16:05 robert +Tue, 6 Aug 2002 10:04:06 +0000 +Checked in by : Robert Osfield +Adde getViewFrustum() to camera. - * Added .osg support for new - ParticleEffect::s/getDefaultParticleTemplate. +Mon, 5 Aug 2002 15:07:18 +0000 +Checked in by : Robert Osfield +Added new osg::DOFTransform node from Sasa Bistrovic, designed to mirror the OpenFlight DOF transform nodes. -2005-05-11 15:26 robert +Mon, 5 Aug 2002 13:29:51 +0000 +Checked in by : Robert Osfield +Added support for PROTECTED modes into the .osg reading and writing. - * Added support for setting the texture filename and more fine - control over - the particle template used in ParticleEffects +Mon, 5 Aug 2002 13:12:09 +0000 +Checked in by : Robert Osfield +Added an example of the use of the PROTECTED modes and attributes into the osgreflect demo so that toggling texturing on or off won't affect the mirror planes texturing. -2005-05-11 13:40 robert +Mon, 5 Aug 2002 12:52:18 +0000 +Checked in by : Robert Osfield +Fixed compile errors under IRIX. - * Fixed compile warning. +Mon, 5 Aug 2002 12:40:24 +0000 +Checked in by : Robert Osfield +Added support to StateAttribute/State to support PROTECTED flag for modes and attributes so that they cannot be overriden from above via the OVERRIDE flag. This is useful for things like manipulators that have handles display in the scene, you might want to prevent their state being affected by other overriding of light, wireframe modes etc. -2005-05-11 13:37 robert +Sun, 4 Aug 2002 21:11:00 +0000 +Checked in by : Robert Osfield +Fix to iv/vrml loader so that it correctly passes back the right ReadResult and checks the validity of the file extension being passed to the plugin. Removed main.cpp * .h moving all its functionality into readerwriter.cpp. - * Completed GLSL support in .ive +Sun, 4 Aug 2002 20:51:03 +0000 +Checked in by : Robert Osfield +Changed the error reporting so that it directs it all via osg::notify, and only uses the INFO level for reporting that the file to load is not recognised. Also add check for LWO2 loading so that it returns FILE_NOT_HANDLED message correctly. -2005-05-11 11:42 robert +Sun, 4 Aug 2002 20:34:48 +0000 +Checked in by : Robert Osfield +From Ruben Lopez, updates to VRML/IV loader.From Ben Discoe, corrections to comments in osg::Transform - * Further work on GLSL support in .ive +From Alberto Barbati, Lazy evaluation of inverse matrix in osg::MatrixTransfrom -2005-05-11 11:41 robert - * Cleaned up API of BindAttributeLocation, added deletion of shader - objects. -2005-05-10 20:20 robert +Sat, 3 Aug 2002 19:42:39 +0000 +Checked in by : Robert Osfield +Added Sequence.cpp to osg plugin workspace file. - * Put in place the class to implement GLSL support in .ive +Sat, 3 Aug 2002 19:37:32 +0000 +Checked in by : Robert Osfield +Changed the copy constructor of for _light mem var to use a dynamic_cast. -2005-05-10 18:21 robert +Sat, 3 Aug 2002 18:11:21 +0000 +Checked in by : Robert Osfield +Integrated Ulrich Hertlien's osg::Sequence node, and osgsequence demo, and support for osg::Sequence in the pfb loader. - * Moved the infolog to the error handling block and upping its - notification - level to WARN to provide better feedback on failure with needing - to use - DEBUG notification level. +Sat, 3 Aug 2002 18:03:40 +0000 +Checked in by : Robert Osfield +Changed the range max and min members variables to maximum and minimum to prevent collision with windows min and max macros. -2005-05-10 16:13 robert +Sat, 3 Aug 2002 16:49:42 +0000 +Checked in by : Robert Osfield +Added support for a sort callback in RenderBin. - * Added tab to space converted to .obj plugin +Sat, 3 Aug 2002 16:48:36 +0000 +Checked in by : Robert Osfield +Fixed comments. -2005-05-10 13:56 robert +Sat, 3 Aug 2002 16:37:13 +0000 +Checked in by : Robert Osfield +Added cout's of the view frustum to the aid debugging, these cout's are now commented out, and are just left in so that they may be used to double check things in future. - * Added support for PROTECTED and OVERRIDE to uniforms. +Fri, 2 Aug 2002 19:11:06 +0000 +Checked in by : Robert Osfield +Fix for Win32 build -2005-05-10 10:01 robert +Fri, 2 Aug 2002 15:14:59 +0000 +Checked in by : Robert Osfield +Added missing _nodePath.clear() and _segHitList.clear() to InteresectVisitor::reset(). - * From Farshid Lashkari, bumped IVE version number to 9, and added - support in Texture for - _borderWidth - _useHardwareMipMapGeneration - _unrefImageDataAfterApply - _clientStorageHint - _resizeNonPowerOfTwoHint +Wed, 31 Jul 2002 15:16:14 +0000 +Checked in by : Robert Osfield +Updates to iv/vrml loader from Ruben. -2005-05-10 09:07 robert +Tue, 30 Jul 2002 10:08:50 +0000 +Checked in by : Robert Osfield +Updates to the iv loader from Ruben - conversion from GeoSet to Geoemetry. - * Changed -ne to $LINK_ECHO_OPTION to fix cross platform compile - issues +Mon, 29 Jul 2002 21:29:41 +0000 +Checked in by : Robert Osfield +Forced the use of non mip mapped texture during subloading in the osgprerender demo. -2005-05-10 08:07 robert +Mon, 29 Jul 2002 11:02:14 +0000 +Checked in by : Robert Osfield +Removed default value from constructor. - * From Farshid Lashkari, and non power of two resize hint support - to .osg ascii +Mon, 29 Jul 2002 00:04:07 +0000 +Checked in by : Robert Osfield +Fixes to the new texture subloading methods. -2005-05-09 15:29 robert +Sun, 28 Jul 2002 23:28:27 +0000 +Checked in by : Robert Osfield +Checked in new methods for setting up texture subloading, these allow the user to control which parts on an image are subloaded from, and how big the initial texture is. - * Added code to prevent ProxyNode's from been "flattened" by - osgUtil::Optimizer::FlattenStaticTransforms. +Sun, 28 Jul 2002 23:27:21 +0000 +Checked in by : Robert Osfield +Checked in Pavel's updates for non texured surfaces. -2005-05-09 13:09 robert +Sun, 28 Jul 2002 21:25:32 +0000 +Checked in by : Robert Osfield +Added set/getUnrefImageOnApply() methods and associated flag and code in Texture::apply() to set the _image to 0 on apply. Note, this will only work when you have a single graphics context, as with multiple graphics contexts one can't delete the image after the first apply, as there will be more than one texture object to update. - * Removed deprecated API in preparation for 0.9.9 release. +Sun, 28 Jul 2002 21:15:25 +0000 +Checked in by : Robert Osfield +Checked in Marco's commented out #defines/rejigged struct names to get things compiling under Windows, will need to check this in future as it may change with regeneration of parser files with lex/yacc. -2005-05-09 10:17 robert +Sun, 28 Jul 2002 12:52:15 +0000 +Checked in by : Robert Osfield +Chagned the initiliazation of iterators, sent in by Alberto Barbati. - * Added osgUtil, osgDB, osgFX, osgParticle, osgSim, osgTerrain, - osgGA - and osgProducer to osgWrappers directory. - - Enabled the build of osgWrappers/osg, osgWrappers/osgPartile and - osgWrappers/osgSim, - but not osgUtil, osgDB, osgFX, osgTerrain, osgGA and osgProducer - due to compile - errors. I am assuming that these compilers are fixable so I'm - checked all the - source code so that members of the community can help fix them. +Sun, 28 Jul 2002 12:49:01 +0000 +Checked in by : Robert Osfield +Fixes to NodeCallback and RenderBin from Alberto Barbati. -2005-05-08 19:21 robert +Sat, 27 Jul 2002 21:35:21 +0000 +Checked in by : Robert Osfield +Fixes to the inventor/vrml loader. - * Removed debug info +Sat, 27 Jul 2002 10:34:14 +0000 +Checked in by : Robert Osfield +From Macro, removal of use of display lists during double pass rendering of particles. -2005-05-08 18:37 robert +Sat, 27 Jul 2002 10:25:51 +0000 +Checked in by : Robert Osfield +Fix for Windows - * Updated osgWrappers. +Sat, 27 Jul 2002 10:22:58 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build. -2005-05-08 15:24 robert +Sat, 27 Jul 2002 10:09:39 +0000 +Checked in by : Robert Osfield +Added return value to addViewport. - * Added missing copy of _stereo +Fri, 26 Jul 2002 18:46:18 +0000 +Checked in by : Robert Osfield +Added missing osg:: from various references to osg::Objectf -2005-05-07 20:47 robert +Fri, 26 Jul 2002 16:33:25 +0000 +Checked in by : Robert Osfield +Added support for LWO2, send in by Pavel Moloshtan. - * Added more comprehensive releaseGLObjects(State*=0) throughout - Nodes, - Drawables,StateSet, and osgDB::Registry. - - Added cleanup_frame() from to osgProducer::OsgCamerGroup to help - with proper - clean of OpenGL objects before exit, and modified osgviewer, - osghangglider, - osgwindows examples to do the extra frame call to cleanup_frame() - before exit. +Fri, 26 Jul 2002 16:02:57 +0000 +Checked in by : Robert Osfield +Added project file for inventor plugin. -2005-05-07 09:17 robert +Fri, 26 Jul 2002 15:37:23 +0000 +Checked in by : Robert Osfield +Added Ruben Lopez's Inventor/VRML 1.0 loader. - * From Tim Daoust/Robert Osfield, added - Font::releaseGLobjects(State*state=0) to - facilate clean up of scene when a graphics context is - deleted/reused. +Fri, 26 Jul 2002 12:49:19 +0000 +Checked in by : Robert Osfield +Change Geometry paramter name to lower case geometry. -2005-05-06 19:44 robert +Thu, 25 Jul 2002 22:08:51 +0000 +Checked in by : Robert Osfield +From Ferdinand Cornelissen - Futher updates to the DOF code. - * Added handling of sharing of graphics context data which is now - supported - by Producer. You can get the osgProducer::Viewer to share - graphics contexts - by using the env var OSG_SHARE_GRAPHICS_CONTEXTS set to ON or OFF - i.e. - - setenv OSG_SHARE_GRAPHICS_CONTEXTS ON +Thu, 25 Jul 2002 21:58:53 +0000 +Checked in by : Robert Osfield +Added missing return statement to if() block in Matrix::mult code. Bug spotted by Ray Conner. -2005-05-06 17:43 robert +Thu, 25 Jul 2002 21:50:08 +0000 +Checked in by : Robert Osfield +Fixes to Doxygen files from Neil.Removed unused set/getReportMode() methods and member variables from IntersectVisitor. - * Added X11 include and lib paths to find freetype under OSX. +Added deep copy construction of Geometry objects. -2005-05-06 14:28 robert - * Made OSX default to using single threaded keyboard mouse. -2005-05-06 14:07 robert +Thu, 25 Jul 2002 21:45:46 +0000 +Checked in by : Robert Osfield +Changed > operator to < and swapped sides of expression, to enable compilation across compilers. - * Made USE_AGL=yes the default under OSX. +Thu, 25 Jul 2002 16:15:01 +0000 +Checked in by : Robert Osfield +Fix to geometry combiner which wasn't check the overall color array values in the lessGeometry functor. -2005-05-06 10:32 robert +Thu, 25 Jul 2002 15:25:42 +0000 +Checked in by : Robert Osfield +Fix to DOF Record from Sasa Bistroviae. - * Added osg_DeltaFrameTime uniform to default set. +Thu, 25 Jul 2002 15:21:18 +0000 +Checked in by : Robert Osfield +Fix for colors in old flt models from Brede. -2005-05-06 09:58 robert +Thu, 25 Jul 2002 14:42:01 +0000 +Checked in by : Robert Osfield +Removed double quotes from around the : DBGF = -g -DOSG_USE_MEMORY_MANAGERAs this was breaking the build. - * From Mike Weiblen, further work on GLSL support -2005-05-06 09:04 robert - * From Farshid Lashkari, support for non power of two extension. +Wed, 24 Jul 2002 16:29:00 +0000 +Checked in by : Robert Osfield +Implemented the DOF handling more cleanly, as per OpenFlight15.7 docs. -2005-05-05 21:21 robert +Tue, 23 Jul 2002 18:44:03 +0000 +Checked in by : Robert Osfield +Added missing std:: to endl; - * Fix for OSX build across both Tiger and 10.3.x +Tue, 23 Jul 2002 15:48:12 +0000 +Checked in by : Robert Osfield +Added the missing _primtives from the copy constructor list. -2005-05-05 20:05 robert +Tue, 23 Jul 2002 15:45:55 +0000 +Checked in by : Robert Osfield +Added fog toggling to Viewer.cpp, 'y' reduces fog density, 'Y' increases fog density. - * Removed rgb alias for Quicktime mapping since the Quicktime is - not reliable - at loading all rgb files that the standard OSG rgb reader can - read. +Tue, 23 Jul 2002 15:01:51 +0000 +Checked in by : Robert Osfield +Mods for HP-UX port. -2005-05-05 19:46 robert +Tue, 23 Jul 2002 14:35:38 +0000 +Checked in by : Robert Osfield +Added mode checking into StateSet to try and catch non texture OpenGL modes which have been applied to the texture modes and visa-versa. - * Changed check() method name to checkConsistency() to avoid - perculiar OSX Tiger build error. +Tue, 23 Jul 2002 13:30:47 +0000 +Checked in by : Robert Osfield +Support added for Gnu C++ under Solaris. -2005-05-05 14:03 robert +Tue, 23 Jul 2002 10:48:22 +0000 +Checked in by : Robert Osfield +Checked in Tino Schwarze's port to HP-UX. - * Removed the defaulting to setting the camera threading model to - MultiThreaded, - instead leave it to Producer's defaults. +Mon, 22 Jul 2002 16:01:00 +0000 +Checked in by : Robert Osfield +Updates to osgParticle form Macro. -2005-05-05 12:30 robert +Mon, 22 Jul 2002 13:05:31 +0000 +Checked in by : Robert Osfield +Merged changed to osgParticle from Macro, these add the ability to orientate the particles to predefined axis. - * Added support for osg_FrameNumber, osg_FrameTime, osg_ViewMatrix, - osg_InverseViewMatrix - into SceneView, controlled via a setActiveUniforms(.) method. +Mon, 22 Jul 2002 12:41:55 +0000 +Checked in by : Robert Osfield +Fixed more uninitialized variables and two potential memory leaks. -2005-05-05 09:18 robert +Sun, 21 Jul 2002 20:34:38 +0000 +Checked in by : Robert Osfield +Fixed various uninitiliazed variables. - * From Farshid Lashkari, added Texture::Extension support for non - power of two extension. +Sun, 21 Jul 2002 10:44:25 +0000 +Checked in by : Robert Osfield +Added default construction values for various member variables to fix report uninitialized variables. -2005-05-04 11:38 robert +Sun, 21 Jul 2002 10:04:33 +0000 +Checked in by : Robert Osfield +Futher work on ensuring that all datatypes are initilizaed in OSG objects. - * Fix for Tiger build +Sun, 21 Jul 2002 01:29:11 +0000 +Checked in by : Robert Osfield +Futher changes to remove unitialized variables/reordering of initialization to prevent unitialized warnings. -2005-05-04 09:11 robert +Sat, 20 Jul 2002 23:54:55 +0000 +Checked in by : Robert Osfield +Various fixes to constructors to ensure that all variables are initialized. - * Fixed bug where the Optimizer::StateVisitor was trying to - optimize - non existant StateSet's. +Sat, 20 Jul 2002 22:44:21 +0000 +Checked in by : Robert Osfield +Added missing default values to State constructor. -2005-05-03 22:02 robert +Sat, 20 Jul 2002 22:40:24 +0000 +Checked in by : Robert Osfield +Added default values for FrameStamp.cpp constructor. - * Updated wrappers +Sat, 20 Jul 2002 22:36:55 +0000 +Checked in by : Robert Osfield +Removed the rendundent variables in the ConvexPlanerPolygon as these were unused and unitialized. -2005-05-03 21:53 robert +Sat, 20 Jul 2002 22:36:09 +0000 +Checked in by : Robert Osfield +Added new debugging switch checkOnAllocations which is now on by default when compiling with debug build (under UNIX) and can be turned on or off with the OSG_MM_CHECK_ON_ALLOCATIONS environmental variable. - * From Alberto Farre, "Missed a FilepathList pop_back line from my - last submission. - - I have also commented out the option string set with FLT_VER - because it - overwrites other option string and I found it redundant and not - needed." +Sat, 20 Jul 2002 21:37:10 +0000 +Checked in by : Robert Osfield +Added some extra checks for memory initialization into the osg::MemoryManager, this is turned off by default, even in debug build. However you can turn it on by setting the OSG_MM_CHECK_FOR_UNINITIALIZED -2005-05-03 21:49 robert +Sat, 20 Jul 2002 18:27:40 +0000 +Checked in by : Robert Osfield +Umm... these should have already been commited, not sure why cvs has just popped these ones up... - * Removed the default compile of single threaded KeyboardMouse +Sat, 20 Jul 2002 16:24:12 +0000 +Checked in by : Don BURNS +Added logo plugin -2005-05-03 21:46 robert +Sat, 20 Jul 2002 15:01:49 +0000 +Checked in by : Robert Osfield +Fixed the char[] array length to fully encompass the strings bring written to them. - * Added support for lazy state updating of uniforms. +Sat, 20 Jul 2002 15:00:47 +0000 +Checked in by : Robert Osfield +Fixed the glTessCallback type to GLU_TESS_ERROR_DATA. -2005-05-03 16:34 robert +Fri, 19 Jul 2002 15:49:43 +0000 +Checked in by : Robert Osfield +Small bug fix to osg::BoundingBox::expandBy(x,y,z).Updated ChangeLog and NEWS for the release. - * From Bob Kuehne, OSX 10.4 fix. -2005-05-03 14:31 robert - * From Bob Kuehne, fixes for OSX 10.4 build. +Fri, 19 Jul 2002 15:03:23 +0000 +Checked in by : Robert Osfield +Removed debugging cout's. -2005-05-03 10:09 robert +Fri, 19 Jul 2002 14:52:44 +0000 +Checked in by : Robert Osfield +Updated Doyxgen files. - * Updated wrappers +Fri, 19 Jul 2002 14:19:49 +0000 +Checked in by : Robert Osfield +Updates to the Geometry to add more access methods, and updates to Optimizer to add the new merge primtives option. -2005-05-03 06:23 robert +Fri, 19 Jul 2002 13:49:54 +0000 +Checked in by : Robert Osfield +Added primitve merging into the osg::Geometry optimizer. - * Removed Impostor.cpp +Fri, 19 Jul 2002 12:51:23 +0000 +Checked in by : Robert Osfield +Removed the cow.osg paramter for the osgparticle cow.osg in the test scripts -2005-05-02 20:00 robert +Fri, 19 Jul 2002 10:18:29 +0000 +Checked in by : Robert Osfield +Added MatrixTransform.cpp. - * Fixed TIFF readers handling of interleaved data +Fri, 19 Jul 2002 09:10:41 +0000 +Checked in by : Robert Osfield +Changed the "reflect.rgb" path to "Images/reflect.rgb" to the help find the file required. -2005-05-02 19:42 robert +Thu, 18 Jul 2002 22:35:54 +0000 +Checked in by : Robert Osfield +Updates NEWS file for 0.9.0 release.Added default computeBound() implementation to osg::Drawable which uses +a PrimtiveFunctor to compute the bounding box in a generic way, that +will work for all Drawable subclasses that implement the accept(PrimitiveFunctor&). - * Improvements to the repojection code so that it can generate RGBA - reprojected - data. -2005-05-02 14:16 robert - * Added support for generating RGBA, RGBA-16 and RGBA-compressed - texture databases +Thu, 18 Jul 2002 22:34:08 +0000 +Checked in by : Robert Osfield +Added osgoccluder to test scripts. -2005-05-02 13:00 robert +Thu, 18 Jul 2002 19:54:22 +0000 +Checked in by : Robert Osfield +Moved the 't' operation on texture modes across to use the new StateSet::setTextureMode methods, this enables 't' to work once more! - * Added support for reading from RGBA source textures +Thu, 18 Jul 2002 19:54:11 +0000 +Checked in by : Robert Osfield +Updated docs ready for the release. -2005-05-02 10:18 robert +Thu, 18 Jul 2002 19:41:52 +0000 +Checked in by : Robert Osfield +Moved get/setUserData from osg::Node into its superclass osg::Object to allow other subclasses to add their own custom data. - * Added support for optimization of Uniforms +Thu, 18 Jul 2002 15:36:14 +0000 +Checked in by : Robert Osfield +Rewrote the osg::Drawable::AttributeFunctor and PrimtiveFunctor to make them more consistent with each other. This does mean an API change, so dependanct code in the OSG has been updated accordingly. -2005-05-02 09:57 robert +Thu, 18 Jul 2002 15:28:26 +0000 +Checked in by : Robert Osfield +From Randall Hopper, warning fixes for IRIX. - * Improved the handling of update/event callbacks on Drawable and - Geodes +Thu, 18 Jul 2002 15:25:02 +0000 +Checked in by : Robert Osfield +From Brede Johansen, fix the TexturePaletteRecord::endian() to handle old flt versions (11, 12 & 13). -2005-05-02 09:34 robert +Thu, 18 Jul 2002 14:29:32 +0000 +Checked in by : Robert Osfield +From Brede Johansen "I have found one bug in the ConvertFromFLT::visitFace() function. In the early days of the Flight format, before the LightPoint record existed they used face records with a light (-point) attribute." - * From Mike Weiblen, added \n newlines to inline shader program - strings. - From Robert Osfield, changed tabs to spaces. +Thu, 18 Jul 2002 14:20:01 +0000 +Checked in by : Robert Osfield +Rewrote osg:Statistics so that it is PrimitiveFunctor as is now completely decoupled from osg::Drawable. The Drawable::getStats() virtual method no longer exists.Updated the Viewer to use the osg::Statistics incarnation and reformated stats +to clean it up. -2005-05-01 21:33 robert - * Moved Impostor from osg to osgSim .osg plugin -2005-05-01 20:56 robert +Thu, 18 Jul 2002 10:55:04 +0000 +Checked in by : Robert Osfield +Added code into osg::LightSource so it correctly computes its bounding sphere, taking into account any subgraph below, and the light itself if it is not a infinite light. - * Added include for OSX build +Thu, 18 Jul 2002 10:49:37 +0000 +Checked in by : Robert Osfield +Updated the test scripts to include cube mapping example and osglight demo. -2005-05-01 19:48 robert +Thu, 18 Jul 2002 10:41:39 +0000 +Checked in by : Robert Osfield +Removed repeated return transform in the visitDOF method. - * Moved osg::Impostor to osgSim::Impostor, as Impostor isn't a core - feature. +Thu, 18 Jul 2002 10:38:16 +0000 +Checked in by : Robert Osfield +Added support for .sgi alias extension to the .rgb plugin. -2005-05-01 10:34 robert +Thu, 18 Jul 2002 10:06:21 +0000 +Checked in by : Robert Osfield +Fixed warnings. - * From Don Tidrow, spelling fixes +Thu, 18 Jul 2002 09:55:30 +0000 +Checked in by : Robert Osfield +Converted the osg::Material::set/getShininess option to use the standard OpenGL range of 0.0 to 128.0 instead of the previous normalised shiniess range. This brings it inline with the way the rest of the OSG uses a 1 to 1 mapping to OpenGL.Converted the various loaders to use the new range, which is almost all +cases was simply removing the /128.0f which was required before! -2005-04-30 15:16 robert - * Added RemoveLoadedProxyNodes pass to Optimizer, set on by default - at present. -2005-04-30 13:54 robert +Thu, 18 Jul 2002 09:17:50 +0000 +Checked in by : Robert Osfield +Added const to LessGeometry functor to fix Win32 build. - * From Geoff Michel : - - ac3d loader - better sharing of states between objects and Roger - James' bug fix for missing normals. - - Tesselator.cpp - faster processing of polygon tesselation for - single triangles (which dont need to be tesselated) - - osgtesselate.cpp - added wrap for texture so that appearance is - as originally. Default texture behaviour has changed to clamp." +Thu, 18 Jul 2002 00:55:01 +0000 +Checked in by : Robert Osfield +Fixed spelling mistake. -2005-04-30 07:25 robert +Thu, 18 Jul 2002 00:53:03 +0000 +Checked in by : Robert Osfield +Various fixes to the flt loader, and knock on changes to the osgUtil::Optimizer to better support removal of seperate osg::Geometry instances where they share the same state and bindings. - * Combine LOD fixed properly this time :) +Wed, 17 Jul 2002 16:24:55 +0000 +Checked in by : Robert Osfield +Changed from a -> to *() when using the object pointed to by a reverse iterator, to fix problems with build under VS6/STLport. -2005-04-30 07:22 robert +Wed, 17 Jul 2002 12:21:53 +0000 +Checked in by : Robert Osfield +Fix for Win32 build. - * fixed combined LOD bug +Wed, 17 Jul 2002 10:00:50 +0000 +Checked in by : Robert Osfield +Several items of work related to adding a manual creation of occluders option to the osgoccluder demo.First the osgGA classes have been generalised a little to better support +new GUIEventHandler subclasses. -2005-04-30 07:02 robert +Second osgGLUT has a new option for registering a user defined event handler, +the allows the application to add externally extra options to the osgGLUT viewer. - * From Mike Weiblen, Progra/Shader fixes +Third, the osgoccluder demo now works in two modes. The original create +four occluder sides to wrap an loaded model, the second an interactive +mode which allows the users to add occluders to the model by pointing +to points and pressing 'a' to add a point, the 'e' to end the occluder +polygon, polygons must be convex, planer and be defined in an anitclockwise +order. To start the osgoccluder in this mode one simple runs it with the +'-c' option. Run osgoccluder with no parameter to get a list of options. -2005-04-29 20:57 robert - * Updated wrappers -2005-04-29 20:56 robert +Tue, 16 Jul 2002 20:07:32 +0000 +Checked in by : Robert Osfield +Updated docs and added osgGA - * Added support for controlling the frequency of checking for - OpenGL errors - via: - - enum CheckForGLErrors - { - /** NEVER_CHECK_GL_ERRORS hints that OpenGL need not be checked - for, this - is the fastest option since checking for errors does incurr a - small overhead.*/ - NEVER_CHECK_GL_ERRORS, - /** ONCE_PER_FRAME means that OpenGl errors will be checked for - once per - frame, the overhead is still small, but at least OpenGL errors - that are occurring - will be caught, the reporting isn't fine grained enough for - debugging purposes.*/ - ONCE_PER_FRAME, - /** ONCE_PER_ATTRIBUTE means that OpenGL errors will be checked - for after - every attribute is applied, allow errors to be directly - associated with - particular operations which makes debugging much easier.*/ - ONCE_PER_ATTRIBUTE - }; - - /** Set whether and how often OpenGL errors should be checked - for.*/ - void setCheckForGLErrors(CheckForGLErrors check) { _checkGLErrors - = check; } - - /** Get whether and how often OpenGL errors should be checked - for.*/ - CheckForGLErrors getCheckForGLErrors() const { return - _checkGLErrors; } +Tue, 16 Jul 2002 19:21:31 +0000 +Checked in by : Robert Osfield +Updates from Bob Kuehne and Kristopher Bixler to remove the fink dependency from the MacOSX build. -2005-04-29 18:51 robert +Tue, 16 Jul 2002 19:19:31 +0000 +Checked in by : Robert Osfield +Fix to DOF Record from Sasa Bistrovic - * VS.7.1 linker warning fix +Tue, 16 Jul 2002 19:17:30 +0000 +Checked in by : Robert Osfield +Added SpotExponent to the spot light. -2005-04-29 13:30 robert +Tue, 16 Jul 2002 18:56:12 +0000 +Checked in by : Robert Osfield +Removed repeat line from Makefile. - * Commented out notify messages to prevent crash under OSX at start - up. +Tue, 16 Jul 2002 15:43:20 +0000 +Checked in by : Robert Osfield +Bumped up the version numbers to 0.9.0 to reflect the upcomming release. -2005-04-29 11:22 robert +Tue, 16 Jul 2002 15:28:25 +0000 +Checked in by : Robert Osfield +Rewrote the apply_imp template method so that it takes an initialization paramater. - * Compile fix +Tue, 16 Jul 2002 15:13:57 +0000 +Checked in by : Robert Osfield +Fixes for MacOSX build from Bob Kuehne. -2005-04-29 11:19 robert +Tue, 16 Jul 2002 15:12:36 +0000 +Checked in by : Robert Osfield +Added the beginings of an osglight demo. - * Moved osgIntrospection across to standard OSG coding style. +Tue, 16 Jul 2002 11:33:36 +0000 +Checked in by : Robert Osfield +Added TextureCubeMap.cpp to the .osg plugin Makefile. -2005-04-29 10:06 robert +Tue, 16 Jul 2002 10:20:26 +0000 +Checked in by : Robert Osfield +Fixed the new TemplateArray desctructor. - * Added Copyright +Tue, 16 Jul 2002 10:16:34 +0000 +Checked in by : Robert Osfield +Added protected destrcutor to TemplateArray. -2005-04-29 09:47 robert +Mon, 15 Jul 2002 22:23:57 +0000 +Checked in by : Robert Osfield +Added support to osgUtil::Tesselator to insert extra vertices and other attributes into an osg::Geometry node. Uses the new osg::ArrayVisitor.Converted the osg plugin Geometry support to use the new UByte4 class. - * Moved osgParticle across to standard OSG coding style. -2005-04-29 06:32 robert - * Coding style update +Mon, 15 Jul 2002 22:18:47 +0000 +Checked in by : Robert Osfield +Added osg::UByte4 class, which can be used to represent packed colors.Changed osg::UByte4Array across to use the new osg::UByte4 class rather +than a GLuint as do previously. -2005-04-29 06:32 robert +Cleaned up some of the paramters in osg::Vec4. - * Moved to standard OSG coding style. -2005-04-28 19:50 robert - * Reduced the verboseness of the notifaction messages +Mon, 15 Jul 2002 13:39:11 +0000 +Checked in by : Robert Osfield +Removed the second texture from the prerender demo so as not over complicate the final image. -2005-04-28 19:41 robert +Mon, 15 Jul 2002 13:20:41 +0000 +Checked in by : Robert Osfield +Fixed the orientation of the osgreflect demo so that the reflection plane is orientated towards the viewer.Changed the lightmodel ambient level to 0.1,0.1,0.1 instead of 0.0, so that +a small amount of ambient lighting is available to render back surfaces. +The osgreflect and osgprerender suffered unexpected behaviors because of +no lighting on the backfaces. - * Fixed the Mingw settings for GDAL_LIBS (was written as GDAL_LIB - which wasn't - being picked up as the GNUmakefiles were looking for GDAL_LIBS). -2005-04-28 19:24 robert - * Changed the default texture size to 512x512 to reduce the number - of textures - required when rendering text. +Mon, 15 Jul 2002 13:14:28 +0000 +Checked in by : Robert Osfield +Added a MatrixTransform to tilt the osgreflect demo so that the reflection plane is seen clearly. -2005-04-28 19:08 robert +Mon, 15 Jul 2002 13:13:46 +0000 +Checked in by : Robert Osfield +Fixed the optimization of the orientation conversion. - * Removed old LUMINANCE_ALPHA code pathways since they are no - longer used. +Mon, 15 Jul 2002 11:44:21 +0000 +Checked in by : Robert Osfield +Fixed memory leak in FieldReaderIterator.cpp.Updated the Make/osgtests.bat and Make/debugtests.bat scripts. -2005-04-28 18:55 robert - * Added proper handling of freeing of font implememtation either - when unloading - the freetype plugin or deleting osgText::Font first. -2005-04-28 12:45 robert +Mon, 15 Jul 2002 10:53:51 +0000 +Checked in by : Robert Osfield +Renamed hangglide to osghangglide - * Added version number #define's +Mon, 15 Jul 2002 10:51:45 +0000 +Checked in by : Robert Osfield +Removed the old hangglide directory. -2005-04-28 05:58 robert +Mon, 15 Jul 2002 10:45:13 +0000 +Checked in by : Robert Osfield +Renamed osghangglide demo. - * Added check to see if autoTransformCache had been initialized - before - using it in the computeBound. +Mon, 15 Jul 2002 10:43:32 +0000 +Checked in by : Robert Osfield +Renamed the hangglide demo osghangglide to make it consistent with the rest of the demos. -2005-04-28 05:21 robert +Mon, 15 Jul 2002 10:03:59 +0000 +Checked in by : Robert Osfield +Added State::disableTexCoordPointersAboveAndIncluding( unit ) method so that all unsed texture units can be turned off simply within Drawables such as Geometry and GeoSet. This can be used to prevent bleed of arrays from one object to the next - which can cause crashes. - * From Farshid Lashkari, removed redundent fusion distance - calculations from computeRightEyeProjectionImplementation and - computeLeftEyeProjectionImplementation methods. +Mon, 15 Jul 2002 04:42:44 +0000 +Checked in by : Don BURNS +Changes for Sunos -2005-04-28 05:15 robert +Sun, 14 Jul 2002 21:49:51 +0000 +Checked in by : Don BURNS +Added Logos loader - * From Marco Jez, changed = to ?= in COMPILE_INTROSPECTION line +Sun, 14 Jul 2002 20:51:31 +0000 +Checked in by : Robert Osfield +Fixed unused variable `osg::StateSet *osgStateSet' warning -2005-04-28 05:12 robert +Sun, 14 Jul 2002 20:48:30 +0000 +Checked in by : Robert Osfield +Added Drawable::AppCallback example and fixed a warning. - * From Marco Jez, converted line endings to unix. +Sun, 14 Jul 2002 20:32:05 +0000 +Checked in by : Robert Osfield +Tweaked the color and aspect ratio settings of the pre rendering bin. -2005-04-28 05:08 robert +Sun, 14 Jul 2002 16:26:03 +0000 +Checked in by : Robert Osfield +Fixed computeNearFar bug in CullVisitor::apply(Billboard&). - * From Marco Jez, added -ne option echo usage to fix stdout/stderr - redirection - error under Mingw. +Sun, 14 Jul 2002 10:46:46 +0000 +Checked in by : Robert Osfield +Fixes to read/write of MatrixTransform/Transform. -2005-04-26 20:35 robert +Sun, 14 Jul 2002 08:35:35 +0000 +Checked in by : Robert Osfield +Copy and Paste bug where an for() loop was repeated within itself, which was introduced when moving across to use osg::Geometry. - * From Ruben, fix for PIV executation by disabling MMXEXT - selection. +Sat, 13 Jul 2002 21:17:40 +0000 +Checked in by : Robert Osfield +Fixed various warnings which were appearing under MacOSX. -2005-04-26 19:34 robert +Sat, 13 Jul 2002 20:31:30 +0000 +Checked in by : Robert Osfield +Conveted GeoSet to use the new state::set*Pointer/disable*Pointer methods to keep the current state valid. - * From Brede Johansen, tweaks to emitter classes to make them more - extensible. +Sat, 13 Jul 2002 14:16:41 +0000 +Checked in by : Robert Osfield +Support added for multitextured TXP files, sent in by Boris Bralo. -2005-04-26 18:55 robert +Sat, 13 Jul 2002 02:46:06 +0000 +Checked in by : Don BURNS +put a typedef in public area of class for sun compilers - * Added $(GL_LIBS) to link line to get things linking ok under OSX. +Fri, 12 Jul 2002 21:45:54 +0000 +Checked in by : Robert Osfield +Added missing MatrixTransform.cpp file -2005-04-26 14:29 robert +Fri, 12 Jul 2002 21:45:08 +0000 +Checked in by : Robert Osfield +added glutInit to osgparticle demo to fix crash under MacOSX. - * Updated wrappers. +Fri, 12 Jul 2002 21:42:27 +0000 +Checked in by : Robert Osfield +Added second texture to osgprerender demo to test out multitexture in osg::Geometry, it works!! -2005-04-26 13:15 robert +Fri, 12 Jul 2002 21:08:19 +0000 +Checked in by : Robert Osfield +Added MatrixTransform header and source. - * Added support for per context extension string. - - Note, this required adding a unsigned int context ID to the - osg::isGLUExtensionSupported(,) - and osg::isGLExtensionSupported(,) functions. This may require - reimplementation - of end user code to accomodate the new calling convention. +Fri, 12 Jul 2002 19:50:52 +0000 +Checked in by : Robert Osfield +Changed the osgmultitexture demo so that it uses a TexEnv::BLEND mode with a colour. This lightens the resultant models. -2005-04-26 11:20 robert +Fri, 12 Jul 2002 18:14:45 +0000 +Checked in by : Robert Osfield +Added using namespace osgUtil to get round IRIX/Windows compiler differences. - * Added #include for VS.NET build +Fri, 12 Jul 2002 18:12:01 +0000 +Checked in by : Robert Osfield +Ported distribution across to use the new osg::MatrixTransform and osg::BlendFunc class instead of osg::Transform and osg::Transparancy respectively. -2005-04-26 09:58 robert +Fri, 12 Jul 2002 14:25:10 +0000 +Checked in by : Robert Osfield +Have added a #define USE_DEPRECATED_API to include/osg/Export, and various osg header and source files to optional compile in deprecated parts of the OSG API.Have renamed osg::Transparency osg::BlendFunc to bring it in line with +the +rest of the OSG's StateAttribute classes which are named after their +OpenGL counterparts. include/osg/Transparency still exists and is +simply +a typedef to BlendFunc and is enclosed in a #ifdef USE_DEPRECTATED_API +block. - * Added support notification of Drawable parents of StateSet that - event/update callbacks have been called. +The matrix methods in the osg::Transform class have been +moved/replicated in +a osg::MatrixTransform sublcass from osg::Transform. The old matrix +functionality is still present in the osg::Transform class but is guard +by #ifdef USG_DEPRECATED_API blocks. One should now think of +osg::Transform +as being a Transform Node base class. MatrixTransform has all the +functionality of the original Transform class, so should be used +instead. -2005-04-26 07:49 robert - * From Vivek Rajan, "osg::Text was getting stretched when the - CharacterSizeMode was set to - SCREEN_COORDS and the SceneView's projection matrix was set to an - Ortho2D matrix - (sceneView->setProjectionMatrixAsOrtho2D(-1,1,-1,1)). - - Computing the pixel size separately vertically and horizontally, - and - setting the scaling factors appropriately based on that fixed the - problem." -2005-04-25 20:46 robert +Fri, 12 Jul 2002 13:00:09 +0000 +Checked in by : Robert Osfield +Fix, sent in by Macro Jez, to the set of the camera with the computed near and far plane, so that it is only updated when _computeNearFar != CullVisitor::DO_NOT_COMPUTE_NEAR_FAR. - * Updated wrappers using Marco Jez's genwrapper utility. +Fri, 12 Jul 2002 10:30:27 +0000 +Checked in by : Robert Osfield +Added blend color to osg::TexEnv -2005-04-25 20:34 robert +Fri, 12 Jul 2002 09:16:49 +0000 +Checked in by : Robert Osfield +Fixed indenting. - * From Mike Weiblen, added support for --clear-color r,g,b,a and - --clear-color r,g,b - to osgProducer::Viewer. +Fri, 12 Jul 2002 08:48:27 +0000 +Checked in by : Robert Osfield +Addition of RoadRecords from Yefei He. -2005-04-25 14:28 robert +Thu, 11 Jul 2002 23:30:18 +0000 +Checked in by : Don BURNS +added -lpthread to the link line for Linux builds. Seems Red Hat 7.3 turns up undefined symbols without it. - * Reduced the verbosness of debugging messages +Thu, 11 Jul 2002 21:08:02 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build -2005-04-25 13:37 robert +Thu, 11 Jul 2002 18:33:30 +0000 +Checked in by : Robert Osfield +Added Makefile for osgmultitexture demos. - * Futher work on supporting update and event callbacks in StateSet, - Uniform and StateAttribute +Thu, 11 Jul 2002 18:32:41 +0000 +Checked in by : Robert Osfield +Added #define for GL_TEXTURE0_ARB -2005-04-25 13:27 robert +Thu, 11 Jul 2002 16:12:24 +0000 +Checked in by : Robert Osfield +Added support for multitexturing to osg::State and added osgmultitexture demo which adds as spherical environment map using texture 1 to any model. - * Added SINGLE_THREADED_KEYBOARDMOUSE pathway as a means of testing - exit issues. +Thu, 11 Jul 2002 14:32:21 +0000 +Checked in by : Robert Osfield +Moved the code referencing osg::BoundingBox::isValid() and osg::BoundingSphere::isValid() across to use the valid() methods, the later being more consitent with other classes such as osg::ref_ptr<>. -2005-04-25 11:05 robert +Thu, 11 Jul 2002 12:57:53 +0000 +Checked in by : Robert Osfield +Fixes for win32 build - * Futher work on adding event and update callbacks to StateSet, - Uniform and StateAttributes +Thu, 11 Jul 2002 11:36:25 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build -2005-04-24 21:04 robert +Thu, 11 Jul 2002 11:33:06 +0000 +Checked in by : Robert Osfield +Fixed bug in disabledTexCoordPointer where a '>' was being used where it should have been a '>='. - * Added ParentList's into StateSet, Uniform and StateAttribute in - preparation for - providing update and event handling. +Thu, 11 Jul 2002 11:08:34 +0000 +Checked in by : Robert Osfield +Fixed the pathname for the osgprerender demo. -2005-04-24 19:30 robert +Thu, 11 Jul 2002 08:28:09 +0000 +Checked in by : Robert Osfield +changed unsigned int/short/char* references to GLuint,GLushort,GLubyte respectively. - * Added THREAD_ infront of PRIORITY_MIN settings to reflect changes - to OpentThreads +Wed, 10 Jul 2002 22:38:02 +0000 +Checked in by : Robert Osfield +Updates for new use of GLushort instead of osg::ushort in GeoSet index pointer. -2005-04-23 16:09 robert +Wed, 10 Jul 2002 22:33:08 +0000 +Checked in by : Robert Osfield +Tidied up the types in osg::GeoSet so that the index pointers use GLushort and GLuint to get round compile issues under MacOSX. - * Added - MergeGeometryVisitor::setTargetMaximumNumberOfVertices(uint); +Wed, 10 Jul 2002 20:30:57 +0000 +Checked in by : Robert Osfield +Updates to osg::Drawable::AppCallback and osgprerender demo. -2005-04-23 10:45 robert +Wed, 10 Jul 2002 15:35:47 +0000 +Checked in by : Robert Osfield +Added app callback to Drawable. - * Removed the use of the post swap callback +Wed, 10 Jul 2002 13:33:25 +0000 +Checked in by : Robert Osfield +Updates to osgprerender to support use of rendering to an image, rather then just a texture. -2005-04-23 10:41 robert +Wed, 10 Jul 2002 11:26:48 +0000 +Checked in by : Robert Osfield +Rejigged the line endings. - * Added missing bodes of Uniform::operator = and - setEvent/UpdateCallback in StateSet. +Wed, 10 Jul 2002 11:22:24 +0000 +Checked in by : Robert Osfield +Ported all the demos and loaders across to use the new multitexturing API. -2005-04-23 10:31 robert +Wed, 10 Jul 2002 09:32:44 +0000 +Checked in by : Robert Osfield +Added Yefei He's RoadRecords to the flt loader, these records will be ignored by the loader, but will allow the loader to skip over them and continue reading the rest of the file correctly. - * Added support for using TextureRectangle in --move support in - readNodeFile +Wed, 10 Jul 2002 09:14:46 +0000 +Checked in by : Robert Osfield +Updates from Macro to support the new multitexture API, and improve bounding box computation. -2005-04-22 22:45 robert +Wed, 10 Jul 2002 09:04:28 +0000 +Checked in by : Robert Osfield +Added setCurrentRenderBin() method. - * Preliminary steps to adding update and event callbacks to - StateSet, StateAttribute - and Uniform. +Tue, 9 Jul 2002 19:23:53 +0000 +Checked in by : Robert Osfield +Implemented more code for the new osgprerender demo. -2005-04-22 20:56 robert +Tue, 9 Jul 2002 13:31:50 +0000 +Checked in by : Robert Osfield +Updates to the osgprerender code. Still doesn't do anything interesting yet.. - * From Brede Johansen, tweaked refraction and fresnel coefficients - for a better - visual effect. +Tue, 9 Jul 2002 13:17:42 +0000 +Checked in by : Robert Osfield +Added new demo osgprerender to demonstrate how to prerender a scene and use the result in the main rendering for special effects. -2005-04-22 15:44 robert +Tue, 9 Jul 2002 10:33:15 +0000 +Checked in by : Robert Osfield +Warnings fixes for IRIX - there was a missing "const" in the sameKindAs(.) method. - * Improved handling of unsupported formats +Tue, 9 Jul 2002 10:23:48 +0000 +Checked in by : Robert Osfield +Fixes for IRIX build. -2005-04-22 15:44 robert +Tue, 9 Jul 2002 09:35:42 +0000 +Checked in by : Robert Osfield +Implemented most of the changes required for supporting multitexturing in the osg::State/osg::StateSet/osg::StateAttribute and related classes. - * Improved handling of unsupported file formats. +Mon, 8 Jul 2002 09:42:51 +0000 +Checked in by : Robert Osfield +Added Mike Connell to authors list. -2005-04-22 15:43 robert +Sun, 7 Jul 2002 22:12:51 +0000 +Checked in by : Robert Osfield +Added comment to reflect Clay Fowlers findings on getting VS to compile without the Vector wrapper classes. - * Improved handling of invalid imagery in BufferObject +Sun, 7 Jul 2002 22:08:27 +0000 +Checked in by : Robert Osfield +Added winsock32 libs to osgcluster demo. -2005-04-22 14:40 robert +Sun, 7 Jul 2002 20:16:30 +0000 +Checked in by : Robert Osfield +Rehashed the osgcluster project file to see if it solves the failure under windows. - * Removed unusaged methods +Sun, 7 Jul 2002 17:42:34 +0000 +Checked in by : Robert Osfield +Fixes for Windows build. -2005-04-22 14:40 robert +Sun, 7 Jul 2002 17:40:34 +0000 +Checked in by : Robert Osfield +Added include to __DARWIN_OSX__ build. - * From Tree, removed dependency on Producer +Sun, 7 Jul 2002 17:30:48 +0000 +Checked in by : Robert Osfield +Did a to_dos on osgcluster.dsp since it was original saved with unix file endings. -2005-04-22 13:47 robert +Sun, 7 Jul 2002 14:40:41 +0000 +Checked in by : Robert Osfield +Work on supporting multitexturing in State/StateSet/StateAttribute/Geoemtry. - * Removed ViewPoint.h and .cpp from the ive plugin +Thu, 4 Jul 2002 18:47:33 +0000 +Checked in by : Robert Osfield +Added VisualStudio files for Win32 port of osgcluster demo. -2005-04-22 13:32 robert +Thu, 4 Jul 2002 18:41:13 +0000 +Checked in by : Robert Osfield +Added support for Win32 broadcast and recience over lan. Changes sent in by Michael Gronager. - * Cleaned up the xine plugin to better handle unsupported video - files. +Thu, 4 Jul 2002 14:49:37 +0000 +Checked in by : Robert Osfield +Used typedef's for std::vector<>'s used inside DrawElements implementations.Added deperecated comment to osg::GeoSet header. -2005-04-22 07:13 robert - * From Mike Weiblen, added support for samplers and mat4 to .osg -2005-04-21 21:07 robert +Thu, 4 Jul 2002 14:23:58 +0000 +Checked in by : Robert Osfield +Added osgGA to the MIGNW makedefs. - * Added initialize of version number +Thu, 4 Jul 2002 09:49:12 +0000 +Checked in by : Robert Osfield +Fixed the TriangleFunctor QUAD_STRIP code so that it produces consistent results. -2005-04-21 21:05 robert +Wed, 3 Jul 2002 20:33:21 +0000 +Checked in by : Robert Osfield +Spotted by Neil Salter - missing transform. in the Transform copy operator. - * From Garrat Potts, fixed face memory leak in FreTypeFont - destructor. +Wed, 3 Jul 2002 11:16:43 +0000 +Checked in by : Robert Osfield +Added osgUtil dependency to the flt project. -2005-04-20 19:53 robert +Tue, 2 Jul 2002 19:53:18 +0000 +Checked in by : Robert Osfield +Reimplemted the osgUtil::SceneView::setCalcNearFar() functionality to bring it inline with the CullStack/CullVisitor implementation. Also added the setSmallFeatureCullingPixelSize() method and wired them up inside SceneView.cpp so they set the corresponding CullVisitor paramters.Intergrated pfImage copying change in the Performer plugin, submission sent in by Ulrich Hertlein - * Small tweaks -2005-04-20 18:50 robert - * From Mike Weiblen, removed Uniform not quite ready notice, - and added .h files into osgshaders project file. +Tue, 2 Jul 2002 15:01:46 +0000 +Checked in by : Don BURNS +-n32 and -64 entries were reversed in makedefs -2005-04-20 14:51 robert +Tue, 2 Jul 2002 06:28:41 +0000 +Checked in by : Don BURNS +osgcallback required fixes for new osg::Drawable::CullCallback - * Removed the enabling of the point smooth mode. +Tue, 2 Jul 2002 06:22:28 +0000 +Checked in by : Don BURNS +Added support for CullVisitor to contain a osg::State. This used when cull Callbacks require the contextID for doing operations on texture objects, for example. Modified CullVisitor SceneView and Drawable -2005-04-20 12:32 robert +Mon, 1 Jul 2002 14:40:09 +0000 +Checked in by : Don BURNS +More 64 bit build specifics in IRIX makedefs file - * From Brede Johnansen, adding support for EXT, ARB and GL version - 1.4 point parameters. +Mon, 1 Jul 2002 14:20:37 +0000 +Checked in by : Don BURNS +Removed -ldl from makedefs for IRIX -2005-04-20 09:55 robert +Fri, 28 Jun 2002 22:42:02 +0000 +Checked in by : Robert Osfield +Rewrote the osgUtil::Tesselator so that it is easier to use, and can also easily retesselate osg::Primitive::POLYGONS found in Geometry objects. Added calls to the tesselate to the lwo and flt loaders. - * Removed increment of the cursor position by the bearing value in - the compute - last character code as this should not be used when moving the - cursor. +Fri, 28 Jun 2002 20:54:09 +0000 +Checked in by : Robert Osfield +A couple fixes to remove Performer runtime warnings. -2005-04-20 08:51 robert +Fri, 28 Jun 2002 16:25:46 +0000 +Checked in by : Robert Osfield +Fixes from Ulrich Hertlein to build of pfb plugin. Small mods to these by Robert. - * Commented out support for the -m option for inserting 3d models - in a terrain - database, as this feature isn't yet supported by osgTerrain. +Fri, 28 Jun 2002 14:42:34 +0000 +Checked in by : Robert Osfield +Added to the osggeometry demo. -2005-04-19 07:37 robert +Fri, 28 Jun 2002 11:11:20 +0000 +Checked in by : Robert Osfield +Rewriting the osggeomtry demo to illustrate more primitive types. - * From Reinhard Sainitzer, bug fix, added missing break; +Fri, 28 Jun 2002 08:47:23 +0000 +Checked in by : Robert Osfield +Removed commas from the end of enum lists. -2005-04-18 18:23 robert +Fri, 28 Jun 2002 08:36:02 +0000 +Checked in by : Robert Osfield +Change =0 to osg::Vec2Array::iterator() in .obj loader to get round warnings under gcc3.0.x - * Removed eroneous /dv1 flag (should have been /vd1, but it this is - default anway - so can safely remove entirely). +Thu, 27 Jun 2002 20:29:32 +0000 +Checked in by : Robert Osfield +Ported the flt plugin across to use osg::Geometry, it still uses a GeoSet internally, and I will remove this after some futher work. -2005-04-18 13:36 robert +Thu, 27 Jun 2002 15:18:10 +0000 +Checked in by : Robert Osfield +Added SG_EXPORT which was missing. - * Further work on uniforms support in .osg +Thu, 27 Jun 2002 13:15:34 +0000 +Checked in by : Robert Osfield +Converted the template DrawElements primitive class into three seperate non templated classes - UByteDrawElements, UShortDrawElements, UIntDrawElements. -2005-04-18 13:29 robert +Thu, 27 Jun 2002 10:50:19 +0000 +Checked in by : Robert Osfield +Moved the AttributeArray and Primitive classes into their own header and source files. - * Added more complete support for writing out data of Uniforms +Thu, 27 Jun 2002 09:56:30 +0000 +Checked in by : Robert Osfield +Removed the test aginst a iterator as a bool. -2005-04-18 12:34 robert +Wed, 26 Jun 2002 21:11:59 +0000 +Checked in by : Robert Osfield +Added comment to explain #ifdefs for member templates. - * Added next stage of support for osg::Uniform in .osg plugin +Wed, 26 Jun 2002 21:10:45 +0000 +Checked in by : Robert Osfield +Added #idef to Export to add check for support for member templates. -2005-04-18 09:17 robert +Wed, 26 Jun 2002 21:08:17 +0000 +Checked in by : Robert Osfield +Ported LWO loader across to use osg::Geometry. Work not quite complete, as we need to retesselate any concave polygons that can exists in these datasets. - * Removed mpeg plugin from CVS, now moved to the Community section - of - openscenegraph.org as a seperate project. +Wed, 26 Jun 2002 17:48:13 +0000 +Checked in by : Robert Osfield +Added templated constructor to TemplateArray & DrawElements template to handle VisualStudio7.0 build.Ported 3DS across to use osg::Geometry instead of osg::GeoSet. -2005-04-17 19:14 robert - * Fixed typo in testLookAt debug info. -2005-04-17 19:10 robert +Wed, 26 Jun 2002 14:34:04 +0000 +Checked in by : Robert Osfield +Ported pfb, txp and obj loaders across to use osg::Geometry. - * Fixed warnings. +Wed, 26 Jun 2002 10:28:17 +0000 +Checked in by : Robert Osfield +Ported various demos and support classes over to use the new osg::Geometry class thus removing dependancy on osg::Geoset from most of the OSG, only loaders left to port now. -2005-04-17 11:35 robert +Tue, 25 Jun 2002 20:47:42 +0000 +Checked in by : Robert Osfield +Fixes for Cygwin build from Norman Vine. - * Changed the animation on default to false, so things only move if - you ask them to. +Tue, 25 Jun 2002 20:36:17 +0000 +Checked in by : Robert Osfield +Fix to Quat::slerp so that it interpolates along the shortest path. -2005-04-17 11:30 robert +Tue, 25 Jun 2002 20:27:51 +0000 +Checked in by : Robert Osfield +Added osg::Drawable::PrimitiveFunctor and TriangleFunctor subclass for querrying the primitive data inside Drawables. Moved various support classes over from being osg::GeoSet based to osg::Geometry based. - * From Marco Jez, osgWrappers updates to latest changes in core - osg. +Mon, 24 Jun 2002 21:44:27 +0000 +Checked in by : Robert Osfield +Fixed osgText::Text::DrawModeType::ALIGNEMENT spelling mistake, now is ALIGNMENT. -2005-04-17 10:41 robert +Mon, 24 Jun 2002 21:37:34 +0000 +Checked in by : Robert Osfield +Checked in .osg support for the new osg::Geometry class. - * Moved istream/ostream includes out of Vec3f, and reimpleted - osg::Matrix*::compare. +Mon, 24 Jun 2002 12:53:27 +0000 +Checked in by : Robert Osfield +Added required std:: to front of endl to fix Win32 build. -2005-04-17 09:41 robert +Sun, 23 Jun 2002 21:43:46 +0000 +Checked in by : Robert Osfield +Added conversion to osg::GeoSet::converToGeometry() utility to help the migration to and testing of the new osg::Geometry class. - * From Tony Horrobin, fix for VS6.0 +Sat, 22 Jun 2002 15:46:43 +0000 +Checked in by : Robert Osfield +Compile Fixes for Win32. -2005-04-16 17:44 robert +Fri, 21 Jun 2002 19:24:43 +0000 +Checked in by : Robert Osfield +Temporarily removed the references to multi-texturing calls. - * From Marco Jez, added operator >> for Plane and Quat to io_utils, - and added - OSG_EXPORT to PerContextProgram. +Fri, 21 Jun 2002 16:45:45 +0000 +Checked in by : Robert Osfield +Added new osggeometry demo to test the work on the new osg::Geometry Drawable. -2005-04-16 10:18 robert +Fri, 21 Jun 2002 15:14:29 +0000 +Checked in by : Robert Osfield +Bug fix to the size calculation of bmp images, changed both the reading and writing of images. - * Fixed wrapping of text string to allow internal "" strings +Fri, 21 Jun 2002 07:48:05 +0000 +Checked in by : Robert Osfield +Fixed constructor for TemplateArray(const TemplateArray& t,const CopyOp& copyop). -2005-04-16 10:11 robert +Thu, 20 Jun 2002 19:54:08 +0000 +Checked in by : Robert Osfield +Addd new experimental osg::Geometry Drawable which will eventually replace GeoSet. Currently doesn't draw anything, and is very much in the early design stages. - * From Mike Weiblen,added debug info to osg::Program and changed - shader uniform names to - avoid conflict with built in functions +Thu, 20 Jun 2002 18:17:36 +0000 +Checked in by : Robert Osfield +Mods to MemoryManager to make the optimized build produce dummy implementations for all the public functions found in the header, this should prevent problems when not compiling in the MemoryManager under IRIX 64 build. -2005-04-16 04:00 don +Wed, 19 Jun 2002 20:38:08 +0000 +Checked in by : Robert Osfield +Fixed incorrect naming of ConvexPlanerOccluder. - * CHanged line 101 in PageLOD.cpp to read - if ( in->getVersion() >= VERSION_0006 ) { - setDatabasePath(in->readString()); - } - - instead of - if ( in->getVersion() > VERSION_0006 ) { - setDatabasePath(in->readString()); - } - - Seems DatabasePath _is_ present in ive files of version 6. +Wed, 19 Jun 2002 18:45:05 +0000 +Checked in by : Robert Osfield +Added support for reading the new OSG_MAX_TEXTURE_SIZE environmental variable inside the osg::Image::ensureValidSizeForTexturing() method. The smallest of GL_MAX_TEXTURE_SIZE and OSG_MAX_TEXTURE_SIZE is used for the final max texture size.This new env. var. allows users to deliberate cap the size of their textures +so they can test whether their models are limited by texture memory. If +reducing the max texture size increases performance then you are limited +by texture memory! -2005-04-15 20:59 robert - * Moved Plane and Quat << operators into the io_utils headers -2005-04-15 20:44 robert +Wed, 19 Jun 2002 16:06:03 +0000 +Checked in by : Robert Osfield +Added support for reading and writing OccluderNode's to the .osg file format. - * Added dxf to the list of projects +Wed, 19 Jun 2002 15:18:47 +0000 +Checked in by : Robert Osfield +Added computation of the bounding volume of osg::OccluderNodes.Added support for osg::BoundingSphere::expandBy*(osg::BoundingBox) and have +added osg::BoundingSphere/Box::valid() which deprecates isValid(), this +is to be more consistent with other classes in the OSG. -2005-04-15 20:39 robert - * From Paul de Repentinguy, DXF loader plugin. Ported to Linux by - Robert Osfield. -2005-04-15 20:11 robert +Wed, 19 Jun 2002 10:19:10 +0000 +Checked in by : Robert Osfield +Added support for occlusion of holes in occluders, and cleaned up the interface to ShadowVolumeOccluders. - * From Joran Jessurun, Added setting of original node mask to - flatten transforms +Wed, 19 Jun 2002 08:34:19 +0000 +Checked in by : Robert Osfield +Changed the osg::LightSource so its Light attribute is now generalised to be a StateAttribute. This allows alternative implementations of Lights other than the standard osg::Light. -2005-04-15 20:05 robert +Tue, 18 Jun 2002 22:35:48 +0000 +Checked in by : Robert Osfield +Added support for occluders occluding other occluders, which helps reduce the number of occluder that will be used in cull traversal to only the ones that will be effective. Note. Holes in occluders arn't handled in this occluder occlusion test, will implement this later. - * Added setValue and setSwitchSet methods +Tue, 18 Jun 2002 10:18:12 +0000 +Checked in by : Robert Osfield +Clean ups for the Windows build. -2005-04-15 18:28 robert +Tue, 18 Jun 2002 09:09:37 +0000 +Checked in by : Robert Osfield +Added the length argument to a std::string argument, under Linux it compiled with the default value npos, under Windows it broke the build, add the npost excpilicity should get round this difference in implementation. - * From Mike Weiblen, fix for Win32 build +Mon, 17 Jun 2002 21:50:37 +0000 +Checked in by : Robert Osfield +Rewrote the FileUtils support for data and library file paths, moving the storage of the path lists into osgDB::Registry, and changed the data structor from a char* to a std::deque. Changed a names of couple of the convinience functions in osgDB/FileUtils to better reflect the two public FilePathList's - DataFilePathList and the LibraryFilePathList.Added support into the osgDB::Registry::readNode/Image/Object methods +for pushing and popping the path of the current file being loaded. -2005-04-15 10:15 robert - * Removed link reference to osgGL2 in doxygen file, added - osgIntrospection -2005-04-15 10:09 robert +Mon, 17 Jun 2002 09:10:26 +0000 +Checked in by : Robert Osfield +Fixes to the occluder culling code to properly disable occluders to prevent self occlusion. - * Changed all instances of /vd0 to /vd1 +Sat, 15 Jun 2002 20:57:50 +0000 +Checked in by : Robert Osfield +Fixes for Visual .NET and Mingw builds, and fix MacOSX notify() crash. -2005-04-15 09:56 robert +Sat, 15 Jun 2002 12:14:42 +0000 +Checked in by : Robert Osfield +Added computation of occluders volume scaled relative to the frustum volume, all volumes computed in eye coords. - * In the ldexp(,) call removed the /256.0f by replacing it with a - -8 on the exponent. +Fri, 14 Jun 2002 16:28:47 +0000 +Checked in by : Robert Osfield +Added computation of the occluders volume, scale it to a ratio of the frustum. -2005-04-15 08:35 robert +Fri, 14 Jun 2002 14:50:31 +0000 +Checked in by : Robert Osfield +Added occluder hole test code into the osgoccluder demo. The code works, but I've commented it out right now as the Geode physically representing the occluder doesn't yet have a hole in it - just a cosmetic thing. - * Removed osgGL2 from CVS, osgGL2 now can be found on the - Community/NodeKits section on the OSG website. +Fri, 14 Jun 2002 13:49:59 +0000 +Checked in by : Robert Osfield +Refined the CollectOccluderVisitor so that it checks the subgraph below a node contains occluders before traversing. -2005-04-14 21:41 robert +Fri, 14 Jun 2002 11:27:34 +0000 +Checked in by : Robert Osfield +Improvements to the plane clipping code. - * Updated Copyright notices to 1998-2005. +Fri, 14 Jun 2002 08:45:28 +0000 +Checked in by : Robert Osfield +Further updates to the occlusion culling code, also adding missing OccludeNode file the .osg plugin. -2005-04-14 20:34 robert +Thu, 13 Jun 2002 23:46:02 +0000 +Checked in by : Robert Osfield +Further work on occlusion culling. - * Changed uint for unsigned int. +Thu, 13 Jun 2002 19:39:28 +0000 +Checked in by : Don BURNS +removed the use of gettimeofday for 32 bit architectures... -2005-04-14 20:14 robert +Thu, 13 Jun 2002 19:34:27 +0000 +Checked in by : Robert Osfield +Added #include so that it will compile properly regardless of include order. - * Uniforms open for business :) +Thu, 13 Jun 2002 19:10:29 +0000 +Checked in by : Robert Osfield +Added -osgGA to the Makefile list. -2005-04-14 20:05 robert +Thu, 13 Jun 2002 18:27:14 +0000 +Checked in by : Robert Osfield +Merge Randall's changes. - * Fixed getUniformLocation and getAttribLocation methods +Thu, 13 Jun 2002 16:21:00 +0000 +Checked in by : Robert Osfield +Further work on Occlusion Culling. Most of work is complete, just debugging required now. -2005-04-14 15:53 robert +Wed, 12 Jun 2002 16:23:59 +0000 +Checked in by : Robert Osfield +Removed inappropriate inline keyword which was breaking the IRIX build. - * Removed setProgram from osg::StateSet as Program works just fine - right now - as a standard osg::StateAttribute and set in a StateSet with - setAttribute. +Wed, 12 Jun 2002 15:43:47 +0000 +Checked in by : Robert Osfield +IRIX build fix. -2005-04-14 11:28 robert +Wed, 12 Jun 2002 14:57:35 +0000 +Checked in by : Robert Osfield +Changes for MacOSX build, send in by Bob Kuehne. - * Preparation for moving osgGL2 out of the core OSG into its own - seperate distribution. +Wed, 12 Jun 2002 14:46:44 +0000 +Checked in by : Robert Osfield +Fixed the osgDB::getFilePath, osgDB::getSimpleFileName() and osgDB::getStrippedName() so that they check for both unix style '/' and windows style '\' slashes in file names. -2005-04-14 08:00 robert +Wed, 12 Jun 2002 13:54:14 +0000 +Checked in by : Robert Osfield +Fix for renaming of ShadowOccluderVolume to ShadowVolumeOccluder. - * From Mike Weiblen, fixed copy and paste error in new - osgshaders.cpp example. +Wed, 12 Jun 2002 09:22:30 +0000 +Checked in by : Robert Osfield +Further work on occludision code. -2005-04-14 07:55 robert +Tue, 11 Jun 2002 19:52:55 +0000 +Checked in by : Robert Osfield +A little more work on Occlusion culling. - * From Joson Daly, fix for forward/backward/swing animation - handling both 15.8 and - versions prior to 15.8, and... - - " Here's another fix for OpenFlight. The symptom was that ATTR - files were - not being read correctly, and the TexEnv on a texture that should - have - been set to DECAL was instead defaulting to MODULATE. The cause - is that - the ATTR reader cannot tell by itself what version it's reading - (the - version information isn't present in the ATTR files), and instead - relies - on the ReaderWriter::Options passed in to get the OpenFlight - version. - - My change clones the current ReaderWriter::Options and prepends - the - appropriate FLT_VER option before the ReaderWriterATTR object is - called. I also made the parsing of the FLT_VER string and value - more - robust in the ReaderWriterATTR itself. I think I commented things - OK, - but let me know if you need me to explain anything." +Tue, 11 Jun 2002 18:41:57 +0000 +Checked in by : Robert Osfield +Checked in Macro Jez's additions to osgText to support .osg IO make it a fully functioning NodeKit.Also reimplement notify() to try an prevent a crash which has been caused by +to objects in notify.cpp being initiliazed twice, the second time the auto_ptr +holding the dev/null ofstream was being initilized to 0. -2005-04-13 18:19 robert - * From Terry Welsh, added copy texture support to TextureRectangle -2005-04-13 14:31 robert +Mon, 10 Jun 2002 13:50:25 +0000 +Checked in by : Robert Osfield +Added osg::CollectOccludersVisitor which is a helper class for finding active occluder in the view frustum, to be used as pre cull traversal. - * Added applying of all parents uniforms +Mon, 10 Jun 2002 11:21:21 +0000 +Checked in by : Robert Osfield +Created new helper class osg::CullStack to handle the accumulation of projection, modelview and culling sets, to be used during travesal of the scene graph, such as the cull traversal. -2005-04-13 14:12 robert +Sun, 9 Jun 2002 13:10:09 +0000 +Checked in by : Robert Osfield +Checked in migration from osgUtil based GUIAdapter code to Neil Salter's osgGA (Gui Abstraction). This may break users code, but all it should require to fix the builds should be a change from osgUtil::CameraManipulator (etc) to osgGA::CameraManipulator and include from header into .cpp to clean up - build. +Tue, 4 Jun 2002 15:56:41 +0000 +Checked in by : Robert Osfield +Futher refinement of the new CullingSet support. -2005-04-11 15:01 robert +Tue, 4 Jun 2002 15:21:24 +0000 +Checked in by : Robert Osfield +Further work on moving culling functionality from CullVisitor into CullingSet, in preperation for occlusion culling. - * Build fix +Mon, 3 Jun 2002 18:38:40 +0000 +Checked in by : Robert Osfield +Fix to CullVisitor::popCullingSet(). -2005-04-11 10:12 robert +Mon, 3 Jun 2002 17:54:04 +0000 +Checked in by : Robert Osfield +Warning fix for Windows - * Fixed warning, and sorted entries in GNUmakefile +Mon, 3 Jun 2002 17:49:28 +0000 +Checked in by : Robert Osfield +Updates to shadow occlusion culling code. -2005-04-11 08:15 robert +Mon, 3 Jun 2002 15:39:41 +0000 +Checked in by : Robert Osfield +Additions for the support for ConvexPlaneOccluder. Work still underway. - * Added friend class PerContextProgram; +Mon, 3 Jun 2002 11:16:58 +0000 +Checked in by : Robert Osfield +Did a to_dos on all the VisualStudio project files, and changed them to use the cvs admin -ko and each file to prevent keyword expansion. -2005-04-11 07:51 robert +Mon, 3 Jun 2002 10:44:18 +0000 +Checked in by : Robert Osfield +Changed the ReadResult handling in readNode so that it better handled the case when a plugin hasn't been found to load a plugin. - * From Olaf Flebbe, Fixed cross platform compile error +Mon, 3 Jun 2002 10:40:53 +0000 +Checked in by : Robert Osfield +Changed file endings to dos. -2005-04-10 21:26 robert +Wed, 29 May 2002 19:34:01 +0000 +Checked in by : Robert Osfield +Fixes for warnings under VisualStudio - * From Randall Hopper, fixed typo of setRedMask. +Wed, 29 May 2002 16:15:10 +0000 +Checked in by : Robert Osfield +Fix for IRIX build. -2005-04-10 21:25 robert +Wed, 29 May 2002 16:05:14 +0000 +Checked in by : Robert Osfield +Changed the endings to dos. - * Further work on kiddies game. +Tue, 28 May 2002 23:43:22 +0000 +Checked in by : Robert Osfield +Added new osgcallback demo, and updated small API changes to improve the flexiblity of callbacks.Added beginings of convex planer occlusions culling. -2005-04-09 11:17 robert - * Fixed typo -2005-04-08 19:40 robert +Tue, 28 May 2002 16:11:49 +0000 +Checked in by : Robert Osfield +Added pragma to disable warning under VisualStudio.NET. - * From Mike Weiblen, osgGLUTsimple and osgGLUTkeyboardmouse - examples +Tue, 28 May 2002 15:17:45 +0000 +Checked in by : Robert Osfield +Fixed bug in the Use mechansim in Registry.cpp, sumbitted by Macro Jez. -2005-04-08 19:39 don +Tue, 28 May 2002 14:33:13 +0000 +Checked in by : Robert Osfield +Adde osgText::Text::setColor/getColor so that osg::Material's need not be attached to set the text color. - * Added check for _last_of for fileName and merged all definitions - for socklen_t - to one line. +Tue, 28 May 2002 13:06:32 +0000 +Checked in by : Robert Osfield +Added Norman Vine to the authors list for his work on the Cygwin port. -2005-04-08 19:29 robert +Tue, 28 May 2002 11:40:37 +0000 +Checked in by : Robert Osfield +Changes for Cygwin build, sent in by Norman Vine. - * From Marco Jez, updates to reflect new osgIntrospection API +Tue, 28 May 2002 11:39:51 +0000 +Checked in by : Robert Osfield +Changed the method of expanding of the near and far planes in CullVisitor::popProjectionMatrix so that it better handled models of zero thickness orthogonal to the viewing direction. -2005-04-08 18:46 robert +Tue, 28 May 2002 10:24:43 +0000 +Checked in by : Robert Osfield +Various updates to operations related to cull traversal. - * From Stephan Huber, changed fixed string sizes for dynamically - allocated ones in OSX file system gets. +Mon, 27 May 2002 06:37:51 +0000 +Checked in by : Robert Osfield +Removed , from end of enum. -2005-04-08 14:44 robert +Sat, 25 May 2002 09:30:38 +0000 +Checked in by : Robert Osfield +Fixed crash associated with searching in an empty filepath. - * From James French, a tweak with fix a compile problem related to - STLport. +Thu, 23 May 2002 15:38:03 +0000 +Checked in by : Robert Osfield +Added the patched verions VisualStudio's langext.dat file, which can be used to replace VisualStudio standard one, this enabled VS to reconginse OSG header files as C++ files. -2005-04-08 14:11 robert +Thu, 23 May 2002 15:35:12 +0000 +Checked in by : Robert Osfield +Fixed a bug in the Optimizer::RemoveDuplicateNodesVisitor which was prevent removal of node which could have been removed.Added so extra convinience methods to ClippingVolume and utilized them in the +CullVisitor to push and pop only culling planes that are active. - * From Olad Flebbe, compile fix for HP-UX. -2005-04-08 14:10 robert - * Moved UByte4 i/ostream support into io_utils. +Wed, 22 May 2002 19:58:43 +0000 +Checked in by : Don BURNS +Fixed spelling error Calander -> Calendar -2005-04-08 14:09 robert +Wed, 22 May 2002 12:19:09 +0000 +Checked in by : Robert Osfield +Removed the usage of memory manager from the debug windows build. - * From James French, fix to header guard +Wed, 22 May 2002 12:01:12 +0000 +Checked in by : Robert Osfield +Added osgUtil::CullVisitor::getCurentRenderGraph() and getRootRenderGraph() methods which replace getRenderGraph(). Small changing of order of push/pop of StateSet's in SceneView to clean things up. -2005-04-08 13:52 robert +Wed, 22 May 2002 10:04:28 +0000 +Checked in by : Robert Osfield +Changed the public osg::State::applyMode() and applyAttribute methods so that they dirty the associated state, this helps keep the OpenGL state valid once out of local drawing routines. - * From Stephan Huber (contains Registry.cpp changes from David - Guthrie): - "Attached is the new source for the Quicktime-Plugin which adds - the - ability to write pictures in various formats (tested: jpg, png, - tif, - psd) (24bit + 32bit only, 8bit not tested) - - There are changes in the attached osgDB::Registry, which allows - osg to - find resources/plugins in the right folders under OS X" - - Note, from Robert Osfield, changed the FilePathList* filepath + - delete to a - FilePathList filepath to avoid possible memory leaks when - expections are thrown/ - make it more maintainable. Also didn't merge the automatic - playing of movies. +Wed, 22 May 2002 08:50:05 +0000 +Checked in by : Robert Osfield +Updates for Doxygen and osgGA headers from Neil. -2005-04-08 13:10 robert +Tue, 21 May 2002 19:34:16 +0000 +Checked in by : Robert Osfield +Typo and grammer fixes to introduction.html from Neil Salter. - * From Mike Weiblen, updates to GL Shadler Language support +Tue, 21 May 2002 09:16:31 +0000 +Checked in by : Robert Osfield +Renamed osg::State::getCurrentMode/Attribute(..) to getLastAppliedMode/Attribute() to make it more consistent with the internal workings of osg::State. -2005-04-08 13:06 robert +Tue, 21 May 2002 08:59:26 +0000 +Checked in by : Robert Osfield +Added osg::State::getCurrentMode and osg::State::getCurrentAttribute().Aded osg::clampAbove(..) and osg::clampBelow() template functions to +include/osg/Math. - * From Carlo Camporesi, add support for text into .ive plugin, - tweak by - Robert Osfield to allow font names to be exported correctly with - extension -2005-04-08 12:22 robert - * Added #include +Tue, 21 May 2002 00:58:40 +0000 +Checked in by : Don BURNS +Modified instrules so that the functionality of instlinks is that system links are not made to point to links, rather the real files. So links installed on a system are pointing to platform specific files rather than links that may be pointing to files of the wrong platform type. -2005-04-08 10:32 robert +Sat, 18 May 2002 08:39:42 +0000 +Checked in by : Robert Osfield +Various API updates to suppor light points developments better, but should also benifit other extensions to rendering. - * Added #include +Sat, 18 May 2002 08:37:08 +0000 +Checked in by : Robert Osfield +Made trilinear filtering the default mode for osg::Texture's. -2005-04-08 09:59 robert +Sat, 18 May 2002 08:35:09 +0000 +Checked in by : Robert Osfield +Modified the setting of min and mag texture filter modes to produce higher quality mip maps. - * Added #include +Wed, 15 May 2002 19:58:04 +0000 +Checked in by : Robert Osfield +Fixed problem with orhographic projections due to a bug in CullVisitor where it automatically resets the near and far to the values calculated during cull traversal. The maths for converting the computed far and near into clip coordinates was wrong, fixed this and the problem goes away. -2005-04-08 09:55 robert +Wed, 15 May 2002 11:27:47 +0000 +Checked in by : Robert Osfield +Exposed the CullVisitor::setComputeNearFarMode - * Reverted back to not test version of osgsimulation +Tue, 14 May 2002 10:20:55 +0000 +Checked in by : Robert Osfield +Fixes to new flipVertical/flipHorizontal. -2005-04-08 09:51 robert +Tue, 14 May 2002 09:34:11 +0000 +Checked in by : Robert Osfield +Added osg::Image::flipHorziontal and flipVertical, submitted by Brede Johansen. - * Added #include +Mon, 13 May 2002 21:19:42 +0000 +Checked in by : Robert Osfield +Added new template versions of a commonly used maths functions. -2005-04-08 09:45 robert +Mon, 13 May 2002 07:30:21 +0000 +Checked in by : Robert Osfield +Reverted change to use decal flag. - * Added #include +Fri, 10 May 2002 19:30:48 +0000 +Checked in by : Robert Osfield +Added image plugin library defs for IRIX, submission from Randall Hopper. -2005-04-08 09:36 robert +Fri, 10 May 2002 15:42:27 +0000 +Checked in by : Robert Osfield +Fix for finding windows fonts. - * Added #include +Thu, 9 May 2002 22:48:15 +0000 +Checked in by : Don BURNS +Small std::cout fix -2005-04-08 09:18 robert +Thu, 9 May 2002 19:02:35 +0000 +Checked in by : Robert Osfield +Fix compile problems with osgGA under Windows. - * Added #include +Thu, 9 May 2002 18:59:19 +0000 +Checked in by : Robert Osfield +Added pixelSize method to CullVisitor, and converted small feature culling to use the pixelSize method instead of a ratio of radius to distance from eye point. setSmallFeatureCullingPixelSize() method has also been added to provide the user with finer control of small featyre culling. -2005-04-08 09:14 robert +Thu, 9 May 2002 10:31:03 +0000 +Checked in by : Robert Osfield +Added new osgGA - GUI Adapter library submitted by Neil Salter. This will replace the current GUI adapter code inside osgUtil. - * Added io_utils include +Wed, 8 May 2002 07:32:40 +0000 +Checked in by : Robert Osfield +Addded missing ClipNode references to osg.dsp. -2005-04-08 09:13 robert +Tue, 7 May 2002 11:44:24 +0000 +Checked in by : Robert Osfield +Fixed osg::Camera::getModelViewMatrix() so that it handles the EYE_TO_MODEL transform correctly.Fixed warning in ClipNode.cpp. - * Added osg/io_utils include -2005-04-08 09:01 robert - * Moved the istream and ostream support from Vec* and Matrix* into - a seperate io_utils file. +Tue, 7 May 2002 11:12:01 +0000 +Checked in by : Robert Osfield +Support added for OpenFlight switch nodes, submission from Brede Johansen. -2005-04-07 21:28 robert +Tue, 7 May 2002 11:08:12 +0000 +Checked in by : Robert Osfield +Added default values in the constructors of Vec2,Vec3,Vec4 and Quat default constructors. - * Added iostream operators +Tue, 7 May 2002 02:51:33 +0000 +Checked in by : Don BURNS +Fixed rpath nonsense in makedefs for Irix -2005-04-07 20:28 robert +Fri, 3 May 2002 22:47:57 +0000 +Checked in by : Robert Osfield +Added osg::Node::getValidStateSet(). - * From Olaf Flebbe, removed supporios BufferObject:: +Fri, 3 May 2002 16:47:16 +0000 +Checked in by : Robert Osfield +Added support for the managing the StateSet above a LightSource node, and made it an osg::Group so that it can be used a decorator above a scene.Added osgclip demo to the test suite. -2005-04-07 20:23 robert - * From Mike Weiblen, "adds sourcefiles for beginnings of .osg - fileformat i/o support - > - enhancemens to core GLSL classes to support file i/o" -2005-04-07 20:20 robert +Thu, 2 May 2002 22:02:14 +0000 +Checked in by : Robert Osfield +Made osg::Viewport::getViewport(..) const. - * From Mike Weiblen, ported osgshaders example from osgGL2 to core - osg based. +Thu, 2 May 2002 00:14:40 +0000 +Checked in by : Robert Osfield +dded osg::ClipNode class for managing OpenGL clipping planes, and osgclip demo. -2005-04-07 20:08 robert +Fri, 26 Apr 2002 16:01:27 +0000 +Checked in by : Robert Osfield +Updated the AUTHORS file to mention the original authors of the terrapage loader. - * Warning fixes by Mike Weiblen + Robert Osfield +Fri, 26 Apr 2002 15:21:22 +0000 +Checked in by : Don BURNS +Testing .dsp and .dsw as binary files -2005-04-07 20:06 robert +Fri, 26 Apr 2002 13:49:42 +0000 +Checked in by : Robert Osfield +Added mention of MemoryManager to NEWS file. - * From Marco Jez, .dsp updates +Fri, 26 Apr 2002 13:45:01 +0000 +Checked in by : Robert Osfield +Updated docs.Fix to pfb Makefile for missing $. -2005-04-07 20:00 robert - * From Marco Jez, improvements to osgIntrospection, and new - automatically generated - osgWrappers/osg set. -2005-04-07 17:15 don +Fri, 26 Apr 2002 12:06:19 +0000 +Checked in by : Robert Osfield +Fix for CisualStudio6.0 build. - * Set PagedLOD::removeExpiredSubgraph() to be virtual +Fri, 26 Apr 2002 08:25:51 +0000 +Checked in by : Robert Osfield +Fixed remaining MAX_PATH usuage, replacing it with the new DX_MAX_PATH, this should solve compile problems under VisualStudio .NET. -2005-04-07 16:09 robert +Fri, 26 Apr 2002 08:16:14 +0000 +Checked in by : Robert Osfield +Qarning fixes, and updated the date in NEWS to reflect todays release of 0.8.45 - * Fix to compute coordinate frame callback so that it can handle - scaled - coordinate frames, rescaling as required. +Thu, 25 Apr 2002 22:09:28 +0000 +Checked in by : Robert Osfield +Fixes for IRIX build.Fix for a warning under VisualStudio.NET. -2005-04-07 15:27 robert - * Fixed the MatrixTransform(Matrix&) constructor so that it correct - sets _inverseDirty = true; -2005-04-07 13:49 robert +Thu, 25 Apr 2002 22:07:48 +0000 +Checked in by : Robert Osfield +Cygwin build fixes. - * Introduced a flight path that goes around the earth going into - the north and sound - hemisphere's with heading and roll adjustment. +Thu, 25 Apr 2002 21:31:16 +0000 +Checked in by : Robert Osfield +Fix for window build. -2005-04-07 10:55 robert +Thu, 25 Apr 2002 15:54:25 +0000 +Checked in by : Don BURNS +Added small blurb for Solaris... - * Fixed sort of sources so that the layer number is taken into - account. +Thu, 25 Apr 2002 13:26:33 +0000 +Checked in by : Robert Osfield +Ran the spell checker through the new documentation. -2005-04-07 10:19 robert +Thu, 25 Apr 2002 12:35:33 +0000 +Checked in by : Robert Osfield +Updated change log for 0.8.45 release. - * Fixed layer and levels handling in reprojection of source - imagery. +Thu, 25 Apr 2002 11:37:49 +0000 +Checked in by : Robert Osfield +Added to the .plan. -2005-04-06 20:54 robert +Thu, 25 Apr 2002 11:30:21 +0000 +Checked in by : Robert Osfield +Fixes to .obj plugin from gideon. - * Beginnings of litte kiddies game example, written in - collaboration with my - 5 year old daughter who is the game designer and artist on this - little task :) +Thu, 25 Apr 2002 11:29:31 +0000 +Checked in by : Robert Osfield +Added Bob to the AUTHORS list for his efforts on MacOSX. -2005-04-05 19:08 don +Thu, 25 Apr 2002 10:46:11 +0000 +Checked in by : Robert Osfield +A more verbose version of the test script, using each and more memleaks.log to print out progress and report any memory leaks which have been logged. The later will only occur with a debug build. The use of echo and more makes this version osgtest.bat not portable to windows unfortuntately. - * Rolled in Olaf's changes for HP-UX build +Thu, 25 Apr 2002 10:14:50 +0000 +Checked in by : Robert Osfield +Added another bullet point to the plan. -2005-04-04 20:25 robert +Thu, 25 Apr 2002 10:10:04 +0000 +Checked in by : Robert Osfield +Removed these old files that do little in the context of the current OpenSceneGraph disitribution apart from clogs things up! - * Renamed _A and _B to make them more meanigful +Thu, 25 Apr 2002 10:07:44 +0000 +Checked in by : Robert Osfield +Add doc/plan.html and links to it from the rest of the docs. -2005-04-04 18:07 don +Thu, 25 Apr 2002 08:54:48 +0000 +Checked in by : Robert Osfield +Fixed compile problem under VisualStudio. - * Removed annoying "Can't find the ground" message +Thu, 25 Apr 2002 07:47:37 +0000 +Checked in by : Robert Osfield +Fixed relative path for image. -2005-04-04 16:06 robert +Thu, 25 Apr 2002 07:29:02 +0000 +Checked in by : Robert Osfield +Updated demos documentation. - * Fixed output of MultiTextureControl. +Thu, 25 Apr 2002 06:27:09 +0000 +Checked in by : Robert Osfield +Fixed spellings in introduction.html, and update osgtext and osgviews images. -2005-04-04 15:23 robert +Thu, 25 Apr 2002 05:43:33 +0000 +Checked in by : Robert Osfield +Added back in as binary file. - * Added layer support +Thu, 25 Apr 2002 05:42:37 +0000 +Checked in by : Robert Osfield +Temporily removing to change it to a binary file. -2005-04-04 13:50 robert +Wed, 24 Apr 2002 20:57:00 +0000 +Checked in by : Robert Osfield +Merged Bob's changes for MacOSX build. This change is simply the addition of GLUT_LIB to the link line. This change should be removed once we fixed the OSG_LIBS so that it doens't include osgGLUT, however, I'll leave this for another day... - * From Marco Jez, updates to osgIntrospection. +Wed, 24 Apr 2002 20:36:47 +0000 +Checked in by : Robert Osfield +Fix for MacOSX build, making sure that the compresed tex image is defined on all builds by removing the #ifdef's but then changing the name used in the typedef so it doesn't collide with local implementations. -2005-04-04 13:49 robert +Wed, 24 Apr 2002 20:32:39 +0000 +Checked in by : Robert Osfield +Updated doc++ docs once more. - * Made osgIntrospection an optional compile +Wed, 24 Apr 2002 20:24:10 +0000 +Checked in by : Robert Osfield +Removed CullViewState from the distribution, moved CullViewState::CullingMode into CullVisitor, and then removed all references to CullViewState from other parts of the scene graph. -2005-04-04 13:22 robert +Wed, 24 Apr 2002 20:13:50 +0000 +Checked in by : Robert Osfield +Updateds doc++ documention. - * Fixed comment +Wed, 24 Apr 2002 20:04:34 +0000 +Checked in by : Robert Osfield +Changes for Mac OSX build, sent in by Bob Kuehne -2005-04-04 12:24 robert +Wed, 24 Apr 2002 14:52:53 +0000 +Checked in by : Robert Osfield +Removed the use of __FUNCTION__ from MemoryManager to remove problems with VisualStudio .NET compile.Added support for OSG_NOTIFY_LEVEL and OSG_FILE_PATH into the relevant getenv +routines. This compliments the exisiting OSGNOTIFYLEVEL & OSGFILEPATH which +are deprecated but still supported. The OSG_ version are more consistent +with the rest of the env variables used in the OSG. - * Fixes for VS6.0 build -2005-04-04 11:47 robert - * From Carlo Camporesi,fixed for loop bug +Wed, 24 Apr 2002 14:14:37 +0000 +Checked in by : Robert Osfield +Updates to the documentation. -2005-04-04 11:42 robert +Wed, 24 Apr 2002 13:08:30 +0000 +Checked in by : Robert Osfield +Moved doc/OpenSceneGraphBanner_Distribution.jpg to doc/images/ to tidy up the doc directory. - * Added missing makefiles +Wed, 24 Apr 2002 13:05:03 +0000 +Checked in by : Robert Osfield +Futher work on documentation - added seperate context.html, a new demos.html directory and moved the previous doc/index.html to doc/documentation.html. -2005-04-04 11:22 robert +Wed, 24 Apr 2002 08:50:03 +0000 +Checked in by : Robert Osfield +Fix for the Cygwin build related to the new FileUtils_Unix not using the Windows PATH environmental variable for searching for libraries. Sent in by Norman Vine.Reoder of the makedefs/makedirdefs to fix Mac OSX compilation. Sent in by +Bob Kuehne. - * From Alberto Farre, nested files bug fix. -2005-04-04 11:18 robert - * From Alberto Farre: - "Here there are fixes for several flt loader problems. - - First one was an small bug when root database was an empty string - we got a database path "/" instead of "./". - Second one is more complex. Flt loader works in two passes, first - one reads flt database and second one builds osg scenegraph. - Special care must be taken for properly tracking database path as - nested files are entered. Because textures are loaded in second - pass, mentioned care should be taken once again. I wrote time ago - a piece of code and I placed it in both files fltFile.cpp and - flt2osg.cpp. After a long period offline I have seen the portion - of code at flt2osg was missing, I just made some tests and I - could see it is still required. - - Finally, I have seen that pool.cpp always try to make IMAGE cache - instead of reading what Options says. - - Aditonally, I recently wrote an osg change, now it has external - references "a la flt" what is called osg::ProxyNode. As part of - the change now flt loader builds external references as - ProxyNodes. I made the same mistake like pool.cpp and always made - ARCHIVE cache instead of see what Options says, it has also been - fixed." +Tue, 23 Apr 2002 22:04:04 +0000 +Checked in by : Robert Osfield +Updated the docs on compiling under Windows. -2005-04-04 10:08 robert +Tue, 23 Apr 2002 15:05:14 +0000 +Checked in by : Robert Osfield +Added OSG_USE_MEMORY_MANAGER to Windows debug build - * From Mike Weiblen, updates to Shander Language support +Tue, 23 Apr 2002 15:01:55 +0000 +Checked in by : Robert Osfield +Fixed compilation problem associated wirh moving FileUtils source out into seperate files. -2005-04-04 10:05 robert +Tue, 23 Apr 2002 14:58:33 +0000 +Checked in by : Robert Osfield +Fixed ordering of paramters in osg::Image constructor to remove warning. - * Added FluidProgram +Tue, 23 Apr 2002 13:59:01 +0000 +Checked in by : Robert Osfield +Seperated out the platform specific implementions of the file search/access routines - we now have FileUtils_Windows.cpp, FileUtils_Mac.cpp and FileUtils_Unix.cpp. The FileUtils_Mac.cpp is based on code submitted by Josh Portway and add uses the carbon API for searching for files. -2005-04-04 09:22 robert +Tue, 23 Apr 2002 13:12:37 +0000 +Checked in by : Robert Osfield +Addtional details on the OpenSceneGraph and support. - * From Mike Weiblen (VisualStudio.dsw changes done by hand by - Robert), fixes to VS project files +Tue, 23 Apr 2002 11:03:09 +0000 +Checked in by : Robert Osfield +Changed the Windows gauard around so that it only works for VisualStudio and not Cygwin/Mingw. -2005-04-04 08:47 robert +Tue, 23 Apr 2002 11:02:09 +0000 +Checked in by : Robert Osfield +Added a pragma to get round a VisualStudio warning that I couldn't fix in any easy way. - * Added osgparticleeffects example +Tue, 23 Apr 2002 10:55:45 +0000 +Checked in by : Robert Osfield +Added an imageList.clear() to osgbillboard so that its memory would be cleared before entering the viewer main loop, this removes memorymanager a reported memory leak due to the viewer using exit() which bypasses the clean up on main itself.Added an osgNew to the ReaderWriterRGB.cpp to aid detected of tracking of +memory leaks. -2005-04-04 07:54 robert - * Improved ParticleEffects -2005-03-26 10:04 robert +Tue, 23 Apr 2002 10:34:20 +0000 +Checked in by : Robert Osfield +Fixed compile problems under VisualStudio w.r.t the new additions for precompiled mipmaps. Changed std::size_t to unsigned int. - * From Farshid Laskari, addiition of FrontFace support to .ive +Tue, 23 Apr 2002 09:06:03 +0000 +Checked in by : Robert Osfield +Replaced texture compression extension define so that its #ifndef guard used GL_ARB_texture_compression as natured intended. -2005-03-25 11:17 robert +Tue, 23 Apr 2002 08:40:13 +0000 +Checked in by : Robert Osfield +Updated ChangeLog in preperation for the 0.8.45 release. - * From Waltice (don't have full name at time of submission), added - support for 16bit tiff files +Tue, 23 Apr 2002 08:34:58 +0000 +Checked in by : Robert Osfield +Added to the NEWS file. -2005-03-25 11:07 robert +Tue, 23 Apr 2002 08:29:39 +0000 +Checked in by : Robert Osfield +Fixed warning in swapBytes, simple addded unsigned to the int loop count, since sizeof() is always an unsigned int. - * Added State::getActiveUnit and usage of it in the - glTexCopyImage*() implementations +Mon, 22 Apr 2002 23:54:13 +0000 +Checked in by : Don BURNS +Impleneted byte swap for use between machines with different endians. -2005-03-25 11:06 robert +Mon, 22 Apr 2002 21:45:33 +0000 +Checked in by : Don BURNS +Fixed couple of small errors caught by Solaris compiler - * Made the ground intersection warning just output to INFO level. +Mon, 22 Apr 2002 21:18:15 +0000 +Checked in by : Robert Osfield +A couple of API additions to osg::ClippingVolume, osg::Matrix and osg::Plane sent in by Mike Connell. -2005-03-24 09:37 robert +Mon, 22 Apr 2002 21:13:33 +0000 +Checked in by : Robert Osfield +Integrated submission from Boris Bralo:Supported added for precompiled mip maps stored in osg::Image, and read +by osg::Texture. - * From Mike Weiblen, - "updates for GLSL core integration: - Code compiles and runs on win32. - Basic functionality of Program and Shader in place. - Program derived from StateAttribute. - Uniform value propagation is not yet functional (in development) - Includes some patches by Nathan Cournia. - includes example testcase to demo use of new classes." +Updates to TerraPage loader for support of compressed texture images and +precompiled mip maps. -2005-03-23 21:00 robert - * From Marco Jez, fixed constness of data return type -2005-03-23 20:48 robert +Mon, 22 Apr 2002 19:41:33 +0000 +Checked in by : Robert Osfield +Added code in hangglide to move the earth sky around with the eye point, use osg::Transform::ComputeTransformCallback. - * From Randall Hopper, with small order tweak from Robert and - addition to GNUmakefile.inst, - added $(GDAL_LIBS) to fix build under FreeBSD. +Mon, 22 Apr 2002 14:54:39 +0000 +Checked in by : Robert Osfield +Added support for compute the near and far planes and then applying to the current projection matrix into CullVisitor itself. Similar code to support this has been moved out of SceneView completely.Added Matrix:: infront of the definition of the static +osg::Matrix::inverse(Matrix) method which was missing. -2005-03-23 20:38 robert - * From Mike Weiblen: change paths to .cpp files from "examples" to - "applications" -2005-03-23 20:35 robert +Mon, 22 Apr 2002 09:55:45 +0000 +Checked in by : Robert Osfield +Slight changes to FAQ to make a little more relevant, it really needs a total re-write though. - * Fixed indenting. +Mon, 22 Apr 2002 09:50:32 +0000 +Checked in by : Robert Osfield +Added test script which runs all the demos in the OSG to make sure they run ok. User has to verify they are correct visually. -2005-03-23 20:34 robert +Mon, 22 Apr 2002 09:37:17 +0000 +Checked in by : Robert Osfield +Cleaned up the handling of the Viewport with osg::SceneView/RenderStage and CullVisitor so that the Viewport is now managed as part as the global stateset so that it can be pushed and popped like the rest of state without problems. This makes it easier to have multiple viewports within one scene graph. - * From Mike Weiblen: "Fix for VS7.1 warning C4715: not all control - paths return a value" +Mon, 22 Apr 2002 09:31:54 +0000 +Checked in by : Robert Osfield +Fixes the .mlt loading from Ben Discoe. -2005-03-23 20:31 robert +Sun, 21 Apr 2002 22:05:26 +0000 +Checked in by : Robert Osfield +Updated TODO list.Converted AnimationPath so it is now subclassed from osg::Transform::ComputeTransfromCallback() +so that it can be directly attached to the scene to move objects about. - * From Mike Weiblen, " Move update of shader values after shader - rebuild opportunity, to ensure uniform - state of shaders is consistent" +Changed the osg::SateSet::setGlobalDefaults() so that is sets GL_DEPTH_TEST +to ON. -2005-03-23 17:05 robert +Added guards and creation of default helper classes in osgGLUT::Viewer and +osgUtil::SceneView so that sensible defaults are used when no settings +are used of osg::State/StateSet,osgUtil::RenderStage/RenderGraph/CullVisitor. - * Added extra controls for ParticleEffects. -2005-03-23 10:46 robert - * Fixed the scaling in pixelSize computation and the autoscale - usage of it. +Sun, 21 Apr 2002 21:53:03 +0000 +Checked in by : Robert Osfield +A second try at commit these updates to docs. -2005-03-23 10:41 robert +Sun, 21 Apr 2002 10:12:15 +0000 +Checked in by : Robert Osfield +Fixes to spelling mistakes in NEWS file. - * Removed multiple inheritance from TechniqueEventHandler. +Sun, 21 Apr 2002 10:11:03 +0000 +Checked in by : Robert Osfield +Updated Versions, and NEWS file to reflect impending release of 0.8.45. -2005-03-23 08:30 robert +Sun, 21 Apr 2002 09:51:59 +0000 +Checked in by : Robert Osfield +Updates to docs. - * Commented out the if (!node->getName().empty()) return false; in - isOperationPermissibleImplementation() +Sat, 20 Apr 2002 20:35:02 +0000 +Checked in by : Robert Osfield +Updated the docs. -2005-03-22 21:06 robert +Sat, 20 Apr 2002 15:49:28 +0000 +Checked in by : Robert Osfield +Reorginising the docs so that data source, dependencies and installation istrucions sit in the doc directory as html files. - * Added MatrixManipulator::s/getIntersectTraversalMask(uint) to - allow control - of which subgraphs should be used in intersection calculations. - Updated - Terrain,Drive and UFO manipulator to use this new flag. +Fri, 19 Apr 2002 19:55:48 +0000 +Checked in by : Robert Osfield +Changed the implementation of osg::Quat::makeRotate(heading,pitch,roll) so that it conforms to the OpenFlight convention of euler angles. Added documentation into Matrix and Quat to reflect this.Added so test code to osgcube for stress testing memory allocation and deallocation. -2005-03-22 20:26 robert +Commented out the registering of app and cull callbacks in osghud. - * Moved ParticleSystemUpdater into ParticleEffect nodes to simplify - usage - of nodes. -2005-03-22 17:00 robert - * Fixed the double transform of ParticleEffects +Fri, 19 Apr 2002 16:22:25 +0000 +Checked in by : Robert Osfield +Fixes for Max OSX build from Bob Kuehne. -2005-03-22 12:11 robert +Fri, 19 Apr 2002 16:21:18 +0000 +Checked in by : Robert Osfield +updated the introduction.html, still not complete but getting there. No edited for typo's yet :-) - * Updated sphere segment example to use original osgsimulation - source, adding - in terrain, moving models and particle effects. +Fri, 19 Apr 2002 16:00:15 +0000 +Checked in by : Don BURNS +Fixed an assignment that should have been a test -2005-03-22 12:04 robert +Fri, 19 Apr 2002 15:34:40 +0000 +Checked in by : Don BURNS +Updated some files sent by Boris Bralo for the txp loader. - * Corrected orientation of aeroplane and direction of rotation - around earth. +Fri, 19 Apr 2002 15:02:34 +0000 +Checked in by : Don BURNS +Fixed small typo in src/osgUtil/RenderStage.cpp -2005-03-21 00:33 don +Fri, 19 Apr 2002 15:00:57 +0000 +Checked in by : Don BURNS +Added Bob K's fix - * Added getCameraByName method to viewer +Thu, 18 Apr 2002 23:30:06 +0000 +Checked in by : Don BURNS +Fixed small typo in SceneView::setDefaults(). -2005-03-20 23:57 don +Thu, 18 Apr 2002 21:29:31 +0000 +Checked in by : Robert Osfield +Added introduction html file. - * Added getCameraByName method to viewer and home(double - currentTime) to - MatrixManipulator, UFO, Trackball and ANimation manipulator. +Thu, 18 Apr 2002 16:40:17 +0000 +Checked in by : Robert Osfield +Updated stereo documentation to include details about horizontal and vertical split stereo. -2005-03-20 23:29 don +Thu, 18 Apr 2002 16:08:36 +0000 +Checked in by : Don BURNS +Changed make makeosx to make - * Updated some visual studio files for the new applications. +Thu, 18 Apr 2002 15:37:26 +0000 +Checked in by : Don BURNS +changed LIBEXT to LIB_EXT for Darwin -2005-03-20 21:43 don +Thu, 18 Apr 2002 15:16:59 +0000 +Checked in by : Don BURNS +Added -lXi to the Linux X_LIBS - * Added (for real this time) application project files for visual - studio +Thu, 18 Apr 2002 10:38:58 +0000 +Checked in by : Robert Osfield +Fixed VisualStudio .NET warnings in TXP plugin. -2005-03-18 11:21 robert +Thu, 18 Apr 2002 09:57:42 +0000 +Checked in by : Robert Osfield +Fixed memory leak in FTGL associated with the function of gluTesselate.Fixed a warnings in the DW plugin. - * Added support for handling transparent geometries and textures. -2005-03-18 11:07 robert - * Moved osgarchive, osgconv, osgdem, osgversion and osgviewer - .dsp's to applications folder. +Wed, 17 Apr 2002 20:04:41 +0000 +Checked in by : Robert Osfield +Warning fixes for VisualStudio -2005-03-18 10:46 robert +Wed, 17 Apr 2002 14:18:20 +0000 +Checked in by : Robert Osfield +Fixed type in location of redhat glu patch. - * Moved COMPILE_EXAMPLES ?= no to top of Make/dependencies to make - it more clear, - and removed the application programs fully from the examples list +Wed, 17 Apr 2002 11:36:38 +0000 +Checked in by : Robert Osfield +Fixes for warnings under VisualStudio -2005-03-18 10:45 robert +Wed, 17 Apr 2002 11:29:49 +0000 +Checked in by : Robert Osfield +Added a gset->computeNumVertices() which was missing, this was causing models to disappear after application of tri stripping. - * Removed the redundent subclassing from osg::NodeVisitor in - examples event handlers +Wed, 17 Apr 2002 09:48:19 +0000 +Checked in by : Robert Osfield +Changed the osg::Billboard comution so that it get passed in the current modelview matrix rathan than an identity matrix, this matrix is then modified locally.Changed the osg::Matrix set methods so they are inline. -2005-03-18 10:27 robert +Added a few useful comments to MemoryManager.cpp to help people understand +the assert's better. - * updates to reflect changes to StateAttribute::Types -2005-03-18 10:00 robert - * From Alberto Farre, fixes to ProxyNode. +Tue, 16 Apr 2002 21:39:45 +0000 +Checked in by : Don BURNS +Changed Linux makedepend flag from -MM to -M -2005-03-18 09:48 robert +Tue, 16 Apr 2002 21:08:46 +0000 +Checked in by : Robert Osfield +Fixed the seveal hunderd warnings in TerraPage loader! - * From Marco Jez, added OSGNVEXT_ prefex to StateAttribute enums. +Tue, 16 Apr 2002 15:44:31 +0000 +Checked in by : Robert Osfield +Fix to TXP plugin to handle to new osg::Image method naming. -2005-03-18 09:37 robert +Tue, 16 Apr 2002 15:31:46 +0000 +Checked in by : Robert Osfield +Added clearing of seperation band between horizontal/vertical split stereo areas. - * From Mike Weiblen, "minor patches to osgFX consisting of changing - from - "state.matrix.modelview[0]" to the equivalent - "state.matrix.modelview". - Per ARB_vertex_program, the "[0]" syntax is supported only when - EXT_vertex_weighting or ARB_vertex_blend are supported." +Tue, 16 Apr 2002 15:21:24 +0000 +Checked in by : Don BURNS +Added makedirdefs via a request from Bob Kheune. This allows us to edit the DIRS cruft in a single file in the Make directory instead of having to edit multiple files. Also edited Makefiles that needed to include this file.Also cleaned up txp loader to compile with SunOS. This needs to be retested +on other platforms. -2005-03-18 02:45 robert - * Improvements to the handling of textures and texture coords. -2005-03-18 02:45 robert +Tue, 16 Apr 2002 14:57:39 +0000 +Checked in by : Robert Osfield +Added osg::Image::setPixelFormat(..) and setInternalTextureFormat(), and renamed osg::Image::pixelFormat(), internalTextureFormat(),dataType() to osg::Image::getPixelFormat() etc. These changes are to bring it more into line with the style of the rest of the OSG.Updated the rest of the distribution to take account for these names changes. - * Made the can't find ground intersection message only appear as - INFO. -2005-03-18 02:44 robert - * Added support for a new IsOperationPermissibleForObjectCallback - in osgUtil::Optimizer. +Tue, 16 Apr 2002 14:09:46 +0000 +Checked in by : Robert Osfield +Purge on warnings under Linux. -2005-03-18 02:42 robert +Tue, 16 Apr 2002 11:41:32 +0000 +Checked in by : Robert Osfield +Removed the cached matrices from osg::Camera, so that osg::Camrea::getModelViewMatrix() and osg::Camera::getProjectionMatrix() are calculated on the fly. Removed various redudent methods, including the project and unproject methods which are better supported within osgUtil::SceneView.Added a computeWindowMatrix() method to Viewport, to make it easier to construct +a MV*P*W matrix for converting local coords into screen coords and visa versa. +Converted SceneView and CullVisitor to use this new method. - * Made supports(..) methods use support(const ...) -2005-03-18 01:51 don - * Randal Hopper fix to GNUmakefile for osgsimulation. +Tue, 16 Apr 2002 11:36:23 +0000 +Checked in by : Robert Osfield +Updates to the flt plugin from Brede Johansen. -2005-03-17 19:32 robert +Tue, 16 Apr 2002 08:01:18 +0000 +Checked in by : Robert Osfield +Warnings fix. - * Added extra controls into osgDB::DatabasePager for customizing - how - much time is allocated to compiling and deleting OpenGL objects, - also - added support into osgProducer::OsgSceneHandler.cpp for these new - parameters. - - The new cotrols are: - - DatabasePager::s/getTargetFrameRate(..) - DatabasePager::s/getMinimumTimeAvailableForGLCompileAndDeletePerFrame() - DatabasePager::s/getMaximumNumOfObjectsToCompilePerFrame() +Tue, 16 Apr 2002 05:29:39 +0000 +Checked in by : Don BURNS +Fixed some boo-boos in makerpms for building demo source files... -2005-03-17 18:29 don +Tue, 16 Apr 2002 04:13:30 +0000 +Checked in by : Don BURNS +Fixed Solaris 'make distribution' for demo source. - * Removed redundant examples, that have been moved to the - applications directory +Tue, 16 Apr 2002 03:24:41 +0000 +Checked in by : Don BURNS +fixed a few problems that didn't work right with installing demo source on platforms other than Solaris. -2005-03-17 14:40 robert +Mon, 15 Apr 2002 21:48:43 +0000 +Checked in by : Robert Osfield +Compile fixes for IRIX, submitted by Randall Hopper. - * Added guard to texture image to avoid seg fault when dealing with - incomplete databases. +Mon, 15 Apr 2002 21:03:32 +0000 +Checked in by : Robert Osfield +Added support for OSG_USE_MEMORY_MANAGER into Windows build. -2005-03-17 10:24 robert +Mon, 15 Apr 2002 19:12:39 +0000 +Checked in by : Robert Osfield +Added Makefile.inst which was not added ealier with the check in osghud. - * Added check against node.getName() into isNodeEmpty(Node&) method - so that nodes - with names arn't assumed to be empty. +Mon, 15 Apr 2002 14:45:14 +0000 +Checked in by : Don BURNS +Added Daniel Sjölie's request to use a default complier (CXX) in makedefs. Doing this only for Linux -2005-03-17 08:54 robert +Mon, 15 Apr 2002 14:29:13 +0000 +Checked in by : Robert Osfield +Fixed error in project w.r.t name of source file. - * Added if (image ..) check to prevent seg fault on imcomplete - models +Mon, 15 Apr 2002 14:21:10 +0000 +Checked in by : Robert Osfield +Renamed Demos/osgtext/osgtext.dsp back to Demos/osgtext/osgtextdemo.dsp -2005-03-16 20:44 robert +Mon, 15 Apr 2002 13:15:48 +0000 +Checked in by : Robert Osfield +Added CullCallbacks to osg::Node, and osgUtil::CullVisitor. - * Added --addMissingColours / --addMissingColor support into - osgconv which - provides a mechansim for adding in a white colour where none - previously - existed. This solves the problem that exists on some databases - where - no colour is present, causing the colour to be inherited - randomly. +Mon, 15 Apr 2002 11:03:31 +0000 +Checked in by : Robert Osfield +Added osghud, a head up display demo. -2005-03-16 14:48 robert +Mon, 15 Apr 2002 10:59:16 +0000 +Checked in by : Robert Osfield +Fixes to warning in Win32 build - * From Mike Weiblen, added UFOManipulator to osgGA project file. +Mon, 15 Apr 2002 08:51:11 +0000 +Checked in by : Robert Osfield +Fixed the copying of LongIDRecord's strings in flt plugin so it now uses the record length-4, to create the string. Also Removed some in appropriate comments from LongIDRecord, since they were obvious and hang over of a copy and paste job on the code. -2005-03-16 14:14 robert +Mon, 15 Apr 2002 08:09:02 +0000 +Checked in by : Robert Osfield +Fixed display problem with the HUD in osgtext which was caused by the new mods to SceneView not honouring the z near/far calculation flag. - * Added --smooth option to osgconv +Sun, 14 Apr 2002 22:21:59 +0000 +Checked in by : Robert Osfield +Added support for specificing the eye mapping and seperation between the horizontal and veritical split stereo modes.Renamed osg::Image::ensureDimensionArePowerOfTwo() to osg::Image::ensureValidSizeForTexturing(). -2005-03-16 14:09 robert - * Removed applications from examples list -2005-03-14 09:28 robert +Sun, 14 Apr 2002 20:30:43 +0000 +Checked in by : Robert Osfield +Used a faster method for checking for power of 2 on the image dimensions and did a check on forcing 16bits textures in osg::Texture (which speeds things up on the Umea model which is performance bound by texture memory.), the later check is now commented out. - * Changed tabs to four spaces +Sun, 14 Apr 2002 13:41:13 +0000 +Checked in by : Robert Osfield +Fixes to osg::Image::createImage(..), and addition of code to Viewer.cpp to support output of screen snapshot via 'O'. -2005-03-14 09:13 robert +Sun, 14 Apr 2002 12:54:26 +0000 +Checked in by : Robert Osfield +Addition of write .bmp to the BMP plugin. - * From Marco Jez, fix for data corruption bug in - TypedMethodInfo*::invoke() +Sun, 14 Apr 2002 12:53:36 +0000 +Checked in by : Robert Osfield +Fix for crash in SceneView introduced when ungarded use of _dispalySettings pointer was added, a if (valid) guard has been added to solve the problem. -2005-03-13 21:22 robert +Sat, 13 Apr 2002 22:19:29 +0000 +Checked in by : Robert Osfield +Clean up for VisualStudio build - * Added guard to osgdem build +Sat, 13 Apr 2002 18:53:20 +0000 +Checked in by : Robert Osfield +Added a space into the project name because it was confusing VisualStudio. -2005-03-13 17:51 don +Sat, 13 Apr 2002 18:45:18 +0000 +Checked in by : Robert Osfield +Further changes to VisualStudio.dsw for dependancies. - * Added GNUmakefile for the new applications directory +Sat, 13 Apr 2002 11:36:10 +0000 +Checked in by : Robert Osfield +Added dependanices into osgPlugins. -2005-03-13 17:26 robert +Sat, 13 Apr 2002 11:08:04 +0000 +Checked in by : Robert Osfield +Fixed compile problem related to missing includes (a result of removing include of Camera..) - * Added osgGL2 to .ive list of dependencies +Sat, 13 Apr 2002 10:29:44 +0000 +Checked in by : Robert Osfield +Added dependancies to Demos. -2005-03-13 05:02 don +Sat, 13 Apr 2002 10:18:58 +0000 +Checked in by : Robert Osfield +Saved workspace from VisualStudio to follow up on missing demo dependancies - * Chagned osg::Matrix to osg::Matrixd +Sat, 13 Apr 2002 09:28:53 +0000 +Checked in by : Robert Osfield +Added Core infront of the names of the project dependancies. -2005-03-13 01:47 don +Fri, 12 Apr 2002 18:06:13 +0000 +Checked in by : Robert Osfield +Further work on cleaning up SceneView and Camera, in particular moving strereo support out of Camera and into SceneView. Also enabled the option to set the projection and modelview matrices directly on SceneView thereby removing the dependance on osg::Camrea to control the view of the scene. - * Added applications directory. Copied (not moved) - osgarchive - osgconv - osgdem - osgversion - osgviewer - - into applications directory. Leaving them in the examples - directory - as well, for now. - - Made examples optional via the make COMPILE_EXAMPLES=yes option - - Added static lib and static plugin build support. +Fri, 12 Apr 2002 14:05:55 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build. -2005-03-12 15:57 don +Fri, 12 Apr 2002 13:06:48 +0000 +Checked in by : Robert Osfield +Futher updates to VisualStudio files, adding osgstereoimage and osgversion in particular. - * Added M_PI definition for winders +Fri, 12 Apr 2002 12:51:32 +0000 +Checked in by : Robert Osfield +Added "Core " infront of the osg, osgDB, osgUtil, osgText, and osgGLUT libraries in the Visual Studio workspace/project files. -2005-03-12 05:31 don +Fri, 12 Apr 2002 12:15:07 +0000 +Checked in by : Robert Osfield +Renamed the osgtext demo project to reflect the name. - * Added a few things to osgProducer::Viewer to support UFO - manipulator and - cleaned up UFOManipulator. +Fri, 12 Apr 2002 11:57:20 +0000 +Checked in by : Robert Osfield +Added "Demo " and "osgPlugin " infront of all demo and plugin project names to help differentiate them within VisualStudio. -2005-03-11 20:29 robert +Fri, 12 Apr 2002 10:24:45 +0000 +Checked in by : Robert Osfield +Attempt to add osgPlugin infront of the 3ds name to force VisualStudio to present it as plugin in the browser. - * Added support for set/getUniform and set/getProgram into - osg::StateSet. +Fri, 12 Apr 2002 10:12:35 +0000 +Checked in by : Robert Osfield +Reorganised the names of libraries and Demos to make it clear what is what. -2005-03-11 20:19 robert +Fri, 12 Apr 2002 09:53:39 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build - * Fixed old handle(..) method call parameters +Fri, 12 Apr 2002 09:25:41 +0000 +Checked in by : Robert Osfield +Removed double reference of osgtexture -2005-03-11 17:48 don +Fri, 12 Apr 2002 09:25:15 +0000 +Checked in by : Robert Osfield +Removed Metroweks files since they wern't being used, and were not up to date. An attempt at using Metrowerks for MacOSX build failed, and we have Cywgin/Mingwin VisualStudio for windows so there is little need for it. - * Added methods getCameraManipulatorNameList() and - selectCameraManipulatorByName(). +Fri, 12 Apr 2002 08:01:22 +0000 +Checked in by : Robert Osfield +Removed dangling references to NewCullVisitor from osgUtil.dsp. -2005-03-11 17:46 don +Fri, 12 Apr 2002 06:18:41 +0000 +Checked in by : Don BURNS +Solaris PKG distribution now makes a shar (self-extracting shell archived) changed makepgk to do this.Changed another one of those pesky cout = std::cout in CullVisitor.cpp - * Added the 'H' - home to usage message -2005-03-11 17:46 don - * Changed class name to UFO instead of UFOManipulator to conform to - the other - manipulators +Fri, 12 Apr 2002 05:09:45 +0000 +Checked in by : Don BURNS +added 'make cleandepend' to build system. -2005-03-11 09:53 robert +Fri, 12 Apr 2002 05:06:41 +0000 +Checked in by : Don BURNS +Added the 'make cleandepend' target to the build system. - * Improvements to handling smoothing +Thu, 11 Apr 2002 23:20:23 +0000 +Checked in by : Robert Osfield +Added DataVariance enum and set/get fields to osg::Object to help identify which objects have values that vary over the lifetime of the object (DYNAMIC) and ones that do not vary (STATIC). Removed the equivalent code in osg::Transform, StateSet and StateAttribute, as these are now encompassed by the new DataVariance field.Removed MatrixMode enum from Matrix, and associated fields/parameters from +osg::Transfrom and osg::NodeVisitor, since MatrixMode was not providing +any useful functionality, but made the interface more complex (MatrixMode +was an experimental API) -2005-03-11 06:10 don +Added ReferenceFrame field to osg::Transform which allows users to specify +transforms that are relative to their parents (the default, and previous behavior) +or absolute reference frame, which can be used for HUD's, camera relative +light sources etc etc. Note, the view frustum culling for absolute Transform +are disabled, and all their parents up to the root are also automatically +have view frustum culling disabled. However, once passed an absolute Transform +node culling will return to its default state of on, so you can still cull +underneath an absolute transform, its only the culling above which is disabled. - * Added UFO Manipulator to Viewer -2005-03-11 06:09 don - * Added UFOManipulator to Viewer +Thu, 11 Apr 2002 17:15:07 +0000 +Checked in by : Robert Osfield +Added several new methods to osg::Image to help keep track of memory and added osg::Image::readPixels to encapsulate glReadPixels.Reordering of includes in include/osg/Fog and include/osg/Light to remove silly warnings under Visual Studio. -2005-03-11 06:09 don - * Added UFO manipulator -2005-03-10 11:11 robert +Thu, 11 Apr 2002 17:13:16 +0000 +Checked in by : Robert Osfield +Patch to ReadWriter3DS from Mike Connel. - * Added null pointer check to avoid crash +Thu, 11 Apr 2002 16:05:38 +0000 +Checked in by : Don BURNS +Backed out bad addition of NewCUllVisitor -2005-03-09 22:01 robert +Thu, 11 Apr 2002 15:54:49 +0000 +Checked in by : Don BURNS +Somehow, cvs forgot to check in a modified Makefile with NewCullVisitor added to it... Hm.. anyway this fixes it. - * Added support for writing base layer 0 texture into texture layer - 1 and above - to use as a background. +Thu, 11 Apr 2002 13:53:46 +0000 +Checked in by : Robert Osfield +Fix for Win32 build. -2005-03-09 20:40 robert +Thu, 11 Apr 2002 09:16:01 +0000 +Checked in by : Robert Osfield +Changed the comments for Clay Fowlwer about the GLU patch for RedHat7.2 to reflect the new position of the tarball and its new name. - * Improvements to MultiTextureControl and texture layer handling in - osgTerrain::DataSet. +Thu, 11 Apr 2002 08:24:55 +0000 +Checked in by : Robert Osfield +Fixed refrences to NewCullVisitor which has now been mapped onto CullVisitor. -2005-03-09 16:54 robert +Wed, 10 Apr 2002 22:10:07 +0000 +Checked in by : Robert Osfield +Copied NewCullVisitor over top of CullVisitor and then removed NewCullVisitor.Added some defines to Image in prep for writing code to determine how big a +pixel is. - * Added osgFX::MultiTextureControl node for managing blending - between - different texture layers. -2005-03-08 16:51 robert - * Added basic multiple texture layer support into - osgTerrain::DataSet. +Wed, 10 Apr 2002 21:51:34 +0000 +Checked in by : Robert Osfield +Added new osg::DrawPixels class with encapsulates glDrawPixels as and osg::Drawable. Added osg::Image::readPixels to osg::Image.Made osg::LightSource to default to cullActive set to false to that LightSource +nodes don't get culled by default. -2005-03-07 22:02 robert - * First steps to adding support for multiple texture layers. -2005-03-07 17:25 robert +Wed, 10 Apr 2002 14:34:16 +0000 +Checked in by : Don BURNS +Added placeholder .README file to the PKG directory to keep CVS from removing the directory on an update. - * From Ruben, added handling of vertex indices. - - Note from Robert. New codes produces errors when running - osgfxbrowser cow.osg so I have elected to keep the original - implementation of compute_basis_vectors around and as the default - compile to keep the CVS version working. Ruben's new version - of compute_basis_vectors has to be explicitly compiled in by - toggling an #if 1 block to #if 0. +Wed, 10 Apr 2002 14:32:16 +0000 +Checked in by : Don BURNS +Removed big honkin' SUN PKG files from cvs distribution. -2005-03-07 14:38 robert +Wed, 10 Apr 2002 01:29:45 +0000 +Checked in by : Don BURNS +Added (previously omitted) libpng, libjpeg, libtiff, libgif to makedefs in the Linux section - * Sebastien Grignard, fixed getMember methods to properly use const - type. +Tue, 9 Apr 2002 22:54:43 +0000 +Checked in by : Don BURNS +Fixed makedepend to do the right thing. -2005-03-07 14:30 robert +Tue, 9 Apr 2002 21:46:34 +0000 +Checked in by : Robert Osfield +Added setProjectionMatrix and setModelViewMatrix() methods to osg::SceneView, and associated member variables. I have not linked them up to the cull traversal yet, but this will be the next task. - * From Marco Jez, improved Texture2D and Image handling of - compare(). +Tue, 9 Apr 2002 16:09:19 +0000 +Checked in by : Robert Osfield +Further work on removing Camera references from NewCullVisitor and releted classes, this work paves the way for making osg::Camera an optional extra rather than a requirement for rendering. -2005-03-07 14:27 robert +Tue, 9 Apr 2002 15:51:20 +0000 +Checked in by : Don BURNS +Checking in all Makefile.inst in src/Demos/*. These are the Makefiles that get installed rather than the build Makefiles. - * Added ProxyNode.h +Tue, 9 Apr 2002 14:55:38 +0000 +Checked in by : Don BURNS +Added pkgadd distribution for Solaris.Added a cleaner way to install demo source so that installed versions use a +simplified makedefs/makerules. -2005-03-07 14:16 robert +Small fix to get osgText to compile with Solaris CC. Constructor declared +with a non-const argument, but implemented with const argument. - * Added support for event callbacks -2005-03-07 14:14 robert - * From Sebastien Grignard, added support for reading and writing - callbacks +Mon, 8 Apr 2002 16:50:13 +0000 +Checked in by : Don BURNS +Added -lstdc++ to begining of LIBS on link line.. ?? -2005-03-07 14:06 robert +Mon, 8 Apr 2002 16:25:45 +0000 +Checked in by : Don BURNS +Put quotes around "DBGF" for multi argument - * From Alberto Farre, addition of ProxyNode, with support in .osg, - .ive and .flt loaders +Mon, 8 Apr 2002 08:23:00 +0000 +Checked in by : Robert Osfield +Changed a char* into const char* to fix Solaris build. -2005-03-07 12:32 robert +Mon, 8 Apr 2002 08:22:27 +0000 +Checked in by : Robert Osfield +Fix for VisualStudio's lack of auto_ptr::reset. - * Fixed tabbing. +Sun, 7 Apr 2002 17:47:03 +0000 +Checked in by : Don BURNS +Added a stop gap fix for cygwin build. Previous experiements were creating library and plugin files that looked like system library and system files which would have deleted original files on a 'make install'. Cygwin is not tested yet, but this needed to get fixed before a cygwin user wiped out his system library files. -2005-03-07 12:14 robert +Sat, 6 Apr 2002 09:24:51 +0000 +Checked in by : Robert Osfield +Updates to Makefile to reflect recent .cpp additions such as TextureCubeMap, MemoryManager etc. - * From Marco Jez, "Current version of the LWO plugin creates one - Geode with a single Geometry - for each Lighwave surface, in order to keep surface names - (geometries can't - have names). The attached fix adds a plugin option named - "COMBINE_GEODES" - that allows to place all geometries under a single Geode whenever - possible, - thus offering better chances of further optimization through - osgUtil::Optimizer. The downside is that surface names are no - longer stored - in the scene graph when using this option." +Fri, 5 Apr 2002 02:49:58 +0000 +Checked in by : Don BURNS +Fixed a small oversight in the previous bug fix. in GeoSet::computeBound() _numcoords is NOT necesarily _cindex._size. -2005-03-07 12:05 robert +Fri, 5 Apr 2002 01:52:15 +0000 +Checked in by : Don BURNS +Edited INSTALL for new make and installation procedures. Checking in a fix for Norman Vine Added helprules and help.sh for a long-winded help message if you 'make help'. - * From Mike Weiblen, warning fix for VS7.1 +Thu, 4 Apr 2002 18:01:44 +0000 +Checked in by : Don BURNS +Added Norman Vine's changes for CYGWIN buildsAdded distrules and makerpms for building RPM distributions -2005-03-07 12:05 robert +Removed old RedHatRPM distribution build directory - * Added the use of pixel buffer object in ImageStream so that it is - only - compiled in on non OSX platforms. +Added new dist/RPM directory and placed temporary .spec files (these +are generated by Make/makerpms and are not intended for stand-alone +use, but they keep the directory warm and CVS happy) -2005-03-07 11:58 robert - * Added looping -2005-03-03 12:40 robert +Thu, 4 Apr 2002 00:30:10 +0000 +Checked in by : Don BURNS +Fixed a small bug in compute bound that caused it to come up with the wrong number if the coord array was indexed, and containing bogus (unindexed, yet in-line) numbers. - * Added checking for video file via normal file path checking and - handling of - .xine extension as a special case for XINE style filenames. +Wed, 3 Apr 2002 17:53:46 +0000 +Checked in by : Don BURNS +Cleaned up in stallation directives -2005-03-03 12:35 robert +Wed, 3 Apr 2002 17:42:12 +0000 +Checked in by : Don BURNS +Reinstated Norman Vine's TARGET_BASENAME variable in the makefiles and added prefixes and suffixes to libs and plugins. ALl this to accomodate cygwin...Also added INST_SYS_PREFIX and INST_SHARE_PREFIX for installation, as well +as "standardizing" the install locations for the various platforms. - * Added video aliases to xine plugin -2005-03-03 12:33 robert - * Added improved handling of center justificaion of multiline text +Tue, 2 Apr 2002 06:58:18 +0000 +Checked in by : Don BURNS +Oops forgot to add makedefs and makerules -2005-03-03 12:25 robert +Tue, 2 Apr 2002 06:44:57 +0000 +Checked in by : Don BURNS +The new order for building OSG. All Makefiles are replaced and the Make directory is left with four files only : makedefs makerules makedirrules instrulesThese work for all platforms supported so far, which include : + Linux + Irix + Solaris + MacOSX + Cygwin + FreeBSD - * Added EDventVisitor reference -2005-03-02 15:06 don - * In osg::isGLUExtensionSupported, fixed gluGetString to call - GLU_EXTENSIONS - rather than GL_EXTENSIONS. +Tue, 2 Apr 2002 06:27:07 +0000 +Checked in by : Don BURNS +Folded in Bob Kuehne's changes for Mac OSX to makedefs and makerules -2005-02-26 21:44 robert +Mon, 1 Apr 2002 15:37:21 +0000 +Checked in by : Don BURNS +Added cleanlite rules to makerules.new - * From Paul Melis, fixed typo of setFunctionMask. +Mon, 1 Apr 2002 04:54:11 +0000 +Checked in by : Don BURNS +*** empty log message *** -2005-02-25 23:02 robert +Mon, 1 Apr 2002 03:39:29 +0000 +Checked in by : Don BURNS +Completed and tested instrules.new - * Improved support GUIEventHandler's being node event callbacks. +Sun, 31 Mar 2002 16:43:54 +0000 +Checked in by : Don BURNS +Added more to instrules and makedefs.new Folded in Randall Hopper's changes for FreeBSD -2005-02-25 23:01 robert +Sun, 31 Mar 2002 16:40:44 +0000 +Checked in by : Robert Osfield +Added new osg::Projection node, and osgUtil::NewCullVisitor which are work in progress for the new support for controlling the projection matrix from within the scene graph.Also Added osg::State::getClippingVolume(), getProjectionMatrix() and +getModelViewMatrix() with allows drawables to access the current projection, +and model view matrices and the view frustum in local coords to the drawable. - * Added event callback to Optizimer isNodeEmpty function -2005-02-25 14:02 robert - * Added support for new event visitor type into osgGA and - osgProducer::Viewer, - and event callback into Drawable. +Sun, 31 Mar 2002 09:54:14 +0000 +Checked in by : Robert Osfield +Removed reference to malloc.h, replacing by stdlib.h instead. -2005-02-25 11:26 robert +Sat, 30 Mar 2002 21:20:41 +0000 +Checked in by : Robert Osfield +Warnings fixes, submitted by Randall Hopper. - * Added reference to avifile based plugin. +Sat, 30 Mar 2002 15:13:33 +0000 +Checked in by : Robert Osfield +Fix for Cygwin build. -2005-02-25 08:38 robert +Fri, 29 Mar 2002 17:26:40 +0000 +Checked in by : Robert Osfield +Move the applying of Projection and ModelView matrices into osg::State so that it now maintains references to the last applied matrices, automatically doing lazy state updating. This simplifies the various places in the OSG which were previously doing the applying, add paves the way for managing the projection matrix within the scene graph.Remove MemoryAdapter and mem_ptr as they arn't being used, and can potentially +confuse users by their existance. - * New simplified timer implementation. -2005-02-24 17:07 robert - * Added pause, rewind and play support into xine plugin. +Fri, 29 Mar 2002 12:23:54 +0000 +Checked in by : Robert Osfield +Converted from dos file endings to unix. -2005-02-24 13:33 robert +Fri, 29 Mar 2002 12:23:20 +0000 +Checked in by : Robert Osfield +Fixes for dos endings in MemoryManager.cpp, and compile fix for osgText for Cygwin. - * From Mike Weiblen, adding prelimimnary GL Shader Language support - into core OSG lib. - with renaming and reordering by Robert Osfield, +Fri, 29 Mar 2002 06:54:23 +0000 +Checked in by : Don BURNS +Added new install rules for makefiles and updated makedefs and makerules... more to come -2005-02-23 12:50 robert +Thu, 28 Mar 2002 23:06:20 +0000 +Checked in by : Robert Osfield +Fixes for IRIX build. - * Made Referenced::ref() and unref() inline methods. +Thu, 28 Mar 2002 07:29:07 +0000 +Checked in by : Don BURNS +Couple a fixes in makedefs and makerules -2005-02-22 20:56 robert +Thu, 28 Mar 2002 06:35:57 +0000 +Checked in by : Don BURNS +Added Norman Vines fixeds for cygwin - * Removed the default play() in the MPEG, QuickTime and Xine - plugins, moving - it into the osgmovie application, and into readNodeFile method - where - --movie is now available for detecting movie code. +Wed, 27 Mar 2002 23:04:52 +0000 +Checked in by : Robert Osfield +A compile fix to the new Texture subload changes. -2005-02-22 20:25 robert +Wed, 27 Mar 2002 22:51:58 +0000 +Checked in by : Robert Osfield +Added support for setting the texture subload width and height within osg::Texture. The values default to 0, and in this state they are sizes of the glTexSubImage2D are taken from the source image size. This allows the previous setup with no settings for subload size to work as before. - * Made the osg::Referenced Mutex be declared as a pointer to a - Mutex, with the - Mutex allocated dynamically when required. Added the following - methods to - help manage the usage of the mutex: - - void setThreadSafeRefUnref(bool threadSafe); - - bool getThreadSafeRefUnref() const; +Wed, 27 Mar 2002 16:31:25 +0000 +Checked in by : Robert Osfield +Futher updates to MemoryManager, fixed memory leak in osgconv. -2005-02-22 19:19 robert +Wed, 27 Mar 2002 14:56:47 +0000 +Checked in by : Robert Osfield +Updates to various files, replacing delete calls with osgDelete so that greater debugging info can be gleaned. - * Added support for control the pitch of the drive manipulator via - the - up and down cursor keys. +Wed, 27 Mar 2002 10:52:40 +0000 +Checked in by : Robert Osfield +Added support for VERTICAL_SPILT and HORIZONTAL_SPLIT stereo modes. -2005-02-22 14:42 robert +Wed, 27 Mar 2002 06:09:17 +0000 +Checked in by : Don BURNS +Update to makeefs/makerules - * Added size of Mutex. +Wed, 27 Mar 2002 00:55:52 +0000 +Checked in by : Don BURNS +update to makedefs.new makerules.new -2005-02-22 13:34 robert +Tue, 26 Mar 2002 23:52:52 +0000 +Checked in by : Robert Osfield +Added support for osg::MemoryManager which is based upon Paul Nettle's memory manager published at flipcode.com. This can be turned on with the OSG_USE_MEMORY_MANGER option which then uses custom global new and delete operators as well as provide osgNew and osgDelete macro's which add ability to log line and file from which calls are made.Updated osg,osgUtil,osgDB,osgText and osgPlugins/osg to use osgNew/osgDelete, +and fixed memory leaks highlighted by the new memory manager. - * Added improved PBO support. -2005-02-22 11:55 robert - * Fixes from Marco Jez. +Tue, 26 Mar 2002 21:26:27 +0000 +Checked in by : Don BURNS +Adding makedirrrules to Make directory -2005-02-22 10:16 robert +Tue, 26 Mar 2002 21:24:04 +0000 +Checked in by : Don BURNS +Temporarily adding makedefs.new and makerules.new to keep them separate from current makedefs/makerules files. Will eventually remove all makedefs.* and makerules.* and replace only makedefs and makerules with makedefs.new and makedefs.new - * From Igor Kravtchenko, add #define's for OpenGL float internal - texture formats. +Mon, 25 Mar 2002 23:18:02 +0000 +Checked in by : Robert Osfield +Added osg::MemoryManger which is currently based on Paul Nettle's memory manager published at flipcode. I havn't adopted Paul's macro's for new/delete etc, but use osg prefixed versions instead to allow greater flexiblity in handling include ordering.Have fixed a couple of new/delete[] problems which existed as a result. -2005-02-22 10:08 robert +To use the MemoryManager to track memory usage simply add +-DOSG_USE_MEMEORY_TRACKING to the compile line. - * Changed the Switch::addChild(Node*) behavior so it doesn't - override the - any pre-exisitng _values value. +Have yet to move the osg from using new to osgNew, will do this next. -2005-02-21 17:02 robert - * Added support for interpolating low res source data onto higher - res destination tiles. -2005-02-15 09:37 robert +Mon, 25 Mar 2002 23:13:30 +0000 +Checked in by : Robert Osfield +Added missing osgstereoimage.dsp - * Tweak to comment. +Mon, 25 Mar 2002 19:04:30 +0000 +Checked in by : Robert Osfield +Fixes for MacOSX build. -2005-02-14 15:17 robert +Sat, 23 Mar 2002 21:30:32 +0000 +Checked in by : Robert Osfield +Fixed warning in DisplaySettings.cpp - * From Alberto Farre, fix to nested OpenFlight file problem. +Sat, 23 Mar 2002 21:28:25 +0000 +Checked in by : Robert Osfield +Moved the exit on escape into Window, and added a virtual free method on both Window an Viewer to clean up the windows, this is now called before exit is finally called, ensure that more more memroy is clean up prior to exit. -2005-02-13 18:10 robert +Sat, 23 Mar 2002 10:55:29 +0000 +Checked in by : Robert Osfield +Added GL_TEXTURE_3D definition for those with gl.h headers which don't contain it. - * Made conversion use BGRA. +Thu, 21 Mar 2002 15:46:34 +0000 +Checked in by : Robert Osfield +Added missing TextureCubeMap.cpp to cvs. -2005-02-13 16:35 robert +Thu, 21 Mar 2002 12:36:05 +0000 +Checked in by : Robert Osfield +Renamed have_applied_mode, have_applied_attribute, apply_mode, apply_attribute to haveAppliedMode, haveAppliedAttribute, applyMode, applyAttribute to make it more consistent with the general OSG name convetion. - * Added usage of the new xine_register_plugins() call. +Thu, 21 Mar 2002 12:00:10 +0000 +Checked in by : Robert Osfield +Added osg:State:have_applied_mode(mode) and have_applied_attribute(type) to make it easier to specify which modes and attributes have been modified without the user requiring to know to what value, or to have an equivilant attribute to pass to the have_applied_attribute method. The original have_applied(mode) and have_applied(attribute) methods have been renamed have_applied_mode(), have_applied_attribute() as this was required to prevent the mode and type values colliding during compile (it was causing a compile error when the method names were the same.) -2005-02-13 15:07 robert +Thu, 21 Mar 2002 11:57:16 +0000 +Checked in by : Robert Osfield +_cullMaskRight was not being initialized in the constructor which was resulting in some sporadic problems when running stereo - occoasionally the right eye view wouldn't appear! - * Disable the MMX usage +Thu, 21 Mar 2002 07:50:14 +0000 +Checked in by : Don BURNS +Modified files reflect small changes to work with Sun OS port....Removed redundant README file in osgviews... was a copy of sgv/README. -2005-02-12 19:47 robert - * Remerged Tugkan's fix to flatten static transforms. -2005-02-12 16:49 robert +Wed, 20 Mar 2002 22:39:51 +0000 +Checked in by : Robert Osfield +Added osg::TextureCubeMap which encapsulates OpenGL's cube texture mapping. - * Put spaitalize groups to end. +Wed, 20 Mar 2002 14:03:30 +0000 +Checked in by : Robert Osfield +Added a Referenced::unref_nodelete() method which unreferences but does not delete the object even if its count goes to 0 or below. This should only be called in special circumstances, the ReaderWriter::ReadResult being one of them. This new method has allowed the problem of objects being multiple referenced on return from readNodeFile() & readImageFile(). -2005-02-12 16:24 robert +Wed, 20 Mar 2002 11:24:47 +0000 +Checked in by : Robert Osfield +Updates to Texture and TextureCubeMap to clean up the code so they share much more of the core texture setup code. This largely invloved paramterizing the applyImmediateMode, which has also been rename applyTexImage to reflect its functionality better. - * From Tugkan Calapoglu, bug fix to FLATTEN_STATIC_TRANSFORMS. - Small tweak of the code to make the comparison against Identity - matrix clearer. +Wed, 20 Mar 2002 11:22:06 +0000 +Checked in by : Robert Osfield +Added the fallback of intersecting with the a drawables bounding box, if the drawable isn't a GeoSet and hence supported by the IntersectVisitor's GeoSet primitive intersections code. -2005-02-11 20:43 robert +Mon, 18 Mar 2002 23:10:33 +0000 +Checked in by : Robert Osfield +Added osg::TextureCubeMap. submission from Brede Johansen. - * Added --prune-StateSet option into osgconv for bottleneck - testing. +Mon, 18 Mar 2002 22:03:28 +0000 +Checked in by : Robert Osfield +Fixed the MS version number check in Optiizer.cpp. Fixes to memory handling in ReaderWriterDW.cpp. Submissions from Geoff Michel. -2005-02-11 17:22 robert +Mon, 18 Mar 2002 21:56:00 +0000 +Checked in by : Don BURNS +Changes required for SUN Solaris port... - * Fixed spatial groups. +Sun, 17 Mar 2002 18:44:47 +0000 +Checked in by : Robert Osfield +Added new osgstereoimage demo which loads two stero paired images to create a 3D via of photographed scene. -2005-02-11 16:43 robert +Thu, 14 Mar 2002 23:19:58 +0000 +Checked in by : Robert Osfield +Fix of a delete char array so it used delete []. - * Added support for fixing transprency on objects that should have - been - placed in the opaque bin. +Thu, 14 Mar 2002 20:29:05 +0000 +Checked in by : Don BURNS +Fixed a problem for finding MIPS 64 bit libraries. Was seaching for LD_LIBRARYN32_PATH instead of LD_LIBRARY64_PATH -2005-02-11 10:09 robert +Thu, 14 Mar 2002 17:34:08 +0000 +Checked in by : Robert Osfield +Integrated various changes worked on at the Glasgow Science Center. Changes include change the CameraManipulators so they work with double for time instead of float. Also added support for DataType to osg::StateAttribute and StateSet so that they can be set to either STATIC or DYNAMIC, this allows the optimizer to know whether that an attribute can be optimized or not. - * From Sebastien Grignard, fixed memory leak where header and - databuffers - wern't deleted. +Thu, 14 Mar 2002 16:42:43 +0000 +Checked in by : Robert Osfield +Added a TextureCallback which cycles through various filter modes, used in testing new glTextParamters update functionality. I have commented out the call to attaching of the callback so osgtexture outwardly behaves as before. The code lies dormant just incase we need to use it for testing in the future. -2005-02-11 10:00 robert +Thu, 14 Mar 2002 16:01:21 +0000 +Checked in by : Robert Osfield +Changed Texture so that is use lazy updating on texture paramters (Filter/Wrap) mode by using a _texParamtersDirty flag in combination with an applyTexParamters(State&) method which does the paramters setting in one tidy bundle. This new implementations replaces the CompileFlags submitted yesterday.Simplified NodeCallback by remove osg::NodeCallback::Requirements as they +are no longer needed. - * Added support into passing the ReaderWriter::Options structure - onto readImageFile +Fixed comments in Drawable. -2005-02-11 09:59 robert +Put guards around cosf definations so that they are only used under Win32/Mac. - * Removed debugging messages +Fixed warning in CullVisitor. -2005-02-11 09:58 robert - * Added new utilities for handling different '/' and '\' entries. -2005-02-10 21:30 robert +Thu, 14 Mar 2002 15:26:55 +0000 +Checked in by : Robert Osfield +Fix to handling of big/little endian in trpage_readbuf sent in by Randall Hopper, and a waning fix. - * Removed redundent _nodePath entry. +Thu, 14 Mar 2002 00:07:29 +0000 +Checked in by : Don BURNS +Fixed compile flags in Texture -2005-02-10 21:18 robert +Wed, 13 Mar 2002 22:44:22 +0000 +Checked in by : Don BURNS +Fixed DrawCallback in Drawable and added CullCallback to Drawable Cull Visitor now checks for a Drawable's CullCallback and calls it if it exists. It then prunes based on the return value (bool) of the cull callback. - * From Chris Xennon, add support for billboard intersections + fix - to addLineSegments. - - Small addition from Robert Osfield of setLODSelectionMode(..) to - control - the LOD selection behavior. +Sat, 9 Mar 2002 10:54:56 +0000 +Checked in by : Robert Osfield +Support added for pivot points, submission from Mike Connel. -2005-02-10 20:38 robert +Sat, 9 Mar 2002 10:53:19 +0000 +Checked in by : Robert Osfield +Fixed setWindowWidth call to account for width and height correctly. - * From Igor Kravtchenko, new HDR plugin. +Sat, 9 Mar 2002 10:52:32 +0000 +Checked in by : Robert Osfield +TXP plugin updates from Boris Bralo. -2005-02-10 20:21 robert +Sat, 9 Mar 2002 10:52:01 +0000 +Checked in by : Robert Osfield +TXP plugin changes submitted by Boris Bralo. - * warning fix +Sat, 9 Mar 2002 10:51:09 +0000 +Checked in by : Robert Osfield +TXP plugin update from Boris Bralo. -2005-02-10 20:14 robert +Mon, 4 Mar 2002 01:37:18 +0000 +Checked in by : Robert Osfield +Added file extension guard to .obj reader plugin. - * Put pixel buffer define's into their own block. +Sun, 3 Mar 2002 22:31:46 +0000 +Checked in by : Robert Osfield +Added support for seperate traversal masks for standard, left and right cull traversals. This allows one to create seperate rendering for left and right eyes when doing stereo. -2005-02-10 15:53 robert +Sat, 2 Mar 2002 09:24:05 +0000 +Checked in by : Robert Osfield +Added a GL vesion number check to LightModel, and small typo fix in Registry. - * Fixed the pixelFormat to be RGBA. +Fri, 1 Mar 2002 09:29:56 +0000 +Checked in by : Robert Osfield +Added getInverse implementation to AnimationPath, and added #if guard to Optimizer.cpp to all compilation on state optimizer when using VS7. -2005-02-10 15:52 robert +Fri, 1 Mar 2002 09:28:47 +0000 +Checked in by : Robert Osfield +Fixes to osgText to improve robustness when running multithreaded multipipe apps. - * Implemented the osg::Image::isImagTranslucent function. +Fri, 1 Mar 2002 09:27:10 +0000 +Checked in by : Robert Osfield +Updates to the clamp to border support in osg::Texture. -2005-02-09 16:18 robert +Thu, 28 Feb 2002 00:11:31 +0000 +Checked in by : Robert Osfield +Added support for setting the maximum number of graphics contexts that the OSG has to maintian. - * Changed the mpeg plugin to read movies the original way up rather - than the - OpenGL way up to keep them consistent with the xine and quicktime - movie codes +Wed, 27 Feb 2002 22:12:07 +0000 +Checked in by : Robert Osfield +Added an using namespace osg to fix a MipsPro7.3 build error. -2005-02-09 15:31 robert +Wed, 27 Feb 2002 22:04:17 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file with Boris' email address. - * Created local XineImageStream class to ensure xine streams are - cleaned up correctly. +Wed, 27 Feb 2002 22:00:47 +0000 +Checked in by : Robert Osfield +Integrated support for GL_CLAMP_TO_BORDER_ARB extension to osg::Texture, submitted by Sasa Bistrovic. -2005-02-09 14:27 robert +Wed, 27 Feb 2002 21:57:56 +0000 +Checked in by : Robert Osfield +Fixes to DW loader, submitted by Geoff Michel. - * Added setting of the filename +Wed, 27 Feb 2002 00:58:54 +0000 +Checked in by : Robert Osfield +Added new osg::AnimationPath which is contaner for a set of key frames for defining an animation path. To be used with osg::Transform etc. -2005-02-09 13:22 robert +Tue, 26 Feb 2002 20:01:04 +0000 +Checked in by : Robert Osfield +Added makeRotate(heading,pitch,roll) to Quat in prep for new classes for animation paths. - * Added getenv OSG_XINE_AUDIO_DRIVER to xine plugin to allow users - to - set what the default audio to use +Mon, 25 Feb 2002 23:14:27 +0000 +Checked in by : Robert Osfield +Added LightModel.cpp's to Codewarrior files and added definiations for pre gl version 1.2 headers lack of support for color control. -2005-02-09 12:29 robert +Mon, 25 Feb 2002 22:46:38 +0000 +Checked in by : Robert Osfield +Added support for glLightModel functionality via osg::LightModel. - * Commented out the debug messages, added back in the audio into - the xine plugin +Sun, 24 Feb 2002 23:03:10 +0000 +Checked in by : Robert Osfield +Updated docs, ChangLog and NEW for patched version of 0.8.44. -2005-02-09 11:30 robert +Sun, 24 Feb 2002 22:39:45 +0000 +Checked in by : Robert Osfield +Added LineStipple to mcp file. - * Added vertical offset to multiple movies instances +Sun, 24 Feb 2002 20:55:45 +0000 +Checked in by : Robert Osfield +Added support for glLineStipple via osg::LineStipple state attribute. -2005-02-09 10:39 robert +Sun, 24 Feb 2002 20:21:43 +0000 +Checked in by : Robert Osfield +Removed Metrowerks.mcp as it has not been kept up to date since October, the new OpenSceneGraph.mcp replaces it. - * Added osg::BufferObject and a made a number associated to - accomodate this - new class. osg::BufferObject wraps up OpenGL pixel and array - buffer objects. - Currently implementation is work in progress. +Sun, 24 Feb 2002 16:49:23 +0000 +Checked in by : Robert Osfield +Integrated fixes to the detailed depth calculation in the CullVisitor from Sasa, and fix to the IntersectVisitor's management of path from Sean. -2005-02-07 20:45 robert +Sat, 23 Feb 2002 00:16:21 +0000 +Checked in by : Robert Osfield +Updates to Windows Codwarrior file - * Removed the repeated entry of HiehgtFieldNode in include list +Fri, 22 Feb 2002 23:40:25 +0000 +Checked in by : Robert Osfield +updates for Win32 Codewarrior build -2005-02-07 20:44 robert +Fri, 22 Feb 2002 23:39:42 +0000 +Checked in by : Robert Osfield +Fix for win32 Codewarrior build - * From Paul Melis, fixed the setFrameStatsMode() method +Fri, 22 Feb 2002 17:12:10 +0000 +Checked in by : Robert Osfield +Add support for Metrowerks Codewarrior build under Windows. -2005-02-07 17:28 robert +Tue, 19 Feb 2002 18:59:39 +0000 +Checked in by : Robert Osfield +fixed txp build name problem - was overwriting .osg plugin. - * Added the full set of buffer object methods +Mon, 18 Feb 2002 23:01:09 +0000 +Checked in by : Robert Osfield +Fixed stereo implementation. -2005-02-07 15:00 robert +Mon, 18 Feb 2002 21:52:45 +0000 +Checked in by : Robert Osfield +Fixes to Win32 build of new DX writer plugin. - * Temporarily added xine video_out_rgb xine-plugin inline to the - OSG's xine plugin +Mon, 18 Feb 2002 20:48:52 +0000 +Checked in by : Robert Osfield +Comment w.r.t OpenDX plugin updated. -2005-02-06 10:14 robert +Mon, 18 Feb 2002 20:46:47 +0000 +Checked in by : Robert Osfield +Added OpenDX writer from Randall Hopper. - * Changed the LightSource::setReferenceFrame() read code so that it - doesn't - enable the culling active flag if its was already set to false. +Thu, 14 Feb 2002 13:26:37 +0000 +Checked in by : Robert Osfield +Beginings of reimplementation of stereo support in scene view. Work not complete yet. -2005-02-04 20:36 robert +Thu, 14 Feb 2002 12:55:16 +0000 +Checked in by : Robert Osfield +updated the options for the txp plugin. - * Turned off lighting. +Thu, 14 Feb 2002 12:51:38 +0000 +Checked in by : Robert Osfield +Removed osgWX workspace files. -2005-02-04 19:34 robert +Thu, 14 Feb 2002 11:06:03 +0000 +Checked in by : Robert Osfield +Fixed impostor bug introduced when new modelview matrix was moved entirely within the cull traversal/draw traversal. The impostor code has been adapted to the new convention. - * Added prototype xine movie plugin. +Wed, 13 Feb 2002 22:56:47 +0000 +Checked in by : Robert Osfield +Updated the makefiles to all have the #!gmake reference to force IRIX compilation using gmake rather than pmake or smake. This gets round issues with exporting OSGHOME. -2005-02-04 03:58 don +Wed, 13 Feb 2002 22:53:58 +0000 +Checked in by : Robert Osfield +Updated the osgconv support for orientation conversion so that it used inserted a static transform to do the work of rotating the scene, then applied a standard osgUtil::Optimizer::FlattenStaticTransformsVisitor traversal to flatten the transfrom down on to the geometry nodes. - * Updated IRIX dist generation file for IRIX binaries +Wed, 13 Feb 2002 22:52:07 +0000 +Checked in by : Robert Osfield +Fixed the fabsf define which was eroneous mapped to sqrtf, due to the copy and paste antipattern no doubt. -2005-02-03 13:10 robert +Wed, 13 Feb 2002 00:13:03 +0000 +Checked in by : Robert Osfield +Fixed problems with intersection visitor coupled with the viewer. - * Change unsigned long to unsigned int to avoid 64/32 bit problems. +Wed, 13 Feb 2002 00:00:20 +0000 +Checked in by : Robert Osfield +Added sgv -stereo cessna.osg to make test list. -2005-02-02 22:13 don +Tue, 12 Feb 2002 23:49:24 +0000 +Checked in by : Robert Osfield +Added a set of test runs to the makefiles and demos. The demos now have titles relevenat to their function. - * Added Viewport State Attribute to .osg reader/writer +Tue, 12 Feb 2002 22:51:18 +0000 +Checked in by : Robert Osfield +Updates for IRIX build, and docs updates. -2005-02-02 15:08 robert +Tue, 12 Feb 2002 22:35:56 +0000 +Checked in by : Robert Osfield +Removed references to osgWX from the doc++ directory. - * From, Leandro Motta Barros, Doxygen comments. - - Ammendments by Robert Osfield, a few comment rewrites to better - reflect API functionality/usage. +Tue, 12 Feb 2002 08:23:07 +0000 +Checked in by : Robert Osfield +Updates to Transform and CullVistor to support new getLocalToWorldMatrix methods. -2005-02-01 22:36 robert +Mon, 11 Feb 2002 23:24:23 +0000 +Checked in by : Robert Osfield +Updates to Transform handling in CullVisitor, in prep for moving camera modelview and projection into Transform nodes. - * Added support for modulating alpha values +Mon, 11 Feb 2002 22:53:42 +0000 +Checked in by : Robert Osfield +Clean up of TXP plugin for IRIX build. -2005-02-01 15:03 robert +Mon, 11 Feb 2002 19:51:24 +0000 +Checked in by : Robert Osfield +Cleand up the root Makefile.Moved CullVisitor/RenderStage/RenderStageLighting across to managing lights +entirely within RenderStageLighting, and changed the management of modelview +matrices so that RenderLeaf now stores the absolute modelview matrix, rather +than a model matrix as done previously. The later allows RenderLeaf's to do +a glLoadMatrix rather than a glPushMatrix/glMultMatrix/glPopMatrix. - * Removed debugging messages. -2005-02-01 13:19 robert - * Added support for OSG_CAMERA_THREADING env variable which is set - to - "SingleThreaded" will ensure that OsgCameraGroup runs singe - threaded. +Mon, 11 Feb 2002 15:09:52 +0000 +Checked in by : Robert Osfield +Fixed Linux hang of the TXP loader by overriding the default -O2 optimization level which appears to cause the code to hang, -O works fine for some strange reason, I havn't found any direct problems in the code. This may be compiler bug or a code bug, the bug may go away in later versions of GNUC++, the problem currently occurs under GCC2.96. -2005-02-01 10:38 robert +Mon, 11 Feb 2002 12:51:08 +0000 +Checked in by : Robert Osfield +Applied fix to transparancy in flt loader. - * Added support for internalTextureMode +Mon, 11 Feb 2002 03:26:20 +0000 +Checked in by : Robert Osfield +Fixed the date on the release. -2005-02-01 09:38 robert +Mon, 11 Feb 2002 02:38:05 +0000 +Checked in by : Robert Osfield +Updated changelog for release. - * Added conversion of dataType to GL_UNSIGNED in raw data reading - path. +Mon, 11 Feb 2002 02:34:30 +0000 +Checked in by : Robert Osfield +Fixed a make install error on the plugins related to the old definitions for plugin names hanging around despite being deprecated. These definiations confused the make install/make instclean so it tried to link a non existant library. Have removed old definitions and everything intalls properly once more:-) -2005-02-01 09:02 robert +Mon, 11 Feb 2002 01:02:21 +0000 +Checked in by : Robert Osfield +Updated changelog. - * Added code for rescaling images. +Mon, 11 Feb 2002 00:51:45 +0000 +Checked in by : Robert Osfield +Did a make docs, in prep for the 0.8.44 release. -2005-02-01 09:00 robert +Mon, 11 Feb 2002 00:42:33 +0000 +Checked in by : Robert Osfield +Added missing doc++ generated .html files. - * Added red, green, blue and alpha values. +Mon, 11 Feb 2002 00:40:37 +0000 +Checked in by : Robert Osfield +Updated Stats code, sent in by Geof Michel. -2005-02-01 09:00 robert +Mon, 11 Feb 2002 00:23:44 +0000 +Checked in by : Robert Osfield +Clean up INSTALL notes. - * Added support for 8 parameters. +Sun, 10 Feb 2002 23:19:47 +0000 +Checked in by : Robert Osfield +Updateds NEWS for the 0.8.44 release.Change the osg::NodeVisitor::getLocalToWorldMatrix() / +getWorldToLocalMatrix() methods so it do not initilize the matrix being +passed to them, and assume the the users has already initiliazed them +appropriately, such as to take account of camera positions. -2005-01-31 20:09 robert - * Added support for raw image formats -2005-01-28 17:24 robert +Sun, 10 Feb 2002 22:35:22 +0000 +Checked in by : Robert Osfield +Implemented NodeVisitor's getLocalToWorldMatrix and getWorldToLocalMatrix to allow users to querry the current accumulated matrix state within the scene graph. - * Removed include of Producer/RenderSurface +Sun, 10 Feb 2002 20:05:38 +0000 +Checked in by : Robert Osfield +Disbalbed a dumb warning in Windows build via a #pragma. -2005-01-28 16:09 robert +Sun, 10 Feb 2002 17:16:43 +0000 +Checked in by : Robert Osfield +Fixed a bug in the drive manipulator which was due to it using the local coords of the intersection point with the scene rather than the world coord value for that point. The code now uses osgUtil::Hit::getWorldIntersectionPoint() method for getting the world coords.Added support for getWorldIntersectionPoint to Viewer.cpp. - * From Tree, removed redundent "inline"s +Put and #ifdef around the setting of the default display list visitor so +it nolonger sets in under IRIX. This is a world around to the IR graphics +imbending lighting info into display lists, if the display lists are +created before state is set up it produces lighting artifacts such as +flickering. Remove the the default display list init visitor removes +these problems, display lists are then built on the fly and drawables +a drawn for the first time. -2005-01-28 11:01 robert - * Added definitation for GL_COMPRESSED_* tokens for case where - early OpenGL headers - don't provide them. -2005-01-27 20:26 robert +Sun, 10 Feb 2002 11:17:58 +0000 +Checked in by : Robert Osfield +Fixes for MacOSX build. - * Moved the template function into the global namespace. +Sun, 10 Feb 2002 10:42:55 +0000 +Checked in by : Robert Osfield +Fixes to TXP loader for Cygwin and Ming builds. -2005-01-27 20:18 robert +Sat, 9 Feb 2002 22:29:40 +0000 +Checked in by : Robert Osfield +Fixed the osgUtil::Optimizer::FlattenStaticTransformVisitor so that it does not flatten drawables which have double references to them, but only one reference with a static transform on it. This case can't be flattened but this wasn't picked up. The code now detects the case correctly. - * Fixes to osg::Image's handling of compressed formats. +Sat, 9 Feb 2002 21:29:33 +0000 +Checked in by : Robert Osfield +Updates to BMP loader from Geoff Michel. -2005-01-27 15:54 robert +Sat, 9 Feb 2002 19:46:44 +0000 +Checked in by : Robert Osfield +Added std:: infront of string refrences to solve compile problems under gcc 3.0.3.Also converted to unix file endings so other the windows style files. - * Fixes for Win32 build -2005-01-27 14:54 robert - * Added /Zm 200 option to avoid heap problems +Sat, 9 Feb 2002 14:29:58 +0000 +Checked in by : Robert Osfield +Updates to docs and fixes to a few warnings. -2005-01-27 14:39 robert +Sat, 9 Feb 2002 10:54:18 +0000 +Checked in by : Robert Osfield +Updated docs. - * From Nicolas Brodu, new faster osg::Quat::makeRotate(Vec3d,Vec3d) - implmentation. - - From Robert Osfield, modes to osg::Quat to keep the original - implmentation around - as makeRotate_original(,) and added tests into osgunittest to - test the new - methods provide equivilant results to the original - implemementation. The - orignal implementation will be removed once the new method is - more widely tested. +Sat, 9 Feb 2002 10:50:09 +0000 +Checked in by : Robert Osfield +Fix to BMP loader. -2005-01-27 13:23 robert +Sat, 9 Feb 2002 10:24:39 +0000 +Checked in by : Robert Osfield +Fixes for cygwin and mingw builds. - * From Chris Hanson, minor tweaks to docs on getDescriptions. +Fri, 8 Feb 2002 23:07:43 +0000 +Checked in by : Robert Osfield +Removed further wxsgv files. -2005-01-27 13:15 robert +Fri, 8 Feb 2002 23:04:59 +0000 +Checked in by : Robert Osfield +Removed osgWX and wxsgv from the repositry as it is intend to keep the core distribution clean from GUI examples, these instead should live in the bazaar. This can better accomodate the many different types of viewer that users are developming. - * From Leandro Motta Barros, doxygen comments +Fri, 8 Feb 2002 22:55:21 +0000 +Checked in by : Robert Osfield +Added support for parents to Drawables.Bumped up version numbers in prep for 0.8.44. -2005-01-27 11:18 robert - * Changed template instances to template -2005-01-27 11:16 robert +Fri, 8 Feb 2002 09:30:02 +0000 +Checked in by : Robert Osfield +Fixes for IRIX and Boris Bralo's TerraPage loader. - * Fixed tabbing. +Thu, 7 Feb 2002 08:07:33 +0000 +Checked in by : Robert Osfield +Fixed teh setDrawCallback so that it now calls dirtyDisplayList() instead of dirtyBound. -2005-01-27 11:10 robert +Thu, 7 Feb 2002 01:17:54 +0000 +Checked in by : Robert Osfield +Fix for Win32 build. - * Changed Font::setSize to Font::setFontResolution +Thu, 7 Feb 2002 01:15:15 +0000 +Checked in by : Robert Osfield +Various investigations into culling errors w.r.t matrix inversion resulted in the conclusion that the osg::Matrix::inverse was broken, have lifted a new implementation from sgl and it seems to work fine. Will need further testing but looks good. -2005-01-25 22:15 robert +Thu, 7 Feb 2002 01:12:06 +0000 +Checked in by : Robert Osfield +Fix for the handling of lighting in the DW loader. - * From Donn Mielcarek, change of long and unsigned long to int32 - and uint32 to - avoid 32bit vs 64bit issues. +Thu, 7 Feb 2002 01:11:20 +0000 +Checked in by : Robert Osfield +Added a check to the destructor of Referenced so that it detects referenced objects that are deleted whilest still having a positive _refCount, such as when a object has been deleted on the stack, yet other references still exist for it. Have put the desctructor implementation in Object.cpp to avoid adding yet another file with only a couple of lines of code in. -2005-01-22 16:55 robert +Thu, 7 Feb 2002 01:07:11 +0000 +Checked in by : Robert Osfield +Added callbacks to allow users to modify the underlying functionality of LOD, Billboard and Drawabel objects. - * From Mason Menninger, addition of setTrackballSize() parameter. +Thu, 7 Feb 2002 01:05:52 +0000 +Checked in by : Robert Osfield +Added extensions code submitted by Yefrei. -2005-01-22 15:41 robert +Wed, 6 Feb 2002 08:57:06 +0000 +Checked in by : Robert Osfield +Compile fixes. - * From Leandro Motta Barros, Doxygen comments for OsgCameraGroup - and Viewer. - With a few small ammendments/additions from Robert Osfield. +Tue, 5 Feb 2002 21:54:46 +0000 +Checked in by : Robert Osfield +Have taken a few more steps towards support for view dependant transformations by adding a ComputeTransformCallback to osg::Transform, and have now removed the recently added AutoTransform since it is nolonger required. Have also updated CullVisitor to account for the new ways for tracking transformation matrices in the scene. -2005-01-21 21:00 robert +Tue, 5 Feb 2002 21:51:06 +0000 +Checked in by : Robert Osfield +Have removed the old lazy initialization of Matrix since it was causing bugs and adding checks to many mothods which in the end slow it down more than not intilizing the code! The code is now simpler, more robust and faster:-) - * From Yuzhong Shen, removed repeated statements in Hit operator =. +Tue, 5 Feb 2002 10:49:58 +0000 +Checked in by : Robert Osfield +Added comment to flt2osg's handling of osg::Material setup w.r.t osg::Material::_colorMode. -2005-01-21 19:33 robert +Sun, 3 Feb 2002 22:32:48 +0000 +Checked in by : Don BURNS +added shademodel to TARGET_INCLUDE_FILES - * From Kevin Moiule, rewrote PNM plugin to handle grayscale PNM - images. +Sun, 3 Feb 2002 20:57:31 +0000 +Checked in by : Robert Osfield +Added beginings of new AutoTransform class. -2005-01-21 19:31 robert +Sun, 3 Feb 2002 19:18:14 +0000 +Checked in by : Robert Osfield +Fixes for GCC 3.0.3 build. - * build fix +Sun, 3 Feb 2002 12:33:41 +0000 +Checked in by : Robert Osfield +Removed the trailing ; after namespace {...} declariations in headers which was being picked as a warning under Codewarrior. -2005-01-21 19:30 robert +Sun, 3 Feb 2002 11:38:20 +0000 +Checked in by : Robert Osfield +Added first cut at new AutoTransform node which will be used for generating Transform's during the cull traversal such as for earth/sky etc. - * From Tree, add get methods +Sun, 3 Feb 2002 11:35:24 +0000 +Checked in by : Robert Osfield +Updates for Borland compilation. -2005-01-21 19:28 robert +Sat, 2 Feb 2002 20:07:59 +0000 +Checked in by : Robert Osfield +Added defined( __BCPLUSPLUS__) to windows export code segments. - * Change dhte CullSettings to be correct to new changes in - osgProducer +Sat, 2 Feb 2002 19:49:47 +0000 +Checked in by : Robert Osfield +Fixed a copy and paste error which was causing compile problems under Windows, due to a incorrect comparison of objects of different types. -2005-01-21 19:21 robert +Sat, 2 Feb 2002 10:52:30 +0000 +Checked in by : Robert Osfield +Typo fixed in the header guard. - * Fixed the input/output handling of ReferenceFrame values to be - RELATIVE and ABSOLUTE - rather than long original names. +Wed, 30 Jan 2002 19:59:36 +0000 +Checked in by : Robert Osfield +Fixed clone(CopyOp&) and cloneType() methods which were out of sync with the new style clone operations. -2005-01-21 19:15 robert +Wed, 30 Jan 2002 18:59:36 +0000 +Checked in by : Robert Osfield +Fixes for Windows build - * From Tugkan Calapoglu, bugfix to prevents reloading already - loaded images. +Wed, 30 Jan 2002 16:24:24 +0000 +Checked in by : Robert Osfield +Fixes for Windows build. -2005-01-12 15:37 robert +Wed, 30 Jan 2002 15:27:45 +0000 +Checked in by : Robert Osfield +Removed the M_PI defines from include/osg/Math and have use a const double osg::PI etc in its place. - * From Rainer Oder, with additions from Robert. osgslice example - which - generates a 3d volume from a source geometry model. +Wed, 30 Jan 2002 15:02:56 +0000 +Checked in by : Robert Osfield +Changes for Borland C++ compiler changes. -2005-01-12 10:32 robert +Wed, 30 Jan 2002 15:02:07 +0000 +Checked in by : Robert Osfield +Added osgbillboard project files to the VisualStudio workspace. - * From Fredrick Mammond, fix to 64 bit build. +Wed, 30 Jan 2002 15:01:02 +0000 +Checked in by : Robert Osfield +Added osgbillboard demo. The code is main a copy of osgtexture right now, my plan to do change it to make it a better demo of the different types of billboard that one can do. -2005-01-09 19:30 robert +Wed, 30 Jan 2002 14:37:47 +0000 +Checked in by : Robert Osfield +Removed a Makedepend that didn't belong! - * Added setImageReadFormat and setImageReadDataType methods to - RenderToTextureStage to - allow customization of what format/data type to read such as - reading from the depth buffer etc. +Wed, 30 Jan 2002 13:15:59 +0000 +Checked in by : Robert Osfield +Fixed the rotation direction of the POINT_ROT_* modes, this was broken by earlier fixes to the osg::Matrix. -2005-01-08 10:21 robert +Wed, 30 Jan 2002 12:09:18 +0000 +Checked in by : Robert Osfield +Made the LineSegment destructor protected to force users to create segments on the stack thus ensure that they arn't created locally and have their memory deleted incorrectly.Also updated the IntersectVisitor so that it no used osg::ref_ptr<> internally +for storing all data. Have also move the IntersectState helper class to inside the +IntersectVisitor which simplifies the external interface to the class. - * Tweaked the #define's of GL_ALPHA_MIN_SGIX and GL_ALPHA_MAX_SGIX - to ensure compilation across - OGL drivers. -2005-01-07 20:36 robert - * From Per Fahlberg, support for 16bit imagery. +Tue, 29 Jan 2002 20:25:45 +0000 +Checked in by : Robert Osfield +Fixes for windows build. -2005-01-07 20:24 robert +Tue, 29 Jan 2002 14:20:29 +0000 +Checked in by : Robert Osfield +Removed the now rendundent DeepCopy and ShallowCopy files. - * From Kevin Moule, fix to memory overwrite error. +Tue, 29 Jan 2002 14:04:06 +0000 +Checked in by : Robert Osfield +Moved all references to osg::Cloner to osg::CopyOp. -2005-01-07 20:01 robert +Tue, 29 Jan 2002 12:55:23 +0000 +Checked in by : Robert Osfield +Fixed the header guard, which was using the name define as FileUtils. Problem spotted by Terry Welsh. - * From Tree, change to naming of plugins when building OSG with - Java to avoid - conflicts. +Tue, 29 Jan 2002 12:52:04 +0000 +Checked in by : Robert Osfield +Have add new osg::CopyOp which replaces last nights osg::Cloner, the new class now combines Cloner and DeepCopy into one class. Cloner and DeepCopy will be removed in next commit.Also have added osgcopy app to Demos which shows how the CopyOp have be +subclassed to create users own specific handling of copying. -2005-01-07 19:00 robert +Have fixed copy constructor problems in GeoSet which fix the deep copy +problem experienced yesterday. - * From Tree, moved GL_ #define's out of osg namespaces -2005-01-07 14:31 robert - * Fixed crash in osgUtl::Simplifier which was due to an dereference - of an empty array. +Mon, 28 Jan 2002 21:49:31 +0000 +Checked in by : Robert Osfield +A couple of fixes to DeepCopy Cloner. -2005-01-05 17:14 robert +Mon, 28 Jan 2002 21:17:01 +0000 +Checked in by : Robert Osfield +Added support for shallow and deep copy of nodes, drawables and state, via a copy constructor which takes an optional Cloner object, and the old osg::Object::clone() has changed so that it now requires a Cloner as paramter. This is passed on to the copy constructor to help control the shallow vs deep copying. The old functionality of clone() which was clone of type has been renamed to cloneType().Updated all of the OSG to work with these new conventions, implemention all +the required copy constructors etc. A couple of areas will do shallow +copies by design, a couple of other still need to be updated to do either +shallow or deep. - * Cleaned up the types. +Neither of the shallow or deep copy operations have been tested yet, only +the old functionality of the OSG has been checked so far, such running the +viewer on various demo datasets. -2005-01-05 16:16 robert +Also fixed a problem in osg::Optimize::RemoveRendundentNodesVisitor which +was not checking that Group didn't have have any attached StateSet's, Callbacks +or UserData. These checks have now been added, which fixes a bug which was +revealled by the new osgscribe demo, this related to removal of group acting +as state decorator. - * From Fredric Mammond, fix for build using full extension checked - mechansim +method -2005-01-03 16:42 robert - * From Fredric Mammond, addid osgblendequation and osglogicop - examples. -2005-01-03 16:39 robert +Sun, 27 Jan 2002 20:28:43 +0000 +Checked in by : Robert Osfield +Added stateset->setMode(GL_LIGHTING,osg::StateAttribute::OVERRIDE_ON); to scribbed subgraph so that lighting is always on, this is needed since glMaterial is only active when lighting is enabled. - * From Fredric Mammond, added new osg::BlendEquation state - attribute wrapping - up glBlendEquation. +Sat, 26 Jan 2002 20:03:07 +0000 +Checked in by : Robert Osfield +Added VisualStudio workspace files for new osgscribe demo. -2005-01-03 13:49 robert +Sat, 26 Jan 2002 19:48:37 +0000 +Checked in by : Robert Osfield +Added new osgscribe demo which demostrates how to create a wireframe overlay of a model. - * From Marco Jez, fixed handling of loading of relative file paths. +Sat, 26 Jan 2002 14:13:27 +0000 +Checked in by : Robert Osfield +Fixed the LOD center and range code that so that the values are now multiple by the _unitScale to compenstate for different scales in the flt model. This _unitScale had already been applied to the geometry data.Integrated new defaults for the texturing wrap mode, for when now .attr file +is supplied with a flt file. -2005-01-03 12:27 robert - * Added stripping of trailing spaces to readline call to fix - problems associated - with eroneous spaces hanging around at ends of lines causing - string matching - problems -2005-01-03 11:20 robert +Wed, 23 Jan 2002 22:15:39 +0000 +Checked in by : Robert Osfield +Have made osg::Transform more extensible via additions of new getLocalToWorldMatrix() and getWorldToLocalMatrix(), computeLocalToWorld() and computeWorldToLocal() methods.Have updated the CullVisitor, IntersectVisitor and Optimizer to use the +new osg::Transform::getLocalToWorldMatrix() which has the same functionality +as the old getMatrix() but is now supports subclasses of osg::Transform +transparently. - * Added check against ac as extension. +Have added osg::PositionAttitudeTransform as subclass of osg::Transform +which manages the transform as position and attitude via a Vec3 and Quat +respectively. -2004-12-17 22:31 don - * Changed INST_LOCATION = to INST_LOCATION ?= -2004-12-17 20:51 don +Wed, 23 Jan 2002 15:42:36 +0000 +Checked in by : Robert Osfield +Updates to osg::Transform to allow it subclassed more easily. - * Added computeBound to osg::Switch, which now checks to see if a - child is - enabled before computing its bound. +Wed, 23 Jan 2002 15:28:31 +0000 +Checked in by : Robert Osfield +Fixed problem with Optimzer::removeRedundentNodesVisitor which was removing the correct redundent groups but for groups which had a single child it was was not using replaceChild to rettach the child to its parents. It was using parent->removeChild(group)...parent->addChild(child); which was allow the child to be attached in a different place than the original group, this broke LOD code. Have used removeChild instead which solves the LOD problem. -2004-12-17 01:06 robert +Wed, 23 Jan 2002 12:04:53 +0000 +Checked in by : Robert Osfield +Changed the ordering of applying OpenGL modes and attributes back to the original modes first then attributes since the it was cause a display bug on some datesets. It seems that the modes needs enabling before glMaterial's take affect, at least on the NVidia drivers under Windows and Linux. The OpenGL reference guide doesn't mention any dependancy so I'm not sure what the official line is. Some other OpenGl attribute and modes need to be applied in that order according to the blue book, however, drivers, at least the NVidia drivers seem require the opposite. This may raise the spectra of before and after mode applies, but this will require extra support in osg::State and osg::StateAttribute, and would have to be handled on a per attribute basis, and possibly different of each platform. Yuck. - * Property API clean to smooth the task of generating wrappers. +Tue, 22 Jan 2002 19:30:51 +0000 +Checked in by : Robert Osfield +Fixed FlattenStaticTransformVisitor bug which related to incorrect handling of objects which were transformed by multiple matrices at one time - this cannot be handled in the flattening process (since we only have one piece of geometry to transform). This visitor now handles this case by disabling flattening of any objects and transforms associated in this way. -2004-12-16 06:15 robert +Tue, 22 Jan 2002 12:03:47 +0000 +Checked in by : Robert Osfield +Temporily commented out the call to the FlatternStaticTransformVisitor to prevent a bug in handling instance nodes. Will be commented back in once the bug has been solved. - * Provisional lists for what are likely to, and not likely to have - wrappers automatically generated easily +Tue, 22 Jan 2002 11:03:46 +0000 +Checked in by : Robert Osfield +Updated AUTHORS file to reflect recent submission. -2004-12-15 04:49 robert +Tue, 22 Jan 2002 11:03:26 +0000 +Checked in by : Robert Osfield +Added support for node instances to Open Flight loader. Submitted by Yefei He. - * Added missing files +Sun, 20 Jan 2002 19:30:16 +0000 +Checked in by : Robert Osfield +Fixes to Windows compile. -2004-12-14 03:12 robert +Sun, 20 Jan 2002 16:24:54 +0000 +Checked in by : Robert Osfield +Updates to help compilation under gcc 3.03. - * Removed redundent cont qualification +Sat, 19 Jan 2002 22:11:05 +0000 +Checked in by : Robert Osfield +Converted osgUtil::GUIEventAdapter::MouseButtonMask from LEFT_BUTTON etc to LEFT_MOUSE_BUTTON etc, to prevent classes with #define of LEFT_BUTTON.. when including certain MS Windows headers. Arhsh Snarfff.. -2004-12-14 01:38 robert +Sat, 19 Jan 2002 20:34:07 +0000 +Checked in by : Robert Osfield +Fixed the handling of non transparent billboards, since it was not taking into account any accumulated transforms inherited from above. - * From Fredric Marmond, fix to gcc3.4 build +Fri, 18 Jan 2002 22:36:56 +0000 +Checked in by : Robert Osfield +UPdates to CullVisitor so that it keeps in sync with the new method paramter change in osg::Billboard.Removed in instance of an object being passed () brackets, have removed the +brackets to avoid an amiguity with the compiler intepreting it as a function. -2004-12-13 04:54 robert - * From Frederic Marmond, add osg::LogicOp for support for - glLogicOp. -2004-12-13 02:39 robert +Fri, 18 Jan 2002 22:34:07 +0000 +Checked in by : Robert Osfield +Changes to fix compilation problems on the Sparc.GeoSet.cpp simply remove rendundent code that had already been commented out. - * From Marco, fixes to osgIntrospection and related libs -2004-12-13 01:07 robert - * Teaks to API to make it easier to generate wrappers automatically +Fri, 18 Jan 2002 22:25:51 +0000 +Checked in by : Robert Osfield +Added support for multiple graphics contexts, submission from Max Rhiener.Alas changed the indenting to use 4 spaces instead of tabs, this irons out +differences when working under Windows and Unix, keeping the identing +consistent. -2004-12-13 01:06 robert - * Fixed project name -2004-12-12 22:27 robert +Fri, 18 Jan 2002 22:15:59 +0000 +Checked in by : Robert Osfield +First steps to updating the calcTransform function in Billboard to fix z axis contraint on rotation axis. - * Changed RELATIVE_RF to ABSOLUTE_RF to fix bug introduced when - naming was changed - from RELATIVE_TO_ABSOLUTE to new convention +Fri, 18 Jan 2002 19:00:55 +0000 +Checked in by : Robert Osfield +Fixed copy constructor which was copying a matrix to unitialized memory. -2004-12-10 03:37 robert +Fri, 18 Jan 2002 14:12:36 +0000 +Checked in by : Robert Osfield +Removed the global scope operators for the isnan(..) etc calls to fix compilation under some compiler combinations. - * Added extra set methods to match get's to make then symetric - proporties +Fri, 18 Jan 2002 14:11:46 +0000 +Checked in by : Robert Osfield +Made the osg::Timer::tick() method a const method. -2004-12-09 05:29 robert +Fri, 18 Jan 2002 10:26:06 +0000 +Checked in by : Robert Osfield +Fixed typo in comment, reference to BoundingSphere has been changed to BoundingBox. Typo spotted by Gial Paolo Lorenzetto. - * Added Make support for new osgIntrospecxtion libs +Thu, 17 Jan 2002 22:41:34 +0000 +Checked in by : Robert Osfield +Fixed ENALBE_ALL_CULLING spelling mistake, have changed it to ENABLE_ALL_CULLING. -2004-12-09 05:28 robert +Thu, 17 Jan 2002 22:40:16 +0000 +Checked in by : Robert Osfield +Added support for glutSpecialFunc, glutSpaceballMotion, glutSpaceballRotate and glutSpaceballRotate into osgGLUT::Window base class. - * Added Marco Jez's osgIntrospection + osgWrapper libs with - osgintrospection - example +Wed, 16 Jan 2002 21:23:29 +0000 +Checked in by : Robert Osfield +Reversed the ordering of setting of OpenGL modes and attributes, so that attributes are now set first, then modes. This is keep consistent with the setting of glColorMaterial and glEnable(GL_COLOR_MATERIAL) as specfied in OpenGL documentation. -2004-12-09 00:02 don +Wed, 16 Jan 2002 21:22:06 +0000 +Checked in by : Robert Osfield +Changed the enum Types { ... } so that in no longer explicitly sets the values, leaving C++ to ensire that values are unque and insequence. - * added 'sh' to command line to ensure that the script runs - regardless of - permissions +Wed, 16 Jan 2002 21:20:22 +0000 +Checked in by : Robert Osfield +Fixes to makefiles which have become a bit unhinged after MacOS X integration. -2004-12-08 19:45 don +Wed, 16 Jan 2002 21:12:02 +0000 +Checked in by : Robert Osfield +Added support for billboard in OpenFlight loader. Submission from Nikolaus Hanekamp. - * Update of IVe version files +Wed, 16 Jan 2002 12:29:43 +0000 +Checked in by : Robert Osfield +Submission from Sean Spicer which adds Make/makedefs.irix.std.64 which compiles the OSG as 64bit. Small changes by Robert to accomodate recent MacOSX makefile changes. -2004-12-07 00:42 don +Wed, 16 Jan 2002 12:08:29 +0000 +Checked in by : Robert Osfield +Changes to Make/makerules.* and Make/makedefs.* to accomodate MacOSX's need to treat plugins and shared libraries seperately. - * Spelling errors fixed by Brede Johansen +Wed, 16 Jan 2002 12:05:22 +0000 +Checked in by : Robert Osfield +Integrated the changes to osgPlugin/Makefile's for MacOSX port. -2004-12-06 19:32 don +Wed, 16 Jan 2002 12:03:29 +0000 +Checked in by : Robert Osfield +Changed hardwired char[1024] arrays to char[FILEUTILS_MAX_PATH_LENGTH] and defined the value to be 2048, this should avoid problems with path lengths which have been overflowing the 1024 limit (Sasa report this bug). The real solution is to use std::string throught FileUtils, but this will have to wait for another day. - * Changed the strcmp() to use std::string instead. +Wed, 16 Jan 2002 10:41:55 +0000 +Checked in by : Robert Osfield +Added quicktime plugin (for Mac's only), submitted by Phil Atkin. -2004-12-05 00:16 don +Wed, 16 Jan 2002 10:36:20 +0000 +Checked in by : Robert Osfield +First batch of changes required for MacOS X build. Orignal submission from Phil Atkin, merged by Robert Osfield. - * Post-tag revision variable change +Tue, 15 Jan 2002 23:21:31 +0000 +Checked in by : Robert Osfield +Changed the use of std::vector<..>.begin() to &vector<..>.front() in code from passing the vector contents to the GeoSet::setPrimLengths(..) etc. methods. This has been done to fix the compile under the MS .NET compiler which has changed the definiation of the std::vector<..>::iterator to a class rather than a pointer. -2004-12-05 00:03 don +Tue, 15 Jan 2002 19:54:55 +0000 +Checked in by : Robert Osfield +Fix to osgDB::getStrippedName(..) so that handles the case of file without an extension. - * CHanged version in makedefs for - 2 revision +Tue, 15 Jan 2002 15:49:02 +0000 +Checked in by : Robert Osfield +Added '# LIBS += -limage' and explanation in comments to pfb Makefile, submitted by Randall Hooper. -2004-12-04 23:59 don +Tue, 15 Jan 2002 12:13:29 +0000 +Checked in by : Robert Osfield +Added the set of GL_TEXTURE_GEN_S and _T to code converting pfTexGen to osg::TexGen. This is try and fix a bug in handling tex gen datasets such as sj_texgen.pfb. - * Removed old RPM spec files. This shouldn't be in the repository - as they - are generated by the make distribution script, which is broken - also. +Tue, 15 Jan 2002 11:05:00 +0000 +Checked in by : Robert Osfield +New ajustAspectRatio (ADJUST_NODE) mode added to osg::Camera to fix issue with integration with vrjuggler, submitted by Allen Bierbaum. -2004-12-04 23:38 don +Sat, 12 Jan 2002 21:49:07 +0000 +Checked in by : Robert Osfield +Missing _attachedTransformMode in osg::Camera constructor, fix submitted by Ben Discoe. - * Update version numbers in files +Sat, 5 Jan 2002 16:19:18 +0000 +Checked in by : Robert Osfield +Change TOP to OSGHOME in makefiles. -2004-12-02 21:50 don +Sat, 5 Jan 2002 16:18:46 +0000 +Checked in by : Robert Osfield +Moved the setting of camera fusion distance mode into the handle method so that it is updated on everyframe to ensure that switching between Drive/Flight and Trackball happens seemlessly. - * Post release adjustment of revision +Fri, 4 Jan 2002 20:44:41 +0000 +Checked in by : Robert Osfield +Renamed the TOP variable in the Makefiles to OSGHOME. -2004-12-02 21:49 don +Fri, 4 Jan 2002 20:43:20 +0000 +Checked in by : Robert Osfield +Added a guard to osg::LOD::evaluate so that it returns -1 if the range matched does not have a corresponding child to relate to. This can happen if a user creates more than n+1 ranges, where n is the number of LOD children. - * Added tagrules for 'make tag' convenience - Updated makedefs for release/revision +Fri, 4 Jan 2002 17:35:54 +0000 +Checked in by : Robert Osfield +Added osg::ShadeModel state attribute which encapsulates glShadeModel. -2004-12-02 21:28 don +Fri, 4 Jan 2002 17:34:01 +0000 +Checked in by : Robert Osfield +Fixed a bug in writing of line strips and line loops to the .osg file. - * fixed CameraPacket to allocate on the heap instead of the stack, - which - was causing crashes. +Fri, 4 Jan 2002 13:14:06 +0000 +Checked in by : Robert Osfield +Fixed multiple deletion of shared indecies in GeoSet destructor. -2004-12-02 17:44 don +Thu, 3 Jan 2002 23:28:54 +0000 +Checked in by : Robert Osfield +Futher Makefile updates for Cygwin support - from Norman Vine. - * Memory leak spotted and fixed by Sebastien Grignard +Thu, 3 Jan 2002 23:19:18 +0000 +Checked in by : Robert Osfield +Makefile changes to support Cywin port - submission from Norman Vine, updates to fix case problems under unix by Robert. -2004-11-30 18:13 don +Thu, 3 Jan 2002 21:34:57 +0000 +Checked in by : Robert Osfield +Updates for Cygwin port, from Norman Vine. - * Added Mike's submission to Authors +Thu, 3 Jan 2002 19:28:13 +0000 +Checked in by : Robert Osfield +Small source code changes for Cygwin port of OSG. -2004-11-29 18:59 don +Wed, 2 Jan 2002 17:01:35 +0000 +Checked in by : Robert Osfield +Updates in preperation for the third attempt at the 0.8.43 release. - * Added pragma to shut VS 6 up. +Wed, 2 Jan 2002 15:42:42 +0000 +Checked in by : Robert Osfield +Updates from Randall Hopper to fix build under IRIX. -2004-11-29 05:47 don +Wed, 2 Jan 2002 11:03:26 +0000 +Checked in by : Robert Osfield +A small bug fix to the matrix dump function (it was primtiing out 5 columns instead of four).Added support for multiplying mesh geometry by the matrix attached to the +Lib3dsMesh structure, however this produces disjointed models so have +to the default mode to bypass this multiplication code. Will need to revisit +this in the future. - * Small clean up of commented code -2004-11-29 05:32 don - * Comprimise for Visual Studio 6 by using 'using namespace - OpenThreads'. +Wed, 2 Jan 2002 10:59:59 +0000 +Checked in by : Robert Osfield +Commented out the smoothing of FLAT_TRIANGLE_STRIP and FLAT_TRIANGLE_FAN since it was causes problems with any color list which were attached. -2004-11-29 03:05 don +Wed, 2 Jan 2002 10:53:20 +0000 +Checked in by : Robert Osfield +Moved the glShadeModel(FLAT/SMOOTH) outside of the primtitive inner loop to reduce the amount state changes incurred when using FLAT_ primtives. - * Fixes for SOlaris build +Wed, 2 Jan 2002 10:49:26 +0000 +Checked in by : Robert Osfield +Fixed the orientation of for_each_triangle cases for QUAD and QUAD_STRIP. -2004-11-29 01:12 don +Mon, 31 Dec 2001 23:21:16 +0000 +Checked in by : Robert Osfield +Removed the variables which were duplicated in osgGLUT::Viewer and osgGLUT::Window, standardising on the Window ones, and therefore removing an unitialized variable that had been introduced. This caused a crash under WindowsXP due to send invalid values to glutReshapeWindow. - * Fixes for IRIX build +Mon, 31 Dec 2001 23:16:20 +0000 +Checked in by : Robert Osfield +Added a more detailed explanation of how LOD's work. -2004-11-28 23:49 don +Mon, 31 Dec 2001 00:04:38 +0000 +Checked in by : Robert Osfield +Updates to NEWS for date of release, and added include/osg/DisplaySettings and include/osg/LineWidth to the src/osg/Makefile. - * Changes for IRIX build +Sun, 30 Dec 2001 20:48:05 +0000 +Checked in by : Robert Osfield +Final update of ChangeLog for the 0.8.43 release. -2004-11-28 17:11 don +Sun, 30 Dec 2001 20:03:42 +0000 +Checked in by : Robert Osfield +Added osg::GeoSet::FLAT_TRIANGLE_FAN to the list if primitive handled by the for_each_triangle template function. - * Added visual studio files for osgspotlight example (Mike Weiblen) - Updated NEWS.txt for release +Sun, 30 Dec 2001 19:04:46 +0000 +Checked in by : Robert Osfield +Added /usr/local/lib to the s_default_dso_path search path for plugins. -2004-11-27 20:35 don +Sun, 30 Dec 2001 17:13:40 +0000 +Checked in by : Robert Osfield +Made the output message related to not registering a camera manipulator with the GLUT Viewer output as INFO rather than as a NOTICE. This suppress this message which was appearing on some of the demos all the time, even though are quite reasonable default behaviour is used. - * Fixed osgDB:: prefix for Windows build +Sun, 30 Dec 2001 16:59:22 +0000 +Checked in by : Robert Osfield +Added references to sgv -stereo and sgv -stencil to the notes of running the demos. -2004-11-27 19:23 don +Sun, 30 Dec 2001 16:58:33 +0000 +Checked in by : Robert Osfield +Updated the default home position of so that a better view of the scene is seen. - * Added Marco's fix for data path for the .ive plugin +Sun, 30 Dec 2001 15:24:10 +0000 +Checked in by : Robert Osfield +Moved the old by hand ChangeLog to ChangeLog.preCVS and then ran cvs2cl.pl to automatically generate the new ChangeLog. -2004-11-27 19:20 don +Sun, 30 Dec 2001 15:12:29 +0000 +Checked in by : Robert Osfield +Did a make docs, in preperation for 0.8.43 release. - * Fixed bug in .net loader. Added hostname to file fetch. +Sun, 30 Dec 2001 15:01:30 +0000 +Checked in by : Robert Osfield +Compilation fix to pfb plugin, sent in by Ulrich Hertlein. -2004-11-27 17:06 don +Sun, 30 Dec 2001 15:00:26 +0000 +Checked in by : Robert Osfield +Added a comment in Windows section on INSTALL notes such that it now recommends that you build all the libs. - * Fixed reference to install instructions +Sat, 29 Dec 2001 20:53:08 +0000 +Checked in by : Robert Osfield +Added .README to prevent CVS from deleting the empty bin directory when checking out copies. This was a problem with the nightly tarballs. -2004-11-26 21:35 robert +Sat, 29 Dec 2001 14:27:46 +0000 +Checked in by : Robert Osfield +Added comment to osg::Transform w.r.t use of GL_NORMALIZE when using scaling Transforms. - * Added missing OSG_SCREEN_WIDTH docs +Sat, 29 Dec 2001 12:28:24 +0000 +Checked in by : Robert Osfield +Updates form Randall Hopper for the FreeBSD build -2004-11-26 21:14 robert +Thu, 27 Dec 2001 20:06:07 +0000 +Checked in by : Robert Osfield +Made inline documentation on the Values enum clearer w.r.t the function of OVERRIDE_ON and OVERRIDE_OFF. - * Updates news for release +Wed, 26 Dec 2001 20:55:15 +0000 +Checked in by : Robert Osfield +Added more details about using stereo with the OSG, in particular the role of the camera manipulators and the fusion distance. -2004-11-26 20:46 robert +Mon, 24 Dec 2001 23:34:25 +0000 +Checked in by : Robert Osfield +Updated doc++ references so that CVS knows about all the newly generated files. - * Updates to ChangeLog and doxygen file +Mon, 24 Dec 2001 23:28:15 +0000 +Checked in by : Robert Osfield +Updated the index.html to include references to the new osgText library and demo app. -2004-11-26 19:27 robert +Mon, 24 Dec 2001 23:14:53 +0000 +Checked in by : Robert Osfield +Removed references to redundent environmental variables. - * Added /Zm200 to avoid heap size problems under VS6.0 +Mon, 24 Dec 2001 21:56:22 +0000 +Checked in by : Robert Osfield +Did a make docs. -2004-11-26 16:01 robert +Mon, 24 Dec 2001 21:34:40 +0000 +Checked in by : Robert Osfield +Fixed the osg::Light so that it requires the user to explicitly define which OpenGL light is being operated on, and also now relies upong the standard osg::State handling of OpenGL modes to switch on the appropriate lights.The previous static counter mechansim for the light number was causing a +redundent light to be created when the osg plugin created the first osg::Light +to use a prototype for other osg::Light's to be cloned from in the +.osg plugin execution. - * Addd high level introductory docs for all the libs +The static count mechanism also prevent the lights modes being controlled +independantly from the setting of the light paramters themselves. This +meant that a light once created was global, and couldn't be turned off +locally via the OSG's support for OpenGL mode enabling/disabling. This +has been overcome with the new implementation, the user has complete +flexiblity of when and where to use the different lights at their +disposal. -2004-11-26 16:00 robert - * Clean up doxygen files for release -2004-11-25 15:57 robert +Mon, 24 Dec 2001 19:06:49 +0000 +Checked in by : Robert Osfield +Updated the osgGLUT::Viewer to subclass from osgGLUT::Window as has been intended since the development of osgGLUT::Window. - * Added /Zm200 to avoid VS 6.0 dump arse compile errors +Mon, 24 Dec 2001 15:12:59 +0000 +Checked in by : Robert Osfield +updates for windows build -2004-11-25 15:09 robert +Mon, 24 Dec 2001 14:12:38 +0000 +Checked in by : Robert Osfield +Various clean ups for the release. - * Fixed caching of archives +Sat, 22 Dec 2001 22:30:57 +0000 +Checked in by : Robert Osfield +Updates to keep things compiling under Windows. Also cleaned up the new stereo.html docs. -2004-11-25 13:59 robert +Sat, 22 Dec 2001 21:35:28 +0000 +Checked in by : Robert Osfield +Added beginnings on documentation for stereo support, the stereo.html needs to be re-edited in a html editor before it becomes readable though.. - * Reordered the core libraries to try and get round compile order - problems under - VisualStudio 6.0 +Sat, 22 Dec 2001 14:55:22 +0000 +Checked in by : Robert Osfield +Updated usage messages to include new stereo and stencil commandline options. -2004-11-25 09:51 robert +Fri, 21 Dec 2001 22:48:19 +0000 +Checked in by : Robert Osfield +Further work on improving stereo support in the OSG.Renamed the osg::VisualsSettings to osg::DisplaySettings, and +osgUtil::VisualsRequirementsVisitor to osgUtil::DisplayRequirementsVisitor. - * Added LFS support to gcc linux build +Added support for OSG_SCREEN_HEIGHT into osg::DisplaySettings, and added +a DisplaySettings* to the constructors of osg::SceneView and osg::Camera. -2004-11-24 21:39 robert - * cleaned up debug info -2004-11-24 21:10 robert +Fri, 21 Dec 2001 13:07:35 +0000 +Checked in by : Robert Osfield +Updates to the support for stereo in osg::Camera, osgUtil::SceneView and the CameraManipulators. - * updated NEWS and ChangeLog +Thu, 20 Dec 2001 20:48:46 +0000 +Checked in by : Robert Osfield +Added support for glLineWidth via an osg::LineWidth StateAttribute. -2004-11-24 19:41 robert +Thu, 20 Dec 2001 16:35:38 +0000 +Checked in by : Robert Osfield +Updates to the camera code related to stereo, adding fusion distance. - * Clean up of output +Thu, 20 Dec 2001 16:34:54 +0000 +Checked in by : Robert Osfield +Added check for null models be returned form osgDB::readNodeFiles(..) to prevent execution when no models have been loaded. -2004-11-24 19:10 robert +Thu, 20 Dec 2001 12:12:30 +0000 +Checked in by : Robert Osfield +Updates to flt loading of light points, from Brede Johansen. - * from Mike Weiblen, added wrap mode to planet texture to avoid - black seam, and - add option of specifying the texture to use in osgshape. +Wed, 19 Dec 2001 15:20:29 +0000 +Checked in by : Robert Osfield +Updates to Stereo code. -2004-11-24 15:41 robert +Wed, 19 Dec 2001 10:29:18 +0000 +Checked in by : Robert Osfield +Updated the demos to support the new commandline handling of stereo and convinience functios for loading libs and files. - * Fixed typo in acceptsExtension +Wed, 19 Dec 2001 08:49:10 +0000 +Checked in by : Robert Osfield +Added check for GL_ARB_imaging extension to osg;:ColorMatrix -2004-11-24 06:57 robert +Wed, 19 Dec 2001 01:10:04 +0000 +Checked in by : Robert Osfield +Compilation fixes under for Windows - * Moved the initPeformer to the constructor to avoid const issues - when compiling +Wed, 19 Dec 2001 00:38:23 +0000 +Checked in by : Robert Osfield +Adding support for controlling visual settings via environmental variables and command line paramters. Including support for stereo and stencil buffer. -2004-11-23 23:47 robert +Tue, 18 Dec 2001 11:28:44 +0000 +Checked in by : Robert Osfield +Added range checking to osg::Camera::adjustAspectRatio to catch invalid values being passed to Camera. Invalid values were occuring when iconising the Windows GLUT based OSG demos. - * Fixed VS.NET warnings +Tue, 18 Dec 2001 10:46:15 +0000 +Checked in by : Robert Osfield +Fixed compilation problems in flt plugin under Windows, and removed usage of the default GeoSet::AtttributeDeleteFunctor from the DynGeoSet since it handled the memory deletion iteself via STL containers. -2004-11-23 23:45 robert +Mon, 17 Dec 2001 21:13:17 +0000 +Checked in by : Robert Osfield +Changed the default field of Y to 45 degrees, as this is probably a better default than 30 degrees (what it was temproarily) or the 90 degrees that it was originally. - * Fixed recursive call +Mon, 17 Dec 2001 17:34:17 +0000 +Checked in by : Don BURNS +Fixed IRIX compile issues with the flt loader.ReaderWriterATTR.cpp had a variable "mips" defined, which is predefined for the IRIX preprocessor. +Changed this to _mips. -2004-11-23 17:07 robert +FltFile.cpp had a class and transient variable defined within the scope of member function +FltFile::readExternals(), which was causing the IRIX 7.3 compiles to hork. Moved the class +definition to outside of the member function scope. - * From Fabien Dachicourt, bug fix to addChild(node,value) -2004-11-23 16:52 robert - * From John Shue, reordering of tiffio.h to avoid compile error. +Mon, 17 Dec 2001 16:21:33 +0000 +Checked in by : Don BURNS +Fixed IRIX build. Required some namespace fixes and include and link directives in the Makefiles -2004-11-23 15:29 robert +Mon, 17 Dec 2001 15:05:06 +0000 +Checked in by : Robert Osfield +Updated the Optimzer::FatternStaticTransform visit so by default it ignores all dynamic transforms, previously it flattened dynamic transforms as well. - * Made read/write methods in ReaderWriter all const to facilate - multi-threading +Mon, 17 Dec 2001 09:29:56 +0000 +Checked in by : Robert Osfield +Added std:: infront of endl to ensure compilation under Windows. -2004-11-23 12:57 robert +Sun, 16 Dec 2001 22:20:26 +0000 +Checked in by : Robert Osfield +Integrated detailed near clipping plane calculation into osgUtil::CullVisitor, submitted by Sasa Bistroviae. - * Tripped out experiemental threadSafe_ methods in ReaderWriter +Sun, 16 Dec 2001 16:30:34 +0000 +Checked in by : Robert Osfield +From John Davis, a little addition to the Windows version of the osg::Timer constructor such that a static variable is used to force the constructor to check the number of clock cycles per second once, this means that multiple timers can now be created with incurring a the 1 second delay used for timming the clock speed every time the constructor is called. -2004-11-23 10:46 robert +Sat, 15 Dec 2001 22:44:32 +0000 +Checked in by : Robert Osfield +Updated version numbers to 0.8.43 in prep for the impending release. - * Added support for local relative paths +Sat, 15 Dec 2001 22:41:28 +0000 +Checked in by : Robert Osfield +Added comments on how to set up STLport under Windows and IRIX. -2004-11-22 23:54 robert +Sat, 15 Dec 2001 16:56:39 +0000 +Checked in by : Robert Osfield +Renamed osg::Matric::makeIdent() to osg::Matrix::makeIdentity() to make it consistent with the rest of the osg::Matrix naming. Updated OSG distribution to account for new name.Added support for the STATIC/DYNAMIC osg::Transform::Type to the .osg +ASCII reader/writer plugin and the flt reader plugin. - * Moved plugins across to using ReaderWriter::Options* for search - paths in addition - to standard osgDB::DataFilePaths +Removed the non cost version of osg::Transform::getMatrix() as this could +by pass the dirty mechinism. -2004-11-22 14:49 robert - * Removed the cache hints from registery placing them wholly into - ReaderWriter's responsibility. -2004-11-22 14:10 robert +Sat, 15 Dec 2001 10:00:43 +0000 +Checked in by : Robert Osfield +updates for windows build. - * Moved Registry::CacheHintOptions into ReaderWriter::Options +Fri, 14 Dec 2001 23:18:28 +0000 +Checked in by : Robert Osfield +Fixes to Windows build in liu of the move to using just std::streams. -2004-11-22 13:58 robert +Fri, 14 Dec 2001 21:49:04 +0000 +Checked in by : Robert Osfield +Updated OSG so that the old OSG_USE_IO_DOT_H has be removed from all headers that used it, all references to the Standard C++ stream classes use the std::ostream etc convention, all references to "using namespace std" and "using namespace std::ostream etc" have been removed. - * From Rainer Oder, improvements to planet motions +Fri, 14 Dec 2001 18:06:34 +0000 +Checked in by : Robert Osfield +Updatedwidley used includes to remove most of the float/double warnings generated when compiling under Windows with STLport. -2004-11-20 13:35 robert +Fri, 14 Dec 2001 16:15:44 +0000 +Checked in by : Robert Osfield +Don haved accidentally removed the reference to osg.dsp from the .dsw file, breakin the Windows build. - * Changed ReaderWriter::Options to derive from osg::Object to add - clone() - ability. +Fri, 14 Dec 2001 15:37:09 +0000 +Checked in by : Don BURNS +Removed ^M from Makefile -2004-11-20 12:08 robert +Fri, 14 Dec 2001 15:16:30 +0000 +Checked in by : Don BURNS +Appeased poor MS VisualStudio by adding the ^M's to all .dsw and .dsp files. - * Added support for pixel based LOD's and set the default priority - scale to 1.0 +Fri, 14 Dec 2001 15:10:42 +0000 +Checked in by : Don BURNS +Fixed newline/cr problem -2004-11-20 11:48 robert +Fri, 14 Dec 2001 14:25:38 +0000 +Checked in by : Robert Osfield +Fixed problem with incorrect combining of some LOD's derived from flt databases. Problem related to the order of the removal of redudent groups and LOD combining, the LOD combining only working properly if done first. - * Added support for pixel range to PagedLOD +Fri, 14 Dec 2001 10:47:20 +0000 +Checked in by : Robert Osfield +Fixes for Win32 build related to changes in using namespace std. -2004-11-20 11:48 robert +Fri, 14 Dec 2001 10:02:27 +0000 +Checked in by : Robert Osfield +Removed all references to using namespace std to help solve compilation problems under Windows and IRIX.Also integrated small change to lib3ds from Drew for IRIX compilation. - * Fixed indentation. -2004-11-20 11:45 robert - * From Johan Nouvel, added support for range mode +Wed, 12 Dec 2001 20:29:10 +0000 +Checked in by : Robert Osfield +Made the following name changes to Matrix and Quat to clean them up and make the functionality clear given the name. This will break user code unfortunately so please be away of the following mapping. osg::Matrix::makeTrans(..)?\026 -> osg::Matrix::makeTranslate(..) + osg::Matrix::makeRot(..)?\026 -> osg::Matrix::makeRotate(..) + osg::Matrix::trans(..)?\026 -> osg::Matrix::translate(..) -2004-11-20 10:36 robert + osg::Quat::makeRot(..)?\026 -> osg::Quat::makeRotate(..) - * From John Shue, fix for FreeBSD. +Also updated the rest of the OSG distribution to use the new names, and +have removed the old deprecated Matrix methods too. -2004-11-19 20:05 robert - * Added _lockCount>0 check to lock,unlock and trylock to make sure - that it - is set properly on first time entry. -2004-11-19 09:02 robert +Wed, 12 Dec 2001 15:09:11 +0000 +Checked in by : Robert Osfield +Fixed problems with osg::Matrix::makeRot(from,to) and osg::Quat::makeRot(from,to) so that they both use the same implementation (the Quat code now) and the code has been corrected to work from and to vectors which directly opposite to one another. - * Removed notify from destructor wait for cancel loop. +Wed, 12 Dec 2001 12:55:01 +0000 +Checked in by : Robert Osfield +Fixed problem with loading interleaved arrays in the .osg loader, and corrected a spelling mistake in osg::GeoSet. -2004-11-19 08:47 robert +Wed, 12 Dec 2001 05:09:33 +0000 +Checked in by : Don BURNS +Added translation and scaling to osgconv - * Added std:: infront of getline calls +Tue, 11 Dec 2001 17:00:29 +0000 +Checked in by : Don BURNS +Fixed Matrix::rotate( Vec3 from, Vec3 to); was using to X from to derive axis, which causes a left-handed rotation. Fixed to from X to. -2004-11-18 22:43 robert +Tue, 11 Dec 2001 16:00:32 +0000 +Checked in by : Robert Osfield +Fixed compilation problems under Windows due to changes in using std::ostream etc. - * Made the permissions executable +Tue, 11 Dec 2001 11:22:44 +0000 +Checked in by : Robert Osfield +Removed the 'using namespace std' and replaced with more specific 'using std::ostream' this should help prevent polution of the global namespace with std when including these osg include files. -2004-11-18 22:14 robert +Tue, 11 Dec 2001 11:21:30 +0000 +Checked in by : Robert Osfield +Added :Referenced() to the osg::Camera(..) copy constructor to prevent a warning under Linux. - * Updated ChangedLog and NEWS +Sun, 9 Dec 2001 03:46:50 +0000 +Checked in by : Don BURNS +*** empty log message *** -2004-11-18 22:13 robert +Tue, 4 Dec 2001 22:57:40 +0000 +Checked in by : Robert Osfield +Added support for automatic deletion of osg::GeoSet's attributes, via a default AttributeDeleteFunctor which uses delete []. Users can create their own handlers for the attribute memory to override this default behavior.Fixed a typo in ReaderWriterOBJ.cpp. - * Removed the public open methods -2004-11-18 22:12 robert - * Added all core libraries +Tue, 4 Dec 2001 20:38:27 +0000 +Checked in by : Robert Osfield +Various files which should have been checked in earlier but were missed... VisualStudio files for flt loader, and header files or Image and Texture for new osg::Texture::CLAMP_TO_EDGE and osg::Image::dirty. -2004-11-18 21:53 robert +Tue, 4 Dec 2001 19:41:08 +0000 +Checked in by : Robert Osfield +Updates to the flt loader, from Brede Johansen. - * Added osgText dependency to osglauncher. +Tue, 4 Dec 2001 16:03:10 +0000 +Checked in by : Robert Osfield +Integrated Brede Johansen's updates to flt loader. -2004-11-18 20:20 robert +Tue, 4 Dec 2001 15:56:08 +0000 +Checked in by : Robert Osfield +Made a output message output as osg::DEBUG only. - * Added dsp's for osglauncher and osgplanets. +Tue, 4 Dec 2001 12:34:45 +0000 +Checked in by : Robert Osfield +Commented out the code to force sgv to use ANAGLYPHIC_STEREO as this should not be the default, will add options to do this later. -2004-11-18 16:25 robert +Tue, 4 Dec 2001 12:31:10 +0000 +Checked in by : Robert Osfield +Improved support for anaglyphic stereo.Integrated texture CLAMP_TO_EDGE, submitted by Ulrich Hertlein. - * Removed old and used FileUtils_Mac.cpp -2004-11-18 16:21 robert - * Added osglancher and osgplanets to example set. +Sun, 2 Dec 2001 22:20:46 +0000 +Checked in by : Robert Osfield +Beginings of support for quad bufferd, red/green, and slit screen stereo. -2004-11-18 16:20 robert +Sun, 2 Dec 2001 08:59:39 +0000 +Checked in by : Don BURNS +Corrected a small booboo in preprocessor guard for header file in GLU and added Matrix::identity() to Matrix - * Changed debugging info to use osg::notify +Fri, 30 Nov 2001 20:53:50 +0000 +Checked in by : Robert Osfield +Fixed bug in osg::StateSet::merge(..) where the containers were being iterated from begin() to begin() rather than begin() to end(). -2004-11-18 15:10 robert +Wed, 21 Nov 2001 15:53:29 +0000 +Checked in by : Don BURNS +Small fix for preprocessor _MP symbol clash with MFC. - * Added write to file and use of clearnode +Mon, 19 Nov 2001 13:14:38 +0000 +Checked in by : Robert Osfield +Made the Warning font file not found message consistent with other file not found messages. -2004-11-18 15:01 robert +Mon, 19 Nov 2001 11:52:58 +0000 +Checked in by : Robert Osfield +Added DLL export to the internal classes in osgUtil::Optimize so that the internal classes can be used directly by client applications. - * Increased accuracy of animation path, moved main to end. +Mon, 19 Nov 2001 10:40:42 +0000 +Checked in by : Robert Osfield +Added warning report for when a font file cannot be found. -2004-11-18 14:43 robert +Sun, 18 Nov 2001 21:31:16 +0000 +Checked in by : Robert Osfield +Added osg::Image::dirtyImage() and setModifiedTag() to allow external updating of the image modified flag to be used in conjunction with texture subloading. - * Changed Solarsystem to SolarSystem. +Thu, 15 Nov 2001 11:59:52 +0000 +Checked in by : Robert Osfield +Move the call to the manipulators before the scene app traversal to that any changes to the scene graph, such as adding an app callback can be seen by during the same frame. -2004-11-18 13:46 robert +Wed, 14 Nov 2001 15:53:36 +0000 +Checked in by : Robert Osfield +Fixes for windows compilation - * Added a search for the config file, and defaulting to osg.conf +Wed, 14 Nov 2001 15:52:27 +0000 +Checked in by : Robert Osfield +Fixed compilation problem under Wndows -2004-11-18 13:34 robert +Wed, 14 Nov 2001 15:32:15 +0000 +Checked in by : Robert Osfield +Fixed compilation problem under Wndows - * Changed path to imagery from Images/SolarSystem to SolarSystem. +Wed, 14 Nov 2001 14:10:12 +0000 +Checked in by : Robert Osfield +Added osgUtil::TransformCallback to help with rigid body animation. -2004-11-18 12:07 robert +Wed, 14 Nov 2001 14:09:07 +0000 +Checked in by : Robert Osfield +Fixes for IRIX build.Updates to the osg::Transform, adding preMult and postMult methods and +deprecating the old preRotate,preTranslate,preScale. - * Added friend usage for inner classes to try and get round compile - problems - under Solaris. +Updated the rest of the OSG so that it nolonger uses the deprecated +osg::Transform nodes. -2004-11-18 11:53 robert +Renamed osgUtil::SceneView::setGlobalState() to +osgUtil::SceneView::setGlobalStateSet() so that the name reflects its +functionality better. Updated osgGLUT::Viewer etc to cope with new +name change. - * Added check for extension. -2004-11-18 11:21 robert - * Fixed writeImage. +Mon, 12 Nov 2001 10:04:57 +0000 +Checked in by : Robert Osfield +Added new files to cvs. -2004-11-18 10:08 robert +Mon, 12 Nov 2001 10:00:08 +0000 +Checked in by : Robert Osfield +Added src/osg/NodeCallback.cpp. - * From Vivek Rajan, fixes to Solaris build. +Sun, 11 Nov 2001 22:32:59 +0000 +Checked in by : Robert Osfield +Fixed compilation error in src/osgDB/FileUtils.cpp.Added support for nested NodeCallbacks, allowing them to be chained together +so that multiple operations can be applied. -2004-11-18 09:19 robert - * Altered the path for Cygwin to set the _ticksPerSecond to the - correct value. -2004-11-18 09:09 robert +Sat, 10 Nov 2001 15:46:05 +0000 +Checked in by : Robert Osfield +Fixed osgUtil::Optimizer::FlatternStaticTransformsVisitor so that the apply(osg::LOD) scaled the ranges in addition to transform the center point and children. - * From Stephane Simon, compile fix for VS, change struct to class - in forward declaration. +Sat, 10 Nov 2001 13:36:05 +0000 +Checked in by : Robert Osfield +Fixed bug related to osgUtil::Optimizer::FlatternStaticTransform::Visitor's apply(Billboard& ) method which was apply the accumulated transform to the billbaord geometry when it should have been applying the matrix without the transform component. -2004-11-17 20:01 robert +Fri, 9 Nov 2001 15:06:01 +0000 +Checked in by : Robert Osfield +Added osgText::Paragraph which is a subclass from Geode which composes a list of text drawables as a paragraph block, handles breaking of text into individual lines automatically.Changed the osg::Node::setUserData so that the data type has to be an +osg::Referenced, and removes the dependancy on osg::MemoryAdapter. I have +done this since it simplifies the OSG side of the interface and makes it +less like that the user might abuse the memory managment of the data. It +does however mean that user data will have by subclassed from Referenced, +and therefor may require users to have their own adapter to do this. +However, this little nuasance is worth the extra cleaness and robustness +afforded by going the osg::Referenced route. - * From Rainer Oder, updates to osglauncher. -2004-11-17 19:31 robert - * Changed the dependencies file to use ?= instead of = to allow env - vars - to override local settings. +Fri, 9 Nov 2001 15:01:42 +0000 +Checked in by : Robert Osfield +Fixed the findFileFile routine which had been broken by a fix of a dlopen problem - './' was added to all files which which directly found without requiring a search path rather than just locally found files, this broke file loads which had wern't local but had a valid path. I have moved the './' work around to inside fileDSO and made it only apply to Linux as I presume this is all it was needed for. Don? -2004-11-17 14:56 robert +Thu, 8 Nov 2001 13:50:32 +0000 +Checked in by : Robert Osfield +Fixed the IntersectVisitor which was broken by a recent patch to catch parallel line and traingle combinations. - * From Thom DeCarlo, fixes for Cygwin build +Wed, 7 Nov 2001 12:42:08 +0000 +Checked in by : Robert Osfield +Added a dirtyBound() to osgUtil::Optimizer. Corrected mispelling of alignment is osg::Text and the osgtext demo. Added guards for divide bu zero's to osg::IntersectVisitor. -2004-11-17 14:25 robert +Tue, 6 Nov 2001 11:36:11 +0000 +Checked in by : Robert Osfield +Fixed inlcude/BoundingBox to compile under Windows. - * Made a few of the public methods virtual, and moved more of the - class - methods to protected scope. +Tue, 6 Nov 2001 11:07:43 +0000 +Checked in by : Robert Osfield +Fixed inlcude/Math to compile under Windows. -2004-11-17 13:04 robert +Tue, 6 Nov 2001 10:34:51 +0000 +Checked in by : Robert Osfield +Added methods to support isNaN,isInfinte and valid to osg::Vec* and osg::Math, and added a guard to IntersectVisitor which uses these new methods to prevent invalid segments being added. - * Removed remaining old docs. +Sun, 4 Nov 2001 19:29:20 +0000 +Checked in by : Robert Osfield +Integrated updates to stats sent in my Geoff Michel. -2004-11-17 13:03 robert +Fri, 2 Nov 2001 21:20:32 +0000 +Checked in by : Don BURNS +Fixed findFileInPath to prepend ./ if file is in local directory. This was needed by dlopen() for dso's in the current directory - * Removed doc++ docs from distrubtion. +Fri, 2 Nov 2001 20:11:37 +0000 +Checked in by : Robert Osfield +Updates to Makefiles to include osgText. Also a couple of undefined methods in osgText::Text have been added. -2004-11-17 13:00 robert +Fri, 2 Nov 2001 12:26:33 +0000 +Checked in by : Robert Osfield +Updated index.html with dependacy info about the new osgText library. Modified osg/Drawable::draw(..) so that it uses display list COMPILE rather than COMPILE_AND_EXECUTE to solve performance problems under NVidia drivers. The old behavior is still available by comments out a #define. Fixed the default compilation list src/osgPlugins/Makefile so that it compiles by defalt png and gif. - * Removed mind maps docs +Thu, 1 Nov 2001 16:35:26 +0000 +Checked in by : Robert Osfield +Updates to the flt loader from Brede Johansen. -2004-11-17 12:58 robert +Thu, 1 Nov 2001 15:13:31 +0000 +Checked in by : Robert Osfield +Updates to osgText to fix a crash on ikart.tff font available under Linux, the bug was related to texel padding of the height not be accounted for in texture size calculation, but was used during populating the image data causing a mismatch. - * Moved the main documentation onto the wiki website, and removed - from the - OpenSceneGraph distribution +Wed, 31 Oct 2001 22:35:44 +0000 +Checked in by : Robert Osfield +Added missing config.h file to src/osgPlugins/lib3ds. -2004-11-16 16:04 robert +Wed, 31 Oct 2001 20:04:32 +0000 +Checked in by : Robert Osfield +Added a bool paramter to osg::StateSet::compare(const StateSet& rhs,bool compareAttributeContents=false) const; to allow it to use different comparison schemes, now it can use checking for pointer equality (the default) or attribute contexts. This has been added to assist optimization of databases within the flt loader, but also could be useful for other operations too. - * Fixed typo of ReadObjectFunctor. +Wed, 31 Oct 2001 18:33:27 +0000 +Checked in by : Robert Osfield +Updated the lib3ds plugin with the new 1.1 version of lib3ds. -2004-11-16 15:36 robert +Wed, 31 Oct 2001 12:27:48 +0000 +Checked in by : Robert Osfield +Update to osgText to get things compiling under Windows. - * Adde another friend to remove final VS6.0 compile problem. +Wed, 31 Oct 2001 11:41:22 +0000 +Checked in by : Robert Osfield +Update osgText.dsp to define FTGL_STATICLIBRARY to prevent it compiling the as a seperate library and producing linkage warnings. -2004-11-16 14:35 robert +Wed, 31 Oct 2001 10:20:50 +0000 +Checked in by : Robert Osfield +Updated the FTGL implemention in osgText to FTFL1.1. - * Attempted fix for VS6.0 compile problems +Tue, 30 Oct 2001 19:23:24 +0000 +Checked in by : Robert Osfield +Further updates to the ReaderWriter support in osgDB, and a fix to a small warning in Matrix.cpp. -2004-11-16 14:21 robert +Tue, 30 Oct 2001 14:20:37 +0000 +Checked in by : Robert Osfield +Added support for ReadResult and WriteResult to the osgDB::ReaderWriter to allo plugins to pass back more information about the success or failure of a file load. All plugins have been updated to the new convention. - * Removed debug info as it was causing VS6.0 compile problem +Mon, 29 Oct 2001 19:29:49 +0000 +Checked in by : Robert Osfield +Changed a #define ... (GLenum) 0x84fe to 0x84FE to fix problems under MacOS9 build. -2004-11-16 14:20 robert +Mon, 29 Oct 2001 12:22:22 +0000 +Checked in by : Robert Osfield +Ran to_unix over src/Demos/osgtext/main.cpp to try and fix some return type problems reported under Windows. - * From David Spilling, fix for VS6.0 build. +Mon, 29 Oct 2001 12:19:14 +0000 +Checked in by : Robert Osfield +Added missing src/osgText/Version.cpp file. -2004-11-16 14:10 robert +Thu, 25 Oct 2001 01:11:52 +0000 +Checked in by : Bryan THRALL +Imposter.cpp added to the project - * Made the inner helper classes friend to try and get round VS6.0 - problems +Thu, 25 Oct 2001 00:49:28 +0000 +Checked in by : Bryan THRALL +Changed the int to a GLint because of the differences within mac/win32/linux versions of gl.h. -2004-11-16 12:40 robert +Thu, 25 Oct 2001 00:45:33 +0000 +Checked in by : Bryan THRALL +sgv is almost working - * Added using namespace osgDB to try and resolve some of the VS6.0 - problems. +Wed, 24 Oct 2001 23:15:15 +0000 +Checked in by : Robert Osfield +Completed work on osgText compilation under Win32. We now have fonts under Wndows and Linux :-) -2004-11-16 09:09 robert +Wed, 24 Oct 2001 22:29:38 +0000 +Checked in by : Robert Osfield +Updates to the visual studio files for osgText. - * Added osgText dependency to osgsequence app +Wed, 24 Oct 2001 19:48:58 +0000 +Checked in by : Robert Osfield +Updates of osgDB/FileUtils to fix compilation problems under Win32 -2004-11-16 09:03 robert +Wed, 24 Oct 2001 13:46:58 +0000 +Checked in by : Robert Osfield +Updates to osgText. - * From Loic Dachary, changes to Timer for PowerPC support, with - small re-arrangement - by Robert Osfield to make tick() code block mode readable. +Wed, 24 Oct 2001 12:53:27 +0000 +Checked in by : Robert Osfield +Updates to osgText and osgDB so that the loading of text fonts can use osgDB::findFile() to locate font files from the OSGFILEPATH environmental variable. -2004-11-15 19:53 robert +Wed, 24 Oct 2001 09:41:42 +0000 +Checked in by : Robert Osfield +Updated FTGL version to 1.0 and removed a couple of warnings in the osgText demo. - * From Loic Dachary, added pk-config file. +Wed, 24 Oct 2001 09:08:02 +0000 +Checked in by : Robert Osfield +Updated the osgText implemention, now works under Linux. -2004-11-15 19:46 robert +Tue, 23 Oct 2001 23:23:51 +0000 +Checked in by : Don BURNS +Added stat.c - * Added support for serialization of calls to ReaderWriter plugins. +Tue, 23 Oct 2001 23:15:40 +0000 +Checked in by : Don BURNS +One last change needed to makedefs.linux to sync Linux and Irix pfb loader -2004-11-15 19:45 robert +Tue, 23 Oct 2001 23:10:47 +0000 +Checked in by : Don BURNS +Fixed pfb loader functionality for IRIX - * Added -pipe to gcc build under Linux +Tue, 23 Oct 2001 22:59:54 +0000 +Checked in by : Don BURNS +Fixed pfb loader so that it works for both Linux and IRix with dynamic libraries, and provides support to load (almost) all that Performer loads. -2004-11-15 19:44 robert +Tue, 23 Oct 2001 22:28:41 +0000 +Checked in by : Robert Osfield +Further work on getting osgText compiling. - * From osgplaents, updates to more of the solar systems planets. +Tue, 23 Oct 2001 22:12:07 +0000 +Checked in by : Robert Osfield +Removed old .cc versions of FT font code. -2004-11-15 13:08 robert +Tue, 23 Oct 2001 22:09:21 +0000 +Checked in by : Robert Osfield +Adding in new .cpp versions of FT font code. - * Added ReentrantMutex +Tue, 23 Oct 2001 22:08:02 +0000 +Checked in by : Robert Osfield +Updates to the new osgText library to get it to compile under Linux. -2004-11-15 13:02 robert +Tue, 23 Oct 2001 20:04:48 +0000 +Checked in by : Robert Osfield +Converted FTGL files from mac style return to unix style. - * From Tree, fixes for Java bindings +Tue, 23 Oct 2001 19:51:39 +0000 +Checked in by : Robert Osfield +First past integrat of Max Rhiener work on wrapping FTGL to create osgText library and demo. -2004-11-15 12:05 robert +Tue, 23 Oct 2001 15:55:01 +0000 +Checked in by : Robert Osfield +Added new osgGLUT::Window base class which is very basic right now, all it does is bring up a GLUT window and provide virtual functions from which users should subclass to add functionality. - * Added osgspotlight to example set. +Mon, 22 Oct 2001 22:02:47 +0000 +Checked in by : Robert Osfield +Integrated Geoff Michel's updates to Stats code, whilest move all text rendering back in the viewer from the Statistics header.Added a osg::State::captureCurrentState(StateSet&) method and a copy constructor +to osg::StateSet. -2004-11-15 12:03 robert - * From Ulrich Hertlien, improved osgsequence example -2004-11-15 11:57 robert +Sun, 21 Oct 2001 21:27:40 +0000 +Checked in by : Robert Osfield +Moved all #include "osg/.." references to #include to aid port to MacOS. - * Added osgDB::ReentrantMutex is prep for making osgDB::Registry - single threaded. +Sat, 20 Oct 2001 20:26:36 +0000 +Checked in by : Robert Osfield +Added support for an osgUtil::SceneView::init() traversal which is called once per scene view. The user can attach a NodeVisitor to do init for them, or leave it to the default which is to use the osgUtil::DisplayListVisitor which compiles all display lists and texture objects. The init traversal is called automatically by the first call to either app() or cull(), so should not be called by user code during initialization. This ensures that a valid graphics context has been established before OpenGL is initialized.osgUtil::DisplayListVisitor has also been updated to use a bit mask for options, and the addition of +compilation of texture objects (via StateAttribute::compile) has also been +added. -2004-11-14 21:08 robert - * From Loic Dachary, added getFileName method -2004-11-14 20:00 robert +Sat, 20 Oct 2001 09:48:22 +0000 +Checked in by : Robert Osfield +Added #ifdef to Performer ReaderWriterPFB so that pfdLoadFile is used under IRIX and pfdLoadFile_pfb is used under Linux. - * Added Cygwin to #define stat64 stat path. +Fri, 19 Oct 2001 15:53:59 +0000 +Checked in by : Robert Osfield +Removed Lighting.cpp from repository, it is nolonger used and was just hanging around erroneously. -2004-11-14 17:02 robert +Fri, 19 Oct 2001 15:30:54 +0000 +Checked in by : Robert Osfield +Updated the osgUtil::Optimize so that the call to Optimize::StateVisitor is #ifdef out under Win32 and STL port isn't being used. This prevents crashes due to MS's flacky STL implementation. - * Added COMPILE_OSG_OP_OT_WITH_SONAMES is YES guard around soname - settings. +Fri, 19 Oct 2001 14:22:02 +0000 +Checked in by : Robert Osfield +Added osgUtil::Optimizer which contains four visitor each designed for doing different types of optimization on the scene graph - state optimization, flattening static transforms, combining LOD's and removing redundent groups. The new Optimizer replaces the once seperate OptimizerStateVisitor. -2004-11-14 16:36 robert +Fri, 19 Oct 2001 12:56:37 +0000 +Checked in by : Robert Osfield +Added support for specifying whether view frustum and small feature culling should be applied to a node or its child with the new osg::Node::setCullingActive() flag. A mechanism has been implemented so that if child has its culling disabled then their parents, all the way up to the root are also have their culling implicitly disabled.The osg::CullVisitor has updated to take account of +both the explicit control via setCullingActive and the implicit culling +disabling through children being disabled. - * Added sonames support under Linux/gcc +This feature is useful for nodes which don't have a bounding volume to cull +against, earth sky implementations and light sources. -2004-11-14 10:41 robert +The default osg::Node::_cullingActive is true, i.e. culling is enabled by +default. - * Made the use of the standard clock default instead of the RDTSC - calls to avoid - problems with variable CPU frequency such as found on laptops. -2004-11-13 22:04 don - * PowerPC fix for Timer by Guillaume Morin +Wed, 17 Oct 2001 22:17:23 +0000 +Checked in by : Don BURNS +Fixed static libraries in madefs.linux and error in ReaderWriterPFB.cpp -2004-11-13 21:42 robert +Tue, 16 Oct 2001 22:30:04 +0000 +Checked in by : Bryan THRALL +Update the tree to my version of the project file (I thought it was already in) - Hang glide demo works - sgv is still being fixed - * Fixed warnings. +Tue, 16 Oct 2001 21:47:47 +0000 +Checked in by : Robert Osfield +Reverted Bryan's changes to FrameStamp w.r.t std::tm structure which doesn't compile under Win32 and IRIX. Will need to find another solution. -2004-11-13 21:39 robert +Tue, 16 Oct 2001 21:32:57 +0000 +Checked in by : Bryan THRALL +This was the old project file. It's no longer used. - * Added support for opening an istream archive +Tue, 16 Oct 2001 20:56:46 +0000 +Checked in by : Bryan THRALL +*** empty log message *** -2004-11-13 16:21 robert +Tue, 16 Oct 2001 18:39:57 +0000 +Checked in by : Robert Osfield +Fixes for IRIX build - submitted by Randall Hopper. - * Added prelimarny support for reading archives via the .net plugin +Tue, 16 Oct 2001 16:48:19 +0000 +Checked in by : Robert Osfield +Fixes for Win32 compilation. -2004-11-13 16:18 robert +Tue, 16 Oct 2001 15:03:10 +0000 +Checked in by : Robert Osfield +Fixed then normal smoothing function in the .3ds loader and the osgUtil::SmoothingVisitor so that unused normals at left at 0,0,0 insead of being normalized, which results in (nan,nan,nan). - * Fixed the passing of the parsed server name/server file when - handling files - via the .net plugin +Tue, 16 Oct 2001 14:24:38 +0000 +Checked in by : Robert Osfield +Completed implementation of a the new CombineLODsVisitor, ideal for use with the .flt loader. Code is stuff currently in sgv, but will be moved out once more testing has been done. -2004-11-13 10:24 robert +Tue, 16 Oct 2001 10:04:26 +0000 +Checked in by : Robert Osfield +Added support for transforming LOD and Billboard centers to the OrientationConverter and the flattenTransformVisitor in sgv. - * Fixed openArchive so that it only enforces the checking of the - archive's existance - when in READ mode. +Tue, 16 Oct 2001 10:03:19 +0000 +Checked in by : Robert Osfield +Modified Veiewer.cpp so that when toggling the light with 'l' the light can be overrided to off and overrided to on, previoulsy it only overrided to off. -2004-11-12 21:07 robert +Tue, 16 Oct 2001 08:24:26 +0000 +Checked in by : Robert Osfield +Fixed problem caused by ReaderWriterPFB::writeNode(..) not ensuring that the file extension was .pfb. Have added a check. - * Remove unistd.h include +Tue, 16 Oct 2001 03:59:37 +0000 +Checked in by : Don BURNS +added float *() operator to Vec{2,3,4} so we can pass Vec3's directly to OpenGL glVertex?fv(). -2004-11-12 16:36 robert +Mon, 15 Oct 2001 15:50:55 +0000 +Checked in by : Robert Osfield +Fixes for compilation under IRIX, submitted by Randal Hopper, with mods from Robert. - * Added --image and --dem documentation to command line parameters +Mon, 15 Oct 2001 14:29:40 +0000 +Checked in by : Robert Osfield +Made the new global state attribute instances in osg::State use osg:ref_ptr to automatically handle the memory deletion. -2004-11-12 15:39 robert +Mon, 15 Oct 2001 14:07:54 +0000 +Checked in by : Robert Osfield +Added support for automatic creation of global StateAttributes to osg::State, these global attributes are created by cloning any attributes which are applied during rendering, the clone in a shallow copy, which will set up default valus for that attribute. This should prevent attribute bleed from one stateset to the next when the global StateSet doesn't contain an attribute used within the scene graph. - * Rotated scene to face the viewer +Mon, 15 Oct 2001 11:18:51 +0000 +Checked in by : Robert Osfield +Fixed rotations to account to the fixes made to Quat and Matrix related to right hand rule rotation. -2004-11-12 14:49 robert +Mon, 15 Oct 2001 08:40:30 +0000 +Checked in by : Robert Osfield +The writeImage/Object/Node methods in the .osg and .pfb reader/writer didn't have the new ReaderWriter::Options* structure passed to them, which meant the the virtual functions didn't bind with the new base class methods and wern't called on a write. - * From Ulrich Heirtlein, added STL plugin +Mon, 15 Oct 2001 03:32:47 +0000 +Checked in by : Don BURNS +Updated pfb loader to load pfb files into osg. Still broken for loading osg files into Performer, however. -2004-11-12 08:55 robert +Sun, 14 Oct 2001 17:54:25 +0000 +Checked in by : Robert Osfield +Added osgDB::ReaderWriter::Options class to the ReaderWriter base class, support for settings options in osgDB::Registry, and added the paramter to all of the reaader/writer plugins. The Options structure by default has an string attached for packing basic options, however, it also can be subclassed to encapsulate any users defined option data. In the later case both the client code *and* the plugin need to be aware of subclass, the plugin will need to use dynamic_cast<> to assertain its type. - * Improvements to support for archives +Sun, 14 Oct 2001 16:56:03 +0000 +Checked in by : Robert Osfield +Added OrientationConverter.cpp to the VisualStudio project files for osgconv. -2004-11-11 22:26 robert +Sun, 14 Oct 2001 16:55:12 +0000 +Checked in by : Robert Osfield +Changed the OrientationConverter.cpp's to have consitent captilization as its associated header file. - * From Stephane Simon, added missing OSGDB_EXPORT to - osgDB::openArchive functions +Sun, 14 Oct 2001 14:23:47 +0000 +Checked in by : Robert Osfield +Fixed TransformFunctor code so that it now uses the inverse of the transformation matrix to transform the normal. -2004-11-11 16:05 robert +Sun, 14 Oct 2001 14:23:03 +0000 +Checked in by : Robert Osfield +Fixed a bug in Matrix::invert(..) which did not set full_realised=true, so that one Matrices which had not previously be initialized we're erronously initialized later in the code resetting it to identity. - * Added write to ostream to ReaderWriterDDS +Sun, 14 Oct 2001 09:58:49 +0000 +Checked in by : Robert Osfield +Added osg::StateSet::merge(const StateSet& rhs) merges merges the modes and attributes of rhs into 'this' stateset. -2004-11-11 16:05 robert +Sun, 14 Oct 2001 09:57:33 +0000 +Checked in by : Robert Osfield +Fixed the Flight and Drive manipulators to work with the updated Matrix::rotate code. - * Fixed file extraction. +Sun, 14 Oct 2001 06:01:31 +0000 +Checked in by : Don BURNS +Fixed a small boo-boo in definition of bit masks in include/osg/DrawableFixed incorrect normal conversions for osgconv. -2004-11-11 13:22 robert - * Moved the .osga implementation into the src/osgPlugins/osga - plugin and made - osgDB::Archive a pure virtual base class. -2004-11-10 22:11 robert +Sun, 14 Oct 2001 05:33:36 +0000 +Checked in by : Don BURNS +Mr. O added fancy, shmanzy C++ code, but broke normal transform functionality Fixed. - * Fixed uninitialized variable. +Sun, 14 Oct 2001 05:14:37 +0000 +Checked in by : Don BURNS +Quick 'n dirty fix to TrackballManipulator to get the rotations doing the right things after the Quat fixes. -2004-11-10 21:52 robert +Sun, 14 Oct 2001 04:50:04 +0000 +Checked in by : Don BURNS +Cleaned up some 'make clobber' issues in root Makefile - * Set the pos_type and size_type explictly to 8 byte types. +Sun, 14 Oct 2001 04:28:50 +0000 +Checked in by : Don BURNS +Quaternions were assigning inverted values during conversion to matricies. This is probably due to an error on the gamasutra web page demonstrating this. It caused left-handed rotations rather than right handed rotations. Should be fixed now. -2004-11-10 21:47 robert +Sat, 13 Oct 2001 11:16:10 +0000 +Checked in by : Robert Osfield +Changed the naming and calling convention of the new Drawable::AttributeFunctor and have updated GeoSet to use mutable values for the _numverts etc, allowing osg::GeoSet::computeNumVerts() to be a const operation. osg::GeoSet::getNumVerts is now a const once more, so avoiding compilation problems. Also chaned the new osgconv orientation code to use a Drawable::AttributeFunctor so it can work on other Drawables other than just GeoSets. - * Added debugging info for swapped endian values +Sat, 13 Oct 2001 09:48:37 +0000 +Checked in by : Don BURNS +Added Mr. Osfields dynamic_cast<> and test for validity test. -2004-11-10 21:38 robert +Sat, 13 Oct 2001 08:34:02 +0000 +Checked in by : Don BURNS +backed out right-handed coordinate transform for makeRot(vec3,vec3) in Quat.cpp - * Fixes to endian handling. +Sat, 13 Oct 2001 08:32:11 +0000 +Checked in by : Don BURNS +A few more clean ups -2004-11-10 21:31 robert +Sat, 13 Oct 2001 07:41:54 +0000 +Checked in by : Don BURNS +Cleaned up the usage message - * Removed duplicated swap bytes +Sat, 13 Oct 2001 07:24:25 +0000 +Checked in by : Don BURNS +Updated osgconv to be able to handle orientation swapping. -2004-11-10 21:28 robert +Sat, 13 Oct 2001 06:23:55 +0000 +Checked in by : Don BURNS +Changed some routines to produce right-handed rotations. - * Added sizeof tests of istream::pos_type and off_type to - osgunittests. - - Added debuggin messages to endian handling code in - Archive::open(). +Sat, 13 Oct 2001 06:22:49 +0000 +Checked in by : Don BURNS +checking files in to move development location -2004-11-10 21:18 robert +Sat, 13 Oct 2001 01:28:33 +0000 +Checked in by : Don BURNS +Removed personal note in Matrix header file - * Added check for endianess of .osga archives +Fri, 12 Oct 2001 20:06:35 +0000 +Checked in by : Robert Osfield +Added support for the new AttributeUpdateFunctors. -2004-11-10 16:56 don +Fri, 12 Oct 2001 20:05:55 +0000 +Checked in by : Robert Osfield +Added != method to Vec2,Vec3,Vec4 and did further work on the AttributeUpdateFunctors. - * More cleanups for CYGWIN from Norman Vine +Fri, 12 Oct 2001 17:45:15 +0000 +Checked in by : Don BURNS +Added include/osg/Math to Makefile TARGET_INCLUDE_FILES and fixed references to _mat in ConvertToPerformer.cpp -2004-11-10 16:40 robert +Wed, 10 Oct 2001 20:20:14 +0000 +Checked in by : Robert Osfield +Added support for DYNAMIC/STATIC osg::Transform types and added new osg::Drawable::getStats and supportsAttributeUpdate(..) and applyAttributeUpdate(...) methods which will be to enable hooks into Drawable subclasses. - * Added new osga plugin for reading OSG native archives +Wed, 10 Oct 2001 14:38:12 +0000 +Checked in by : Robert Osfield +Fixed spelling of osg::GeoSet::getNumInterleavedIndices, was missing a 'n'! -2004-11-10 16:37 robert +Tue, 9 Oct 2001 21:55:47 +0000 +Checked in by : Robert Osfield +Fixed a crash when opening an erroneous test file (reopen.bmp). - * Commented out some redundent debuggin info. +Tue, 9 Oct 2001 20:22:52 +0000 +Checked in by : Robert Osfield +Updated to fix build problems under MSVC. -2004-11-10 13:47 robert +Tue, 9 Oct 2001 20:09:27 +0000 +Checked in by : Robert Osfield +Updated MSVC Workspace files to fix build problems. - * Moved the ReadFunctor to protected section. +Tue, 9 Oct 2001 20:03:51 +0000 +Checked in by : Robert Osfield +Updated MSVC Workspace files to fix build problems. -2004-11-10 13:03 robert +Tue, 9 Oct 2001 14:18:47 +0000 +Checked in by : Robert Osfield +Merged Ben Discoe's clean up of the MSVC files. - * Added support for master file and clean up Archive API. +Tue, 9 Oct 2001 11:58:13 +0000 +Checked in by : Robert Osfield +Merged updates to BMP plugin from Geoff Michel. Also modified a little of the code to fix a crash under Linux, Robert Osfield -2004-11-10 10:57 robert +Mon, 8 Oct 2001 19:01:37 +0000 +Checked in by : Robert Osfield +Put the makedefs.linux back to default to optimize. - * Removed the explicit setting for convert to geocentric when - setting - --bluemarlbe-west, --bluemarble-east and --whole-globe. +Mon, 8 Oct 2001 15:54:16 +0000 +Checked in by : Robert Osfield +Fixed a recently introduced crash in the flt plugin which was happen when a std::string was be be set with NULL char*. Also added support for stripping the filename from its original path, inside the osgDB::findFile function. -2004-11-10 09:56 robert +Mon, 8 Oct 2001 08:35:06 +0000 +Checked in by : Robert Osfield +Added support for using osgDB::fineFile into the .flt plugin. - * From Mike Weiblen, fix to the state leakage. +Sun, 7 Oct 2001 20:10:58 +0000 +Checked in by : Robert Osfield +Merged Geoff Michel's udpdates to bmp plugin, and fixed a double fclose bug which was causing a seg fault under Linux. -2004-11-09 16:50 robert +Sat, 6 Oct 2001 20:29:42 +0000 +Checked in by : Robert Osfield +Added a osg::DegreesToRadians() and osg::RadiansToDegrees() method to osg/Math, updated the ReaderWriterBMP.cpp (mods sent in my Geoff Michel) and moved the osgUtil::Statistics to osg::Statistics in preperation to adding it to the the Drawable base class. - * Added explicit setting of the precision to allow .osg files to be - used succsefully. +Fri, 5 Oct 2001 19:55:58 +0000 +Checked in by : Robert Osfield +Added bmp plugin files, bmp plguin written by Geoff Michel -2004-11-09 16:49 robert +Fri, 5 Oct 2001 10:39:27 +0000 +Checked in by : Robert Osfield +Added bmp osgPlugin, written by Geoff Michel. - * Fixed tabbing +Fri, 5 Oct 2001 10:38:16 +0000 +Checked in by : Robert Osfield +Fixed a bug in osg::Image::ensureDimensionsArePowerOfTwo() which only scaled dimensions if *both* axis wern't a power of two, have fixed it to rescale if either of the axis arn't a power to two. -2004-11-09 15:12 robert +Fri, 5 Oct 2001 01:27:54 +0000 +Checked in by : Bryan THRALL +*** empty log message *** - * From Mike Weiblen adding lib paths to net.dsp, and changes by - Robert Osfield moving the osgDB - and osg dependency from the net.dsp to VisualStudio.dsp to keep - it consistent with the rest - of the OSG plugins and executables. +Thu, 4 Oct 2001 16:49:13 +0000 +Checked in by : Robert Osfield +Added the Copyright message to the top of osgWX, with Ben Disoe's name as he wrote all the code. -2004-11-09 15:01 robert +Thu, 4 Oct 2001 15:12:57 +0000 +Checked in by : Robert Osfield +Added a copyright notice to all core headers, which all begin with //C++ header to help scripts and editors pick up the fact that the file is a header file. - * Added rainer's changes for adding billboard glow around sun. +Thu, 4 Oct 2001 14:39:24 +0000 +Checked in by : Robert Osfield +Changed the ordering of comparing modes and attributes in osg::StateAttribute::compare() as part of an investigration into state sorting. -2004-11-09 14:18 robert +Thu, 4 Oct 2001 14:35:42 +0000 +Checked in by : Robert Osfield +Added an implemention of basic state sorting to the RenderBin, but have commented out the sort operation as Peformance benifit is currently negligable, will need to improve on the sort functor to see real benifits. - * Added support of archiving into osgTerrain::DataSet and osgdem. +Thu, 4 Oct 2001 14:25:50 +0000 +Checked in by : Robert Osfield +Added extra precision to the app,cull and draw timings in the Viewer. -2004-11-09 07:34 don +Thu, 4 Oct 2001 14:20:23 +0000 +Checked in by : Robert Osfield +Removed some notify which were only used for debugging of the camera class and are now redudent. - * Fixes to the .net plugin for Cygwin, submitted by Norman Vine +Thu, 4 Oct 2001 14:10:20 +0000 +Checked in by : Robert Osfield +Changed the numeric ordering of StateAttributes Types, as part of an investigation into state sorting. -2004-11-08 20:44 robert +Wed, 3 Oct 2001 21:44:07 +0000 +Checked in by : Robert Osfield +Integrated changes for MacOSX, submitted by Phil Atkin, with small mods by Robert Osfield to maintain compatability under Linux. - * Fixed the compute of PagedLOD ranges for non geocentric datasets +Wed, 3 Oct 2001 07:56:33 +0000 +Checked in by : Robert Osfield +Added missing EarthSky.cpp file to osg plguin. -2004-11-08 19:56 robert +Tue, 2 Oct 2001 15:59:49 +0000 +Checked in by : Robert Osfield +Added include/osg/EarthSky and src/osg/EarthSky to cvs.Also move osg across to using radians for angular paramters by default. +By defining USE_DEGREES_INTERNALLY you can get the OSG to revert to +the old style degrees. This later feature is deprecated and only meant +for helping comptability in the interim. - * Added resolutionSensitivityScale of 0.9 into the - DataSet::createDestinationGraph() - to prevent overly conservative subdivision of data. -2004-11-08 17:12 robert - * Added public access to VertexProgram's LocalParamters and added - .osg support - for these. +Tue, 2 Oct 2001 11:36:14 +0000 +Checked in by : Robert Osfield +Added osg::EarthSky node to the core osg library, and added support for it into osgUtil::SceneView, osg::CullVisitor, osgPlugin/osg and updated the hangglide demo to use the new earth sky node. -2004-11-08 16:39 robert +Mon, 1 Oct 2001 23:02:14 +0000 +Checked in by : Robert Osfield +Added support for osg::StateSet comparison operators and using this new feature added support in osgUtil::OptimizeStateVisitor for removing duplicate StateSet's from the scene graph, previously only duplicated StateAttributes we're removed. - * From Stephane ???, fixes for VS.NET build +Mon, 1 Oct 2001 12:06:22 +0000 +Checked in by : Robert Osfield +Integrated a bug fix to osg::TexMat from Geoff Michel which adds a glMatrixMode( GL_MODELVIEW ); after the setting of the texture matrix. Previously the texture matrix mode could run into normal model view matrix operations which were assuming the defaul of GL_MODELVIEW. -2004-11-08 16:39 robert +Mon, 1 Oct 2001 11:15:55 +0000 +Checked in by : Robert Osfield +Made spelling corrections, the spelling mistakes picked up by a script written by Neil Salter.script - * Added guard to testing _internalFormat in compareTexture(..) so - that - a comparison would only be done if both the lhs and rhs had - already been - set to a non zero value. -2004-11-08 16:11 robert - * Updates to osgDB::Archive support, and refactoring of - implementation of - reading files in Registry to faciliate the new archiving support. +Sun, 30 Sep 2001 20:41:20 +0000 +Checked in by : Robert Osfield +Interegrated changes to Timer from Neil Salter to fix compilation problems which had been introduced by doing #include's within the osg namespace. -2004-11-07 21:17 robert +Sat, 29 Sep 2001 18:34:26 +0000 +Checked in by : Robert Osfield +Added setAttributeAndModes(new Depth,StateAttribute::ON); to the StateSet::setGlobalDefault() so that the correct default for the glDepthFunc etc are set up for scene graphs, and allows override of these value which risk of inheriting state on to the rest of the scene graph.This has allowed the hangglide demo to be simplified since it now doesn't need to set the global Depth instance itself. - * Added support for openArchive into osgDB -2004-11-07 12:13 robert - * Fixed insertion of files into an existing archive +Sat, 29 Sep 2001 09:37:43 +0000 +Checked in by : Robert Osfield +Modified the Matrix multiple method added by Don so it is safer and added comments explaining why it shouldn't be needed as other more efficient methods should be doing the work for us.Also added Matrix::ensureRealized() to support the lazy initialization of Matrix, whilest keeping the implementation robust so that external calls to Matrix which get values do so on an initialized matrix. -2004-11-06 21:21 robert - * Removed un-needed setCullActive(false) -2004-11-06 21:18 robert +Sat, 29 Sep 2001 02:48:31 +0000 +Checked in by : Don BURNS +Added operator * (Matrix &) to Matrix (header) and operator [] to reference matrix elements. - * Further work on osgDB::Archive +Fri, 28 Sep 2001 20:10:41 +0000 +Checked in by : Robert Osfield +Made spelling corrections to osg include files, spelling mistakes detected by a script written by Neil Salter which analyses comments for mistakes. -2004-11-06 10:18 robert +Fri, 28 Sep 2001 19:36:58 +0000 +Checked in by : Don BURNS +Cleaned up inst rules a bit... - * Made fix to the setReferenceFrame method to properly disable - culling - when reference frame is ABSOLUTE. +Fri, 28 Sep 2001 16:56:19 +0000 +Checked in by : Robert Osfield +*** empty log message *** -2004-11-04 21:11 robert +Fri, 28 Sep 2001 12:36:40 +0000 +Checked in by : Robert Osfield +*** empty log message *** - * Disabled culling on the aboslute transform to fix bug culling of - hud. +Thu, 27 Sep 2001 16:34:41 +0000 +Checked in by : Robert Osfield +*** empty log message *** -2004-11-04 20:25 robert +Thu, 27 Sep 2001 09:44:55 +0000 +Checked in by : Robert Osfield +*** empty log message *** - * Added a clear() into the RefNodePath operator = (NodePath) - method. +Wed, 26 Sep 2001 12:23:02 +0000 +Checked in by : Robert Osfield +*** empty log message *** -2004-11-04 15:32 robert +Tue, 25 Sep 2001 17:56:56 +0000 +Checked in by : Robert Osfield +*** empty log message *** - * From Morné Pistorius, fixes for VisualStudio7.0 +Sat, 22 Sep 2001 02:42:08 +0000 +Checked in by : Don BURNS +Synch with 20010921 -2004-11-02 21:04 robert +Sat, 22 Sep 2001 02:04:50 +0000 +Checked in by : Don BURNS +Added files to keep cvs from removing empty directories lib and lib/osgPlugins - * Improved handling of uflow and underflow() in proxy_streambuf, - and change - unsigned char* to char* to avoid stoooopid VS6.0 compile errors +Thu, 20 Sep 2001 01:07:59 +0000 +Checked in by : Don BURNS +Added place holder README files to lib/README and lib/osgUtil/README so empty directories will not be removed by CVS -2004-11-02 17:05 robert +Thu, 20 Sep 2001 00:59:26 +0000 +Checked in by : Don BURNS +Removed Makedepend files - * Added prelimanary prox stream buffer to fake the ending of file. +Thu, 20 Sep 2001 00:48:36 +0000 +Checked in by : Don BURNS +Addec binary files with -kb -2004-11-02 17:04 robert +Thu, 20 Sep 2001 00:47:45 +0000 +Checked in by : Don BURNS +Removed should be binary entries. Well r-add with -kb - * Added debugging messages to setTrackerNode +Thu, 20 Sep 2001 00:07:09 +0000 +Checked in by : Don BURNS +Added ico files with -kb flag -2004-11-02 14:05 robert +Thu, 20 Sep 2001 00:06:36 +0000 +Checked in by : Don BURNS +Trying to clean up binary commits - * Fixed missing write of image tiles. +Wed, 19 Sep 2001 23:56:12 +0000 +Checked in by : Don BURNS +Added these with the -kb flag now. -2004-11-02 11:10 robert +Wed, 19 Sep 2001 23:55:38 +0000 +Checked in by : Don BURNS +Cleaning up binary commits - oops - * Removed the font cache from the FreeType plugin, moving the - support across to - osgDB::Registry. +Wed, 19 Sep 2001 23:52:12 +0000 +Checked in by : Don BURNS + 1) new implementation of the osg::Matrix class. Note details below. 2) cleaned up osg::Timer, still in progress. My intent has been to pave the way for support for other OS's. 3) new osg::FrameStamp class which has a frame number, reference time for each frame to be app, culled and drawn. The FrameStamp also can be passed to other machines (i.e. cluster) and the FrameStamp can be used with the slaves own app,cull and draw. I've also added the beginings of a calander time data to the FrameStamp to allow time or day and year to be used in setting up position of sun/moon etc. etc. 4) The osg::State now has contains a pointer to the last applied osg::Camera and the current osg::FrameStamp, so that drawables can use both pieces of information for creating effects such CLOD, earth/sky etc. The osg::NodeVisitor also now allows you to attach a FrameStamp to support syncronization of actions on the scene graph. -2004-11-01 18:29 robert +Wed, 19 Sep 2001 23:46:48 +0000 +Checked in by : Don BURNS + o Added osgUtil::StateOptimizeVisitor which traversing the scene graph and builds up a map of all StateAttributes and StateSets and then removes the duplicates. This promotes state sharing throughout the scene graph which inturn can significantly improve performance thanks to reduced state changing. Particularily effective on datasets where a great deal of duplicated state exists. o Added pure virtual compare(const osg::StateAttribute&) method to osg::StateAttribute, and implemented it in all the subclasses from StateAttribute. Added <,== & != operator on StateAttribute and Matrix to support new StateOptimizeVisitor. o Added META_Object, META_Node and META_StateAttribute macros to Object, Node and StateAttribute respectively which define the standard pure virtual methods such as clone, className & isSameKindAs. Changed all the appropriate header files to use these macro's rather define them in each header, these cleans up the headers considerably. o Corrected the implementation of osg::Light::getType so it correctly uses a unique type for each of the OpenGL lights (GL_LIGHT0.. GL_LIGHT7 relates to osg::StateAttriburte::LIGHT_0..LIGHT_7. o Changed the definition of osg::StateStateAttribute::Type to is now a unsigned int rather than an enum, and have changed the name of the previous Type enum list to be Types. This makes it more consistent with the difination of values found in StateAttribute and also easier to extend with having to cast to an enum. o From Pail Fredrikson, updated Maitrx.new implemention which uses the same matrix orientation as the original Matrix implemention. - * Removed referecence to the old c2 wiki. +Wed, 19 Sep 2001 23:41:39 +0000 +Checked in by : Don BURNS + o Updated Metrowerks files for MacOS. They aren't 100% there yet, but getting there. o First cut of osgcluster demo. Very simple beginings. Alas + I only one PC here so I can't test it in its current guise. -2004-11-01 16:16 robert + o New support for NodeCallbacks, via AppCallback attached to + osg::Node's, and a default osgUtil::AppVisitor which calls them on + each frame. - * Commented out settings of TexEnvCombine alpha values + o Support for traversal masks in osg::NodeVisitor, osg::Node + which allows nodes to be switched on or off via a bit mask. -2004-11-01 16:14 robert + o Suppport for traversal number (frame number) and reference time + into osg::NodeVisitor to handle syncronization of app and cull + traversals. This also assist clustering as traversal number + master to slaves. - * From Tree chagenes required for Java Wrappers -2004-11-01 10:04 robert - * Added handling of endian in DrawElementsUShort/UInt - implementations +Wed, 19 Sep 2001 23:21:31 +0000 +Checked in by : Don BURNS +0.8.42 sync -2004-10-29 18:24 robert +Wed, 19 Sep 2001 21:51:06 +0000 +Checked in by : Don BURNS +Removed files.... synching witn 0.8.42 - * Added useage of TexEnvCombine +Wed, 19 Sep 2001 21:41:52 +0000 +Checked in by : Don BURNS +And yet more clean up synch with 0.8.42 -2004-10-29 15:42 robert +Wed, 19 Sep 2001 21:19:47 +0000 +Checked in by : Don BURNS +More clean up for synch with 0.8.42 - * Added multi-textured city illumination +Wed, 19 Sep 2001 21:10:39 +0000 +Checked in by : Don BURNS +Added acompole more -2004-10-28 22:29 don +Wed, 19 Sep 2001 21:08:56 +0000 +Checked in by : Don BURNS +Added a bunch of files synched with 0.8.42 - * Test done. +Fri, 12 Jan 2001 17:34:58 +0000 +Checked in by : Don BURNS +Removed Makedepend for osg repository. No Makedepends should be in the repository -2004-10-28 22:28 don +Wed, 10 Jan 2001 17:19:04 +0000 +Checked in by : Don BURNS +Fixed the findDSO error which excluded PATH on win32 and LD_LIBRARY_PATH in UNIX. - * Directory write test to new CVS - -2004-10-28 22:27 don - - * Silly little temporary file to test CVS writes to the new server - -2004-10-28 19:09 robert - - * Fixed support for NodeTrackerManipulator. - -2004-10-28 14:27 robert - - * Added support for listing contents of archive - -2004-10-28 13:40 robert - - * From Anders Backman, unit tests to test matrix to quat compute. - -2004-10-28 13:26 robert - - * From Tom Jolley, Added a new enum POINT_ROT_WORLD_Z_AXIS and a - new section in computeMatrix for this enum. - With a small tweak from Robert Osfield to set _cacheMode. - -2004-10-28 13:04 robert - - * Added return type to addFileReference(). - -2004-10-28 13:02 robert - - * Added return value to getFileReferences() - -2004-10-28 12:16 robert - - * Updates to osgDB::Archive, and IVE plugin to support usage via - the Archive. - -2004-10-28 09:38 robert - - * Updates for Rainer, and with a few changes by Robert. - -2004-10-28 08:57 robert - - * Removed direct dependency on GDAL - -2004-10-28 07:00 robert - - * Removed gdal_priv.h from include/osgTerrain/DataSet to remove the - external dependency on - GDAL. - -2004-10-27 14:09 robert - - * Added IndexBlock inner class to osgDB::Archive - -2004-10-27 08:39 robert - - * Added setCullingActive false to the absolute transform. - -2004-10-26 18:36 robert - - * Fixed make files. - -2004-10-26 18:29 robert - - * Updates to osgDB::Archive - -2004-10-26 18:20 robert - - * Removed GDAL reference - -2004-10-26 18:11 robert - - * Removed the _initVisitor traversal for update() to prevent OpenGL - being called at the wrong time. - -2004-10-26 15:31 don - - * Removed link to X11 - -2004-10-26 10:31 robert - - * Made the className() const - -2004-10-26 10:27 robert - - * Updates to the osgarchive application - -2004-10-26 10:26 robert - - * Made ReaderWriter::className const - -2004-10-25 20:08 don - - * oops. Mistaken check-in of local dependencies file - -2004-10-25 20:08 don - - * Oops. mistaken check in of overly modified makerules - -2004-10-25 20:04 don - - * Small change by Eric Sokolowsky to change TIFF_LIBS to TIFF_LIB - for Mac build - -2004-10-25 19:16 robert - - * From Tree, fixes for Java bindings - -2004-10-25 19:16 robert - - * Added new osgDB::Archive class, and osgarchive example. These are - both - very early beginnings so do not function yet. - -2004-10-25 18:46 robert - - * Fixed typo. - -2004-10-25 18:23 robert - - * From Rainer, updates to osgplanet. - -2004-10-25 18:08 don - - * Small warning fix by Marco. - -2004-10-25 17:41 robert - - * Made getHomePosition const. - -2004-10-24 21:05 don - - * Namespaced Rect and Frame to osgfxbrowser::Rect/Frame, as this - was causing - a namespace collision with CGL - -2004-10-24 20:04 robert - - * Changed ABSOLUTE and RELATIVE to ABSOLUTE_RF and RELATIVE_RF to - avoid stooppid Win32 #define - -2004-10-24 17:50 robert - - * From Fred Mammond, fixes for x86_64 build - -2004-10-24 14:42 robert - - * From Geoff Michel, speeling and typo fixes in osgUtil - -2004-10-24 14:31 robert - - * fixes to tabs - -2004-10-24 14:31 robert - - * From Pavel Moloshtan, speed improvments in reading and writing - index arrays - -2004-10-24 14:24 robert - - * Added osgDB::Archive - -2004-10-24 14:23 robert - - * From Rainer Oder, updates to osgplanets - -2004-10-24 14:19 robert - - * From Eric Sokolowsky, support for 2 channel tiff images - -2004-10-24 13:51 robert - - * Added s/getEventCallback support into osg::Node, and an - EVENT_VISITOR - type into NodeVisitor. - -2004-10-24 06:12 don - - * don - Comment in makedirdefs was causing Mac build to stop short - of - building all plugins - -2004-10-24 05:50 don - - * don - Small changes to support Mac OSX CGL build - small unused variable warning fix. - -2004-10-22 21:01 don - - * Added default: case for both switch() statements - -2004-10-22 19:26 robert - - * Changed the ReferenceFrame enums to be RELEATIVE and ABSOLUTE, - and - deprecated the RELATIVE_TO_ABSOLUTE and RELATIVE_TO_PARENTS. - -2004-10-22 18:47 robert - - * Compile fixes - -2004-10-22 16:39 robert - - * Added Rainer's initial osgplanets example. - -2004-10-21 09:36 robert - - * Generalised the osg::ClusterCullingCallback so that it coud be - attached - to Node as well as Drawables. - - Changed the osgTerrain::DataSet so that it moves the - ClusterCullingCallback - up to the Node level. - - Added support to the .ive plugin for attaching the - ClusterCullingCallback to nodes. - -2004-10-21 09:33 robert - - * Checked in commented out gz plugin, will comment back in later - once it - is fully checked in - -2004-10-19 13:52 robert - - * Move the setting of the camera horizontal field of view to after - the realize() - to avoid the CameraGroup's Lens be set when its NULL. - -2004-10-19 09:29 robert - - * From Alan Purvis, with enum name tweaks from Robert Osfield. - Addition of - support for turing on/off the usage of vertex buffer objects. - -2004-10-18 18:59 robert - - * From Frank Lichtenheld, compile fix to Linux powerpc build. - -2004-10-18 18:56 robert - - * Fixed OsgCameraGroup::setLODScale so that it now uses the local - CullSettings - objects. - -2004-10-18 18:36 robert - - * From Bob Kuehne, addition of Vec3f(Vec2f,float) and - Vec3d(Vec2d,double) - constructors. - -2004-10-18 18:31 robert - - * Added support for hardware generated mipmaps into - Textre2D::copy*() methods. - -2004-10-18 14:51 robert - - * From Marco Jez, "makes the LWS loader store LWO object names as - node names, for easier recognition and retrieval by scene graph - visitors. - With this fix, each PositionAttitudeTransform node that - corresponds to an entry in the LWS file carries the name of the - loaded object plus the layer number (for example, - "objects/myobj.lwo.2")." - -2004-10-18 14:46 robert - - * From Yuzhong Shen, fix to the image dimensions passed to - allocImage in Image::copySubImage - -2004-10-18 14:42 robert - - * From Sohey Yamamoto, addition of TexEnvFilter support. - -2004-10-17 06:14 don - - * Fix for minor compile error (internal error) for VS7. - -2004-10-15 20:13 don - - * Fixed small typo. - -2004-10-15 10:35 robert - - * Added osgNV enum Types - -2004-10-15 09:53 robert - - * Changed fstream to ifstream - -2004-10-15 09:10 robert - - * Added docs - -2004-10-14 20:35 robert - - * Updates to NodeTrackerManipulator.cpp - -2004-10-14 12:10 robert - - * Fixed the home position. - -2004-10-14 10:38 robert - - * Improvements to the NodeTrackManipulator and osgsimulation - example - -2004-10-13 19:52 robert - - * From Sohey Yamamoto, added support for - GL_TEXTURE_FILTER_CONTROL/GL_TEXTURE_LOD_BIAS. - -2004-10-13 19:10 robert - - * From David Spilling, with small format and variable rename by - Robert Osfield. - -2004-10-13 14:13 robert - - * Added population and access of the - ReaderWriter::Options::s/getDatabasePath() - to enable paged database to accessed without setting file paths - explictly - -2004-10-13 13:40 robert - - * Small tweaks to the calculateMovement method. - -2004-10-13 13:39 robert - - * Increased the size of the inserted model so that it can be seen - more easily, - -2004-10-13 11:56 robert - - * Fixed precision of center computation. - -2004-10-13 11:15 robert - - * Added new getMember() method and TypeMemberPair into - StateAttribute and - support for the unsigned int member to be paired with types in - osg::StateSet - so that lights, clipplanes and other attributes that have a type - group but - then need to differentiate within that group via a member uint. - -2004-10-12 09:54 robert - - * Added CullingSettngs::s/getInheritanceMask() and - inheritCullSettings(,) method. - -2004-10-12 09:00 robert - - * Added a direct call to the osgUtil::Optimizer in - GeoSetBuilder.cpp so that - the resultant geomety would be more efficiently packed. - -2004-10-12 07:54 robert - - * From Sondra Iverson, with mods by Robert Osfield. Support for - copying texenv - from the source StateSet when multi-texturing. - -2004-10-10 18:18 robert - - * Fixed copy and past erro in getFontWidth. - -2004-10-09 15:00 don - - * Added fix for MAC for FileUtils.cpp: stat64 is not present on - Mac. - -2004-10-08 09:18 robert - - * Changed StaetAttribute::Type so it is an enum list rather than a - unsigned int. - -2004-10-07 10:03 robert - - * From Sondra Iversion "Loading a single model from an externally - referenced file is a standard option for OpenFlight and is - specified by - including the modelname in angle brackets, such as: - filename. - - The attached code identifies and handles this case." - -2004-10-07 09:40 robert - - * Added new clear, removeAttribute, removeMode, - removeTextureAttribute and - removeTextureMode method and deprecated the setToInherit - equivilants. - -2004-10-06 20:32 robert - - * Improved the osg::Geometry::computeCorrectBindingsAndArraySizes() - implemention - so that it produce more optimal settings. - - Changed flt/GeoSetBuilder so that it doensn't merge geometry, as - it was - merging geometry even when inappropriate. - -2004-10-06 19:19 robert - - * From Jason Daly, fix to multi-texturing/detail texture handling. - -2004-10-06 15:15 robert - - * Added support for http reading into the readObject, readImage and - readHeightField methods - complimenting the previously checked in readNode supoort. - -2004-10-06 14:44 robert - - * Generalised the .net plugin so it could handle object, image, - heightfield and node - file reads. - -2004-10-06 13:11 robert - - * Added support for parsing http:// names and mapping automatically - to use - the .net plugin - -2004-10-06 13:10 robert - - * Added passing on of Options object - -2004-10-06 13:09 robert - - * Added support for readNode(istream,Options*) into OBJ to allow - loading - over the internet - -2004-10-06 12:02 robert - - * Replaced #ifndef GL_TEXTURE_3D by GL_TEXTRE_BINDING_3D as the - former was a copy - and paste error. - -2004-10-06 09:31 robert - - * Added : - - osg::PagedLOD::s/getDatabasePath() and support in - PagedLOD::traverse(). - osgDB::ReaderWriter::Options::s/getDatabasePath() - osgDB::Input::s/getOptions() - setting of osgDB::Input::setOptions() in ReaderWriterOSG.cpp - src/osgPlugins/ive/DataInputStream::s/getOptions() - setting of src/osgPlugins/ive/DataInputStream::setOptions() in - ReaderWriterIVE.cpp - -2004-10-05 19:12 robert - - * Added s/getCullSettings to OsgCameraGroup - -2004-10-05 15:08 robert - - * Added ability to alter the verbosity of the notify messages with - the - running of osgTerrain::DataSet via a static - s/getNotifyOffset(int) method. - -2004-10-05 09:53 robert - - * Added support to osgProducer::Viewer for forcing an early exit - form applications - and recording an image on exit. - -2004-10-05 07:08 robert - - * Changed _stat64 to _stati64 - -2004-10-04 14:21 robert - - * Moved the SceneView to local to the contruction/destruction of - the RenderSurface - -2004-10-03 19:49 robert - - * Checked in #define mapping of stat64 to _stat64 to fix Windows - build - -2004-10-03 08:50 robert - - * Solution of fileExists support for > 2Gb files from Ken Sewell, - applied by Robert Osfield. - -2004-10-03 08:36 robert - - * Added missing _texAttrListMap.clear(); into reset() - -2004-10-01 23:18 robert - - * Added new osgspotlight demo - -2004-10-01 22:05 robert - - * From Lewis Harmon, fixes to the Node and NodeCallback - constructors. - -2004-10-01 18:32 robert - - * Changed the argument parser to accept strings that start with a - - as being - valid strings. - -2004-10-01 15:49 robert - - * From Rainer Oder, new osglauncher application. - -2004-10-01 15:48 robert - - * Added setPlanesFromMatrix method - -2004-10-01 15:48 robert - - * Added new setPlanesFromMatrix method - -2004-10-01 15:47 robert - - * Updated to use new TexGen method - -2004-10-01 09:40 robert - - * From Tree, moved apply's from protected to public to support Java - wrappers - -2004-10-01 09:38 robert - - * Added define of GL_TEXTURE_BINDING_3D for systems with OpenGL1.2 - compliant - headers - -2004-10-01 09:19 robert - - * From Marco Jez, added more examples to runexamples.bat - -2004-10-01 07:39 robert - - * Added support for write to ostream into .osg plugin - -2004-09-30 19:36 robert - - * Experimentation with new timing code. - -2004-09-30 14:54 robert - - * Removed debugging messages - -2004-09-30 13:36 robert - - * Checked in support for cleaning up and then restart a new - graphics windows - once the first one has been closed down. - -2004-09-30 12:10 robert - - * Fixed newly introduced compressed mipmnap error. - -2004-09-30 09:10 robert - - * Added proper handling of 3d texture compression - -2004-09-29 19:10 robert - - * Added support for ClipPlane, ClipNode, TexGenNode to .ive - -2004-09-29 15:00 robert - - * Added Texture3D reference - -2004-09-29 14:31 robert - - * Added Texture3D implementation. - -2004-09-29 10:01 robert - - * Preliminary steps to support for compressed 3D textures. - -2004-09-29 08:07 robert - - * Added extra dependencies to osgsimulation example - -2004-09-29 08:04 robert - - * Removed makeDir referecnes - -2004-09-28 09:14 robert - - * From Tree, changes to better support Java binding generation - -2004-09-28 08:39 robert - - * Added a mutex and _numFramesActive count to track multiview - usages of - the DatabasePager. - -2004-09-28 07:15 robert - - * From Brad Christiansen, fix expandBy(const BoundingSphere&) - method to properly - handle the instance of when the two bounding sphere's have a - coincident center. - -2004-09-27 14:15 robert - - * Added new methods into osg::Referenced for controlling the use of - thread safe - ref/unref: - - /** Set whether reference counting should be use a mutex to - create thread reference counting.*/ - static void setThreadSafeReferenceCounting(bool - enableThreadSafeReferenceCounting); - - /** Get whether reference counting is active.*/ - static bool getThreadSafeReferenceCounting(); - -2004-09-27 12:07 robert - - * Changed the version strings to use OpenSceneGaph rather than - "Open Scene Graph" - -2004-09-27 10:42 robert - - * Changed the pruning of database requests so that the frame number - need - not be identical to pass, a delta of 1 is now pemssible - -2004-09-26 19:01 robert - - * Removed erroneous casts that would have been causing uneccessary - copying. - -2004-09-26 18:39 robert - - * From Geoff Michel, typos and spelling fixes. - -2004-09-26 10:27 robert - - * From Mike Weiblen, partial fix for OpenGL error generation under - NVidia drivers. - -2004-09-23 20:13 robert - - * Fixed typo - -2004-09-23 20:07 robert - - * Fixed typo. - -2004-09-23 20:01 robert - - * Added releaseAllGLObjects() convinience method. - -2004-09-23 18:50 robert - - * Clean up of new DatabasePager code, and change of osgProducer so - that - DatabasePager support is now integrated into the OsgSceneHandler. - -2004-09-23 16:05 don - - * Fixed warnings - -2004-09-23 12:27 robert - - * Updates for better DatabasePager peformance w.r.t constant frame - rates. - -2004-09-22 09:28 robert - - * Added a extra debugging comment - -2004-09-21 21:33 robert - - * Updated to DatabasePager support - -2004-09-21 17:26 robert - - * Various improvements to database paing. - -2004-09-20 17:42 don - - * removed makeDir.h - -2004-09-20 17:42 don - - * Removed temporary makeDir files and call in ReaderWriterNet.cpp - -2004-09-19 20:09 robert - - * Added clear(), setDatabasePagerThreadPause() and - setAcceptNewDatabaseRequests() methods - and new local implementation of cancel(). - -2004-09-19 19:03 robert - - * Removed unused variable. - -2004-09-19 18:34 robert - - * Added reference to GL_LIBS - -2004-09-18 19:28 robert - - * Various improvements to the DatabasePager with the aim to achieve - constant framerates and minimizing memory consumption. - -2004-09-18 19:27 robert - - * Removed reference to ComputeTransformCallback - -2004-09-15 19:14 robert - - * From Sebastien Grignard, add writing out/reading in of drawable - components of - a ShapeDrawable. - - From Robert, add versioning of the above change to allow old - files to still - work. - -2004-09-15 19:10 robert - - * More spelling & top fixes. - -2004-09-15 19:07 robert - - * From Geoff Michel, typo and spelling fixes - -2004-09-15 15:09 robert - - * Added usage of std::vector<> and ref_ptr<>'s to avoid memory - leaks - -2004-09-14 15:05 robert - - * Commented out osg::noitfy usage under OSX since this was causing - a crash on start up - -2004-09-14 15:03 robert - - * Added GDAL check to compile of osgsimulation - -2004-09-13 17:19 robert - - * Fix of tabbing and typo - -2004-09-13 16:10 robert - - * From Paul Martz, typo and spelling fixes - -2004-09-13 15:17 robert - - * Fixed comments - -2004-09-13 15:14 robert - - * From Eric Hammil, typo and spelling fixes - -2004-09-13 14:33 robert - - * From George Papagiannakis, added extra Quat length to catch case - where length is zero. - -2004-09-13 13:53 robert - - * Improved the handling of building/writing generated databases, - and - the fixed transition distances on the lower levels of geocentric - databases. - -2004-09-11 03:00 robert - - * Added a deleteTextureObject after the creation of the compressed - textures - -2004-09-10 17:49 robert - - * Added missing LightModel.h and .cpp from Stansilav. - -2004-09-10 13:31 robert - - * Added convinience methods. - -2004-09-10 08:26 robert - - * Made update, cull and draw callbacks virtual to allow custom - Drawable's - to there own specific extensions for handling callbacks - -2004-09-09 15:14 robert - - * Made the computeLocalToWorld etc method to use const NodePath's - parameters. - -2004-09-09 13:18 robert - - * Added osg::RefNodePath class for handling node paths. - -2004-09-09 13:07 robert - - * From Stanislav Blinov, addition of LightModel support for .ive - format. - -2004-09-09 09:03 robert - - * Fixed write of normalmap. - -2004-09-09 08:54 robert - - * Change the warnigns about a fail getLibraryHandle to be INFO - rather than - WARN. - -2004-09-09 08:18 robert - - * From Martin Aumueller, added ref() and unref() to Inventor node - handling. - -2004-09-08 18:14 robert - - * Fixed keyword used for setting the database name. - -2004-09-08 15:14 robert - - * Quick fix to crash in TXPNode. - -2004-09-07 14:34 robert - - * Changed usage of assert() to throw. - -2004-09-07 10:45 robert - - * Added a size check on heap_array::Adjust(size_t i) to - prevent access errors. - -2004-09-07 10:31 robert - - * From Paul Martz, removed redundent paramaters in - clampArray4LEQUAL. - -2004-09-07 10:09 robert - - * Changed the wrap mode from CLAMP to CLAMP_TO_EDGE - -2004-09-07 10:07 robert - - * From Paul Martz, typos and spelling fixes - -2004-09-07 06:59 robert - - * Added missing setTrackerMode(TrackerMode) - -2004-09-06 18:20 robert - - * Added mutex to access to the Registry::_objectCache. - -2004-09-06 14:59 robert - - * From Joakim Simonsson, add s/getHPROrder method - -2004-09-06 14:58 robert - - * Added docs for max size commandline params. - -2004-09-06 14:30 robert - - * From Marco Jez, added missing TexGenNode constructor. - -2004-09-04 09:22 robert - - * Updates to controlling maximum texture size - -2004-09-03 15:42 robert - - * Added commandline support for Size and texcoord Multipliers - -2004-09-03 15:05 robert - - * Added setConstantColorAsLightDirection & - getConstantColorAsLightDirection methods - to make it more convinient to set up DOT3 register combiners. - -2004-09-03 10:02 robert - - * Added handling of RGBA to normal map computation - -2004-09-02 20:42 don - - * Fixed .net plugin errors on Mac - -2004-09-02 19:10 robert - - * From Geoff Michel, typo and spelling fixes - -2004-09-02 18:19 robert - - * Added Sequence back in with correct Permission, and with Geoff - Michel's spelling - corrections. - -2004-09-02 18:17 robert - - * Temporary removal of Sequence to try and get around permissions - problem with it. - -2004-09-02 10:01 robert - - * Added usage of carbon pathway in - appendPlatformSpecificLibraryFilePaths. - -2004-09-02 07:44 robert - - * Added comments from Eric - -2004-09-02 03:52 don - - * Fixed a mis-definition of INSTBIN and INSTLIB - -2004-09-01 17:18 robert - - * From Geoff Michel, removed mem_ptr reference as it no longer - exists - -2004-09-01 15:14 robert - - * From Uwe Woessner - -2004-09-01 14:49 robert - - * Added Don's new osgDB::makeDirectory() code FileUtils. - -2004-09-01 11:05 robert - - * Removed reference to old CmdLineArgs class - -2004-09-01 10:45 robert - - * From Jeoen den Dekker, changed eroneous tcoords[ci][0] to - tcoords[ci][1] - -2004-09-01 10:41 robert - - * From Tom Jolly, add detection for whether multi-texturing is - supported before - checking for number of texture units supported, using 1 as a - fallback value - -2004-09-01 10:18 robert - - * Added bool paramter to - MatrixManipulator::setHomePosition(,,,bool) to allow - the autocomputehomeposition to be controlled. - -2004-09-01 09:54 robert - - * From Marco Jez, added new osgmotionblur example - -2004-09-01 09:48 robert - - * From Eric Sokolsky, add support for recording default values for - env vars - -2004-09-01 09:10 robert - - * Added crude #ifdef COIN_BASIC_H around ::REPLACE usage as this is - only - available under Coing - -2004-09-01 09:00 robert - - * Added support for CONSTANT_COLOR and ONE_MINUS_CONSTANT_COLOR - into .osg - -2004-09-01 08:59 robert - - * From Sondra Iverson, adding of CONSTANT_COLOR and - ONE_MINUS_CONSTANT_COLOR options - -2004-09-01 08:49 robert - - * From Marco Jez, addition of new interal texture formats to - osg/Texture and Image.cpp - -2004-09-01 08:34 robert - - * From Brede Johhansen, fixed copy and paste bug where in - getInverse(..) methods - -2004-09-01 08:15 robert - - * From Paul Martz, typos and spelling fixes. - -2004-08-31 21:18 don - - * small change for Visual Studio compile - -2004-08-31 21:06 don - - * Added Visual Studio files for osgPlugin net - -2004-08-31 20:49 don - - * added makeDir - temporary UNIX only - -2004-08-31 20:26 don - - * Fixes (hopefully) for windows and other platforms... - -2004-08-31 14:49 robert - - * From Geoff Michel, typo and spelling fixes. - -2004-08-31 14:48 robert - - * Added support for spherical texture mapping and better file - search support - for meterial files. - -2004-08-31 14:21 robert - - * Simplified the TrackMode options - -2004-08-31 14:08 robert - - * From Geoff Michel, spelling and typo fixes. - -2004-08-31 13:19 robert - - * From Sébastien Kuntz, spelling and typo fixes - -2004-08-31 09:20 robert - - * Added rescale of quaternion in Matrix::set(Quat), a copy - operation in osg::Quat and - extra tracking options in NodeTrackerManipulator. - -2004-08-31 01:12 don - - * Added cache_mode option to Net plugin - -2004-08-30 18:53 robert - - * Added trackmode support for handling rotation of tracked node - -2004-08-30 18:51 robert - - * Fixed the Matrix::get(Quat&) method - -2004-08-30 10:03 robert - - * Remamed TrackerManipulator to NodeTrackerManipulator - -2004-08-30 01:15 don - - * Added the local_cache_dir option to the net plug-in allowing for - the - keeping and populating of a local cache. With this option, the - cache - is checked first before fetching from the network. - -2004-08-29 15:09 robert - - * Added handling of $ comment line, and 'g' empty group name - -2004-08-29 00:57 don - - * Added two options to the .net loader: - hostname= - Specify the host to connect to to retreive - files - server_prefix= - Specify a prefix to each file - indicating - a directory for the server to look into - Also, the .net server now does not require a file to have the - .net - suffix. ALl this together now means that you can do this: - - osgviewer -e net -O "hostname=openscenegraph.org - server_prefix=BlueMarble" earth.ive - - And view the whole earth streamed from a server. - -2004-08-28 23:04 don - - * Changes for IRIX build and fix to build system - -2004-08-28 07:25 don - - * Added the .net plug-in. This allows the reading of files by - specifying :file..net for example: - - osgviewer osgcvs.no-ip.com:OSGModels/cow.osg.net - -2004-08-27 16:52 robert - - * Fix of OSX build - -2004-08-27 16:19 robert - - * Fix for OSX build. - -2004-08-27 16:14 robert - - * Added a new osgDB::appendPlatformSpecificLibraryFilePaths() - method to FileUtils.cpp - Includes a new OSX code from Eric Wing - -2004-08-27 14:56 robert - - * Added .tif extension to handled extension list - -2004-08-27 12:04 robert - - * Removed eroneous cancel() and join() from the - DatabasePager::run() method. - -2004-08-27 08:03 robert - - * Added handling of short (<=4 points) polygons as tri fans and the - rest - as polygons which are tesselated, to improve load and build time, - yet - still resselating the large polygons that need it. - -2004-08-27 08:01 robert - - * Added handling of DrawArrayLengths PrimitiveSet. - -2004-08-26 16:20 robert - - * Improvements to handling of winding of polygons. - -2004-08-26 14:52 robert - - * Removed debugging output. - -2004-08-26 14:33 robert - - * Rewrite of OBJ parser + converter to OSG - -2004-08-26 06:41 robert - - * Fixed getHomePosition - -2004-08-24 21:35 don - - * Robert must've forgotten to set VERSION_REVISION back to 0 after - tagging the release - -2004-08-24 18:27 robert - - * Removed "interlace" debugging message - -2004-08-24 18:23 robert - - * Changed the AnimationPathCallback::reset() to reset the - _firstTime to DBL_MAX - so that it resets on the next update traversal. - -2004-08-24 13:25 robert - - * Added support for looping mode - -2004-08-24 12:55 robert - - * Added s/getLoopingMode() to ImageStream and MPEG plugin - -2004-08-24 11:00 robert - - * Removed HoveManipulator - -2004-08-24 10:58 robert - - * Updated docs - -2004-08-24 08:43 robert - - * Made the command buffer have 20 elements in it to protect against - wrapping - around. - -2004-08-24 07:29 robert - - * Changed --compress to --compressed in commandline docs - -2004-08-23 20:29 don - - * Fixed error for when screen width * 0.75 is greater than screen - height - for compute of window size when coming from fullscreen when 'f' - key is pushed. - -2004-08-23 17:17 don - - * Fixed assumption that the users's screen is 1280x1024 when - toggling - full screen with the 'f' key. - -2004-08-23 14:08 robert - - * Fixed link to download page - -2004-08-23 08:44 robert - - * Added protection to prevent crashes on calls when no data is set - up - -2004-08-23 08:31 robert - - * Changed the write help option to just output commandline options. - -2004-08-23 07:25 robert - - * Updated docs to point to correct 3rd party binaries - -2004-08-21 17:29 don - - * Added back in the -s (scale) argument to osgconv, which was - dropped - in the last revision. - -2004-08-20 09:46 robert - - * From Don Tidrow, fixes to comments. - -2004-08-18 10:07 robert - - * Bumped up the revision number to 2 for the 0.9.7-2 release - -2004-08-18 09:34 robert - - * Set date for 0.9.7-2 release - -2004-08-18 06:06 robert - - * Rejigged the __int* definitions to try and get round Mingw - compile errors - -2004-08-17 19:42 robert - - * From Bruce Clay, fixes for VS6.0 build. - -2004-08-17 18:57 robert - - * From David Fries, added getBinNum() method - -2004-08-17 18:56 robert - - * Changed sizeof(..) references to 1,2,4 respectively. - -2004-08-17 08:14 robert - - * Updated changelog - -2004-08-17 07:58 robert - - * From David Fries, "I added code to also check the local up - vector, but - only if one of the rotation modes is selected, because autoscale - isn't - affected by the camera rotations. " - -2004-08-17 07:44 robert - - * Changed the "flip" keyword to "dds_flip" - -2004-08-17 07:43 robert - - * Updated docs for second rev of 0.9.7 - -2004-08-17 06:15 robert - - * Removed computeMipMaps call - -2004-08-16 21:14 robert - - * Added support for "flip" option string, which if present flips - incoming - images about the vertical axis. Accessed via -O flip on the - commandline. - -2004-08-16 21:03 robert - - * Added a handling of different hex long long handling for VS and - non - VS. - -2004-08-16 20:57 robert - - * Added support in Image::flipVertical for flipping mipmapped - imagery - and for flipping compressed imagery. - -2004-08-16 16:43 robert - - * Fixed _MSC_VAR reference - -2004-08-16 15:45 robert - - * Added dxtctool.h/.cpp - -2004-08-16 15:43 robert - - * Added fxtctool in prep for adding compressed imagery swap - -2004-08-16 14:21 robert - - * Cleaned up output level of debugging messages - -2004-08-16 14:03 robert - - * Fix to order of materials - -2004-08-16 13:54 robert - - * From Michael Gronager, addition of NodeCallback support in .osg - format. - -2004-08-16 13:17 robert - - * Improvements to the handling of OBJ files - -2004-08-16 08:58 robert - - * Disabled the culling on the DistortionNode. - -2004-08-16 08:55 robert - - * Disabled the culling for clear node. - -2004-08-16 08:32 robert - - * Changed the length multiple to be 2x the bounding sphere radius - -2004-08-16 07:29 robert - - * From Michael Gronager, fix to an orientation bug. - -2004-08-14 15:42 don - - * P*E*G*O*U*T Sound. Spelling fixes. - -2004-08-13 15:48 robert - - * Added news for release 0.9.7-2 - -2004-08-13 15:29 robert - - * Updates for 0.9.7-2 release - -2004-08-13 14:42 robert - - * From Corbin Holtz, addition of support for reading imagery with - color tables, - including code from Frank Warmerdam on the GDAL side, and - integration/reworking - work form Robert Osfield. - -2004-08-13 14:09 robert - - * Updated docs. - -2004-08-13 13:46 robert - - * Added docs for CacheObjectHints - -2004-08-13 13:27 robert - - * Removed redundent include/ReadFile call - -2004-08-13 12:38 robert - - * Changed the "Reading a byte swapped file" message to info level. - -2004-08-13 12:05 robert - - * Fix for VS6.0 build - -2004-08-13 10:50 robert - - * Added #include required for X-platform build. - -2004-08-13 10:49 robert - - * Removed inappropriate #ifdefs - -2004-08-13 10:46 robert - - * Fixes for OSX. - -2004-08-11 08:25 robert - - * From Ben Discoe, build fix for float version of Matrix. - -2004-08-10 18:31 robert - - * Changed the database pager run message to only output at an info - level - -2004-08-10 13:30 robert - - * Updated to include reference to osgdem - -2004-08-10 13:19 robert - - * Added osgdem quick usage guide - -2004-08-09 15:12 robert - - * Set revision number back to 0. - -2004-08-09 15:08 robert - - * Set version to 0.9.7-1 - -2004-08-09 13:58 robert - - * Updated NEWS - -2004-08-07 19:08 robert - - * Changed binding warnings to be reported as info rather than as - warnings. - -2004-08-07 09:42 robert - - * Added the ability to set the global stateset, as use this - RenderStageLighting - -2004-08-06 19:55 robert - - * From Bob Kuehne, change the FREETYPE_INCLUDE and _LIB to - hardcoded - version to avoid reliance on freetype-config. - -2004-08-06 09:38 robert - - * Fix for Mingw from Norman Vine. - -2004-08-06 09:36 robert - - * Updated NEWS - -2004-08-06 09:35 robert - - * From Bob Kuehne, adding of SDKPATH to OSX build - -2004-08-06 08:56 robert - - * Added support for the "precision " options string - -2004-08-06 08:34 robert - - * Updated docs - -2004-08-06 08:22 robert - - * Added support for - osg::AutoTransform::setAutoRotateMode(AutoRotateMode) deprecating - the previous setAutoRotateToScreen(). Added support for - ROTATE_TO_CAMERA mode. - - Cleaned up the autotransform demo to use a sensible number of - labels - -2004-08-06 06:53 robert - - * Updated docs - -2004-08-06 05:28 robert - - * Typo fixes from Geoff Michel - -2004-08-06 05:25 robert - - * From Bruce Clay, Build fixes for Win32 VS6.0 - -2004-08-05 15:15 robert - - * From Jay Zuckerman, fixes to AutoTransform so that it includes - checking of - previous position value. - -2004-08-05 15:14 robert - - * From Marco Jez, updates to work with latest - StateAttrbiute::compileGLObjects method - -2004-08-05 15:02 robert - - * From Marco Jez, commented out info debugging messages - -2004-08-05 13:41 robert - - * From Marco Jez, VS.NET warning fixes. - -2004-08-05 12:47 robert - - * Changed the popProjectionMatrix so that it didn't allow - modification on the near - and far values when clamping the projection matrix. - -2004-08-05 10:01 robert - - * Added s/getClearColor and deprecated s/getBackgroundColor(). - Re-implemented - setClearColor so that it passes on its value to - Camera::setClearColor(), and - changed OsgSceneHandler to use the Camera::getClearColor() on - each new frame - to ensure that it reflects the settings of the camera correctly. - -2004-08-05 08:02 robert - - * Set version numbers for 0.9.7 release - -2004-08-04 10:22 robert - - * Added GDAL to dependencies list - -2004-08-04 10:03 robert - - * Cleaned up the gdal-config usage to work with gdal-1.1.9 - -2004-08-04 09:20 robert - - * Added support for setting custom dependencies - -2004-08-04 08:27 robert - - * From Norman Vine (with small tweaks by Robert Osfield), build - fixes for Cygwin - -2004-08-04 07:14 robert - - * From Brede Johansen, fixes for Win32 build - -2004-08-04 06:57 robert - - * From Don Tidrow, build fix for Peformer - -2004-08-03 19:01 robert - - * Brief update of news. - -2004-08-03 19:00 robert - - * Fixed tabbing - -2004-08-03 19:00 robert - - * Added test for quat multiplication ordering. - -2004-08-03 18:06 robert - - * From Pavel Moloshtan, fix to Image copy constructor so that it - used the - correct size of image including mipmaps. - -2004-08-03 12:38 robert - - * Added include of scoped lock - -2004-08-03 11:01 robert - - * Better macro support for switching on/off use of mutex - -2004-08-03 07:31 robert - - * Changed the static array syntax to solve VS.NET compile warnigns, - changed - the binding of the normals, and changed the name of the textures - used. - -2004-08-02 15:56 robert - - * Fixed warnings - -2004-08-02 15:52 robert - - * Fixed warning - -2004-08-02 14:52 robert - - * Fixed warnigns - -2004-08-02 14:52 robert - - * Fixed warnings - -2004-08-02 14:42 robert - - * Removed warings - -2004-08-02 13:57 robert - - * Fixed warnings - -2004-08-02 12:19 robert - - * Made the member variables in RenderStage and RenderBin protected - -2004-08-02 09:30 robert - - * Added glReadBuffer after each instance of glDrawBuffer to ensure - that - the any reads are done to the appropriate buffer. - -2004-08-02 09:11 robert - - * From Norman Vine, fixes for Mingw - -2004-08-02 07:25 robert - - * From Tom Jolly. a couple of small changes to osgParticle. - - "The first is with - Particle.cpp. I made a change so that when the lifetime is 0 - (lasts - forever) the sizeRange, colorRange, and alphaRange are used to - create - a random size, color, and alpha." - - "The second change is with range and SectorPlacer. The - distribution of - particles across the sector was not uniform. I added - get_random_sqrtf() - function where it is used in SectorPlacer::Place(). This seems to - make - the distribution uniform (at least when minimum radius is 0)." - -2004-08-02 07:23 robert - - * Added osgtesselate example - -2004-08-01 10:36 robert - - * From Geoff Michel, new osgtesselate example, and new features in - osgUtil::Tesselator. - -2004-08-01 08:26 robert - - * Build fixes for gcc 3.4.1 support - -2004-08-01 04:10 robert - - * Removed old iv plugin - -2004-08-01 04:06 robert - - * Added PROFILER support under Linux for gprof and FunctionCheck - -2004-07-30 15:44 robert - - * Added beginnings of new TrackballManipulator - -2004-07-29 14:24 robert - - * Added osgText to makefile - -2004-07-29 10:13 robert - - * Added detection and disabling of flattening of static transforms - which a - LightPointNode exists in the scene graph. - -2004-07-28 19:56 robert - - * Fixed compare(ProgramObject) and added UniformeValue::compare and - ShaderObject::compare - to support proper sorting of shaders. - -2004-07-28 12:38 robert - - * Replaced GL_PACK_ROW_LENGTH by GL_UNPACK_ROW_LENGTH - -2004-07-28 12:29 robert - - * From Corbin Holtz, addition of GDAL_INCLUDE and GDAL_LIB env vars - for setting - a non standard location of GDAL - -2004-07-28 12:27 robert - - * Added initializer for _videoWriteData and _rows pointers - -2004-07-28 10:26 robert - - * Commented out debugging messages - -2004-07-28 10:26 robert - - * Fixed the flatten static transform visitor so that it checks to - see - if a drawable can be flattened or not. - -2004-07-28 08:28 robert - - * Added double buffer of video imagery so that the OpenGL never - reads as Mpeg writes - -2004-07-28 07:24 robert - - * From David Fries, divide by zero fix on text with a pixel size of - 0.0 - -2004-07-27 15:14 robert - - * Made the static mutex a pointer to a static mutex to get round a - exit - problem on deletion of the plugin. - -2004-07-27 13:32 robert - - * Clean up of debugging messages - -2004-07-27 13:24 robert - - * Fixed unref image so it only unref's when images are STATIC - -2004-07-27 10:23 robert - - * Changes to fix multiple thread start. - -2004-07-27 10:11 robert - - * Added support s/getImage(uint i) and getNumImages(). - -2004-07-27 09:04 robert - - * Fixed double thread start problem. - -2004-07-26 19:40 robert - - * Made the handling of types more consistent - -2004-07-26 14:25 robert - - * Added setting of block_on_vsync of both CameraGroup and all the - Camera's that it contains. - -2004-07-25 18:46 robert - - * Changed value_type back to being a float. - -2004-07-23 10:03 robert - - * From Mike Weiblen, updates to dsp to improveme formatting and - include OpenThreads - -2004-07-23 09:49 robert - - * Fixed iddle update. - -2004-07-23 09:15 robert - - * Added ImageStream::quit(bool) for exiting from video threads, and - added - clean up to OsgCameGroup to quit movie threads automatically. - -2004-07-23 04:03 robert - - * Made doc comments more relevant. - -2004-07-22 18:34 robert - - * Added support for OSG_OPTIMIZER="OFF" - -2004-07-22 15:41 robert - - * Fixed build - -2004-07-22 15:11 robert - - * Added more usage mutex to serialize access to Quicktime. - -2004-07-22 12:10 robert - - * Added support for compressing textures to osgconv, can be - accessed by - running --compressed when outputting to a .ive file. - -2004-07-22 11:59 robert - - * Added support texture compression in osgconv - -2004-07-22 07:41 robert - - * Changed _valueAnisotropy from bool to float. - -2004-07-21 19:16 robert - - * Added preliminary support for thread safety in various delete - GLobjects code - -2004-07-21 19:15 robert - - * Added missing tex env mode - -2004-07-21 19:14 robert - - * Replaced STOPPED by PAUSED. - -2004-07-21 19:04 robert - - * From Mike Weiblen, VS formated .dsw - -2004-07-21 19:01 robert - - * Removed the stop method, replacing it by pause - -2004-07-21 19:01 robert - - * Removed the stop method - -2004-07-21 19:00 robert - - * Removed stop method, as it overlaps the pause method. - -2004-07-21 10:01 robert - - * Clean up of thread handling. - -2004-07-21 08:55 robert - - * Double intersections distance for intersects. - -2004-07-20 18:50 robert - - * From Geoff Michel, fixes. - -2004-07-20 10:17 robert - - * Added SceneView::Options for SceneView::setDefaults(options) and - OsgCameraGroup::setRealizeSceneViewOptions(options) to allow - better control - of what functionality is compiled in by default. - -2004-07-20 07:46 robert - - * From Bob Kuehne, add usage of version number to differentiate - between - rev's of the LOD. - -2004-07-20 05:37 robert - - * Added support for releasing GLObjects, and renamed - DisplayListVisitor the - GLObjectVisitor to better fit its function, and added support for - releasing - objects as well as compiling them. - -2004-07-20 05:36 robert - - * From Eric Sokolosky, added INVENTOR_INCLUDE and INVENTOR_LIB - vars. - -2004-07-20 05:34 robert - - * Added OpenThreads mutex to protect ref()/unref(). - -2004-07-19 18:56 robert - - * Fixed the position of text so it is drawn ontop of the quads. - -2004-07-19 18:47 robert - - * From Mike Weiblen, "When launched, it creates a commandline shell - that is fully configured to - support running OSG apps from the source tree filesystems." - -2004-07-19 18:35 robert - - * From Geoff Michel, fix for handling of texture filenames enclosed - in quotes. - -2004-07-19 14:34 robert - - * Added handling of the case when texture objects are released from - underneath - the osgText::Font::GlyphTexture - something which requires a full - rebuild - of the texture object. - -2004-07-19 09:39 robert - - * Lowered level of debugging message - -2004-07-19 09:03 robert - - * Added support for --tile-image-size , --tile-terrain-size - and --comment - command line options into osgTerrain::DataSet + osgdem. - -2004-07-17 10:38 robert - - * From Mike Weiblen, switched of alpha test on anisotropic effect, - due to missing - write of colour. - -2004-07-17 10:33 robert - - * From Mike Weiblen, updates to the psuedo loaders to add - documentation. - -2004-07-12 21:32 robert - - * Fixed the computePosition so it find intersections more easily. - -2004-07-12 19:54 robert - - * Added support for matix manipulator setHomePosition(,,) - -2004-07-12 17:30 robert - - * Removed enabling of use client stage storage hint. - -2004-07-12 13:20 robert - - * Added OPTIMIZER_TEXTURE_SETTINGS pass to Optimizer, which enables - unref image data after apply, client storage hint. - -2004-07-12 13:13 robert - - * Added debugging message, currently commented out. - -2004-07-12 10:23 robert - - * Added unref image data on apply automatically to all textures - being loaded. - -2004-07-12 09:43 robert - - * Reduced the pan sensitive on the trackball - -2004-07-12 09:17 robert - - * Reduced the sensitivity of the pan. - -2004-07-12 01:01 robert - - * Added a more flexible variable on the textured quad generation - function - -2004-07-11 23:07 robert - - * Made debugging message write to osg::INFO instead of osg::NOTICE - -2004-07-11 21:46 robert - - * Added CLUSTER_CULLING mask to CullSettings, and modified the - ClusterCullingCallback - to use the mask to see if cluster culling is enabled or disabled. - -2004-07-11 16:38 robert - - * Added ability to control the number of slices and the amount of - the volume clipped. - -2004-07-09 20:58 robert - - * Fixed cluster culling. - -2004-07-09 15:42 robert - - * Compiles fixes for VS.6.0 - -2004-07-09 15:41 robert - - * VS.NET Warning fixes from Stephane - -2004-07-09 15:33 robert - - * Added osgText to dependency list of osgsimulation example - -2004-07-09 15:26 robert - - * Changed std::min definition to osg::minimum to avoid STOOOPID MS - conficts. - -2004-07-09 15:24 robert - - * Clean up of commandline options - -2004-07-09 15:21 robert - - * Improvements to the handling of coordinate system nodes - -2004-07-09 12:14 robert - - * Clean up of debugging information. - -2004-07-09 08:22 robert - - * From Mike Weiblen, "mods based on those Bob Kuehne posted. - - updated to the latest ARB-approved GLSL version query - mechanism. - - updated enums to the latest official glext.h - - fixed some TODOs" - -2004-07-08 22:28 robert - - * Added new coputeActiveCooridnateSystemNodePath method - -2004-07-08 22:12 robert - - * Replaced the custom MyTexGen class with a standard TexGen, and - utilised the - new RenderStage addPositionedTextureAtribute method. - -2004-07-08 22:11 robert - - * Made the local storage of a StateAttribute* be a ref_ptr<> - -2004-07-08 22:10 robert - - * Made the constructor's default value for _lightingMode be - NO_SCENEVIEW_LIGHT - -2004-07-07 15:05 robert - - * Added lighting and materials to volume subgraph - -2004-07-07 13:19 robert - - * From Vasily Radostev, fixed Billboard compute near/far bug due to - typo of bbCornerFar. - -2004-07-07 11:29 robert - - * Added automatic scaling of the minimum distance to cope with - models of - small dimensions. - -2004-07-07 11:28 robert - - * Added automatic setting of the verical scale when the destination - coordinate - system is geographic (i.e. lats and longs.). - -2004-07-07 09:04 robert - - * Added support for automatically computing the local skirt - orientation - -2004-07-06 15:10 robert - - * Added mutex to image stream thread to serialize calls to - Quicktime. - -2004-07-06 13:00 robert - - * From Geoff Michel, replaced used C style FILE with iostream. - -2004-07-06 12:32 robert - - * Removed debugging message - -2004-07-06 12:15 robert - - * Fixed warning. - -2004-07-06 12:14 robert - - * Changed the default mipmapping mode to record the mipmaps in the - images in the generated databases. - -2004-07-06 06:13 robert - - * Added GL_TEXTURE_DEPTH #define for Win32 build - -2004-07-06 06:05 robert - - * Fixed build after Image change - -2004-07-05 21:46 robert - - * Added dealloc or previous image data into readImageFromTexture - -2004-07-05 21:09 robert - - * Added suppor for copying mipmaps of compressed textures - -2004-07-05 16:21 don - - * Changed internal formatt on jpeg loader to be GL_RGB, GL_RGBA, - etc. rather - than numComponents. - -2004-07-05 09:04 robert - - * From Ulrich Hertlein, added check for detailRatio<=0.0 - -2004-07-05 07:42 robert - - * Fixed missing member variable initialized varaibles - -2004-07-02 14:46 robert - - * Change the light in LightSource from a generic - osg::StateAttribute to - a osg::Light. - -2004-07-02 14:45 robert - - * Added setFunction and setReferenceValue method - -2004-07-02 14:43 robert - - * Added normal setting to slice planes - -2004-07-01 14:30 robert - - * Clean up of osgvolume - -2004-07-01 14:29 robert - - * Added osgvolume - -2004-07-01 14:27 robert - - * Changed the generation of primtive set to use DrawElementsUShort - for even - index sets that can be represented by UBytes, thisis to try to - keep to - fast paths more likely to be supported by graphics drivers. - -2004-07-01 14:22 robert - - * Fixed indenting - -2004-07-01 13:53 robert - - * Moved the radius parameter from PageLOD into LOD. - -2004-06-30 19:07 robert - - * Added support for using pixel size control of LOD levels. - -2004-06-30 14:43 robert - - * Maded the image filename handling more consistent. - -2004-06-30 14:37 robert - - * Completed support for "--levels min max" option where the levels - that a - source imager or DEM contributes to. - -2004-06-30 09:02 robert - - * Fixed handling of PROCTED/OVERRIDE - -2004-06-30 07:26 robert - - * Changed const int to #define for VS6.0 build - -2004-06-29 15:04 robert - - * From Pavel Moloshtan, added support for storing primitive sets in - VBO's - -2004-06-29 14:58 robert - - * Improved the handling of normal lighting - -2004-06-29 13:59 robert - - * Added osgvolume example - -2004-06-29 08:03 robert - - * Fixed parsing of internalTextureFormat. - -2004-06-28 22:09 robert - - * Re-organised Texture::computeInternalFormatWithImage() to avoid - testing - for extensions when not required. - -2004-06-28 21:39 robert - - * Fixed warnings. - -2004-06-28 20:47 robert - - * From Matt Burke, typo fix on getMinimumDistance(). - -2004-06-28 15:09 robert - - * Added .osg support for new TexGenNode - -2004-06-28 14:18 robert - - * Fixed warning - -2004-06-28 13:18 robert - - * From Michael Logan, build fix for Performer plugin - -2004-06-28 13:18 robert - - * From Michael Gronager, added support for alpha channel in writing - of BMP images - -2004-06-28 12:52 robert - - * From Eric Sokolowsky. Added missing blend modes into .osg reading - and writing - and fixed typo. - -2004-06-28 10:00 robert - - * From Terry Welsh, added support for reading and writing - osg::FragmentProgram - local parameters. - -2004-06-28 09:05 robert - - * From Bob Kuehne, add additional check in osgconv to handles - modules that don't load gracefully. - -2004-06-17 15:07 robert - - * Added handling of GL_INTENSITY in - osg::Image::computeNumComponents() - -2004-06-17 14:39 robert - - * Added first stage of support for "--levels min max" in - osgdem/osgTerrain where - this option controls which levels that an associated imager or - DEM contributes - to the final model. - -2004-06-17 14:02 robert - - * Added support for setting texture units in the new TexGenNode. - -2004-06-16 15:05 robert - - * From Loic Dachary, added missing copy contructor operations. - -2004-06-16 06:02 robert - - * From David Fries, small treak to debugging output. - -2004-06-15 12:31 robert - - * Added include of osg/ClusterCullingCallback - -2004-06-15 12:26 robert - - * Added Marco's AutoTransform.cpp - -2004-06-14 20:14 robert - - * Fixed deprecated #idef - -2004-06-14 20:12 robert - - * From Marco Jez, implemented I/O support for the AutoTransform - node. - -2004-06-14 20:11 robert - - * Fixed #ifdef USE_DEPRECATED_API - -2004-06-14 20:10 robert - - * Improved precision of AnimationPath IO. - -2004-06-14 19:34 robert - - * Changed Billboard::g/setPos(..) to g/setPosition(..). - -2004-06-14 19:31 robert - - * Fixed tabbing. - -2004-06-14 19:30 robert - - * Added extra constructor to make it more convinient to create - AlphaFunc. - -2004-06-14 19:20 robert - - * Tweaked comments. - -2004-06-14 19:17 robert - - * Removed old UserData comment which was non longer relevant. - -2004-06-14 19:14 robert - - * Fixed typos. - -2004-06-14 19:11 robert - - * Added new TexGenNode class for positioning tex gens. - -2004-06-11 21:27 robert - - * Fixed handling of skylight and headlight options in - osgProducer::Viewer. - -2004-06-11 21:05 robert - - * Added better debugging messages for verify bindings. - -2004-06-11 21:05 robert - - * Changed the color binding to better reflect the settings in the - OpenFlight file. - -2004-06-11 21:00 robert - - * Added further checks for _node validity. - -2004-06-11 20:57 robert - - * Added checks against null to prevent crashes when the terrain - manipulator is set up before - a node has been attached. - -2004-06-11 14:49 robert - - * Added missing setColorBinding() into - ConvertFromFLT::setMeshColors(). - -2004-06-10 15:43 robert - - * From Troy Yee, fixes to handling meshes. - From Robert Osfield, replaced assert(0)'s with error messages. - -2004-06-10 05:27 robert - - * Added CluserCullingCallback - -2004-06-09 20:18 robert - - * Compile fix w.r.t new CoordinateSystemNode. - -2004-06-09 16:28 robert - - * Changed the *(itr++) instances with *(itr), *(itr+1) with a - seperate itr+=n etc. This - has been done to avoid VC6.0 optimization ordering problems. - -2004-06-09 15:11 robert - - * Added CoordinateSystemNode::set(const CoordinateSystemNode&) - method to conviniently - set up a coordindate system. - -2004-06-09 15:06 robert - - * Added proper mapping of format and coordinate system. - -2004-06-09 15:00 robert - - * Added CoordinateSystem::s/getFormat(). - -2004-06-09 13:06 robert - - * Cleaned up float vs double types in Vec*d and Vec2f classes - -2004-06-09 10:03 robert - - * Added --o_cs, --o_wkt and --o_wkt_file commandline options. - -2004-06-08 14:30 robert - - * Improved the precision of animation paths. - -2004-06-08 13:58 robert - - * Added options for controlling mipmapping and aniso-tropic - filtering. - -2004-06-08 12:31 robert - - * Updates to FlightManipulator - -2004-06-08 09:29 robert - - * From Boris Bralo, reimplementation of dereference_less functor to - use - two input types, to attempt to avoid VC compile problems and - redundent - copies of ref_ptr<>. - -2004-06-08 07:32 robert - - * Updates to the terrain manipulator. - -2004-06-07 15:05 robert - - * Moved the osg::ClusterCullingCallback into into own header and - source file. - -2004-06-07 14:49 robert - - * Changed the terrain manipulator so the intersection ray is only - computed near to the current center point during panning. - -2004-06-07 12:53 robert - - * Added sphere segment to osgsimulator. - -2004-06-06 14:28 robert - - * Added --RGB_16, --RGB_24 and --compressed options. - -2004-06-04 16:32 robert - - * Fixed the Vec*d class so there have value_type set to double. - -2004-06-04 12:27 robert - - * Added haveAppliedAttribute to allow draw callbacks to get access - to the - current active lights. - -2004-06-04 11:35 robert - - * Add clamping to 0..1 bounds for each of the r,g,b,a components in - the CubeMapGenerator::set_pixel() method. - -2004-06-04 10:05 robert - - * Added check to Quat::makeRotate(,,,) to catch zero lengh axis. - -2004-06-04 08:40 robert - - * From Ulrich Hertlein & Iskander Prins, added rotation of skydown - on - fixed handling of updating one image per frame. - -2004-06-04 08:24 robert - - * From Terry Welsh, added checks to incoming Geometry for existance - of normals, - and if they are present use these to compute the tanget and - binormals - vectors perpendicular to existing normals. - -2004-06-04 08:13 robert - - * From Max Behensky, fixes to the computation of the number of - primitives - -2004-06-03 20:06 robert - - * Fixed spelling of Equivalent. - -2004-06-03 10:16 robert - - * Added handling of case when only one colour is used. - -2004-06-03 10:10 robert - - * Added support for a single color in a ColorRange - -2004-06-03 09:36 robert - - * Added room for tail of text. - -2004-06-02 14:16 robert - - * Added handling of skirt ratio, and extra docs on commandline args - -2004-06-02 14:15 robert - - * Added DataSet::s/getSkirtRatio() method to allow control of how - deep to - make the skirts around tiles. - -2004-06-02 14:13 robert - - * Added derived reqiestRedraw() and requestContinueUpdate() methods - for - debugging purposes. - -2004-06-02 12:37 robert - - * Added setPosition and setWidth methods into ScalarBar and changed - the - implementation to use these values to position and set the size - of the - scalar bar. Also made the characterSize value a float rather than - the previous int. - -2004-05-26 00:27 robert - - * Fixed setCoordinateFrame method - -2004-05-26 00:26 robert - - * Made the drive and flight manipulators more sensitive to - de/acceleration - -2004-05-25 20:40 robert - - * From George Tarantilils, add missing handling of alpha channel. - -2004-05-25 20:39 robert - - * Changed screen grab filename back to a saved_image.jpg - -2004-05-25 20:35 robert - - * Updated clampProjectionMatrix methods - -2004-05-25 16:10 robert - - * From George Tarantilis, fixes to DDS size computations. - From Robert Osfield, addition of constructors for internal DDS - structures. - -2004-05-25 14:32 robert - - * Updates the movie support - -2004-05-25 07:40 robert - - * Added better handling of clamping of projection matrix - -2004-05-24 19:50 robert - - * From Alberto Farre, fixes to the computation of sizes - -2004-05-20 23:25 robert - - * Made improvements to the handling of small rotations in Quat and - TerrainManipulator - -2004-05-20 22:20 robert - - * Added HUD scalar bar. - -2004-05-20 13:54 robert - - * Fixed warnigs on VS. - -2004-05-20 12:57 robert - - * Improved support for new double Vec* classes - -2004-05-20 10:42 robert - - * Fixed typo of Vec3f to Vec2f - -2004-05-20 10:15 robert - - * Added Vec2d, Vec3d and Vec4d classes, and remapped Vec2, Vec3 and - Vec4 to - Vec2f, Vec3f an Vec4f respectively, with typedef's to the from - Vec* to Vec*f. - -2004-05-19 09:17 robert - - * Added GL_SCALE_NORMAL define to get round compilation against - GL1.1 headers - -2004-05-19 09:12 robert - - * Added GL_RESCALE_NORMAL to allow compilation with GL1.1 headers - -2004-05-17 22:22 robert - - * Changed how the rotation and panning are managed, therby - improving the - handling of the center point going over a pole. - -2004-05-17 15:50 robert - - * Improved the panning support, and added s/getRotationMode(..) to - allow - users flip between a trackball rotation style and an - azim,elevation style. - -2004-05-17 13:20 robert - - * From Bob Kuehne, more general checks for existance of extensions. - -2004-05-17 12:08 robert - - * Improved the pan controls on the terrain manipulator - -2004-05-17 10:21 robert - - * From Ruben, fix for gcc 3.4 build - -2004-05-17 02:48 don - - * Added an optional argument for doing model orientations in - osgconv using - degrees and axis rather than two vectors. - -2004-05-15 08:42 robert - - * From Mike Weiblen, further updates to add relative paths to - OpenThreads/Producer. - -2004-05-14 14:43 robert - - * Fixed error of headers having ..\..\src\ path instaead of - ..\..\include\ - -2004-05-13 22:09 robert - - * Added the beginings of new osgParticle Explosion, Fire and - SmokeEffects. - - Added support for generation explosion, fire and smoke effects in - osgsimulation - -2004-05-13 22:06 robert - - * Revert the computeNearFar mode to using bounding volumes as - default. - -2004-05-13 22:04 robert - - * From Mike Weiblen, added hardwired include and lib paths to - OpenThreads - and Priducer directories that are assumed to site alongside the - OpenSceneGraph - library being built. - -2004-05-13 13:37 robert - - * From Bruce Clay, cross platform implemention of fileType(..) - -2004-05-13 08:11 robert - - * From Donny Cipperly, completed Windows support for fileType() - -2004-05-12 20:31 robert - - * Fixes for FreeBSD - -2004-05-12 14:22 robert - - * From Frank Lindeman, compile fix for VS to get round limitation - is VS when - handling templated methods. - -2004-05-12 10:45 robert - - * From Eric Sokolowsky, fixed problems in PNG plugin for handling - paletted images which contain alpha values. - -2004-05-11 20:44 robert - - * From Eric Sokolosky, with further additions from Robert, added - support - for RGBA TIFF files - -2004-05-10 20:01 robert - - * From Bruce Clay, modify template copy method to avoid VS6.0 - compile errors. - -2004-05-10 16:17 robert - - * Changed &D to use define to keep things compiling under VS6.0 - -2004-05-10 14:53 robert - - * Made GDAL_INSTALLED default to no - -2004-05-10 13:56 robert - - * Removed eroneous return statement. - -2004-05-09 07:06 robert - - * From Joran Jessurun, "I needed to be able to set the quality of - the saved jpeg images. I could - not find a way to do this in OSG. Therefore I implemented this by - adding - an option called: JPEG_QUALITY to the JPEG - reader/writer. - - To parse the options string I use the same method as used in the - LWO - reader/writer. " - -2004-05-09 06:29 robert - - * From Mike Weiblen, Fixes for Win32 build - -2004-05-08 22:18 robert - - * From Corbin Holtz, "I have completed my mods to the OpenFlight - loader (modified files are - attached): - * Light point strings using the REPLICATE opcode should now be - supported - (>=15.6?) - - * Directional lights should now work as in Performer using a - viewing - frustrum defined by a direction vector, horizontal angular width, - vertical - angular width, and roll angle about the direction vector. The - current - directional light implementation had some bad assumptions which - caused - problems with direction vectors not on the XY plane. - - * IVE and OSG reader/writers were updated as appropriate" - -2004-05-08 21:33 robert - - * From Paul Martz, - - "Changes to provide rudimentary support for OF 15.8 light point - animation palettes. This change also includes light point palette - override - support for external references. This is the last of my code - changes to - support OF 15.8 in the flt loader. Barring bugs, of course, knock - on wood. - - The gist of the animation palette code is to create ref_ptr'd - osgSim::BlinkSequence objects for each palette entry, and then - pass them on - to osgSim::LightPoint for any OpenFlight light points that - reference that - palette entry. This should be conservative of memory (not that I - expect the - animation palette to be extremely large)." - -2004-05-08 18:41 don - - * Ooops... previous fix didn't work, corrected. - -2004-05-08 18:37 don - - * Fixed a define for __sgi. Irix does not allow dlsym(0L, ...) - without - calling dlopen() first, just like __sun - -2004-05-08 06:35 robert - - * From Ken Sewel, added osgDB::fileType(filename) method and usage - of this - new function in osgdem to automatcally handle directories as part - of the - regular -d and -t options. - -2004-05-08 06:13 robert - - * Did a unix2dos and checked in trans.dsp - -2004-05-07 21:08 robert - - * Changed scale.dsp etc instance to rot.dsp etc. - -2004-05-07 19:58 robert - - * From Yefei Hi, replaced windows specific function with sprintf to - afford - better cross platform portability. - -2004-05-07 19:55 robert - - * From Marco Jez, replacement of local mutex lock/unlock with - ScopedLock. - -2004-05-07 15:18 robert - - * From Mike Weiblen, added new rot, scale and trans pseudo loaders. - -2004-05-07 14:51 robert - - * From Yefei Hi,fix to MultiSwitch set up, and adding of parsing of - description - fields (which is presently #if 0'd out while a compile problem is - resolved.) - -2004-05-07 14:44 robert - - * Fixed tabbing to be all four spaced tabs - -2004-05-07 14:33 robert - - * From Julian, fix to handling of multi-textures - -2004-05-07 13:43 robert - - * Added support for - osgDB::ReaderWriter::ReadResult::FILE_LOADED_FROM_CACHE - -2004-05-07 12:41 robert - - * From Bob Kuehne, addition of support for toggling on and off - GL_TEXTURE_1D, 3D, CUBE_MAP - and GL_TEXTURE_RECTANGLE (small addition from R.O) - -2004-05-07 12:40 robert - - * Added GL_TEXTURE_RECTANGLE define - -2004-05-07 11:28 robert - - * From Bob Kuehne, added getting of the max number of texture units - in - the Texture::Extension object - -2004-05-07 11:18 robert - - * Changed debug info level - -2004-05-07 11:10 robert - - * Changed notify level of debuggin message from NOTICE to INFO - -2004-05-07 11:09 robert - - * From Don Tidrow, changed cerr usage to osg::notify() - -2004-05-06 12:57 robert - - * From Geof Michel, fix to osgFX. - -2004-05-06 12:30 robert - - * *** empty log message *** - -2004-05-06 11:01 robert - - * Added new TerrainManipulator to osgGA, and new callback for - getting the - CoordinateFrame for a given X,Y,Z location. - -2004-05-06 10:59 robert - - * Removed Terrain.cpp and header from CVS repository. - - Added support for setting the maximum visiable distance of top - level - to osgTerrain::DataSet, and debugging code which insert a - axes.osg - above each tile. - -2004-05-06 10:54 robert - - * Fixed computeLocalTransform to generate correct orientation of - local coordinate - frame. - -2004-05-05 19:56 robert - - * Moved isCulled check inside the CullVisitor::apply(Projection&) - to just - before traverse rather than at the begining of the method. - -2004-05-05 14:54 robert - - * Compile fixes for that pitful excuse for a C++ compiler that is - VS6.0 - -2004-05-05 09:16 robert - - * Added support for reading environmental varables in CullSettings. - -2004-05-05 05:17 robert - - * Increased the sampling of upper most tiles when doing a - geocentric projection - -2004-05-04 18:15 robert - - * Added gdal_i.lib to osgdem project dependencies. - -2004-05-04 18:13 robert - - * Added osgTerrain to dependency list of osgdem - -2004-05-04 14:02 robert - - * Improved the cluster culling computation so that it now accounts - for - the local elevations. - -2004-05-04 13:58 robert - - * Changed notify level on several debugging messages from WARN to - INFO. - -2004-05-04 09:55 robert - - * Fixed typo of OSGTERRAIN - -2004-05-04 07:24 robert - - * Fixed typo of osgTerrain - -2004-05-03 20:43 robert - - * Added osgTerrain and osgdem project files - -2004-05-03 20:42 robert - - * Cleaned up osgTerrain, renaming the Terrain and Renderer class to - HeightFieldNode and HeightFieldRender to better reflect their - function. - Removed the GeoMipMapRenderer.cpp stub as the implemention will - be left - to a plugin. Added Version functions. - -2004-05-03 13:09 robert - - * Changed the gdal plugin to link to the gdal_i.lib dll stub - library - -2004-05-03 12:46 robert - - * Added CoordinateSystemNode and EllipsoidModel .h/.cpp's files to - project files - -2004-05-03 12:04 robert - - * Added support for automatically finding CoordinateSystemNode's in - the - scene graph and then using them to set up the CoordinateFrame - used - by the camera manipulators. - -2004-05-03 07:42 robert - - * Fixed compile error - -2004-05-02 21:50 robert - - * Added support for decoration of the osgTerrain::DataSet generated - databases - with a CoordinateSystemNode which reflect the coordinate system - of the - database. - - Added support for reading and writing CoordianteSystemNode into - the .osg - and .ive formats. - -2004-05-02 15:45 robert - - * Made the tri stripping of tile default to using a minimum tri - strip length - of 3, thereby reducing the number of indivual primitives, but - with the tradeoff - of more seperate triangles being used. - -2004-05-02 15:43 robert - - * Made the generation of QUADS for strip with the length of 4 an - option. - -2004-05-02 14:04 robert - - * Added support for settings scale the elevation of geometry - -2004-05-02 14:03 robert - - * Changed the default near far calculation mode so that it uses the - fine grained computation of near/far. - -2004-05-02 13:35 robert - - * Temporary fix for handling grey scale images as texture source. - -2004-04-30 15:35 robert - - * Added osg::CullSettings class as a way of collecting all the - various - settings related to the cull traversal in one place, so we can - keep APIs - for settings these values more consistent. - -2004-04-30 09:04 robert - - * Added getKeyManipMap() method - -2004-04-29 22:23 robert - - * Updated to build against the move from - osgTerrain::CoordinateSystem to - osg::CoordinateSystemNode. - -2004-04-29 22:22 robert - - * Added Support for cluster culling. - - Removed osgTerrain::CoordinateSystem which is now replaced by - osg::CoordinateSystemNode. - -2004-04-29 22:21 robert - - * Added support for fine grained computation of the near plane, by - taking - into account individual primitives culled against the view - frustum. - - Added better support for computing the near far for billboards. - -2004-04-29 22:19 robert - - * Added support for tracking a user specified CoordinateSystemNode - for the - CoordinateFrame to use in the camera manipulation - -2004-04-29 22:18 robert - - * Added support for handling a user define CoordinateFrame in the - flight - and trackball manipulators with API access via the - MatrixManipulator - base class - -2004-04-29 22:16 robert - - * Added osg::CoordinateSystemNode - -2004-04-29 22:15 robert - - * Added missing billboard drawable dirtyBound() - -2004-04-29 22:13 robert - - * Fix for VS7.0 build from Mike Weiblen - -2004-04-29 21:57 robert - - * Warnings fix for VS7.0 from Mike Weiblen - -2004-04-29 21:38 robert - - * Fixed an iterator invalidation bug. (thanks to Per Månsson for - tracking down the - bug) - -2004-04-29 15:57 robert - - * Added missing dirtyBound() to billboard section of flatten static - transforms - -2004-04-28 15:07 robert - - * Changed M_PI to osg::PI. - -2004-04-27 19:09 robert - - * Made s/getBackgroundColor() deprecated, and add in new - s/getClearColor() to - replace it. - -2004-04-23 14:47 robert - - * Added extra parameter policy enum - -2004-04-22 21:51 robert - - * Added a guard on the simplification of already low res tiles so - that they - won't be over simplified. - -2004-04-22 21:51 robert - - * Added support for "--bluemarble-east", "--bluemarble-west", - "--whole-globe" - and "--range" commandline options to allow easier specification - of coords - systems for common datasets which don't come with geospatial - coords. - -2004-04-22 13:36 robert - - * Added support for protecting points from being simplified. - - Added back in support for generation of skirts in - osgTerrain::DataSet. - -2004-04-22 10:47 robert - - * Added getBoundingBox() method to osg::Geode to provide a closer - bound - of the bounding volume of a Geode to be tracked. This sits - alongside - the existing getBound() method which returns a bounding sphere. - -2004-04-22 10:44 robert - - * Added update() method to enable the ScaleBar to be updated after - changes - to attached classes. - -2004-04-22 08:04 robert - - * Added pathway in code for override the colour of the wireframe - scribe - -2004-04-21 13:20 robert - - * Added searching of the filepath. - -2004-04-21 11:06 robert - - * Added back in tri stripping of tiles - -2004-04-21 10:40 robert - - * Changed the edge collapse to accept edges with more than two - connected - triangles. - -2004-04-20 09:46 robert - - * Added project files for osgsimplifier example. - -2004-04-20 09:36 robert - - * Changed the debugging info to output to osg::notify() rather than - cout. - - Add a clear of all the internal EdgeCollapse structures to avoid - memory - leaks - -2004-04-19 23:08 robert - - * Added support for using the error metric to guide the - simplficiation process - -2004-04-19 20:44 robert - - * Changed the scoping for for variables to fix VS6.0 compile. - -2004-04-19 20:06 robert - - * Added support for detecting edge collapses which will overturn - the local - triangles. - -2004-04-18 16:15 robert - - * Added osgsimplifier example. - -2004-04-18 14:12 robert - - * Changed std::cout to osg::notify - -2004-04-18 14:02 robert - - * Changed std::cout to osg::notify - -2004-04-18 13:44 robert - - * From Marco Jez, "fixes a bug that prevented mipmaps in images - from being read correctly (the call to - setImage() clears the previously filled _mipmapData vector)." - -2004-04-17 22:50 robert - - * Further work on Simplifer support for compute error metric - -2004-04-17 20:27 robert - - * Changed TriangleSet::iterator to const_iterator to fix build - under VS.NET. - -2004-04-17 16:02 robert - - * Further work on simplifier edge collapse code - -2004-04-16 22:50 robert - - * From Don Tidrow, changed "setupGLExtenions()" to - "setupGLExtensions()" in Texture and - Texture.cpp - -2004-04-16 22:07 robert - - * Fixed incorrecting sizing of background tex coords - -2004-04-16 10:05 robert - - * From Bob Kuehne, updated extension/version checking for border - clamp extension. - -2004-04-15 09:37 robert - - * Added tests for the consistency of points, edges and triangles. - -2004-04-14 11:56 robert - - * Fixed typo in makefile - -2004-04-14 08:58 robert - - * From Garret Potts, added -losgUtil to libs linked to osgTerrain - -2004-04-13 16:03 robert - - * Fixed bogus read*Implementation calls in ReadFileCallback. - -2004-04-13 15:59 robert - - * Added support for removing triangles and associated edge and - points from - the EdgeCollapse object. - -2004-04-13 14:39 robert - - * Added support for copy all per vertex attributes to and from the - edge collapse - object. - -2004-04-12 21:30 robert - - * Commented out call to osgUtil::Simplifier as this utility is not - yet functional - -2004-04-12 21:29 robert - - * Further work on the new osgUtil::Simplifier. - -2004-04-12 13:36 robert - - * Changed the optimization of flat tiles so that it creates a flat - 8x8 height - field rather than a flat 2x2 height field. This allows geocentric - warping - of the tiles without obvious flat regions. - -2004-04-11 21:21 robert - - * From Eric Wing, clean ups for OSX support. - -2004-04-10 16:11 robert - - * From Alberto Farre, changed the cache hint option in read*() - calls from being - a bool to a enum osgDB::Registru::CacheHintOptions to be used a - bit mask flag. - - From Robert Osfied, added osgDB::Registry::ReadFileCallback and - osgDB::Registry::WriteFileCallback to allow customizition of read - and write - calls. - -2004-04-10 11:30 robert - - * From Paul Martz, added support for OpenFlight15.8 - LightPointSystems - -2004-04-09 08:20 robert - - * Renamed MyTriangleOperator to CollectTriangleOperator. - -2004-04-08 11:27 robert - - * Added beginning of new osgUtil::Simplifier - -2004-04-07 18:38 robert - - * Added an alteranive code path for the fallback for handling - opaque texture - blending. - -2004-04-07 08:57 robert - - * From Paul Martz, changes to better support OpenFlight 15.8 - -2004-04-06 20:15 robert - - * Fixed comments on the OBJ coords system - -2004-04-06 16:01 robert - - * Fixes from Per Månsson for Win32 build - -2004-04-05 21:27 robert - - * Added --wtk_file option - -2004-04-05 15:58 robert - - * Re-enabled normal generation on tiles. - -2004-04-05 15:46 robert - - * Commented out scale setting when source DEM is in lat+longs. - -2004-04-05 15:39 robert - - * Added local transform support. Fixed skirt generation to work - during geocentric - transformations. Fixed output of image files so that compressed - textures are - turned off when external image files are required. - -2004-04-05 09:00 robert - - * From Nathan Cournia, fix to = operator, was eroneous written as - an == operator. - -2004-04-04 15:33 robert - - * Prelimary work on adding support for local tile transforms - -2004-04-02 15:55 robert - - * Added support for generating compressed textures - -2004-04-02 15:45 robert - - * From Bob Kuehne, reworked code to use a marco instead of - duplicated code, - done as measure for reducing the risk of copy and paste errors. - -2004-04-02 15:23 robert - - * Fixed computeImageResolution so that the computed num of columns - and rows - of the destination image are clamped to the nearest power of two - equal or - above the required resolution. - -2004-04-01 15:00 robert - - * Changed default cut of ratio to be smaller, to reduce the - resolution of - tiles selected. - -2004-04-01 13:09 robert - - * Added scaling of the PagedLOD range to be relative to the radius - of children. - -2004-04-01 11:03 robert - - * Added support for --geocentric option to allow users to specify - that the - output database should by in geocentric coordinates. - -2004-04-01 11:02 robert - - * Cleaned up handling of geocentric coords - -2004-04-01 07:49 robert - - * Changed the comment to make it clear what axis change is - implementated. - -2004-03-31 22:31 robert - - * Added preliminary support for converting datasets into geocentric - coords - -2004-03-31 15:50 robert - - * Added osgTerrain::EllipsodeTransform helper class for converting - to and from - lat, long, height to geocentric X,Y,Z and back. - -2004-03-31 09:20 robert - - * Clean up freeing of no longer required tiles - -2004-03-31 08:52 robert - - * From David Fries, add init() call to SphereSegment constructor, - and - new get methods for draw mask and color. - -2004-03-30 22:06 robert - - * Added back in tri stripping of geometry tiles - -2004-03-30 22:02 robert - - * Changed the writing out of tile imagery so that it only happens - when the - destination file format is not .ive. - - Added back in support for freeing un-needed tiles. - -2004-03-30 21:13 robert - - * Fixed the boundary equalization - -2004-03-30 19:15 robert - - * Added debugging for detecting problems in boundary equalization - -2004-03-29 22:26 robert - - * Added normal generation in polygonal tile generation, and add - --wtk option - for setting coord systems in osgdem - -2004-03-29 14:40 robert - - * Added support for generating polygonal tiles - -2004-03-29 12:28 robert - - * Fixed the handling begin()/vertex()/end() sequences in - TriangleIndexFunctor. - -2004-03-29 12:28 robert - - * Added extra check against a null vertex array to prevent a crash - when - tri stripping an empty geometry. - -2004-03-29 10:45 robert - - * Groundwork for adding support for polygonal tiles - -2004-03-29 10:24 robert - - * Added empty() method to Geometry to facilitate tests for removing - empty - geometry from the scene graph. - - Added removal of empty geometry leaves from within the - RemoveEmptyNodeVisitor - -2004-03-29 09:32 robert - - * Fixed handling of FOURCC_DXT1 pixel format. - -2004-03-26 11:04 robert - - * Added support for recording the animation paths relative to an - 0.0 start - time. - -2004-03-26 10:48 robert - - * Added empty() method as a convinience method for setting checking - whether - an animation path contains any control points - -2004-03-25 18:34 don - - * Applied Norman Vine's changes for Cygwin/Mingw - -2004-03-21 12:17 robert - - * Added TextureType and GeometryType parameters to DataSet. These - will be used - to control what type of database is generated. - -2004-03-20 18:32 robert - - * Implemented support for overriding the coordinate system and geo - transform - using in generate of databases. - -2004-03-20 17:21 robert - - * From Paul Martz, code change to make the flt loader pass its - light point intensity value in to osgSim::LightPoint. - -2004-03-19 22:20 robert - - * Added support for setting the geoTransform to use in source data. - -2004-03-19 22:03 robert - - * Improved the argument handling. - -2004-03-19 22:03 robert - - * Added ArgumentParser::Parameter class to make the argument - parsing much more - flexible, and to simplifying the API. The read(,,,) methods now - take - Parameter objects as arguments, and this Parameter adapt what - ever basic - type is passed in, so is able to transparently handle float, - double, int, - unsigned int & strings. - -2004-03-19 09:18 robert - - * Moved the LineSegment destructor from the header to the source to - avoid - compilation problems under MingW. - -2004-03-18 21:39 robert - - * Added defaults for the geotransform when none exists. - -2004-03-17 20:34 robert - - * From Paul Martz, "The attached code change causes the flt plugin - to leave _sector unset if the - direction normal has a zero length. The net effect is that - unidirectional - light points with zero length direction vectors are now treated - as - omnidirectional light points." - -2004-03-17 20:31 robert - - * From Marco Jez, updates to osgParticle, with integration of - changes from Tom - Jolly. - -2004-03-17 20:04 robert - - * Added support for writing out to .ive - -2004-03-17 20:03 robert - - * Added the setting of the _internalTextureFormat from within - osg::Image. - -2004-03-17 17:04 robert - - * Completed support for the majority of osg::Shape. - -2004-03-17 16:11 robert - - * Added prelimary shape support to .ive plugin - -2004-03-17 08:15 robert - - * From Paul Martz, added (non-meters) unit scaling to the flt - plugin - failed to set the scaling of external references. - -2004-03-16 21:03 robert - - * Added better handling of number of graphic context size changes. - -2004-03-16 16:54 robert - - * Added support for generation of PagedLOD databases in - osgTerrain::DataSet - -2004-03-16 16:10 robert - - * From Joran Jessurun, fixed "borderColor" typo. - -2004-03-16 09:40 robert - - * Set JASPER_INSTALLED to no - -2004-03-15 15:47 robert - - * Added support for controlling the type of destiation database to - create into - osgTerrain::DataSet. - -2004-03-14 21:54 robert - - * Added PrimitiveIndexFunctor for better support of - TriangleIndexFunctor - -2004-03-14 15:40 robert - - * From Stephan Huber, support for reading movie files as - ImageStreams using - Quicktime (under OSX) to do the reading of the movie files. - Originally submitted as - a sperate .mov plugin, but integrated into the QuickTime plugin - by Robert - Osfield. - -2004-03-14 15:26 robert - - * From Paul Martz, "I've added support for indexed light points and - the light - point appearance palette to the OpenFlight loader. Both are 15.8 - features. - I also added parsing/comments regarding other things that have - changed for - v15.8." - -2004-03-14 15:08 robert - - * From Marco Jez, added support NVidia extension to imager formats. - -2004-03-13 16:29 robert - - * Moved the destructor block->release to after the cancel(). - -2004-03-13 12:36 robert - - * Added setting of pivot point in AnimationPathCallback - -2004-03-12 21:04 robert - - * Added some basic event handler. - -2004-03-12 20:23 robert - - * Cleaned up osgmovie example so it no longer depends upon - LibMpeg3, just - using readImageFile instead. - -2004-03-12 16:54 robert - - * Added the setting of the source data type in the reproject - function, and - disabled the automatic build of overviews. - -2004-03-11 22:04 robert - - * Changed the coordinate system option to --o_cs - -2004-03-11 16:14 robert - - * Moved osgTerrain::DataSet from the osgdem example into - osgTerrain. Added - various improvements. - -2004-03-11 14:34 robert - - * Replaced eronous GL_TEXTURE_2D instances with GL_TEXTURE_3D and - GL_TEXTURE_RECTANGLE_NV - respectively. - -2004-03-11 14:34 robert - - * From Bob Kuehne, fixed eroneous use of GL_TEXTURE_2D token in - texture object - manager usage - -2004-03-11 09:04 robert - - * Fixed normal orientation - -2004-03-10 15:41 robert - - * Ported mpeg plugin across to use OpenThreads instead of pthreads. - -2004-03-09 23:00 robert - - * From Paul Martz, fix to the scaling of light points in flt - plugin. - -2004-03-09 21:33 robert - - * From Tom Jolly, addition a isCullingActive check to the culling - test done - on drawables. This solves a osgParticle bug relating to bounding - boxes being - initially at 0,0,0. - -2004-03-09 15:39 robert - - * Fixed mpeg plugin entry - -2004-03-09 15:00 robert - - * Added MPEG plugin - -2004-03-09 14:59 robert - - * Added TextureRectangle(Image*) contructor. - -2004-03-09 14:58 robert - - * Added float s, float t parameters to createTexturedGeometry - function - -2004-03-09 14:57 robert - - * Fixed compile warning - -2004-03-09 14:00 robert - - * Removed redundent ImageStream.h - -2004-03-09 09:42 robert - - * Preliminary work on general support of video textures. - -2004-03-08 17:13 robert - - * Added support for APPLE_client_storage to TextureRectange - -2004-03-08 17:09 robert - - * Added support for APPLE_client_storage of textures. - -2004-03-08 11:53 robert - - * Clean up of headers. - -2004-03-08 11:41 robert - - * Added osgGA::TrackballManipulator::g/setMinimumZoomScale() - method. - -2004-03-08 11:02 robert - - * From Bob Kuehne, change on __DARWIN_OSX__ define to __APPLE__ - -2004-03-07 21:03 robert - - * Added #include for Win32 build - -2004-03-07 14:21 robert - - * Clean up of headers. - -2004-03-07 14:19 robert - - * From Geof Michel, bug fix to handling of Materials - -2004-03-07 14:14 robert - - * Changed cerr to osg::notify(osg::WARN) - -2004-03-06 15:03 robert - - * From Paul Marz : "Input.h, Input.cpp -- Here's where support for - reading the continuation - record goes. I added a new function to read a continued record - body. I added - code in the existing ReadRecord routine to peek ahead for a - CONTINUATION_OP - if the current record could possibly be continued. - - opcodes.h -- Besides adding the opcode for CONTINUATION_OP, I - also added new - 15.8 opcodes. I labeled opcodes as "ignored" if I could easily - discern that - our loader wasn't doing anything with them. For historical - reasons, I added - all obsolete opcodes, prefixed with "OBS_". - - LocalVertexPoolRecord.h, LocalVertexPoolRecord.cpp -- This is one - of three - types of records that can be continued with a CONTINUATION_OP - record. I - removed all invalid assertions that assumed the record length - would always - be less than 65535. I replaced the "vertex size" calculation with - a more - efficient method based on caching the size from attribute bits, - rather than - taking the length of the record and dividing it by numVerts - (which would - have been incorrect if the record had been continued)." - -2004-03-06 14:38 robert - - * Added osg.ico back in again to test out cvs's assignment of - keyword - substitution. - -2004-03-06 14:37 robert - - * Temporarily removed osg.ico - -2004-03-06 14:13 robert - - * Changed cout/cerr to osg::notify(). - -2004-03-05 20:07 robert - - * From Boris Bralo, Added std:: in front of getline. - -2004-03-05 15:44 robert - - * From Marco Jez, on behalf of Farshid Lashkari. Details from - Marco's email: "I've just received an addition to osgParticle - from Farshid Lashkari. It enhances the generation of texture - coordinates on particles so that animated textures can be used, - with the current frame of animation being computed from each - particle's current age. - Clients just have to call Particle::setTextureTile() and specify - the number of - horizontal and vertical tiles that make the animation up in the - texture image." - -2004-03-04 18:35 robert - - * From Paul Martz/Robert Osfield. Addition of initializers in - AttrData to prevent - bugs due to uninitialized memory references. - -2004-03-04 16:38 robert - - * From Paul Martz, fix to the byte swapping of the version number - -2004-03-04 14:33 robert - - * From Bob Kuehne, added support for FragmentProgram and - VertexProgram into .ive - -2004-03-04 14:32 robert - - * Removed redundent getAssociatedModes() - -2004-03-03 15:38 robert - - * Changed StateAttribute::getAssociatedModes(std::vector&) - across - to StateAttribute::getModeUsage(StateAttribute::ModeUsage&). - -2004-03-03 13:27 robert - - * Removed include where possible, replacing with istream - or ostream and changing - std::cout/cerr to osg::notify(). - -2004-03-03 11:17 robert - - * From Ruben, Added osgpointsprite examples. - -2004-03-02 22:36 robert - - * From Ruben, addition of osg::PointSprite and osgpointsprite - example. - -2004-03-02 21:37 robert - - * From David Fries, changed the Win32 Timer init code across to - using - QueryPerformanceCounter to avoid inaccurate and slow original - Sleep based code. - -2004-03-02 20:35 robert - - * Added support for osg::Capsule into .osg format. - -2004-03-02 20:33 robert - - * From David Jung, added support for osg::Capsule shape - -2004-03-02 20:05 robert - - * From Marco Jez, fix to circular reference which was causing a - crash. - -2004-03-02 16:57 robert - - * From Mike Weiblen, updated osg.ico file. - -2004-03-02 16:53 robert - - * From Brede Johansen, added support for incrementing animation of - DOFTransform - w.r.t. time rather than frame number. - -2004-03-02 16:12 robert - - * From Paul Martz, with a couple of mods by Robert Osfield: - - "Changes to return the lat/long origin of an - OpenFlight model as userData of the root node object." - -2004-03-02 15:37 robert - - * From Paul Martz: - - "These two files fix the alignment bug in the flt plugin header - parsing, which I posted about on Saturday. They go in the flt - plugin - directory. - - The fix is to memcpy the data read from the flt file into - individual fields - in our Header struct, then replace the raw (packed) data block - with our - header struct. This avoids the alignment problem entirely, and - all fields - now contain valid data." - -2004-03-02 15:27 robert - - * From Brad Christiansen: added _matrixDirty=true to - AutoTransform::setPosition(..) - method. From Robert Osfield, probagated this change to other - AutoTransform set - methods. - -2004-03-02 15:26 robert - - * Fixed warning message - -2004-03-01 09:15 robert - - * Build fixes - -2004-02-26 18:33 don - - * Changed OsgCameraGroup to check for the - Producer::RenderSurface::defaultWindowName - rather than the hard coded string - -2004-02-24 12:04 robert - - * Warning fix - -2004-02-22 11:58 robert - - * Added scale parameter into PositionAttitudeTransform. - - Added pivotPoint parameter into AnimationPathCallack. - -2004-02-21 16:59 robert - - * Changed the Timer class to default to using the standard clock - under - Linux to prevent Timer problems occur under Linux32 on the - Athlon64. - -2004-02-21 16:57 robert - - * Made the FRAME event handling in the various MatrixManipulators - return false - from the handle method to prevent frame events from being eaten. - -2004-02-21 16:56 robert - - * Added AnimationPathCallback::s/getTimeOffset and - s/getTimeMultiplier() methods. - -2004-02-20 20:47 robert - - * Added missing _pause(false) into AnimationPathCallback default - contructor. - -2004-02-20 20:10 robert - - * Added missing initialization in the AnimationPathCallback - constructor. - -2004-02-20 11:51 robert - - * Added Material::operator = - -2004-02-19 10:10 robert - - * Fixed typo in inline docs on the default value of the clear - stencil value - -2004-02-18 21:40 robert - - * Added support for osg::LineWidth into ive format - -2004-02-17 09:46 robert - - * Added support for a OSG_DISABLE_FAST_PATH_IN_DISPLAY_LISTS - environmental - variable in the computeFastPathsUsed() method so that use of - vertex arrays - can be forced off. This is a work around for a bug in the OpenGL - drivers in - OSX/Panther. - -2004-02-16 15:27 robert - - * Removed redundent byte swap on _version - -2004-02-12 18:40 don - - * Submission by Paul Martz for doing units conversions on flight - files. - -2004-02-12 12:53 robert - - * Changed _X & _Y varaibles to _tileX & _tileY - -2004-02-12 01:42 robert - - * From Shane Arnott, added drawing of "split" - -2004-02-12 01:15 robert - - * Improved osgSim::SphereSegmenet's handling of transparancy. - -2004-02-11 12:06 robert - - * Added support for draw back then front faces of the osg::Sphere - shape - -2004-02-11 10:19 robert - - * From Brad Christiansen, fix to enable AutoTransform to keep track - of window - size/perspective changes - -2004-02-11 10:18 robert - - * Added defined(__x86_64__) to force X86-64 build to use standard - clock - -2004-02-10 12:36 robert - - * Made getViewport(...) const. - -2004-02-10 10:07 robert - - * From David Fries, added _frameTime copying into copy constructor - of osg::Sequence - -2004-02-09 22:56 robert - - * From Ronny Krueger: - - In RenderStage.cpp removed erroneous else statement. - - In ShapeDrawable.cpp's PrimitiveShapeVisitor::apply(const Box& - box) fixed - order of the last face. - -2004-02-09 10:14 robert - - * Added new TriangleIndexFunctor. - -2004-02-07 19:36 robert - - * Removed slideshow3D from runexamples.bat - -2004-02-05 21:23 robert - - * From Eric Hammil, addition of /Zm200's to keep things compiling - under VS6 - -2004-02-05 12:11 robert - - * Fixed the className() defintations to be const - -2004-02-05 11:53 robert - - * Changed fonts to lower case. - -2004-02-05 11:39 robert - - * From Nick, Improved support for 3D labels. - -2004-02-05 10:50 robert - - * From Tom Jolly, Fixes to osgSim::BlinkSequence to enable proper - saving and - loading. - -2004-02-05 10:15 robert - - * Fixed warning in Tesselation w.r.t unhandled cases in switch - statement - -2004-02-05 10:10 robert - - * Removed slideshow3D from list of example apps, and rejigged - makedefs handling - of the QUICK_TIME - -2004-02-05 09:24 robert - - * Removed DRAWIN_QUICKTIME definition - -2004-02-04 13:21 robert - - * Removed slideshow3D from project file. - -2004-02-04 13:21 robert - - * Removed slideshow3D project file - -2004-02-04 13:19 robert - - * Removed slideshow3D example source code, since it being moved to - a seperate - distribution. - -2004-02-04 11:03 robert - - * Added virtual destructor to LightPointDrawable - -2004-02-04 09:30 robert - - * From Brad Christaiansen, added check for projection matrix - changing in - screen coord character size mode. - -2004-02-03 22:46 robert - - * Changes to help differentiate between OSX using Quicktime vs not - using - quicktime, from Eric Sokolosky and Robert Osfield. - -2004-02-03 21:08 robert - - * Added rounding to nearest power of two in tile image size - -2004-02-03 19:07 robert - - * Added dynamic_cast into SceneView::init() - method to - properly check for class type before doing setState(). - -2004-02-03 16:51 robert - - * Added support for better merging of height fields which ignores - NoData - values. Fixed various problems with handing of coordinates - systems. Added - support for halving levels in x and y respectively, in addition - to the - previous divide in both x and y at the same time, which allows - long - line/short tall regions to be handled better. - -2004-02-02 17:16 robert - - * From Eric Sokolosky, change to use X_INC in GNUmakefile to allow - compiling - on systems with X installed in a non standard place. - -2004-02-02 16:55 robert - - * Moved the InitVisitor::setState() into the SceneView::init() - method to make - sure that it always has the correct State object at the of the - init. - -2004-02-02 08:55 robert - - * Added atan2f to the list of #define's into include/osg/Math. - -2004-02-01 17:21 robert - - * Commented out the PagedLOD priority offset to leave it at its - default - values, so not to force the loading of distance children before - near ones, - letting PagedLOD set priorities simply on the depth into a child - range. - -2004-02-01 17:19 robert - - * Changed the osgviewer example to use the osg::Timer::instance - instead a loca - instance. - -2004-02-01 17:18 robert - - * From Nick, "I have modified the gdal code to read ecw images as - well - There is a small issue though ... - GDALRasterBand::GetColorInterpretation() - is not implemented for ecw images (in GDAL's sources I downloaded - today) - ... I put small hack in there to interpret the bands based on - their index - and it seams to work .." - -2004-02-01 17:17 robert - - * Increased expiry delay from 1 second to 30 seconds - -2004-02-01 16:13 robert - - * Fixed the PagedLOD::removeExpiredChildren() so it only removes - the high - res child that has expired and no more. - -2004-02-01 15:40 robert - - * Fixed GL_COMPRESSED_RGB_S3TC_DXT1_EXT pathway so both pixel and - internal - formats are the same. - -2004-02-01 10:27 robert - - * Improvements to the merging of source image datasets into the - destination - tiles which ensure that gaps don't appear. - - Made the elevation properly scaled relative to the having the x & - y in - degrees. - -2004-01-31 21:27 robert - - * Fixed second pathway for computing HeightField bounding box. - -2004-01-31 20:45 robert - - * Fixed HeightField compute bounding box implementation. - -2004-01-31 11:34 robert - - * Added AnimationPathCallback::getAnimationTime() method - -2004-01-30 21:17 robert - - * Fixed another typo :) - -2004-01-30 21:17 robert - - * Fixed misspelling of dependencies - -2004-01-30 21:11 robert - - * Added new dependancies file which contains a list of libraries - that various - OSG modules depend upon, these can be set as installed or not. - The makedirdefs - now uses this to configure which modules to compile. - -2004-01-30 21:10 robert - - * Added osg:: infront of State in Draw callback to make the - callback work - when copy and pasting it in user code. - -2004-01-30 21:09 robert - - * Added new osgspacewarp example which demonstrates how to create a - star - field which becomes lines as one accelerates, similar to the - effect seen - in star trek's warp drive. - -2004-01-30 16:12 robert - - * From Bob Keuhne, warning fixes under OSX - -2004-01-30 15:54 robert - - * Added osgText dependancy to the TXP plugin - -2004-01-30 15:52 robert - - * Added Windows icon - -2004-01-30 14:06 robert - - * Added osgmovie example, derived from Ulrich Hertlien's original - videotex - example, and brought up to date. - -2004-01-30 13:53 robert - - * Changed the snap image filename to save_image.jpg taking - advantage of the - new JPEG writing support. - -2004-01-30 13:52 robert - - * From Stephane, added support for writing JPEG images. - -2004-01-29 20:14 robert - - * Fixed the clampProjectionMatrix method so it doesn't modify the - input - znar and zfar, by avoid the use of float/double&. - -2004-01-29 17:09 don - - * Adde Texture1D to .dsp file - -2004-01-29 15:47 robert - - * Attempts to fix compile problems under IRIX due to namespace - problems. - -2004-01-29 15:47 robert - - * Improved support for handling externally set projections - -2004-01-29 11:16 robert - - * From Pavel Moloshtan, add support to osg::Texture files for - GL_ARB_shadow_ambinet support - -2004-01-29 10:44 robert - - * Added double's as parameters to _clampProjectionMatrix() template - function to - cure compile problems - -2004-01-28 22:23 don - - * Fixed WIREFRAME_CLOSED swap in flt loader. submitted by Andreas - Ekstrand - -2004-01-28 20:17 robert - - * Made the thread priority outwith the frame PRIORITY_MIN - -2004-01-28 14:44 robert - - * Adding scaling of skirt. - -2004-01-28 10:53 robert - - * From Mike Weiblen, icons for osgviewer under Windows. The - osgviewer changes effectively provides template - for making icons for all the examples. - -2004-01-28 10:49 robert - - * Added support for CullVisitor::clampProjectionMatrixCallback - -2004-01-27 22:45 don - - * Added 1D texture support to .ive plugin. (Fixed a couple of - misspellings - as well). - -2004-01-27 21:29 robert - - * Added support for osg::Texture::setBorderWidth(). - -2004-01-27 14:49 robert - - * Fixed problems with the DatabasePager free of texture objects and - display - list before they are finished with. - -2004-01-27 14:47 robert - - * Added className() method to GlyphTexture for debugging purposes. - -2004-01-27 14:46 robert - - * Added operator = implementations to template classes. - -2004-01-27 11:50 robert - - * From Nick, added VectorUInt in osgText/String hack to get around - VS's stoopid compiler bugs. - - From Robert, removed an #if #else #endif block, for code clarity. - -2004-01-26 14:52 robert - - * Re-enabled the unref image of texture apply, since the bug of - disappearing - textures was due to a bug in DatabasePager. - -2004-01-26 14:51 robert - - * Set the delete of expired subgraphs in the database thread to - false, to - prevent problems with osgText. Will need to solve the - dirtyTextureObject - issue. - -2004-01-26 13:55 robert - - * Removed Texture unref on apply. - -2004-01-26 09:01 robert - - * Fix to computation of size of texture in presense of compressed - textures + mipaplevels<=1 - -2004-01-25 13:52 robert - - * From Nick, added Text support. - -2004-01-24 20:50 robert - - * Removed redundent , from enum. - -2004-01-24 09:41 robert - - * Added release of file request block in the DatabasePager - destructor. - -2004-01-23 21:47 robert - - * Added proper handling of the rotation of billboards about an - artbitary axis. - Note, this code while mathermatically is not optimal, and will - need to - reviewed in the future to optimize it. - -2004-01-23 16:29 robert - - * Added rotation of billboard normal into flattern transform - Optimizer pass. - -2004-01-23 16:09 robert - - * Made getLookAt() etc methods const - -2004-01-23 13:38 robert - - * Fixed the handling of the Producer Fovy so that it accounts for - Producer - now using degrees in set and get methods - -2004-01-23 13:25 robert - - * From Romano Magacho, fixes to handle the subloading from Image - when the - internal format changes requiring a rebuild of the texture - object. - -2004-01-23 12:06 robert - - * Reverted by hand osgshadowtexture - -2004-01-22 14:24 robert - - * Added support for copying tex coord data directly from - prpgGeometry. - -2004-01-22 12:28 robert - - * Added report of LOD scale - -2004-01-22 12:21 robert - - * Added setLODScale into TileMapper traversal - -2004-01-22 11:33 robert - - * Added back in handling of non seam children in seam subgraphs, - now uses - a seperate group to enclose both the seam and the non seam - children. - -2004-01-22 10:55 robert - - * From Nick, addition of pruning to remove redundent local - materials. - -2004-01-22 10:43 robert - - * Added setName("TileContent") on the subgraphs that represent the - contents - of the tiles, this name is then searched for during the - TileMapper pre - cull traversal to help cut short traversals, and thereby improve - its performance. - -2004-01-22 10:42 robert - - * Added controls over the datatbase pager threading priority during - and outwith the frame. - -2004-01-21 20:38 robert - - * Added _activeSwitchSet(sw._activeSwitchSet) into the copy - constructor. - -2004-01-21 19:13 robert - - * Commented back in osg::Material settings - -2004-01-21 17:26 robert - - * Added new mechanism for handling Seams. - -2004-01-20 10:02 robert - - * Build fix. - -2004-01-19 15:55 robert - - * Upates from Nick. - -2004-01-19 11:02 robert - - * Added support for osg::Texture::setUnRefImageDataAfterApply(true) - into all - objects osg::Textures the TXP plugin creates. - -2004-01-19 11:01 robert - - * Fixed bug in logic in areAllTextureObjectsLoaded() which was - producing the - exact opposite result to what it should have been generating. - -2004-01-18 21:59 robert - - * Updates for improvements to osgdem, such as adding support for - skirt - and border into osg::HeightField, handling of computation of - neigherbouring - tiles in osgdem's DestinationGraph. - -2004-01-16 16:39 robert - - * Improvements to generation of terrain and texture'd LOD'd - destination datasets - -2004-01-15 21:07 robert - - * Added automatic generation of LOD levels with destination graph - -2004-01-14 15:14 robert - - * Clean ups of floats & .0f's - -2004-01-13 16:07 robert - - * Fixed #undef's - -2004-01-13 10:30 robert - - * From Daved Ergo, patch for handling group names better - -2004-01-13 09:47 robert - - * Fixed typo's of ImpostorSprite - -2004-01-13 09:47 robert - - * Fixed for Win32 build - -2004-01-12 22:03 robert - - * Added support for automatic subdivision of the destination graph - -2004-01-12 14:22 robert - - * Introduce new Matrix::invert() implementation from Ravi Mathur, - with tweaks - by Robert Osfield. - -2004-01-12 14:21 robert - - * Fixed compile warning - -2004-01-12 13:53 robert - - * Changed of _firstTime intial values of 0 to DBL_MAX. - -2004-01-11 21:33 robert - - * Improvements from Pavel. - -2004-01-10 21:29 robert - - * Added support for controlling the LODScale via '*' and '+' keys - in - osgProducer::Viewer. - -2004-01-10 20:58 robert - - * Fixed consolodateRequireResolutions() methods - -2004-01-10 17:13 robert - - * From Alberto Farre, added osgDB::SharedStateManager. Also a - couple of - ammendments by Robert Osfield, adding get/setSharedStateManager() - methods into osgDB::Registry, and clean up fixes in - SharedStateManager - for the StateSet arrays. - -2004-01-10 09:10 robert - - * Did a to_unix on all the LWS files include GNUmakefile. - -2004-01-09 20:33 robert - - * Standardised on using value_type in most methods in Matrixd & - Matrixf interfaces - and Matrix_implementation.cpp. - -2004-01-09 14:07 robert - - * From Romano Magacho, add group->setName() to flattening of static - transforms - -2004-01-09 13:35 robert - - * Fixed to TXP plugin from Nick. - -2004-01-08 21:39 robert - - * Fixes from Geoff. - -2004-01-08 21:04 robert - - * Made the default settings of Quat 0,0,0,1 to represent a zero - rotation. - -2004-01-07 20:58 robert - - * Moved the default light to be from the sky. - -2004-01-07 19:57 robert - - * Fixed TXPPagedLOD.h/.cpp typos. - -2004-01-07 14:14 robert - - * Fixed tabs to be four spaces. - -2004-01-07 14:10 robert - - * From Nick, updates to TXP plugin to handle differences in LOD - levels - between adjacent tiles. - -2004-01-07 12:38 robert - - * Added osgsimplepager example program - -2004-01-07 12:38 robert - - * Removed redundent DatabasePager pointer. - -2004-01-07 12:37 robert - - * Added DatabasePager::setUseFrameBlock(bool) method - -2004-01-07 08:43 robert - - * Removed eroneous CreateShadowedScene.cpp/.h from .dsp - -2004-01-07 08:39 robert - - * Moaved PagedLOD::PerRangeData implementaton into .cpp and add - missing - return *this to copy operator. - -2004-01-07 08:36 robert - - * Fixed ending of .dsp - -2004-01-06 21:18 robert - - * Simplified the API for using the DatabasePager, by providing a - single - DatabasePager::updateSceneGraph(..) method, and added a ref_ptr<> - into - osDB::Registry for managing a single DatabasePager in a - centralised way. - -2004-01-06 15:56 robert - - * Added osgdistortion examples .dsp - -2004-01-06 14:37 robert - - * Fixed comments - -2004-01-06 14:09 robert - - * Added code to the DatagbasePager::removeExpiredSubgraphs() that - update - the osgDB::Registry cache. - -2004-01-06 12:27 robert - - * Merged changes from Cobin Holtz for support of - "noUnitsConversion" via - the ReaderWriter::Options string. - -2004-01-06 08:38 robert - - * From Nick, increased info.radius by x 1.3 to avoid culling - -2004-01-05 20:51 robert - - * Added code to scale the priority by the offset and scale. - -2004-01-05 20:45 robert - - * Added support for priority offset and scale into PagedLOD. - -2004-01-05 19:04 robert - - * #if 0'd out code for switch off seam generation. - -2004-01-05 15:40 robert - - * Compile fixes for Win32 - -2004-01-05 15:34 robert - - * Fixed .dsp - -2004-01-05 14:17 robert - - * Renamed osgshadowtexture.dsp to osgdepthshadow.dsp - -2004-01-05 13:40 robert - - * Added support into osgProducer::Viewer for flushing and compiling - GL objects - via a Producer post swap callback. - -2004-01-05 09:34 robert - - * From Pavel Moloshtan, osgdepthshadow example - -2004-01-04 22:28 robert - - * Experiments at fixing seam handling. - -2004-01-04 12:37 robert - - * Fixed osgFX::Validator::compare(..) so that it checked for the - correct - StateAttribute type before comparing member variables. - - Fixed docs typo in Material - -2004-01-03 22:52 don - - * Oops. Fixed glaring memory leak in main loop of osgsimple - -2004-01-03 20:32 robert - - * From Marco Jez, new Light Wave Scene loader - -2004-01-03 15:20 robert - - * From Marco Jez, updates to the LWO loader. - -2004-01-03 09:06 robert - - * Updates to osgGL2 from Mike Weiblen - -2004-01-02 20:44 robert - - * Fixed getFogCoord methods - -2004-01-02 17:30 robert - - * Updates to TXP plugin from Nick. - -2004-01-02 17:06 robert - - * Added "&& oitr->second.first->referenceCount()<=1" check to - removeExpiredObjectsInCache - so that it only expires objects in the cache that have no - external reference. - -2004-01-02 11:31 robert - - * Updates to the AUTHORS file from Rune. - -2003-12-27 22:17 robert - - * Added osgdistortion demo. - -2003-12-27 22:17 robert - - * From Geof Michel, addition of TESSELATE_GEOMETRY pass. - -2003-12-27 15:57 robert - - * Removed TXPIO.h - -2003-12-27 13:46 robert - - * From Geoff Michel, added tesselate pass to Optimizer and added - handling of per - primitve color to osgUtil::Tesselator. - -2003-12-27 11:30 robert - - * From Rommano Silva, admendments to - Texture::computeRequiredTextureDimensions - so that it takes into account the current mip map settings. - -2003-12-26 16:45 robert - - * Fixed osgFX::Scribe so that is handled setting of colour and line - width correctly, - by setting up the Materiail and LineWidth attributes within the - Scribe constructor. - -2003-12-24 19:28 robert - - * Fixes for VS6.0 - -2003-12-24 17:20 robert - - * Removed redundent osgcameragroup - -2003-12-24 17:19 robert - - * Fixed typo of TileMap - now corrected to TileMapper - -2003-12-24 00:14 robert - - * Fixed typos in error reporting - -2003-12-24 00:14 robert - - * Build fixes for VS6.0 - -2003-12-24 00:07 robert - - * Added osgphotoalbum project - -2003-12-23 23:55 robert - - * Added support for a photo archive. - -2003-12-23 13:02 robert - - * Updates from Nick. - - Added support for OSG_TXP_DEFAULT_MAX_ANISOTROPY to override the - default make - anistropy in textures. - -2003-12-23 12:10 robert - - * removed osg:: - -2003-12-23 09:18 robert - - * Removed osg:: from NodeVisitor and Group base class calls - -2003-12-22 21:05 robert - - * Added beginings of PhotoArchive for storing and loading a set of - photos from an archive. - -2003-12-22 14:48 robert - - * Added max texture anisotropy of 4. - -2003-12-22 14:05 robert - - * Updates from Nick. - -2003-12-22 07:26 robert - - * Moved TileMapper code out into its own file and made it a - signleton - -2003-12-22 06:27 robert - - * From Trajce Nikolov, port of TXP plugin across to a pure PagedLOD - based - pager, with a little assistance from Robert Osfield. - -2003-12-21 23:02 robert - - * Fixed memory leak and utilised DrawArrayLengths in place of - multiple - DrawArray calls. - -2003-12-21 13:11 robert - - * Added extra clampProjectionMatrix methods to handle both Matrixd - and Matrixf - pathways. - -2003-12-20 23:25 robert - - * Fixed PagedLOD's handling of distances beyond the furthest range. - -2003-12-20 14:25 robert - - * Added support for placing pictures of backs and fronts of pages. - -2003-12-20 14:23 robert - - * Added support for REVERESED_XY_PLANE, REVERESED_XZ_PLANE and - REVERESED_YZ_PLANE's for the axis alignement to allow the text to - be - reversed. - -2003-12-20 14:20 robert - - * *** empty log message *** - -2003-12-20 14:19 robert - - * Added Mode parameter to constructor. - -2003-12-19 23:14 robert - - * Added support for reading and writing UserData from objects. - -2003-12-19 22:55 robert - - * Added support for tagging the required resolutions from the - source data. - -2003-12-19 22:34 robert - - * Added swap bytes methods. - -2003-12-19 22:21 robert - - * From Corbin Holtz, support for endian testing and bytes swapping. - With mods - from Robert to use include/osg/Endian - -2003-12-19 10:52 robert - - * Added _ARB to GL_COMPARE_R_TO_TEXTURE - -2003-12-18 20:53 robert - - * Changed inline docs for readPixels to say "read pixels from - current frame buffer" - -2003-12-18 16:15 robert - - * Added definition of GL_DEPTH_TEXTURE_MODE_ARB - -2003-12-18 12:20 robert - - * Changed the ArrayData constructor to use copyop for copying - arrays, instead - of by default doing cloning. - -2003-12-18 10:57 robert - - * Fixed s/getCreateBackFace(bool on) methds so that use used the - correct variable. - -2003-12-18 09:56 robert - - * Fixed typo in comments. - -2003-12-17 23:19 robert - - * From Bob Kuehne, build fixes for OSX. - -2003-12-17 19:26 robert - - * From Pavel Moloshtan, added GL_ARB_shadow_support to - osg::Texture. - -2003-12-17 17:05 robert - - * From Pavel Molishtan, Fixed comparision of _t plane. - -2003-12-17 17:02 robert - - * Added support for tracing the resolutions that are required by - the destination data. - -2003-12-17 10:05 robert - - * From Jeremy Bell, made SHARED = -dynamic for OSX. - -2003-12-17 10:04 robert - - * Added VS projects for osgkeyboardmouse and osgsimple examples. - -2003-12-17 00:58 robert - - * Added -losgGL2 to link line. - -2003-12-16 23:43 robert - - * From Marco Jez, fixes to osgFX so that effects are compiled - correctly. - - Fixed title name of osgkeyboardmouse example. - -2003-12-16 19:21 robert - - * Added osgUtil dependancy to lib3ds plugin - -2003-12-16 08:56 robert - - * Put the ordering of the callbacks so that the update callback is - first, - then cull then draw. Added missing copy of update callback into - copy - constructor. - -2003-12-15 23:23 robert - - * Added support for updating the SceneView projection matrix from - the values - of near and far computed during the cull traversal. - -2003-12-15 23:22 robert - - * Changed the default wrap modes from REPEAT to CLAMP since CLAMP - is the OpenGL - default value. - -2003-12-15 16:46 robert - - * Added two news examples, osgsimple just loads a model and then - renders it in - a single window. osgkeyboardmouse adds to osgsimple support for - keyboard mouse - and picking interactions. - -2003-12-15 16:40 robert - - * Added gemetry of photo album and page turning animation. - -2003-12-15 08:54 robert - - * Added test against MultiSwitch in Optimizer to prevent switch - children - being removed. - -2003-12-13 22:15 robert - - * Fixed paramter name from being fileName to file. - -2003-12-13 22:07 robert - - * From Jeremy Bell, add -losgText to fix OSX compile. - -2003-12-13 16:41 robert - - * Added TriStripVisitor usage. - -2003-12-13 16:36 robert - - * From Michael Gronager, with updates from Robert Osfield, to add - support - for Registry::closeAllLibrary and forced Registry destruction via - Registry::instance(true). - -2003-12-13 15:33 robert - - * From Eric Sokolosky, fixed broken handling of palatted textures. - -2003-12-12 20:33 robert - - * Fixed typo of s/getUpdateVisitor(). - -2003-12-12 17:23 robert - - * Fixed flatten static transform - -2003-12-12 16:34 robert - - * Removed comments, and move the tri stipper slightly later in the - code to - apply it on all geometries. - -2003-12-12 15:22 robert - - * Updates from Geof Michel. - -2003-12-12 13:53 robert - - * Made progress reports use osg::notify(osg::INFO) instread of - std::cout - -2003-12-12 13:24 robert - - * Fixed merging of geometry code. - -2003-12-11 23:33 robert - - * Renamed PermissableOptions to setPermissableOptimizations. - -2003-12-11 23:26 robert - - * Added support for controlling what optimization operations can be - applied - to specific nodes in the scene graph. Typical use would be - tagging a - node so that it can't be optimized away in say a flatten static - transform - pass. Added methods to Optimizer are: - - inline void setPermissableOptionsForObject(const osg::Object* - object, unsigned int options) - { - _permissableOptionsMap[object] = options; - } - - inline unsigned int getPermissableOptionsForObject(const - osg::Object* object) const - { - PermissableOptionsMap::const_iterator itr = - _permissableOptionsMap.find(object); - if (itr!=_permissableOptionsMap.end()) return itr->second; - else return 0xffffffff; - } - - inline bool isOperationPermissableForObject(const osg::Object* - object,unsigned int option) const - { - return (option & getPermissableOptionsForObject(object))!=0; - } - -2003-12-11 16:46 robert - - * Added _maximumNumberOfActiveOccluders variable to - CollectOccludersVisitor(), to - limit the maximum number of occluders used in the cull traversal, - default is - now 10. - - Added set/getCollectOccluderVisitor() method into SceneView to - allow control - of the the settings of the CollectOccluderVisitor. - -2003-12-10 16:50 robert - - * Added environmental variable for setting the height of the drive - manipulator. - -2003-12-10 15:24 robert - - * Added a special AvailablerReaderWriterIterator class to handle - the task - of iterating through the list of available reader writer, whilst - handling - cases where the list itself changes size during iteration through - the list. - Previous size changes during iteration was cause invalid - iterators, which - in turn was causing a crash. - -2003-12-10 15:22 robert - - * Added proper handling of unhandled file return type. - -2003-12-10 11:40 robert - - * Improved the management of errors reported from ReaderWriters, - and cleaned - up the reporting of errors in DynamicLibrary. - -2003-12-10 10:49 robert - - * Added support for using DrawArrays when indices are in ascending - order, and - increment 1 at a time. - -2003-12-09 22:29 robert - - * Improvements to the TriStripVisitor such that it now groups 4 - point tri strips - together as quads. - -2003-12-09 14:07 robert - - * Removed osg::Transform::ComputeTransformCallback from - osg::Transform. - - Updated various dependant files to reimplemt callbacks as - Transform subclasses. - -2003-12-09 14:06 robert - - * Added support for new PagedLOD Radius and - NumChildrenThatCannorBeExpired variables - to .osg and .ive support. - -2003-12-09 12:11 robert - - * Added new example osgphotoalbum. - -2003-12-09 12:09 robert - - * Reverted back to non exception based JPEG plugin. - -2003-12-09 12:08 robert - - * Addition of the following methods: - - /** Set the object-space reference radius of the volume enclosed - by the PagedLOD. - * Used to detmine the bounding sphere of the PagedLOD in the - absense of any children.*/ - inline void setRadius(float radius) { _radius = radius; } - - /** Get the object-space radius of the volume enclosed by the - PagedLOD.*/ - inline float getRadius() const { return _radius; } - - - /** Set the number of children that the PagedLOD must keep - around, even if thay are older than their expiry time.*/ - inline void setNumChildrenThatCannotBeExpired(unsigned int num) { - _numChildrenThatCannotBeExpired = num; } - - /** Get the number of children that the PagedLOD must keep - around, even if thay are older than their expiry time.*/ - unsigned int getNumChildrenThatCannotBeExpired() const { return - _numChildrenThatCannotBeExpired; } - -2003-12-09 12:07 robert - - * Added get() method to ReaderWriterProxy class to allow the - readerwriter to - be obtained once its constructed. - -2003-12-09 12:05 robert - - * Addition of Mode mode=MODULATE constructor. - -2003-12-09 12:04 robert - - * Fixes for optional compile of GL_LUMINANCE_ALPHA and GL_ALPHA - texture usage - in fonts. Default to GL_ALPHA. - -2003-12-09 11:31 robert - - * Moved osgText across to create GL_ALPHA textures instead of - GL_LUMINANCE_ALPHA - -2003-12-09 11:20 robert - - * From Pavel Moloshtan, extension support for ARB_occlusion_querry - -2003-12-09 11:19 robert - - * From Mike Wieblen, tweak to GL2 shader - -2003-12-09 10:42 robert - - * From Tree, tweaks to the coord generation to improve text - alignment. - -2003-12-09 10:38 robert - - * From Johan Nouvel, support for AnimationPathCallback values in - .osg file. - Includes a small modication to ensure that code works shared - animation paths, by RO. - -2003-12-09 09:25 robert - - * From Eric Sokolosky, OSX uses DYLD_LIBRARY_PATH for initial - library search path - instead of LD_LIBRARY_PATH. - -2003-12-09 09:03 robert - - * Aded FileUtils include. - -2003-12-08 19:25 robert - - * Added commented out lines for setting orange blue anaglyphic - stereo. The - analgyphic block really needs to have the color mask set up - optionally, this - is something to configure in the future. - -2003-12-08 11:24 robert - - * Moved the responsibility for finding file to load on to the - ReaderWriter plugins, - instead of osgDB::Registry where it original lay. This has been - done to allow - fileName strings to be encode data rather than just file names, - such as one - requires when using PagedLOD along with plugins for doing dynamic - tesselation. - -2003-12-07 20:58 robert - - * Added check against null being passed into std::string - constructor. - -2003-12-05 22:42 robert - - * Changed the minium tri strip length to 2 rather than 0. - -2003-12-05 14:39 robert - - * Added code for combining adjacent static MatrixTransforms - -2003-12-05 14:39 robert - - * Fixes for Win32 build. - -2003-12-05 13:58 robert - - * Fixes for Windows build. - -2003-12-05 13:26 robert - - * Removed DOFTransform. - -2003-12-05 09:22 robert - - * Added a cast (Array*) to get round VS.NET compiler error. - -2003-12-04 17:14 robert - - * Added support for expanding index'd attributes from within - osgUtil:TriStripVisitor. - -2003-12-04 09:43 robert - - * Added optional TraversalMask paramter to computeIntersections() - methods. - -2003-12-03 21:45 robert - - * Implemented duplicate removal code into TriStripVisitor and added - an - extra pass to doing tri stripping in the osgUtil::Optimzer. - - Added validity checks into osg::TexEnvCombine to catch eronous - enumarant values. - - Improved the efficient of CullingSet's handling of new - transforms. - - Added a copy shared subgraphs and subdivision code into - osgUtil::Optimizer. - -2003-12-03 21:28 robert - - * Made removedExpiredChildren() virtual. - -2003-12-02 21:38 robert - - * Suggestion from Tree, changed tex coord scaling against - textureWidth/Height rather - than textureWidth-1 etc. - -2003-12-02 21:38 robert - - * From Rune, Added catch for erroneous size specification in .dds - file. - -2003-12-01 14:31 robert - - * From Pavel Moloshton, addition of AlphaFunc support to .ive. - -2003-12-01 10:28 robert - - * Added a spatializer into osgUtil to create a balanced quad/oct - tree. - -2003-11-28 22:39 robert - - * From Ruben, - - >Fixed: The iv loader that uses Inventor library has a little - bug, if used with - >osgconv, it doesn't write the images to the converted file - because it's - >not setting the osg::Image->setFilename() - -2003-11-28 14:37 robert - - * From Geoff Michel, updates to GEO plugin. - -2003-11-28 14:26 robert - - * Updates to osgdem. - -2003-11-28 13:41 robert - - * From Qing Shen, addition of computeIntsect methods which take a - node pointer to intersect with rather than assume the viewer's - scene pointer. - -2003-11-27 22:53 robert - - * From Rune Schmidt Jensen, support for osgSim::VisibilityGroup in - the .ive loader - and support for node masks. - -2003-11-27 22:06 robert - - * Standardised the tabbing so that 4 spaces are used instead of - hardware tabs. - -2003-11-27 16:23 robert - - * From Michael Gronager, osgSim::VisibilityGroup - -2003-11-27 15:13 robert - - * Updates to osgdem + BoundingBox to support graph iterators - -2003-11-27 13:31 robert - - * From Nikolaus Hanekamp, Fixes to lightpoint code - -2003-11-27 13:25 robert - - * From Trajce Nikolov: - - > There are databases that contain both Matrix and GeneralMatrix - records as - > ancillary records. If this happens, this fix will only use one - matrix to - > create osg::TransformMatrix node. - -2003-11-26 16:56 robert - - * Addition of light point. - -2003-11-26 16:43 robert - - * Warning fix from Romano - -2003-11-26 13:21 robert - - * Added a f after 2.0 definitions in atan2 to get round stupid MS - errors. - -2003-11-26 11:33 robert - - * Removed DOFTransform. - -2003-11-26 11:01 robert - - * Changed SG_EXPORT to OSGSIM_EXPORT. - -2003-11-26 08:37 robert - - * Added missing DOFTransform and MultiSwitch implementations - -2003-11-25 19:43 robert - - * Checked in support for osgTerrain in Make/makedirdefs - -2003-11-25 19:42 robert - - * Early development work on osgTerrain. - -2003-11-25 19:25 robert - - * Disabled the build of osgTerrain, until its checked in. - -2003-11-25 19:25 robert - - * Added OSGSIM_EXPORT to scalarbar::printer - -2003-11-25 19:06 robert - - * Added missing DOFTransform.cpp - -2003-11-25 16:28 robert - - * Added suport for osgSim::MultiSwitch to .ive plugin - -2003-11-25 16:07 robert - - * Tweaked MultiSwitch IO - -2003-11-25 15:58 robert - - * Added osgSim::MultiSwitch and support for it in the OpenFlight - and - .osg plugins - -2003-11-25 14:38 robert - - * Added support for TexMat to .ive plugin - -2003-11-25 14:11 robert - - * Moved osg::DOFTransform to osgSim::DOFTransform. - - Fixed crash associated with .osg files which contain empty - description fields. - - From Sondra Inverson, added support to .ive plugin for - osgSim::DOFTransform. - -2003-11-25 11:40 robert - - * Work in progress on osgdem example and osgTerrain::DataSet class - -2003-11-25 11:06 robert - - * Fixed type of unrecognized - -2003-11-25 11:05 robert - - * Moved the unrecognized options check to after loaded - -2003-11-25 10:57 robert - - * Tweaks for debugging output - -2003-11-25 10:56 robert - - * Added intersect method. - -2003-11-25 10:56 robert - - * Added read(string,float,float,float,float) method - -2003-11-25 10:55 robert - - * Reorganised posstion of getViewMatrix*() methods. - -2003-11-25 10:53 robert - - * From Eric Hammil, support for compute the dimensions when the - file specified - size is zero. - -2003-11-25 10:52 robert - - * Changed error message to something more meaningful - -2003-11-25 10:50 robert - - * Increased the prevision of outputing the height field parameters - -2003-11-25 10:49 robert - - * Added support for case insenstive file searches. - -2003-11-25 10:47 robert - - * From Trajce Nicklov, support for GeneralMatrix record - -2003-11-25 10:32 robert - - * From Alberto Farre, added support for nesting of files. - -2003-11-25 10:20 robert - - * From Michael Morrison, added support for the OpenFlight - BSPRecord, simply - mapping it to a Group. - -2003-11-25 09:23 robert - - * Updated links to mailing list - -2003-11-25 09:04 robert - - * Added support for case insenstive searches of the filepaths. - -2003-11-24 10:01 robert - - * Changed the shadow colour so that it is now controlled via the - emissive - light material rather than ambient, this allows it to bypass any - of the - osg::Light values and control the resulting shadow colour more - directly. - -2003-11-21 20:21 robert - - * Removed the ScalarBar:: from the from of the - ScalarPrinter::printScalar() calls. - -2003-11-21 19:33 robert - - * From John Tan, support for offset and scale tex coords via - TexMat. - -2003-11-21 16:30 robert - - * From Stephan Huber, clean up of QTexture.cpp's scaling code and - additions - of handling of different extensions in ReaderWriterQT.cpp - -2003-11-21 16:19 robert - - * Removed newline from top of header - -2003-11-21 14:30 robert - - * From Stephan Huber, with mods by Robert to keep old code in - place, change to replace - scaling of texture since the OSG does this automatically when - required. - -2003-11-21 14:17 robert - - * Changed the main to create a Group and then add the loaded scene - and HUD scene - into this. This has been done to rework code nearer to what - Stephan Huber - used to get round a crash under OSX when a model was passed in. - This crash - suggest a problem in dynamic_cast<> perhaps? - -2003-11-21 13:45 robert - - * From Romano J M Silva, changed osg::Texture2D::copyTexImage2D so - that it uses the - _internalFormat for the texture format to read rather than - default to GL_RGBA. - - From Robert Osfield, changed the osg::Texture2D::copyTexImage2D - and copyTexSubImage - code so that it set the _internalFormat to GL_RGBA if is is zero. - -2003-11-20 12:03 robert - - * Added the missing insertChild(index,child) and - insertChild(index,child,value) into - osg::Switch. - -2003-11-20 11:07 robert - - * Changed the freetype plugin so it keeps its own ref_ptr to - fonts - that it creates, rather than have osgText::Font::readFontFile() - use the - osgDB::Registry object cache. - - This has been done to prevent problems when users flush the - object cache, - which was causing a dangling pointer. - -2003-11-19 20:30 robert - - * Changed libgdal.lib to gdal.lib - -2003-11-14 13:39 robert - - * From Ruben, added support for nested update and cull callbacks. - -2003-11-14 09:25 robert - - * Changed the credit from NVidia's NvTriStrip to Tanguy Faure's - traingulation code. - -2003-11-13 15:45 robert - - * From Tom Jolly, Fix to handling of triangle fans. - -2003-11-12 19:05 robert - - * Added usage of object cache + fixed handling of projection - matrix. - -2003-11-12 15:03 robert - - * Fixed setting of OSG_SPLIT_STEREO_AUTO_ADJUST_ASPECT_RATIO value. - -2003-11-12 10:13 robert - - * Moved the getTime to inside the locked part of the add events. - -2003-11-11 16:30 robert - - * From Tom Jolly, fixed incorrect setTexCoordIndices to - setColorIndices. - - Added support for triangle fan primitives. - -2003-11-11 08:52 robert - - * From Dean Iversion, fix to the ReaderWriter::Options management - in Pool.cpp - -2003-11-07 09:00 robert - - * Made getWidth and getHeight const. - -2003-11-06 22:06 robert - - * From Sondra Iverson: - - small optimization to ParticleSystem.cpp moving sqrtf out of - inner loop. - fix of copy and past error changing erronous cullTimes to - drawTimes. - -2003-11-06 21:58 robert - - * Added Producer.lib into the dependancy list. - -2003-11-06 13:44 robert - - * From David Ergo, patch for setting the shininess strength of the - specular material, - -2003-11-06 04:08 don - - * Fixed loading of dynamic libraries with dlopen if the library is - in the current directory - -2003-11-05 10:24 robert - - * Added code to load the bluemarble.ive database instead of the - texture mapped - sphere for the earth model in the logo. - -2003-11-05 04:58 don - - * MIssing check for ptr == NULL at line 227 in Registry.cpp - -2003-11-05 04:56 don - - * Small bug in DynamicLibrary.cpp ptr was not being checked for - NULL - -2003-11-05 04:51 don - - * Changed versioning for make rpms - -2003-11-04 22:00 robert - - * Added TextureObjectManager constructor. - -2003-11-04 19:26 robert - - * Made all positioning transform DYNAMIC to avoid the - osgUtil::Optimizer flattening - them. Flattening of static transforms was affecting the PagedLOD - nodes. - -2003-11-04 16:38 robert - - * Added support to slideshow3D for -s commandline option allow the - size of - the display to be specified. - - Also implementaited some code for display position and speed info - in - osgProducer::Viewer, not fully implemented yet. - -2003-11-04 15:07 robert - - * Changed the slide coordinates system so that the bottom left hand - corner of the - slide is 0,0,0 and the top right is 1,1,0, and the eye point is - at the - appex of a frustum at x,y,1. - -2003-11-04 13:40 robert - - * Added osgText::Text::getTextureGlyphQuadMap(). - -2003-11-03 23:26 robert - - * Fixed positioning of images. - -2003-11-03 23:22 robert - - * Fixed positioing of text. - -2003-11-03 23:13 robert - - * Updated to slideshow3D to support animation + pausing of - animation. - - Updated associated osg/osgUtil classes that provide animation - pausing. - -2003-11-02 20:10 robert - - * Merged fixes from Geof Michel. - -2003-10-31 10:11 robert - - * Renamed _mips to _mipMapKernel - -2003-10-30 16:22 robert - - * Added support for float to the slideshow3D - .xml format - to allow the time for autostepping between layers/slides. - - Moved the tiles accross to the left hands side by default. - -2003-10-30 00:10 robert - - * Changed the wrap mode from CLAMP to CLAMP_TO_EDGE to avoid - artifacts under - OSX. - -2003-10-29 23:10 robert - - * Added support for 565 textures to osgbluemarble. - - Added a osg::Image::scaleImage() version which allows the - datatype to be varied. - -2003-10-29 22:47 robert - - * Added option for 565 16bit textures. - -2003-10-29 19:22 robert - - * Added copying of reference to the main CullVisitor's - DatabaseRequestHandler over - to the left/right eye CullVisitor to ensure that the database - works in stereo. - -2003-10-29 16:45 robert - - * Commented out verbose debugging messages. - -2003-10-29 14:59 robert - - * Added -e -w -o and -l options to the osgbluemarble example. - -2003-10-29 11:11 robert - - * Updates for osgdem. Including new read/writeHeightField() - methods. - -2003-10-29 10:41 robert - - * Fixed PNG plugin so it handles endianess correctly, and - alpha/grey scale textures. - -2003-10-27 16:07 robert - - * *** empty log message *** - -2003-10-27 10:29 robert - - * Added a check into osg::Sequence::traverse() against an empty - sequence, so - that a non existant child is not traversed. - -2003-10-22 13:39 robert - - * Fixed error when handling mulltiple non per vertex vertex - attributes during - rendering. - -2003-10-20 21:31 robert - - * Added ImageOptions to osgDB. - -2003-10-20 20:17 robert - - * Added Producer and OpenThreads to linkline. - -2003-10-20 09:01 robert - - * Fixed print on scalar bar example. - -2003-10-19 11:46 robert - - * From Trajce Nikolov, support for use of PagedLOD in the txp - plugin. - -2003-10-17 15:26 robert - - * Added support for generating compressed textures in - osgbluemarble. - -2003-10-17 15:26 robert - - * Michael Gronager's changes for supporting the in memory gz - archiving. - -2003-10-17 14:40 robert - - * From Marco Jez, Fix to the bumping mapping effect. - -2003-10-17 10:28 robert - - * Changed the warnings about unhandled op codes to NOTICE instead - or WARN - -2003-10-17 10:27 robert - - * Set default values for datatype & pixelformat. - -2003-10-17 10:26 robert - - * Made = opeator const. - -2003-10-17 10:25 robert - - * Added SceneView::s/getDrawBufferValue(GLenum) to allow - customization of what - glDrawBuffer() value is set on each frame. - -2003-10-17 10:24 robert - - * From Eric Hammil, fix for bmp image size. - -2003-10-17 10:23 robert - - * From Michael Gronenger, updates to JP2 plugin. - -2003-10-17 10:22 robert - - * Adding clamping of the tree textures. - -2003-10-12 15:20 robert - - * From Geoff Michel & Roger James,revised AC3D loader - accepted - the improvement from Roger James for texture mapping, and - developed his writer until it actually writes most geometries (no - text or osgFX nodes of course). - -2003-10-12 14:51 robert - - * Moved Producer::Block temporarily into osgDB to ensure that osgDB - isn't dependent - on Producer. - -2003-10-12 12:13 robert - - * Improvements to the DatabasePager - -2003-10-10 19:25 robert - - * Improvements to DatabasePager - -2003-10-10 12:56 robert - - * Added ClusterCullingCallback to ive. - -2003-10-10 12:54 robert - - * Udates to Drawable + IVE plugin with support for new - ClusterCullingCallack. - - Improvement to osgbluemarble. - -2003-10-10 11:12 robert - - * Fix for 64bit build. - -2003-10-10 09:41 robert - - * Fixed the setting of the offset so that it convert degrees to - radians. - - Added setting of FOV, however, it doesn't yet function, will need - to look into Producer to work out why. - -2003-10-09 20:56 robert - - * Fix for 64bit build. - -2003-10-09 20:50 robert - - * Fixed missing osg:: - -2003-10-09 14:55 robert - - * Added DrawElementsUByte to ive plugin. - -2003-10-09 10:44 robert - - * Converted the animation path file reading code to use - std::ifstream rather - than C style file so that it can handle configurable types better - - fixing - a bug associated with reading animation paths with the new - osg::Quat defaulting - to doubles. - -2003-10-09 09:48 robert - - * Added protection to the DatabasePager::requestNodeFile()'s call - to startThread - to ensure that only one startThread is every issued. - -2003-10-08 21:29 robert - - * Made the Drawable::*Callback derive from osg::Object so that they - can be - saved to .osg properly. - - Added osg::ClusterCullingCallback to Drawable header/source. Not - complete yet, - but will enable drawables to culled is they are facing away from - the eye point. - -2003-10-08 14:24 robert - - * Added ImageOptions for use with the GDAL plugin - -2003-10-08 14:08 robert - - * Added osgbluemarble data - -2003-10-08 13:09 robert - - * Added new GDAL plugin and osgbluemarble example to demonstrate - how to create - PagedLOD'd databases using GDAL. - -2003-10-07 18:41 robert - - * From Rune Schmidt Jensen, bug fix to reading of osg::Quat's - -2003-10-06 10:03 robert - - * Added -losgGL2 to link line for OSX. - -2003-10-06 08:53 robert - - * Added -losgGL2 - -2003-10-06 08:01 robert - - * Commented out gdal temporarily from the list of plugins to - compile. - -2003-10-05 16:16 robert - - * Changed the texture search path mechanism to better utlise the - OSG's search file - path mechansim. - -2003-10-05 11:42 robert - - * From Mike Weiblen, added support for OpenGL SL to osgFX::Cartoon. - -2003-10-05 11:34 robert - - * Added VS.dsp updates for Mike Weiblen's updates to - osgGL2/osgshaders - -2003-10-05 11:30 robert - - * From Mike Weiblen, updates to osgGL2 to support Uniform values - -2003-10-03 16:29 robert - - * From Jason Ballenger, fix for - ArgumentParser::getApplicationName() - -2003-10-03 16:27 robert - - * Updated NEWS - -2003-10-03 09:00 robert - - * Added Producer.lib and OpenThreadsWin32.lib to link lines. - -2003-10-02 19:09 robert - - * Fixes to project files. - -2003-10-02 14:46 robert - - * Returned revision number to 0, for main development work - -2003-10-02 14:43 robert - - * Updated the revsion number to 2, for the 0.9.6-2 release. - -2003-10-02 14:42 robert - - * Updated ChangeLog for release. - -2003-10-02 14:28 robert - - * Updated docs for 0.9.6-2 release - -2003-10-02 14:11 robert - - * Updated NEWS - - Added support for inline/nonlining of texture cube maps. - -2003-10-02 13:26 robert - - * Added osgDB::Registry::s/getUseObjectCacheHint() - -2003-10-01 21:59 robert - - * Added a check against opaque textures, when detected turn the - material white - as per specs for 3ds. - -2003-10-01 20:48 robert - - * Added osgcameragroup to the Windows apps list. - -2003-10-01 20:41 robert - - * Removed afterescher reference from runexamples.bat. - -2003-10-01 15:56 robert - - * Introduced new DisplaySettings::set/getDisplayType() and - environemtal variables - to and command line arguments to set it. - - Added support for using the DisplaySettings::getDisplayType() to - detect use - of a Head Mounted Display when doing stereo so that the asymtric - frustum can - be switched off. - -2003-10-01 13:12 robert - - * Added addEntryToObjectCache method to osgDB::Registry - -2003-10-01 09:46 robert - - * Rewrote the osgtexturerectangle and osgprerendercubemap - -2003-10-01 09:18 robert - - * From Tree, added missing setTextureData method. - -2003-09-30 21:30 robert - - * Removed debugging comments. - -2003-09-30 19:42 robert - - * Add /Zm200 option to osg library, - -2003-09-30 19:24 robert - - * Added osgText dependancy to the osgforest project. - -2003-09-30 19:09 robert - - * Changed std::vector<>::at to []. - -2003-09-30 15:50 robert - - * Added text hud instructions. - -2003-09-30 13:48 robert - - * Added quad tree support into osgforest - -2003-09-29 14:42 robert - - * Fixed DriveManipulator::init(,) method so that used a - Matrix::set(Quat) rather - than the inappropriate usage Matrix::get(Quat). - -2003-09-29 14:07 robert - - * Fixed the Geometry::verifyBindings && - computeCorrectBindingsAndArraySizes so they - correctly check the indices and array elements. - -2003-09-29 13:35 robert - - * Made osg::Quat support either float or double internal - representation, defaulting to double. - - Generalised the osgDB::Field so that its getFloat() method can be - used with either doubles or - floats governed by the type passed in - this helps support either - float/double - Quat and Matrix classes seemlessly. - -2003-09-29 13:14 robert - - * Added getPerspective() method to Matrix* and SceneView - -2003-09-29 08:03 robert - - * From Clay Fowler, fixes to osgdemeter so that the whole terrain - model - can be visualised at once. - -2003-09-28 10:15 robert - - * Added equals operator to CUllingSet. - - Update AUTHORS file. - - Change tabs to 4 spaces in ive/TextureCubeMap.cpp - -2003-09-28 09:34 robert - - * Added a using namespace osgGA to keep things compiling under - MipsPro + VS6.0 at - them same time. - -2003-09-28 09:23 robert - - * Fixed nameing of getAllocationMode() - -2003-09-26 20:14 robert - - * Changed std::vector<>::at(i) array access usage to straight [i] - to keep things compiling on gcc 2.x serious - -2003-09-26 16:02 robert - - * From Michael Gronager, jp2 plugin for reading and writing - JPEG2000 files. - -2003-09-26 11:20 robert - - * Improves to CullStack. - - From M.Grngr. options support for f=switching off internal - imagery in .ive files - -2003-09-25 21:54 robert - - * Added the beginnings of a new osgforest example. - - Added support into osg::TriangleFunctor for specifying whether - the vertices - being generates are temporary or not. - -2003-09-24 18:54 robert - - * Added a local osg::State to the pbuffer implementation. - -2003-09-24 18:53 robert - - * Made the calling of drawable update callbacks always happen when - a geode - is traversed in the update traversal. - -2003-09-24 15:54 robert - - * Improved the Geometry::verifyBinding() and - computeCorrectBindingsAndArraySizes() - methods to check all atributes and to report warnigns when errors - are detected. - - Added a CheckGeomtryVisitor to osgUtil::Optimizer to detect - eroneous Geometry - before rendering. - -2003-09-23 14:42 robert - - * From Tom Jolly, added support for TexEnv to pfb plugin. - -2003-09-22 21:22 robert - - * From Bob Kuehne, added extra include for freetype to find it on - OSX. - -2003-09-22 17:09 robert - - * Changed reference to osgPluins/GNUmakefile to Make/makedirdefs - -2003-09-22 09:13 robert - - * Renamed instance of variables called format to pixelFormat to - make a - clearer distinction between pixelFormat and - internalTextureFormat. - -2003-09-17 15:48 robert - - * Added osgUtil to dependencies of the obj plugin. - -2003-09-17 12:04 robert - - * From Alberto Farre, added support for GL_EXT_blend_color, - GL_ARB_multisample, - GL_NV_multisample_filter_hint extension in the form of - osg::BlendColor and - osg::Multisample state attribute classes. - -2003-09-16 22:26 robert - - * Updated release data of 0.9.6 from 15th to 16th. - -2003-09-16 21:26 robert - - * Updated Make/makedefs version number to 0.9.6-1. - -2003-09-16 21:25 robert - - * Updated version numbers and ChangeLog for the release. - -2003-09-16 19:56 robert - - * Warning fixes for Win32. - -2003-09-16 19:56 robert - - * Added a check for the maximum index values of primitives, and - then use this - to select whether to use UByte,UShort or UInt versions of - osg::DrawElements. - -2003-09-16 19:54 robert - - * Fixes for .osg output of UByte4 values, and added missing - template contructor - to DrawElementsUShort. - -2003-09-16 19:53 robert - - * Improved the tesselation of obj surfaces so that rendering - performance - is significantly improved. - -2003-09-16 11:54 robert - - * Moved a local new StateSet into cull callback as a ref_ptr to - prevent - memory leaks. - -2003-09-16 11:22 robert - - * Warning fixes for VS .NET. - -2003-09-16 09:54 robert - - * Added support for per vertex colors. - -2003-09-16 08:10 robert - - * Added inlucde to trPageArchive to get - round IRIX build - problem. - -2003-09-15 22:13 robert - - * Changed a couple of int64's back to int32. - -2003-09-15 21:43 robert - - * Added support for handling of wordwrap in osgText::Text, so that - whole words - are cut in two, but rather moved completely to the next line. - -2003-09-15 15:03 robert - - * From Julian Ortiz, fix to OpenFlight loader so that it handlers - OpenFlight - switches in a more appropriate way. - -2003-09-15 13:54 robert - - * Added support for correct sizing of the created presentation - w.r.t the - size of the scene, a default home position, handling of - field - in the slideshow xml file, and support for stereo image pairs. - -2003-09-15 10:17 robert - - * Updates ChangeLog and NEWS for the 0.9.6 release. - -2003-09-15 10:12 robert - - * Fixes for warnings under VS.NET from Marco Jez. - -2003-09-15 08:34 robert - - * Updated NEWS date to 15th September 2003, for 0.9.6 release. - -2003-09-15 08:32 robert - - * Fixed warnings in geo plugin. - -2003-09-14 22:49 robert - - * From Geoff Michel, updated geo plugin to support latest rev of - Geo Modeller's file format. - -2003-09-14 22:48 robert - - * Forom yne Schmidt Jansen, added support for osgSim into ive - plugin. - -2003-09-14 22:11 robert - - * Added support for conrolling point size into slideshow3D. - -2003-09-13 16:48 robert - - * Added commandline usage docs. - -2003-09-13 16:43 robert - - * Changed the FREETYPE_LIB under Cygwin from ft freetype2 to - freetype - -2003-09-13 15:59 robert - - * Fixed the OBJ loader so that it shares all duplicate state, - improving the - load time and rendering performance significantly. - -2003-09-12 21:15 robert - - * Updated change log for release. - -2003-09-12 21:15 robert - - * Changed std::size_t to unsigned int to attempt to fix IRIX build - problem. - -2003-09-12 21:05 robert - - * From Norman Vine, fixes for Cygwin and Mingw builds. - -2003-09-12 19:17 robert - - * Work around for OSX errors when reading .ive files. - -2003-09-12 18:49 robert - - * Changed OSGUTIL_LIBRARY to OSGFX_LIBRARY - -2003-09-12 15:29 robert - - * Added verbode debugging option to dataoutputstream and - datainputstream to - help invstigation into crash under OSX when reading .ive files. - -2003-09-12 13:58 robert - - * Rebuild osgFX plugin by hand to fix dependancy problems that some - Win32 users - are experiencing. - -2003-09-12 13:20 robert - - * Commented out various osg::notify() calls that were causing - crashes under - OSX during initialization. - -2003-09-12 13:02 robert - - * Added #ifdef IVE_CATCH_EXCEPTIONS to allow catching of exceptions - to be - turned off for debugging purposes. - -2003-09-12 09:48 robert - - * Updated NEWS file for the release. - -2003-09-12 08:45 robert - - * From Sebastien Kuntz, added support for external refernces to - vertex/fragment - program files. - -2003-09-11 09:44 robert - - * Clean ups for the release. - -2003-09-10 23:18 robert - - * Added applyProjectionMatrix(0); & applyModelViewMatrix(0); into - osg::State::popAllStateSets(), removed some debugging output. - -2003-09-10 21:30 robert - - * Fixed unix line ending. - -2003-09-10 21:22 robert - - * Added osg::State::popAllStateSets() method to pop all remain - StateSet's off - the state stack, thus readying the state object to recieve a new - frame. - - Removed the state.reset() call in osgUtil::SceneView::cull() as - this was - causing problems with stats producing inheritance of state when - toggling - stats on. - -2003-09-10 20:43 robert - - * Fixed state inheritance from the stats overlay onto the rest of - the scene. - -2003-09-10 20:24 robert - - * Added -I/sw/include to Make/makedefs - -2003-09-10 19:55 robert - - * Addeed LIBXML2_INCLUDE defined to Make/makedefs to handle non - standard placement of - libxml2 in OSX. - -2003-09-10 19:25 robert - - * Changed OsgCameraGroup so that it shares osg::State between - Producer::Camera's which - share the same Producer::RenderSurface. - - Added support for more colors in slideshow3D's constructor code. - -2003-09-10 14:43 robert - - * Fix warning under Win32. - -2003-09-10 13:25 robert - - * Added /Zm200. - -2003-09-10 12:38 robert - - * Fixes for osgFX. - -2003-09-10 12:26 robert - - * Added -losgText into txp plugin's GNUmakefile for OSX build. - -2003-09-10 12:04 robert - - * Added -losgText for OSX build. - -2003-09-10 11:21 robert - - * From Marco Jez, moved color matrix IO code across to using - Marix.h so it - handles float's double's properly. - -2003-09-10 11:18 robert - - * Added osgText and osgDB to the list of dependencies for OSX - build. - -2003-09-10 08:35 robert - - * Updated docs for release. - -2003-09-09 22:18 robert - - * Cleaned up handling of vertex arrays in osg::Geometry. - - Added support for vertex attribute arrays in .osg and .ive. - -2003-09-09 11:54 robert - - * Updates to osgFX, from Marco Jez, to map Effect across to being - derived - from osg::Group rather than from osg::Node. - -2003-09-09 10:09 robert - - * Made writeMatrix/readMatrix use doubles exclusively. - -2003-09-09 08:56 robert - - * Updated docs for release. - - Added OSG_USE_DOUBLE_MARTRICES define into include/osg/Matrix to - make it more - convinient to switch between single and double matrices. - -2003-09-08 10:51 robert - - * Updated NEWS/AUTHORS + html docs for release. - -2003-09-08 08:44 robert - - * Added call to handle_cull_callbacks_and_traverse(node) to - CullVisitor::apply(Geode&) to enable cull callbacks to function - on geode's. - -2003-09-07 14:18 robert - - * From Boris Bralo, addition of support for osgSim::LightPoint's - into TXP - plugin. - -2003-09-06 11:07 robert - - * Fixes from Marco. - -2003-09-05 22:37 robert - - * Removed eroneous reference to Matrix_implementaion.cpp. - -2003-09-05 22:35 robert - - * Added new Matrixf and Matrixd implementations. - - Made Matrix be a typedef to either Matrixf or Matrixd. Defaults - to Matrixf. - - Converted the osgGA::MatrixManipulators and - osgProducer::Viewer/OsgCameraGroup - across to using exclusively Matrixd for internal computations and - passing betwen - Manipulators, Producer and SceneView. Note, SceneView still uses - Matrix internally - so will depend on what is set as the default in - include/osg/Matrix. - - Added the ability to osgProducer::setDone/getDone(), kept done() - as the - method that the viewer main loop uses for detecting the exit - condition. - -2003-09-05 20:52 robert - - * Added set and get methods for Matrixd and Matrixf. - -2003-09-05 20:48 robert - - * Added support for Matrixd and Matrixf implementations, with the - default - Matrix typedef's to either Matrixd or Matrixf. - -2003-09-04 19:45 robert - - * Moved testCancel() to end of loop as per TXP pager code. - -2003-09-04 19:37 robert - - * Added testCancel() to DatabasePager::run() loop. - -2003-09-04 08:50 robert - - * Build Fixes for IRIX. - -2003-09-03 18:17 robert - - * Fix for IRIX build. - -2003-09-03 10:47 robert - - * Added a Matrix::value_type typedef'd trait into osg::Matrix, - defaulting its - value to float, and converted the internal code across to use - value_type. This - allows Matrix to be converted to use double's simply by change - the definition - of value_type. Added Matrix::glLoadlMatrix and - Matrix::glMultMatrix() to - help encapsulate the changes between float and double matrix - usage. - - Updated code that uses Matrix so it doesn't assume float or - double matrices. - -2003-09-03 08:14 robert - - * Fixes for IRIX build. - -2003-09-03 07:39 robert - - * Removed old DatabasePager.cpp from osgProducer. - -2003-09-02 21:53 robert - - * Added Inventor plugin, submitted by Sean Spicer, Written by Vivek - (c) Magic-Earth. - To compile in do a setenv/export USE_COIN or USE_INVENTOR. - -2003-09-02 20:39 robert - - * Merged changed to osgParticle from Marco Jez, the changes are - (quoted from - email from Marco) - - "Most relevant news: - 1) particle systems now have the "freezeOnCull" property set to - false by - default. Since it is an optimization, and using it may cause some - unwanted - behaviors if not handled properly, it makes more sense to turn it - off by - default. - 2) new "LINE" shape mode which uses GL_LINES to draw line - segments that - point to the direction of motion. - 3) particles can now have a rotation angle and angular velocity. - 4) new AngularAccelOperator applies angular acceleration to - particles. - 5) particle processors such as emitters and programs can have a - "start", - "end" and "reset" time coordinate. For example, an emitter may be - instructed - to start emitting particles only after a certain time, stop after - another - amount of time and then start again. - - Update (2) is from Gideon May. - Updates (3) to (5) are from Douglas A. Pouk." - -2003-09-02 20:06 robert - - * Commented out calc near/far debugging messages. - -2003-09-02 20:03 robert - - * Added test of sizeof(types) - run osgunittests sizeof. - -2003-09-02 17:19 robert - - * Made Matrix a typedef to Matrixf, and converted the old Matrix to - Matrixf, as - part of prep for supporting both Matrixf (float) and Matrixd - (double). - - Added osg::Matrixf::glLoadMatrix() and - osg::Matrixf::glMultiMatrix() methods - and changed corresponding usage of glLoad/MultMatrixf() calls - across to use these - methods. Again prep for support Matrixd. - - Fixes for VisualStudio 6.0 compile. - -2003-09-02 17:16 robert - - * Converted eroneous writeLong/readInt boolean entries used - writeBool/readBool. - -2003-09-02 10:27 robert - - * Fixes for IRIX build + to_unix on txp plugin files. - -2003-09-01 21:53 robert - - * Support for BumpMapping added by Marco Jez. - -2003-09-01 19:43 robert - - * Updates from Marco:sgfxbrowser.cpp (added specular - component to scene light) and AnisotropicLighting.cpp (workaround - for a - multiple-context issue). - -2003-09-01 15:49 robert - - * Win32 fixes. - -2003-09-01 15:46 robert - - * Fixes for Win32. - -2003-09-01 11:23 robert - - * Added a call to disable all vertex attrib arrays when none are - present - on an osg::Geometry. - -2003-09-01 09:36 robert - - * From Neil Salter, added osgSim::SphereSegment and - osgSim::ScalarBar, and - osgspheresegment and osgscalarbar, and osgsimulation examples. - -2003-08-31 22:17 robert - - * Converted cout's to notify's. - -2003-08-31 22:17 robert - - * From Alberto Farre, fixes to the file path handling of internally - referenced - files. - -2003-08-31 22:08 robert - - * Added experiment Tempated fast path implemenation, #if 0 out - right now. - -2003-08-31 21:23 robert - - * From Tree, updated syntax highlighting. - -2003-08-31 21:13 robert - - * Converted cout's messages to use notify. - -2003-08-29 23:04 robert - - * Added s/getCullVistorLeft/Right(), s/getRenderStageLeft/Right(), - s/getRenderGraphLeft/Right() methods. - -2003-08-29 22:05 robert - - * From Alberto Farre, added support for both / and \ slashes in - path utility - functions. - -2003-08-29 22:04 robert - - * Added an explicit check for file extension so that only .jpg and - .jpeg files - are loaded with the JPEG plugin, thus avoid a crash which was - occuring when - it was passed non JPEG files. - -2003-08-29 21:52 robert - - * Added fonts/ in front of arial.ttf. - -2003-08-28 21:40 robert - - * Added getBound() to the database pager so that once a model has - been loaded - it bounding volume is computed upfront and in the database paging - thread. - -2003-08-28 12:49 robert - - * Removed double line spacing in ExternalReference code. - -2003-08-28 12:47 robert - - * Added a PushAndPopFilePath usage to the internal flt file - references. - -2003-08-27 14:13 robert - - * From Marco Jez, tangent space generator. - -2003-08-27 13:09 robert - - * Added /Zm200 for VS6.0 build. - -2003-08-27 10:34 robert - - * Added /Zm200 define to .dsp's to avoid compile errors under - VisualStudio6.0. - -2003-08-27 10:22 robert - - * Added KeyboardMouseCallback::shutdown() support. - -2003-08-27 08:54 robert - - * Added Performer plugin .dsp - -2003-08-27 00:39 robert - - * Fixed CullVisitor::popProjectionMatrix() handling of othorgraphic - near - and far values. - -2003-08-26 22:09 robert - - * Added missing osgFX files. - -2003-08-26 21:17 robert - - * Added osgFX - Marco Jez's special effects nodekit. - -2003-08-26 15:49 robert - - * Moved the keyboardmouse startThread into the Viewer::realize() - method. - -2003-08-26 08:02 robert - - * Added set/getDatabasePager() method. - -2003-08-25 22:50 robert - - * Added check for :: in wrapper name when writing out to .osg, so - that - if a namaspace:: exists in the wrapper name then one isn't - created for - it by default. - -2003-08-25 14:04 robert - - * Updated NEWS for 0.9.6 release. - -2003-08-25 14:03 robert - - * Added osgProducer:: in front of KeyboardMouseCallback. - -2003-08-25 13:31 robert - - * Removed suplerfluous inline from setInitialViewMatrix(). - -2003-08-25 13:06 robert - - * Added getInitialInverseViewMatrix() to osg::State. - -2003-08-25 11:37 robert - - * Added support for loading nodekits/plugins to resolve associates - when - reading .osg files. - -2003-08-23 20:48 robert - - * Add osg_ref to osgProducer::Viewer to - ensuer that - the keyboard mousr desctructor is being called correctly. - -2003-08-21 19:23 robert - - * Made getLibrary public. - -2003-08-21 14:26 robert - - * Compile/Warnings fixes. - -2003-08-21 09:52 robert - - * Moved OpenThreads::Threads::Yield() calls across to new - OpenThreads::Threads::YieldCurrentThread() naming. - -2003-08-21 09:51 robert - - * From Marco Jez, improvement to the handling of coordinates frame - in CubeMapGenerator. - -2003-08-20 12:52 robert - - * Added explicit calls cancel and wait until thread and no longer - running to the - DatabasePager and TXP pager. - -2003-08-20 12:51 robert - - * Renamed instances of Click to Tick for consistency. - -2003-08-20 12:50 robert - - * Standardised the culling flags between CullingSet and CullStack, - and - made ENABLE_ALL_CULLING enable all culling including the near and - far plane. - DEFAULT_CULLING is now used for the default as uses the same - original - values as ENABLE_ALL_CULLING once did - view frustum culling with - near and - far culling. SceneView now uses DEFAULT_CULLING. - -2003-08-20 10:38 robert - - * Added osg::setGLExtensionDisableString && - osg::getGLExtensionDisableString() - functions the GLExtensions file, and made the - isGLExtensionSupported() function - use the extension disable string when extension are querried. - -2003-08-20 07:36 robert - - * Moved the delete of expired subgraphs to the database thread to - improve - the stability of the frame rate. - -2003-08-19 19:46 robert - - * Fixes to the database paging. - -2003-08-19 14:05 robert - - * Fixed typo of getNumMatrixManipulators(). - -2003-08-19 13:01 robert - - * Removed inappropriate static_cast<>. - -2003-08-18 19:51 robert - - * Changed applyTextParamaters() to set the wrap modes : - - GL_TEXTURE_WRAP_S for all texture targets. - GL_TEXTURE_WRAP_T for all texture targets except GL_TEXRTURE_1D - GL_TEXTURE_WRAP_R for only GL_TEXTURE_3D - - And changed the defaults to OpenGL defaults of GL_REPEAT. - -2003-08-18 19:36 robert - - * Added applyTexImage_subload() implemention into TextureRectangle - class - to provide automatic support for texture subloading. - -2003-08-18 15:14 robert - - * Changed private to protected to allow Timer to be subclassed more - easily. - -2003-08-18 15:12 robert - - * Added getSecondsPerClick() method to Timer. - -2003-08-18 10:58 robert - - * Added X_INC into the Make/makedefs and changed the *GNUmakefile* - to use it. - -2003-08-18 09:24 robert - - * Fixes for Java build. - -2003-08-16 20:42 robert - - * Fixes to Cygwin/Mingw makedefs. - - Converted unix line endinges to dos line endings in various VS - project files. - -2003-08-16 18:52 don - - * Added check for byte swapping when writing RGB files so rgb files - can be - created on big endian machines - -2003-08-15 09:44 robert - - * Did a to_dos on examples, plugins and core libs. - -2003-08-15 09:38 robert - - * Changed cout's to notufy(INFO). - -2003-08-14 00:05 robert - - * Removed the deprecated NodeVisitor::getLocalToWorld/WorldToLocal - methods as - this are replaced by the osg::computeLocalToWorld/WorldToLocal() - functions - found in osg/Transform. - - Made the ReleaseTextureAndDisplayListsVisitor a public nested - class of - osgDB::DatabasePager to allow it to be used in the TXP plugin, - and added - usage of this visitor to the TXP plugin to make sure that - textures and - display lists are released during the update thread. - -2003-08-12 23:36 robert - - * Added -lOpenThreads to the IRIX OTHER_LIBS definition. - -2003-08-12 23:06 robert - - * Fixed capitalization of QTtexture.h - -2003-08-12 10:15 robert - - * Fixed DrawVertex/DrawColors access of null arrays errors. - -2003-08-09 00:46 robert - - * Added s/getFastPathHint(). - -2003-08-08 14:41 don - - * updates makedefs and makerules for Mac OSX submitted by Bob - Kuehne - -2003-08-08 00:36 robert - - * Added support for clampping the near and far values in - othrographic projection. - - Fixed the handling of anaglyphic/stereo state in - SceneView::draw(). - -2003-08-08 00:21 robert - - * Added missing copy ops in the copy constructor. - - Added computeInternalOptimziedGeometry() and associated methods - to Geometry - to support alternate versions of a geometry to be used to - optimize rendering, - such as flattening indexed attributes to straight attribute - arrays. - -2003-08-08 00:19 robert - - * Added convience constructor. - -2003-08-04 22:03 robert - - * Fixed computeFastPathsUsed() so that it includes a check for the - presence - of _vertexIndices and disables fast paths in this case. - -2003-08-04 21:09 robert - - * From Romano Magacho. add osg:: to Referenced() calls for IRIX - build. - -2003-08-04 21:04 robert - - * From Gideon May, added 'd' to end of osgdb_osgSim.lib for debug - build. - -2003-08-04 16:26 don - - * Removed a couple of stray PRODUCER_LIB_DIR definitions in the - examples - -2003-08-03 02:59 robert - - * Fixed VC6 for scoping problem in ive plugin. - -2003-08-03 00:24 robert - - * From Romano Magacho, fix for compile problem under IRIX. - -2003-07-26 23:44 robert - - * Post release revision change. - -2003-07-26 23:06 robert - - * Updated dependencies. - -2003-07-26 22:44 don - - * Small typo - -2003-07-26 22:32 robert - - * Typos fixed. - -2003-07-26 21:06 robert - - * Updated changelog for release. - -2003-07-26 21:01 robert - - * Updated NEWS for release. - -2003-07-26 19:08 robert - - * Updated NEWS - -2003-07-26 18:57 robert - - * Fixed warning in jpeg loader by replacing longjmp with - throw/catch. - -2003-07-26 14:15 robert - - * Fixed long jump warning. - CV: - ---------------------------------------------------------------------- - -2003-07-26 04:51 robert - - * Added openthreads to list of dependencies.: - -2003-07-26 04:25 robert - - * Fixed warnings. - -2003-07-26 01:02 don - - * Fixes to makedefs/makedirdefs ordering in some makefiles, and - conditional - build for osgslideshow on Sun - -2003-07-26 00:12 don - - * Removed command line definitions of OSG_VERSION and OSG_RELEASE - -2003-07-25 23:49 don - - * Removed references to PRODUCER_INCLUDE_DIR and PRODUCER_LIB_DIR - in the - local makefiles. - - Small change in txp loader for sun build - -2003-07-24 06:13 robert - - * Fixed warnings. - -2003-07-24 06:09 robert - - * Fixed warning. - -2003-07-24 06:07 robert - - * Fixed warning, which was actually a bug, sometimes you've just - gotta love - pedantic warnings. - -2003-07-24 06:05 robert - - * Fix warnings. - -2003-07-23 21:32 robert - - * Removed all references to sleep/usleep. - -2003-07-23 21:18 robert - - * Moved t->testCancel() to end of loop. - - Changed a sleep() to a Yield. - - Removed debugging messages. - -2003-07-23 21:03 robert - - * From Gideon, update to the PolygonOffset for the background quad. - -2003-07-23 20:57 robert - - * Added makefile. - -2003-07-23 20:55 robert - - * Made the fine grained checking of GL errors off by default. - -2003-07-23 20:53 robert - - * From Romano José Magacho da Silva, extension checking for - NV_occlusion_query extension. - -2003-07-23 20:50 robert - - * From Sean, fix for Sun windows extension checking. - -2003-07-23 20:38 robert - - * Fixes to paths and dependancies. - -2003-07-23 19:08 don - - * Added conditionals to find OpenThreads include and library - directories if - not installed - -2003-07-23 18:32 robert - - * Fixes for Win32 build. - -2003-07-23 18:25 robert - - * Fixed typo of SlideShowContructor.cpp - -2003-07-23 15:52 robert - - * Added support for PagedLOD node into .ive format and added - support for - - Enabled texture object reuse by setting an expiry delay in the - TextureObjectManager - of 10 seconds - done for both osgDB::DatabasePager and TXP - plugin. - -2003-07-23 15:12 robert - - * Added control of auto option into slideshow3D - -2003-07-23 15:00 robert - - * Fixed typo's slideshow3D - -2003-07-23 14:59 robert - - * Fixed blending mode on stats output. - -2003-07-23 14:06 robert - - * From Gideon May, added support for osgSim into .osg file format. - -2003-07-23 13:34 robert - - * Merged changes from Nicklov Trajce and Boris Bralo. - -2003-07-23 12:06 robert - - * Updated docs to reflect new data direcory. - -2003-07-23 11:45 robert - - * Warning fixes from Gideon May. - -2003-07-23 11:37 robert - - * Added slideshow3D.dsp. - -2003-07-23 11:27 robert - - * Updated doc++ documentation. - -2003-07-23 10:11 robert - - * Fixed osgslideshow3D to slideshow3D - -2003-07-23 09:27 robert - - * Added slideshow3D to the examples list under VisualStudio. - - Partially updated the NEWS.txt. - -2003-07-23 08:54 robert - - * Bumped up version numbers in preperation for the 0.9.5 release. - -2003-07-23 08:48 robert - - * Made the keyboard mouse callback a ref_ptr<> managed object to - fix ref count problem. - -2003-07-23 08:18 robert - - * Added check to allocateImage() so that if the pixel size wouldn't - be computed - unless valid _data already existed on the object. - -2003-07-22 21:03 robert - - * Added support for osg::State::s/getInitialViewMatrix(); - - Added slideshow3D examples to the runexamples.bat. - - Fixed DatabasePager to work with the latest OpenThreads. - -2003-07-22 15:35 robert - - * Updates to the slideshow3D app. - -2003-07-22 12:48 robert - - * Made BlinkSequence subclass from osg::Object. - -2003-07-22 12:39 robert - - * Added XML support and slideshow constructor to slideshow3D - example, now - renamed from the previous osgslideshow. - -2003-07-22 10:33 robert - - * Changed the Sector classes so they are derive from osg::Object to - allow them - to be shared objects with the .osg support. - -2003-07-22 08:42 robert - - * Added Images/ infront of lz.rgb path. - -2003-07-21 18:36 robert - - * From Marco, updates to osgDB and .osg plugin to better handle - reading of - objects of specified types. - -2003-07-21 15:51 robert - - * Added yield call to database paging main loop. - -2003-07-21 15:26 robert - - * Fixed osgDB plugin. - -2003-07-21 11:54 robert - - * Removed old link. - -2003-07-21 10:39 robert - - * Added missing DatabasePager. - -2003-07-21 10:11 robert - - * Added -lOpenThreads to the OSX defines. - -2003-07-21 08:19 robert - - * Moved DatabasePager into from osgProducer into osgDB. This means - that osgDB - is now dependant on OpenThreads. - -2003-07-20 00:51 don - - * Integrated OpenThreads and brought dsps up to snuff on Win32 - -2003-07-19 17:55 don - - * Small bug in instrules - -2003-07-19 17:46 don - - * passing $(MAKE) into instexamplesrc script to shut the religious - fanatics - on the mailing list up. - -2003-07-19 00:18 don - - * Updated OSG to use OpenThreads. Moved any references to - OpenThread to - OpenThreads and removed any dependency on Producer threads, - Mutexes, etc. - -2003-07-17 06:43 robert - - * From Romano Jose Magacho da Silva, added osg:FragmentProgram. - - From Robert, add .osg support for FragmentProgram. - -2003-07-16 22:26 robert - - * From Ruben, added support for vertex program in .osg loader. - -2003-07-16 22:15 robert - - * Added setProjectionMatrix*(), setViewMatrix*() and get*() methods - to osgUtil::SceneView. - -2003-07-16 20:14 robert - - * Added osg::Matrix::getOtho,getFrustum and getLookAt() methods. - - Added test for new matrix methods into unit tests example, but - these really - should go in their own lib... - -2003-07-16 13:17 robert - - * Rejigged the management of state in the stats and help drawing so - that it used - StateSet's rather than straight OpenGL calls. - -2003-07-16 09:52 robert - - * Improvements to the handling of deletion of OpenGL rendering - objets such as - display lists and textures object such that they can be deleted - according - to an available amount of time given to do deletes. - -2003-07-15 21:19 robert - - * Updates to the flush rendering objects function calls to allow - for - managment of amount of time available to do gl delete's. This - control is - required for constant frame rate applications. - -2003-07-15 20:23 robert - - * Fixed case of OSGL2_EXPORT define in project file. - -2003-07-15 18:52 robert - - * Added extern + export's to global functions. - -2003-07-15 18:19 robert - - * Added missing osg:: infront of Referenced() contructor. - -2003-07-15 16:22 robert - - * Moved PROGRAMOBJECT definition into StateAttribute. - -2003-07-15 16:20 robert - - * Fix for compile oddities on an Octane with old zlib headers - hanging around, - change is non intrusive. - -2003-07-15 15:49 robert - - * Added osgGL2 to workspace file. - -2003-07-15 13:46 robert - - * Moved osg::Statistics to osgUtil::Statistics and merged addition - to it - fro Pavel Moloshtan. - -2003-07-15 11:49 robert - - * Changed the SceneView::setModelViewMatrix() methods across to - being setViewMatrix(). - The old RefMatrix methods for setModelViewMatrix() and - setProjectMatrix() have - been removed to keep the API as minimal as possible. - -2003-07-15 10:45 robert - - * From Mike Weiblen's osgGL2 node kit which support the latest - OpenGL 2.0 extensions. - -2003-07-15 09:39 robert - - * From Bart Gallet, updates to VisualStudo .dsp's to keep things - compiling under Windows. - -2003-07-15 08:17 robert - - * From Gideon May, added - - typedef T element_type; - - To ref_ptr<> to make it compatible with the boost ref_ptr<> - implemenations. - -2003-07-15 07:53 robert - - * Compile fixes. - -2003-07-14 19:12 robert - - * Attempt to fix compile error caused by recent change in - osg::Texture. - -2003-07-14 14:42 robert - - * Added support for texture object manager, which provides an - automatic mechansim - for reusing deleted textures. - -2003-07-11 22:05 robert - - * warning fixes for IRIX. - -2003-07-11 18:46 don - - * included for SGI compilation of Timer header file - -2003-07-10 15:23 robert - - * Added dataToMergeList into checks for active subgraphs. - -2003-07-10 14:53 robert - - * Added default constructor implemention to LOD and PagedLOD. - - Added verbose messages to DatabasePager. - -2003-07-10 13:48 robert - - * Fix to accomodate function name change in osgDB::Registry. - -2003-07-10 13:35 robert - - * From Michael Gronger, addition of ReaderWriter* - Registry::getReaderWriterForExtension(const std::string& ext). - - Also removed copy constructor and = operator from Ouput as it was - produce - spurious warnings under gcc 3.3. - -2003-07-10 13:18 robert - - * From Tree, fixes for text bounding box initialization. - -2003-07-10 13:11 robert - - * From Eric Sokolosky, insertChild(). - -2003-07-10 11:10 robert - - * Updates to the DatabasePager code to include support for - compiling texture - objects and display lists before merging loaded subgraphs with - the main - scene graph. - -2003-07-10 08:05 robert - - * From Bob Kuehne, Fixed typo. - -2003-07-10 07:51 robert - - * Fixed typo. - -2003-07-09 19:48 robert - - * Further updates to the DatabasePager. - -2003-07-09 14:55 robert - - * Improvements to the DatabasePager and PagedLOD class adding - support for - deleting expuired children in the database thread. - -2003-07-09 07:41 robert - - * Added #include to DatabasePager.cpp. - -2003-07-08 14:44 robert - - * Added osg::PagedLOD and osgProducer::DatabasePager class, and - linked up osgProducer::Viewer - to manage the pager. - -2003-07-07 08:01 robert - - * Tweaked osg::Geometry's VBO code so that it should not call - VBO when the extension is not supported. - -2003-07-05 19:49 robert - - * Added missing setUseVertexBufferObject(). - -2003-07-05 19:08 robert - - * Integrated various fixes from users. - -2003-07-02 01:56 don - - * Fixed glBindBufferARB to extensions->glBindBuffer() - -2003-06-30 06:41 robert - - * Added an osg:: infront of the Object() copy constructor call to - AttrData. - -2003-06-29 21:53 robert - - * Added support for chunking the point data clouds into 10,000 - point chunks to - better optimize the VBO and AGP needs. - -2003-06-29 21:41 robert - - * Added support for the ARB_vertex_buffer_object into - osg::Geometry. - -2003-06-28 17:35 don - - * fixed makeinnosetup - -2003-06-27 21:41 don - - * Updates to makeinnosetup to work a bit smoother - -2003-06-27 21:01 don - - * Change some wording in help.sh and added makeinnosetup - -2003-06-27 14:33 robert - - * Added #include - -2003-06-27 14:33 robert - - * Added #include - -2003-06-26 16:21 robert - - * From Tree, updates to osgText and freetype plugin to support are - kerning paramter. - -2003-06-25 22:11 robert - - * Addition of text to default presentation. - -2003-06-25 10:39 robert - - * Fixed from Pavel for the stats in RenderBin.cpp - -2003-06-25 10:30 robert - - * Updated NEWS. - - Added AttrData.h to flt.dsp - - Removed redundent (and duplicate definition of - RenderBinPrototypeList and its - associated static) from the RenderBin header. - -2003-06-25 10:12 robert - - * From Julia Oritz Rojas, support for detail textures. - -2003-06-25 08:58 robert - - * From Ulrich Hertlein, added support for TextureRectangle to .osg - format. - -2003-06-25 08:50 robert - - * Spotted by Norman Vine - fixed typo in intersect visitor. - -2003-06-25 07:59 robert - - * Test of cvs. - -2003-06-25 07:50 robert - - * Added TessellationHints. - -2003-06-24 22:11 robert - - * Added missing file. - -2003-06-24 21:57 robert - - * Additions since the CVS back up was made. - -2003-06-24 15:40 don - - * *** empty log message *** - -2003-06-24 15:39 don - - * Updating 5/27/03 backup with 6/20/03 tarball - -2003-06-24 15:36 don - - * Update of 5/27/03 backup with 6/20/03 tarball - -2003-05-27 17:04 robert - - * Converted dos to unix file endings. - -2003-05-27 11:03 robert - - * Added support for scaling the projection in vertical and - horizontal split stereo - modes. - -2003-05-27 11:02 robert - - * Reverted recent changes so the set(Matrix&) method. - -2003-05-26 15:00 robert - - * Adjustments to the horizontal and vertical split stereo code for - better - handling of aspect ratio. - -2003-05-26 11:02 robert - - * Added missing std:: - -2003-05-26 10:05 robert - - * Added 3dc plugin for reading Arias 3D point clouds. - -2003-05-26 09:29 robert - - * Moved the GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB into its own - #ifndef block - to help with OSX support. - -2003-05-26 09:27 robert - - * Adding support using istream and ostream with the reader writers. - -2003-05-25 21:06 robert - - * Added mention of DYLD_BIND_AT_LAUNCH to OSX docs. - -2003-05-25 16:08 robert - - * From Geoff Michel, conversion from GeoSet to Geometry. - -2003-05-24 14:42 robert - - * Removed export macro. - -2003-05-24 14:26 robert - - * Added missing std:: - -2003-05-23 19:51 robert - - * Added ive reader/writer - from Rune Schmidt Jensen/Michael - Gronager - -2003-05-22 15:29 robert - - * Fixes to the Optimizer's handling of merging of osg::Geometry - -2003-05-22 14:02 robert - - * Removed occurances of SG_EXPORT. - -2003-05-22 11:09 robert - - * Convert Performer plugin across to generate osg::Geometry - directly. - -2003-05-22 08:40 robert - - * Added syntax highlighting for VisualStudio7.1 from Joseph Steel. - -2003-05-21 21:32 robert - - * Improved the handling of scaled matrices in the - Quat::set(Matrix&) method. - -2003-05-21 16:33 robert - - * Removed the _state.reset() call as it was doing OpenGL calls - outside of the - thread with the graphics context. - -2003-05-21 14:34 robert - - * Added GeoSet to osgconv. - -2003-05-21 12:15 robert - - * Removed osg::GeoSet for core osg lib and osgPlugin. - - Commented out OpenDX plugin as its still based on GeoSet. - - Added support for loading and converting GeoSet into the osgconv - example. - -2003-05-20 20:45 robert - - * Added usage of the InputRectangle into setting up of the - EventAdapter. - -2003-05-20 19:48 robert - - * Removed spurious editing file. - -2003-05-20 14:05 robert - - * Added osgtexturerectangle example from Ulrich Hertlein. - -2003-05-20 13:21 robert - - * Fixes to the handling of mouse coords after changes in the - default behavior - of Producer. - -2003-05-20 11:01 robert - - * Added setProjectMatrix(const Matrix&) and - setModelViewMatrix(const Matrix&) methods. - -2003-05-20 08:57 robert - - * Removed redundent write_usage function. - -2003-05-20 08:47 robert - - * Changed the fusion distance update code to use - OsgCameraGroup::setDistanceDistance() - rather than going through the SceneView's by hand. This should - ensure that values - are kept consistent betwen OsgCameraGroup and SceneView's. - -2003-05-20 08:43 robert - - * Fixed manipulator. - -2003-05-20 08:09 robert - - * Removed the now redundent osg::Camera. - -2003-05-19 20:18 robert - - * Removed all KeySwitchCameraManipulator class, replacing it - with the KeySwitchMatrixManipulator - -2003-05-19 15:15 robert - - * Removed remaining dependancies on osg::Camera. - -2003-05-17 13:15 robert - - * Removed redundent const - -2003-05-17 09:03 robert - - * Renamed png pnm - -2003-05-17 08:36 robert - - * Removed superfluous const - -2003-05-14 16:07 don - - * Small operation precedence bug fixed in Text.cpp - -2003-05-09 13:07 robert - - * Updates to the handling of vertex attributes. - -2003-05-08 15:13 robert - - * Add osgUtil as a dependancy of osgText - -2003-05-08 14:02 robert - - * Memory leak fixes from Joseph Steel. - -2003-05-07 15:26 robert - - * Added UserData to NodeVisitor. - -2003-05-07 13:13 robert - - * From Romano José Magacho da Silva, support for vertex attributes - in vertex program. - -2003-05-07 11:13 robert - - * From Eric Sokolowsky, support for mouse scroll wheel in - osgGA/osgProducer. - -2003-05-07 09:35 robert - - * Changed the CullVisitor::popProjection() so that it doesn't - adjust orthorgraphic - projection matrices. - -2003-05-06 18:04 robert - - * Aded extra constructors to BlendFunc and Depth to help set them - up convieniently. - - Added a background quad to osghud. - -2003-05-06 13:13 robert - - * Added support for multibuffering of tex coordinates. - -2003-05-05 14:30 robert - - * Fixed accept(PrimitiveFunctor&) so it uses the transform coords - correctly. - -2003-05-02 18:24 robert - - * Fixed build. - -2003-05-01 21:06 robert - - * Addd support for maximum screen text size into osgText when auto - scale to - screen is active. - - Added osgautotransform demo. - -2003-05-01 19:56 robert - - * Added set/getNearFarRatio() to CullVisitor. - -2003-05-01 08:51 robert - - * Remved exit(). - -2003-04-30 15:40 robert - - * From Eric Sokolowsky - pnm (ppm, pgm, pbm) plugin - -2003-04-30 15:38 robert - - * Cleanup of the API. - -2003-04-30 11:41 robert - - * Reverted the test of setAutoScaleToScreen. - -2003-04-30 11:40 robert - - * Added support for automatic scaling of text to screen coords. - Optimized - the text implementation to provide better speed, especially by - using the - alignement to screen option. - - Deprecated the Text::setFontSize(,) method, which is now being - replaced - by setFontResolution(,) - - Fixed typos in Texture*.cpp. - - Removed old deprecated methods from osg headers. - -2003-04-29 14:24 robert - - * From Ben, promoted floats to doubles to produce better stability - in the - invert method. - -2003-04-29 00:55 don - - * set glDrawBuffer( GL_BACK ) in SceneView::draw() when not drawing - in - stereo mode. Without this, we end up drawing to the wrong buffer - when - toggling stereo off. - -2003-04-28 12:57 robert - - * Updated NEWS. - -2003-04-28 11:37 robert - - * Updates to the introduction.html. - - Added support for new alignment modes in osgtext. - -2003-04-27 19:23 robert - - * Fixed typo of Fturue! - -2003-04-27 10:58 robert - - * From Tree, addition of ; after MACRO_'s to help with Java port. - - From Tree + Robert, Addition of - LEFT_BASE_LINE,RIGHT_BASE_LINE,CENTER_BASE_LINE - Alignment options in Text. - -2003-04-25 19:53 robert - - * Updates to introducution. - -2003-04-25 13:52 robert - - * Updated index.html - -2003-04-25 13:47 robert - - * Added support for gather information on which vertices have been - intersected with. - -2003-04-24 20:41 don - - * A few minor mods to introduction.html - -2003-04-24 19:54 robert - - * Updates to the introduction.html documentaition. - -2003-04-24 13:45 robert - - * Typo fix. - -2003-04-24 13:45 robert - - * cout -> notify. - -2003-04-24 13:44 robert - - * Updates to docs. - -2003-04-23 10:12 robert - - * From Romano, updated LANDEXT.DAT and new highlight.reg file for - syntax - highlighting under Windows. - -2003-04-23 09:59 robert - - * Added check for camera's sharing the same RenderSurface, if so - switches off - multi-threading of cull and draw. - -2003-04-19 09:53 robert - - * Changed the data link to OpenSceneGraph-Data-0.9.3.tar.gz since - we won't - be updating it for the release. - -2003-04-19 09:35 robert - - * Updated ChangeLog for the release. - -2003-04-19 09:09 robert - - * Updated NEWS for the release date. - - Tweaked the text sizes in osglogo. - -2003-04-19 06:57 robert - - * Mannually computes the mipmap levels to ensure correct loading of - dds - images which arn't square. - -2003-04-18 21:44 robert - - * Changed the ordering of the picking intersections. - -2003-04-18 19:46 robert - - * Fixes to BlendFunc - adding missing ZERO handling. - - Improved handling of alpha values in DXT1 compression. - -2003-04-18 15:59 robert - - * Updated NEWS for the release. - - Fixed warnings. - -2003-04-18 10:10 robert - - * Removed various assert() instances since these were causing - crashes. - - From Alberto, changed the use of the DynGeoSet to it was querried - on demand - rather than used as a pointer which was originally being - invalidate before - use. - -2003-04-18 08:17 robert - - * Added a realize callback for setting up the pbuffer so that it - definately - has a valid graphics context. - -2003-04-17 16:22 robert - - * Added doc++ documentation. - -2003-04-17 15:57 robert - - * Added setting of the RenderSurface name to the application name. - -2003-04-17 15:27 robert - - * Moved #include from Viewer to OsgCameraGroup. - -2003-04-17 13:57 robert - - * Added an alternate compile path for Windows in the toggle of - fullscreen - for the first time. - -2003-04-17 13:36 robert - - * Changed the maxx initializiation to use - (*points)[last_valid_index].x(); - -2003-04-17 11:14 robert - - * Moved the managing of frame stamp from osgProducer::Viewer into - osgProducer::OsgCamaraGroup. - - Added setting of trackball in osgcameragroup so its starts in the - correct place for different models. - -2003-04-17 06:52 robert - - * Added OSGUTIL_EXPORT to front of DelaunayTriangulator class. - -2003-04-16 23:09 don - - * InputRectangle converted to RenderSurface->get()... - -2003-04-16 21:16 don - - * Changed Rect('s to Rectangle('s - -2003-04-16 20:02 robert - - * Added support for set/getColor to ShapeDrawable. - -2003-04-16 19:21 robert - - * From Marco Jez, added DelaunayTriangulator class. - -2003-04-16 19:20 robert - - * Changed near and far instances into near_point, far_point to - avoid - problems with Win32 build. - -2003-04-16 15:14 robert - - * Moved the PickVisitor from osgUtil into the implementation of - osgProducer::Viewer. Removed methods in PickVisitor which wern't - being - used by osgProducer::Viewer. This has been done because the - PickVisitor - interface and implementation weren't ready for general usage. - -2003-04-16 14:22 robert - - * Renamed computeNearFar to computeNearFarPoints. - -2003-04-16 14:17 robert - - * Added convinence methods to osgProducer::Viewer: - - /** compute, from normalized mouse coords, for sepecified Camera, - the pixel coords relative to that Camera's RenderSurface.*/ - bool computePixelCoords(float x,float y,unsigned int - cameraNum,float& pixel_x,float& pixel_y); - - /** compute, from normalized mouse coords, for sepecified Camera, - the near and far points in worlds coords.*/ - bool computeNearFar(float x,float y,unsigned int - cameraNum,osg::Vec3& near, osg::Vec3& far); - - /** compute, from normalized mouse coords, for sepecified Camera, - intersections with the scene.*/ - bool computeIntersections(float x,float y,unsigned int - cameraNum,osgUtil::IntersectVisitor::HitList& hits); - - /** compute, from normalized mouse coords, for all Cameras, - intersections with the scene.*/ - bool computeIntersections(float x,float - y,osgUtil::IntersectVisitor::HitList& hits); - -2003-04-16 12:46 robert - - * Add a check for the result to writeNodeFile(). - -2003-04-16 09:22 robert - - * Changed OsgSceneHandler so it re-uses osgUtil::SceneView project - and modelview - matrices. - - Changed the osgpick demo so that it uses the OsgSceneHandler's - projection and - modelview matrices where possible. - -2003-04-15 20:54 robert - - * Added support for multiple cameras into osgpick. - -2003-04-15 14:29 robert - - * Changed the linking to Producer for debug builds so that - producerd.lib is linked - against. - -2003-04-15 09:33 robert - - * From Brede, Fixed the ordering of the znear and zfar. - -2003-04-15 09:33 robert - - * From Romano, extra methods/variables for controlling tesselation. - -2003-04-14 19:39 robert - - * Added -I/usr/X11R6/include to osgProducer and all the examples - GNUMakefiles. - - From Bob, mods to GNUMakefile and Make/makedefs for the extra - includes for - freetype. - -2003-04-14 18:53 robert - - * Added using namespace Producer to get round namespace issue with - CameraGroup - call. - -2003-04-14 18:49 robert - - * Updated osgstereoimage and osgimpostor to handle the new default - orientation of normalized mouse coords. - -2003-04-14 15:44 robert - - * Updates to the osgpick code. - - Updates to osgGA::CameraManipulors. - -2003-04-14 15:03 robert - - * Tweak to the debug output. - -2003-04-14 15:02 robert - - * Added extra debugging details to help track down IRIX64 & - Solaris64 problems. - -2003-04-14 13:23 robert - - * Improved the handling of Producer's no dimensional mouse coords. - -2003-04-14 13:22 robert - - * Addd new computeLocalToWorld(NodePath) etc methods. - -2003-04-14 08:16 robert - - * Changed push back to a += to try and fix compile on hopeless OSX - g++ version. - -2003-04-13 14:12 robert - - * Updated dependancies with link to Producer web page. - -2003-04-13 13:26 robert - - * Added Geoff Michel's osgpick and osgUtil::PickVisitor code. - -2003-04-13 12:02 robert - - * From Michael Gronager, changed apply(Sequence) to cast to an - Group rather than - a Switch which was a bug. - -2003-04-12 10:24 robert - - * Removed references to glut32.lib. - -2003-04-11 18:57 robert - - * Convertex a std::copy() into a for loop to get round compile - problems under - OSX. - -2003-04-11 15:34 robert - - * Clean of doc++ directories. - -2003-04-11 15:33 robert - - * Changed the uint arrays to GLuint to keep OSX build compiling. - -2003-04-11 10:37 robert - - * Fixes to documentions to refelect the move from osgGLUT to - osgProducer. - -2003-04-11 10:04 robert - - * Updated the version numbers to 0.9.4 - -2003-04-11 10:00 robert - - * Added afterescher back into the example list in runexamples.bat. - - Added osgSim and osgText into the geo/GNUmakefile LIBS. - -2003-04-11 09:54 robert - - * From Romano, added support in osg::VertexProgram for deleting the - flushed - vertex programs. - -2003-04-11 07:18 robert - - * Added guards around Geo plugin to prevent it from being built - under - OSX, Solaris and IRIX as it breaks the OSX build and doesn't - handle - Endian issues. - -2003-04-11 06:50 robert - - * Added std:: infront of cout instances. - -2003-04-10 19:32 robert - - * Added tests for presense of extensions to osgcubemap, - osgvertexproram and - osgmultitexture examples. - - Added osg::VertexProgram::Extensions class to better handle - multiple graphics - context vertex program extensions. - -2003-04-10 15:23 robert - - * Moved the osgcameragroup example across to being just based on - osgProducer::OsgCameraGroup with no usage of osgGA manipulators. - - Removed redundent files from osgProducer. - -2003-04-10 13:41 robert - - * Added support for modifying the osg::Texture*:Extensions - stuctures. - - Added an example modifying osg::Texture::Extensions to osgtext. - Optionally - compiled out by default. - -2003-04-10 12:55 robert - - * Added usage of Producer::CameraGroup::isValidForRendering() to - the Viewer::done() - implemention so apps automatically close if one of the windows is - killed. - -2003-04-10 12:11 robert - - * Added support for multiple graphics context to osg::VertexProgram - and osg::Impostor - -2003-04-10 10:21 robert - - * Changed the '-c' commandline option to '-m' to avoid overlapp - with -c - used for config files. - -2003-04-10 10:16 robert - - * Fix to the CameraGroup::setViewByMarix usage. - -2003-04-10 10:02 robert - - * Fixed Viewer and OsgCameraGroup classes so that work properly - with the - Prodicer::setViewByMatrix calls. - -2003-04-10 08:25 robert - - * From Brede, added - if (cv->getComputeNearFarMode() != - osgUtil::CullVisitor::DO_NOT_COMPUTE_NEAR_FAR) - to protect - cv->updateCalculatedNearFar(matrix,_bbox); - call to avoid inapporpriate near/far warnings. - -2003-04-09 21:53 robert - - * Fixes to the Impostor implementation. - -2003-04-09 13:29 robert - - * From Romano, ' ' now sets pause to false. - -2003-04-09 11:45 robert - - * Added using namespace std; - -2003-04-09 11:44 robert - - * Added desciptions to all the demos. - -2003-04-09 10:51 robert - - * Added environmental variable usage to OsgCameraGroup. - -2003-04-09 10:30 robert - - * Added support for osg::Node::get/setNodeMask() into .osg format. - -2003-04-09 10:26 robert - - * Made the AnimationPathManipulator::home() reset the timming of - the - animation path so that the timing always starts at the begining - of the loop. - -2003-04-09 10:13 robert - - * Added a setting of OsgCameraGroup::_applicateUsage to - ApplicationUsage::instance() by default. - -2003-04-09 10:11 robert - - * Fixed warning. - -2003-04-09 10:10 robert - - * Added fallback in RenderBin::createRenderBin(const std::string& - binName) which - return a new RenderBin when the no prototype is found with - className of binName. - -2003-04-09 08:20 robert - - * Fixed type of osg::ApplicationUsage::set/getApplictionName(), - updated - demos accordingly. - - Made OsgCameraGroup set the _applicationUsage to the - osg::ApplicationUsage::instance() when no ArgumentParser is - supplied. - - Added export to osgProducer::ViewerEventAdapter. - -2003-04-08 20:39 robert - - * Added support for key modifiers to osgProducer::EventAdapter. - -2003-04-08 20:06 robert - - * From Romano José Magacho da Silva, added 'p' toggle to animation - path - manipulator to allow animations to be paused and resumed. - - Added frame rate stats which are output on each repetition of the - path. - -2003-04-08 20:05 robert - - * Fixed warning. - -2003-04-08 15:47 robert - - * Added support for Viewer::setViewer::setView so that the internal - old - style osg::Camera and camera manipulators are updated correctly. - -2003-04-08 15:18 robert - - * Changed the Viewer::realize() calls across to not using the - threading paramter - leaving it up to the Viewer to specify the mode (which by default - is MultiThreaded). - Added a check for the presence of osgParticle systems so that - threading is - disabled in this case. - -2003-04-08 13:53 robert - - * Set the static mouse position values in osgProducer::EventAdater - to the same - value as warp pointer to ensure that the now roll is encountered - on warping - of the pointer. - -2003-04-08 13:10 robert - - * Changed the KeySwichCameraManipulator::setNode() so it set all - camera's - attached to it. - -2003-04-08 10:59 robert - - * Convert dsp's to use dos endings. - -2003-04-08 10:17 robert - - * Cleaned up some warnings and added : - - LINKARGS += -Wl,multiply_defined -Wl,suppress - - To GNUmakefile for the OSX build. - -2003-04-08 09:48 robert - - * Removed the output of command line usage when no arguments are - passed since - this example doens't need paramters. - -2003-04-08 09:44 robert - - * Added Producer to the dependcies in osgwindows. - -2003-04-08 09:42 robert - - * Added an osg::absolute template function into osg/Math. - -2003-04-07 19:19 robert - - * Added support for snaping screen images from osgProducer::Viewer - apps. - -2003-04-07 15:11 robert - - * Fixes to dds plugin from Rune. - -2003-04-07 15:07 robert - - * Set the hardware mip map generation to false in TextureCubeMap - since this - extension is not implemented when texture cube mapping. - -2003-04-07 14:57 robert - - * Set the fusion distance ratio to 1/300.0f to compensate for the - coords - of the hang gliding database being so small, this allow the scene - to be - viewed in stereo and still look a convincing size. - -2003-04-07 13:20 robert - - * From Ulrich Hertlien, new osg::TextureRectangle class. - -2003-04-07 12:51 robert - - * Added support for unref image data after apply in the - osg::Texture* - classes. Only unref's after all graphics context have been - applied. - -2003-04-07 10:20 robert - - * Added osgwindows example which sets up and Producer::CameraConfig - up - and uses that to create multiple windows. - -2003-04-07 09:46 robert - - * Moved the modified tag's from osg::Texture into the - osg::Texture1D,2D,3D and - CubeMap classes. - -2003-04-06 21:46 robert - - * Added if (!_kbmcb) to handle the case where the keyboard mouse - callback - is pre set. - -2003-04-06 21:32 robert - - * Added the usage report to the examples for when no arguments are - passed - to the examples. - -2003-04-06 18:18 robert - - * Fixed for new implemention osg OsgCameraGroup::setView(). - -2003-04-06 13:29 robert - - * Fixed setView to work with new OsgCameraGroup::setView - -2003-04-06 10:07 robert - - * Fixed handling of pixel and internal images formats. - -2003-04-05 22:24 robert - - * Added support for recording animation paths in the - osgProducer::Viewer. - -2003-04-05 20:02 robert - - * Fixed manipulator to work correctly with new - osgGA::GUIEventAdapter - code. - -2003-04-05 19:54 robert - - * Added Images/ infront of dog_left and dog_right images. - -2003-04-05 19:40 robert - - * Added a couple ability of offset the images relative to each - other - horizontally and vertically to allow better comenstation for - mismatched - imagery. - -2003-04-05 07:19 robert - - * Improvements to the handling of warp pointer call on start up. - -2003-04-05 07:11 robert - - * Fixed the drive manipulator so its height is now 1.5m and the - buffer size if - 2.0m. - -2003-04-04 19:10 robert - - * Implemented support for float x and y mouse positions, and - normalization of - mouse coords in osgGA::GUIEventAdapter, and ported osgGA camera - manaipulators - to use the new normalized values. - - Moved osgProducer across to tracking the window dimensions and - ensure that the - internals values in osgProducer::EventAdapter are kept - consistent. Moved - the warp pointer in Viewer across to using - KeyboardMouse::positionPointer(). - -2003-04-04 15:22 robert - - * Removal of trailing \ from end of couple lines in cygwin path. - -2003-04-04 11:06 robert - - * Improved support for toggle between full screen and non - fullscreen in - the osgProducer::Viewer. - -2003-04-04 08:39 robert - - * Added code to set the colour of each geometry to white to prevent - colours from the text being inherited. - -2003-04-03 21:00 robert - - * Suported for mip mapping added by Rune. - -2003-04-03 14:12 robert - - * Fixes to the multipipe initialization. - -2003-04-03 08:14 don - - * Changes to fix compiles on Mac OS X - -2003-04-03 07:37 robert - - * Fixes for Win32 - removed second copy constructor from protected - section - in ReaderWriterLOGO.cpp, and add osgText as a dependancy to - osgtexture3D example app. - -2003-04-03 07:31 robert - - * Added osgText dependancy to osgtexture2D demo. - -2003-04-02 20:43 robert - - * Added GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB etc to the Texture - header to - allow compilation across platforms. - -2003-04-02 19:41 robert - - * Fixes to the dds plugin. - -2003-04-02 18:26 robert - - * From Rune Schmidt Jensen - new dds loader. - -2003-04-02 14:54 robert - - * Removed OSX override override of PLUGIN_DIRS. - -2003-04-02 11:57 robert - - * Changed colour of anisotropic text in osgtexture2D example. - - Removed the save test.osg call in osgkeyboard. - -2003-04-02 10:50 robert - - * Added support for min pixel size, max pixel size and max visable - distance to - osgSim::LightPointNode, the max pixel size from was originally in - osg::LightPoint. - - Added additional get/set methods to osg::LightPointNode. - - Increased the compute pixel size by a ratio 1.41 (sqrtf(2)) to - correlate the - computed size with the actual size seen on screen. - -2003-04-02 08:22 robert - - * Added prefix's to ApplicationUsageProxy's and made them static to - help - prevent problems under OSX. - -2003-04-01 20:52 robert - - * Fixed std::string usage so that std::string::size_type is used - where - appropriate. - -2003-04-01 20:32 robert - - * Fixes to osg::Texture's handling of anisotropy updating and - hardware generate mip mapping. - - Added switching off generate mip map from osgText::Font.cpp. - - Changed savedmodel.osg to saved_model.osg in ViewerEventHandler. - -2003-04-01 18:50 robert - - * Changed unsigned int to std::string::size_type. - -2003-04-01 18:42 robert - - * Added convinience constructor. - -2003-04-01 18:42 robert - - * Added futher debugging messages to track down the x86-64 crash. - -2003-04-01 18:35 robert - - * Used notify for reporting the keypressing to the commandline. - -2003-04-01 16:00 robert - - * New osgtexture2D example code. - -2003-04-01 15:13 robert - - * Moved the logo plugins from the osgPlugins/logos directory to - osgPlugins/logo - to make it consistent with the naming of the plugin. - -2003-04-01 15:08 robert - - * Bug spotted and fix by Sébastien Kuntz. Changed < to <= on - Geometry.cpp, in removePrimitiveSet(), - if( i+numElementsToRemove<_primitives.size() ) - -2003-04-01 13:16 robert - - * From Macro Jez, fixes to logo plugin under VS. - -2003-04-01 12:00 robert - - * Updated NEWS. - - Removed writing of test.osg from osgstereoimage. - -2003-04-01 11:55 robert - - * Added timer code to the init in OsgCameraGroup. - - Made the stats view 20 frames rather than 6. - -2003-04-01 11:53 robert - - * Cleaned up the reset of the vertex arrays in osg::State. - -2003-04-01 11:49 robert - - * Improved handling of subloading. - - Removed the rescalling of images in osg::Image during texture - apply, moving - the rescale so it is locally calculated. This solves an - outstanding threading - problem which occured by multiple draw threads all tried to - rescale the same - image at one time. - - Made osg::Image ptr in osg::Texture2D non mutable as it is no - longer modified - during apply. - -2003-04-01 11:38 robert - - * From Marco, fix to the path of the osgPlugin logo. - -2003-04-01 08:47 robert - - * Added extra debugging messages into the - ArgumentParser::reportRemainingOptionsAsUnrecognized(ErrorSeverity - severity) - method to help track down a crash under x86-64. - -2003-03-31 21:41 robert - - * Implemented load and subload methods in osg::Texture/Texture2D. - -2003-03-31 12:48 robert - - * Made the default transparent bin be bin number 10 rather than 1 - to allow - more bins between it and the default opaque bin of 0. - - Added a check for compressed image format in osg::Texture. - -2003-03-31 11:25 robert - - * Adding reseting of the array pointers to the dirty methods. - -2003-03-30 11:10 robert - - * Removed closeLibrary reference for osgtext as this was causing - problems with the - osgtext help. - -2003-03-29 22:07 robert - - * Change the className() functions from non const to const to be - consistent with the - osg::Object definition. - -2003-03-28 10:04 robert - - * Added Escape to the help list. - Changed the help key from '?' to 'h' - -2003-03-27 18:56 robert - - * Moved demo references acros to being example references. - -2003-03-27 18:42 don - - * Fixed installation of demo source from src/Demos to examples - -2003-03-27 17:20 robert - - * Changed private to protected. - -2003-03-27 17:18 robert - - * Fixed typo. - -2003-03-27 17:16 robert - - * Added -losgGA to keep things compiling across platforms. - -2003-03-27 14:39 robert - - * Improved stats. - -2003-03-27 13:51 robert - - * Added -osgText to GNUMakefiles. - -2003-03-27 10:58 robert - - * Changed the background pixel colour to white, but kept the alpha - value zero. - This has been done to improve the quality of the mip mapping of - text. - -2003-03-27 10:54 robert - - * Updates to utilise the new Producer keyboard bindings. - -2003-03-26 20:11 robert - - * Added osgText dependency to osgProducer lib. - -2003-03-26 16:48 robert - - * Improved the stats reporting. - -2003-03-26 12:50 robert - - * Added help support for display help on screen to - osgProducer::Viewer. - -2003-03-25 15:48 robert - - * Tweak the tex coords of fonts slightly to avoid cut off of text. - -2003-03-25 15:45 robert - - * Fixed axis alignment bug in text, which occured what text was - placed on the XZ - or YZ planes. - -2003-03-25 15:13 robert - - * Added a ViewerEventHandler which manages full screen, file write, - and help - output to osgProducer. Removed FullSreenEventHandler as it is now - superseeded - by ViewerEventHandler. - -2003-03-25 13:57 robert - - * Added osgkeyboard to the ./runexamples.bat. - - Made osgstereoimage exit when non files have been loaded. - - Added non const getText() method. - -2003-03-25 13:01 robert - - * Spotted by Brede - missing ! - -2003-03-25 12:44 robert - - * Added text input field to the osgkeyboard demo. - -2003-03-25 12:42 robert - - * Added back into the win32 build of KeyboardMouseCallback the - check against VK_ESCAPE. - -2003-03-25 11:28 robert - - * Added futher keys to complete the keyboard. - -2003-03-25 10:05 robert - - * Added a viewer.sync to the end of all the demos. - - Removed the Win32 remapping of keycodes from the - osgProducer::EventAdapter. - -2003-03-24 23:12 robert - - * Added osgText dependency to osgkeyboard demo. - -2003-03-24 23:02 don - - * changes to makedefs to support AMD 64 bit - -2003-03-24 21:17 robert - - * Added new osgkeyboad example. - -2003-03-24 15:21 robert - - * Fixed typo. - -2003-03-24 15:13 robert - - * Added support for remapping of Win32 key symbols to - osgGA::GUIEventAdpater::KeySymbols. - -2003-03-24 13:43 robert - - * Added osgGA::GUIEventAdapter::KeySymbol enumate list, which is a - remapping - of the X settings. - - Added a pass through of X11 sybmbols from Producer to - osgGA::GUIEventAdapter::KeySymbol - in the osgProducer::EventAdapter. - -2003-03-24 09:37 robert - - * Redid logo dsp. - -2003-03-24 08:42 robert - - * Made the osgGA::GUIEventHandler sublassed from osg::Object as a - virtual - inheritence to allow handler to also be used as node callbacks. - - Fix to UpdateVisitor to make the visitation of Drawable more - consistent - with the way that nodes are traversed. - -2003-03-23 20:39 robert - - * Added Producer.lib to osgstereoimage demo. - -2003-03-23 20:36 robert - - * Converted to windows endings. - -2003-03-22 20:35 robert - - * Revamp of the osgstereoimage demo to provide a presentation tool - for up comming - "In Your Face" shows held at the Glasgow Science Center. - -2003-03-22 09:48 robert - - * Added a traverseGeode method to the UpdateVisitor which contains - the - traversal code for both the nodes traversal and the drawables the - geode - contains. - -2003-03-21 22:32 robert - - * Added using namespace osg and removed osg:: from CopyOp's as this - was - causing problems with VisualStudio's scoping bug. - -2003-03-21 08:30 robert - - * Added Prodcuer.lib and PThread*.lib to the osgcluster example. - -2003-03-20 22:13 robert - - * Duplicated the handling of 64 bit linux builds for ia64 and - x86_64 and placed - them under the seperate paths for Intel vs GNU compilers. - -2003-03-20 21:26 robert - - * Added -m64 -DARCH64 option to Linux 64 bit build. - -2003-03-20 20:38 robert - - * Add osg:: infront of CopyOp instances. - -2003-03-20 17:24 robert - - * Added overide of the SceneHandler::clear() making it a no-op. - Will revisit - this implemention later. - -2003-03-20 17:00 robert - - * Updates to osgProducer and osgstereoimage for stereo support. - - Changed the default distance from the scene of the home position - of the - trackball and flight manipulators. - -2003-03-20 14:07 robert - - * Added support for setting up VisualChoose with destination alpha, - stencil and - quad buffers attributes from DisplaySettings values. - -2003-03-20 08:58 robert - - * Changed the shadow texture implemention to use CLAMP_TO_BORDER - for the - WRAP_S and _T modes. Also set the border colour to 1,1,1,1 to - ensure - problem blending. - -2003-03-20 08:46 don - - * Somehow the logo plugin got left out of the windows build. Adding - it back in. (Needed for BMV) - -2003-03-20 08:43 robert - - * Added missing - setInterleavedArray( InterleaveArrayType format, float *ia, - GLuint *iai ) - method. - -2003-03-19 21:46 robert - - * Added Endian test header to the core osg, and add use of the new - getCpuByteOrder test in LightPointDrawable. - -2003-03-19 21:14 robert - - * Added getCameraManipulator(unsigned int) method. - -2003-03-19 15:57 robert - - * Added sync at the end of the main loop to prevent seg fault on - exit. - -2003-03-19 15:49 robert - - * First pass fix at implementing requestWarpPointer. - -2003-03-19 15:37 don - - * Adjusted date format for versionrules - -2003-03-19 14:27 robert - - * Addd a full screen toggle event handler to osgProducer & its - viewer base - class. - -2003-03-19 12:06 robert - - * Added a realize callback to the OsgCameraGroup. - - Move osgtexture3D across to using the new realize callback for - creating its textures. - -2003-03-19 10:28 robert - - * Fixed crash in osgoccluder which was calling setUpViewer and the - osgProducer/Viewer was assuming that the update was always set. - -2003-03-19 02:31 don - - * Fixed a globalState setting order in OsgCameraGroup::realize() - -2003-03-18 20:27 robert - - * Chaned the OsgCameraGroup so that its scene handler list used - ref_ptr<> for - robustly managing memory. - -2003-03-18 20:10 robert - - * Added a clear of allocated Records and the cache's in - flt::Registry to - prevent memory leaks and unneccesary references to model models - remaining - beyond the scope of the loader. - -2003-03-18 20:02 don - - * Set VERSION_RELEASE back to 3, replaced guards in - include/osg/Verson to - OSG_VERSION_ with trailing underscore - -2003-03-18 19:42 robert - - * From Tree, added SG_EXPORT to the inner classes for Java binding - work. - -2003-03-18 18:40 don - - * Added support for versioning to the build system - -2003-03-18 09:29 robert - - * From Tree, ushort renamed GLushort - -2003-03-17 22:53 robert - - * Implemented a object cache in osgDB::Registry. - -2003-03-17 20:08 robert - - * Added inc and links for local Producer. - -2003-03-17 09:51 robert - - * break from osgcluster main loop added for when the master send a - killed - messsage to slaves. - -2003-03-16 22:00 robert - - * Fixes for new beta release of VS.NET - -2003-03-16 21:58 robert - - * Fixes to osgcluster demo as new Producer based example. - - Added extra pragrma remove a warning about float to int cast - under VS.NET. - -2003-03-15 20:41 robert - - * Removed the GNUMakefile for the old Demos directory. - -2003-03-15 20:20 robert - - * Removed osgGLUT and Demos/*. - - Integrated Marco's updated examples/*/*.dsp's. - -2003-03-15 16:41 robert - - * Added osgpbuffer example source. - -2003-03-15 09:20 robert - - * Added VisualStudio .dsp's for the new osgProducer based examples. - -2003-03-15 08:01 don - - * Added -losgGA to all GNUmakefiles in examples. - Added one std:: in front of an endl in osgunittests.cpp - -2003-03-14 21:01 robert - - * Moved code across to use the new ArgumentParser. - -2003-03-14 20:35 robert - - * Ported osgGLUT based src/Demos across to being osgProducer based, - and placed - them in the new examples/ directory. - -2003-03-14 10:49 robert - - * Ported all glut based demos across to using the new - osg::ArgumentParser. - -2003-03-14 09:28 robert - - * The wrong file name was being used readFontFile. - -2003-03-14 02:29 don - - * Removed the building of the osgTXP library so the build system - builds only - the plugin. Building both the plugin and the library causes a - race condition - during parallel makes. - -2003-03-13 14:29 robert - - * Reverted Don's changed of sqrtf to sqrt. Don't understand why the - change was - required, suggest a problem elsewhere which should be fixed, - *not* by modification - of Vec2. - -2003-03-13 09:22 robert - - * From Gabor Dorka, Added d to /MDd option for debug build of - osgText. - -2003-03-13 06:22 don - - * Fixes for Mac OS X - -2003-03-13 02:53 don - - * Various changes to the BUILD system: - - o Object files now go in subdirectories named $(OS)$(ARCH).Opt - and - $(OS)$(ARCH).Debug for OS's that support both architectures. - eg. Linux32.Opt and Linux32.Debug - - o Libraries links are now placed in lib/$(OS)$(ARCH) - eg. lib/Linux32/ - - o Binaries are now placed in bin/$(OS)$(ARCH) - eg. bin/Linux32 - - o 'make install' and 'make instlinks' now place files/links in - /usr/local/{include,lib,share/OpenSceneGraph} by default on - most systems (Solaris still goes in /opt/OpenSceneGraph). - Rather than having the somwehat confusing INST_SYS_PREFIX and - INST_SHARE_PREFX, you can override these with just - INST_LOCATION - For example, - make INST_LOCATION=/usr - will place files at /usr/include, /usr/lib, - /usr/share/OpenSceneGraph. - -2003-03-12 21:02 robert - - * Changed the GNUMakefile for the osgproducer demo to use INC += - instead of CXXFLAGS. - -2003-03-12 20:10 don - - * Removed osgPlugins from lib, which is now built on the fly - -2003-03-12 15:36 robert - - * Fix from Gabor for proper casting of char's to unsigned ints be - setting up the - osgText::String. - -2003-03-12 14:01 robert - - * Moved the platform specific directory defs out of makedefs into - makediredefs, - and have standardised onto single instances where possible. - -2003-03-12 13:54 robert - - * Added 'w' toggle to StateSetManipulator to toggle between filled, - line and - point polygon drawing modes. - -2003-03-12 12:17 robert - - * Changed std::min to osg::minimum. - -2003-03-12 11:50 robert - - * Added -losgText - -2003-03-12 11:36 robert - - * Added missing osghud Makefile. - -2003-03-12 10:39 don - - * 1) Replaced all Makefile* with GNUmakefile*. - - 2) Changed Makedepend system to make individual dependency files, - which - should save time rebuilding dependencies by limiting the - regeneration - of dependency file for only modified source files. - -2003-03-12 09:45 robert - - * Added (unsigned int) cast to the call to osg::minimum. - -2003-03-11 21:53 robert - - * Added setBound() method to Drawable. - -2003-03-11 21:42 robert - - * Added missing osg:: to StateAttribute. - -2003-03-11 15:25 robert - - * Added support for AbortRendering flag pointer in osg::State which - is used - by osgUtil::RenderLeaf to test if any abort state has been set, - if so it - doesn't do any further drawing. - - The osgProducer::Viewer has been set up to set the osg::State's - it manages - with their AbortRendering flag pointers set to the - osgProducer::Viewer::_done - memeber varaible. Now when escape is pressed the rendering is - aborted early. - -2003-03-11 13:30 robert - - * Bug fixes to osgText to handle the osgUtil::Optimizer being used - on a scene - graph containing text. - - Fixed warning in MD2 plugin. - -2003-03-11 13:24 robert - - * Added missing osgDB:: to writeArray() usage. - -2003-03-10 16:40 robert - - * Improvements to the Text .osg support. - -2003-03-10 12:06 robert - - * Addded new osgProducer based osgreflect demo. - -2003-03-10 11:59 robert - - * Moved the RenderLeaf implementatation across to always applying - matrices - before state, which fixes problem that can occur with state that - needs - the current model view or projection matrices. - - Changes osgreflect so that it uses ClipNode rather than clip - plane, thereby - fixing the problems which occur when the above is applied. - - Create a new osgProducer version of the original GLUT based - version. - -2003-03-10 11:57 robert - - * Marged new getLibaryMethod added by Daniel. - -2003-03-10 09:15 robert - - * Moved the remain inline osg::Font methods into Font.cpp to avoid - problems with the - impossibly stupid visual studio compilers. - -2003-03-08 21:39 robert - - * Fixed examples/osghud and osgtext Makefile's to include osgText. - -2003-03-08 09:51 robert - - * Removed the OSGTEXT_EXPORT symbol from FontImplementation to - avoid problems under - VisualStudio. - -2003-03-07 21:05 robert - - * Fixes for IRIX build. - -2003-03-07 09:04 robert - - * From Daniel Sjolie, support for light source. - -2003-03-07 08:52 robert - - * Fix to comment record and longID length using both inbedded - null's and - rec length to determine the length of a string. - -2003-03-06 21:35 robert - - * Added maximum width and maximum height limits to the - osgText::Text which - automatically wraps text which goes beyond these limits. - -2003-03-06 19:41 robert - - * Reverted the changes to ref_ptr<> for implicit cast to pointer. - -2003-03-06 17:11 robert - - * Changed the osgText::Font implementation so it used a facade us - abstract away - the actual implemention. This has been done so that when a - freetype font is - created the implementation can unloaded when the freetype plugin - is unloaded - without breaking the main font. - - Also add image margin around founds to prevent any image - boundaries appearing. - -2003-03-06 13:45 robert - - * Reverted the ref_ptr<> implementation to prior implicit cast - operator via - commenting out// #define AUTOMATIC_CAST_TO_POINTER. - -2003-03-06 11:18 robert - - * Renamed Text::TextString String. - -2003-03-06 10:38 robert - - * Fixed the setInterleavedArray call. - -2003-03-06 10:38 robert - - * Add #ifndef's around the comparison operator's against const T* - now that the - implicit cast operator has been added. - -2003-03-05 21:05 robert - - * Added osgText::String implementation to better handle decoding of - encoded text. - -2003-03-05 21:04 robert - - * Added implicit cast to T* to ref_ptr<>. - -2003-03-05 21:02 robert - - * Made the State::setInterleavedArrays method use a const GLvoid*. - -2003-03-05 20:18 robert - - * Fix for non standard compiliant Forte compilers. - -2003-03-05 19:31 don - - * added directives for intel compilers - -2003-03-05 14:02 robert - - * Fixes for Win32 build. - -2003-03-05 12:28 robert - - * Updates to the GLUT and Producer text demo. - - Fix to text to better handle unsetting of vertex arrays. - -2003-03-05 09:56 robert - - * Added md2 plugin from Vladimir Vukicevic. - -2003-03-05 09:08 robert - - * Updates to Text for Sun Forte compilers. - -2003-03-04 19:52 robert - - * Added std:: infront of cout references. - -2003-03-04 17:14 robert - - * Updates to the new osgtext example and fix to the friend usage. - -2003-03-04 15:47 robert - - * Added support for using the generate mip map extension within - osgText. - -2003-03-04 14:25 robert - - * Added osgProducer project to larget list. - -2003-03-04 14:17 robert - - * Added osgProducer project file. - -2003-03-04 12:34 robert - - * Further improvements to osgText and the freetype plugin, handling - different - font sizes better and plugin removal safely. - -2003-03-04 09:08 robert - - * Renamed "libunfreetype.lib" to "freetype.lib" - -2003-03-03 22:47 robert - - * Added examples/osghud - a osgProducer port of the old osghud - demo. - -2003-03-03 22:18 robert - - * Updates osghud demo. - - Compile fixes for VisualStudio6.0 because its a hideous pile of - junk and can't - compile its way out of a paper bag. - -2003-03-03 20:28 robert - - * Fix for warning under Windows. - -2003-03-03 20:24 robert - - * Typo fix. - -2003-03-03 20:12 robert - - * Compile fixes to osgText. - -2003-03-03 16:42 robert - - * Added search path to osgText::readFontFile. - -2003-03-03 16:12 robert - - * Changed the ownership of Glyph's so that GlyphTexture's own a - reference to - Glyph's as well as Font's so keeping the Font valid even after - the Font - itself has been desctructed. - -2003-03-03 15:36 robert - - * Fixes to osgText for default parameter. - -2003-03-03 11:04 robert - - * Fixes for the new osg::Image::setImage() parameter, from Ulrich - Hertlein. - -2003-03-03 11:02 robert - - * Updates to the quicktime plugin from Bob Kuehne. - -2003-03-03 10:20 robert - - * Added project file for new freetype plugin. - -2003-03-03 09:37 robert - - * Added support for computing bounds of text. - -2003-03-02 21:05 robert - - * First cut of new osgText implementation. - -2003-02-27 08:43 robert - - * Changed incorrect instance "TRUE" to "FALSE" to match DepthMask - state. - -2003-02-27 08:38 robert - - * Changed the title of the ReaderWriter, removing the "Default" - word as its no - longer appropriate. - -2003-02-25 21:00 robert - - * Added using namespace Producer to get round scoping issues - associated with - trying to support VS6 and the rest of the compiler world. - -2003-02-25 12:28 robert - - * Renamed osgProducer::CameraGroup and SceneHandler to - OsgCameraGroup and - OsgSceneHandler to avoid the namespace bug under VS6. - - Removed the osgproducer demo (its now been replaced by - examples/osgviewer.) - -2003-02-25 11:56 robert - - * Added osg::Image::AllocationMode enum and associated set/get - methods. - osg::Image::setImage has also been modified to require the - AllocationMode - mode to be passed to it so that it knows how to delete the data - once the - image goes out of scope. - - Port the image plugins across to specify the new AllocationMode, - and converted - them across to using new/delete in place of malloc/free. - -2003-02-24 12:02 robert - - * Implemented an osg::minimum and osg::maximum template functions - to replace - the std::min/max functions previously used in parts of the osg, - since the - std::min/max methods do not seem implemented under IRIX. - -2003-02-23 17:01 robert - - * Ported osgstereoimage to use osgProducer, added it to the - examples directory. - - Added a osgProducer::CameraGroup::getSceneHanderList() methods. - -2003-02-23 15:50 robert - - * Fixes to try and keep OSX and Win32 compiling with the new usage - of std::max. - -2003-02-21 20:22 robert - - * Added #include to keep OSX build compiling. - - Reverted the mymax implementation to std::max, hopefully this - should be ok now - that we have standardised on non native STL under VisualStudio. - -2003-02-21 14:05 robert - - * Added examples directory, a place for all new OSG demo code. - - Added osgcameragroup, osgviewer, osgtext, osgconv to the new - examples directory. - -2003-02-20 21:58 robert - - * Added std:: infront of cout. - -2003-02-20 21:52 robert - - * Changed the license details across to OSGPL instead of GPL. - -2003-02-19 21:37 robert - - * Added missing std:: infront of string usage. - -2003-02-19 11:32 robert - - * Added check into the application usage list of command line args - for - unrecognized options to prevent unprocessed, but valid options - being - classed as unrecognized. - -2003-02-19 10:43 robert - - * Added keyboard mouse binding usage to the osg::ApplicationUsage - and - osgGA::GUIEventHandler and its subclasses. - -2003-02-18 21:58 robert - - * Completed first pass at providing commandline option usage via - the new - osg::ArgumentPareser and osg::ApplicationUsage classes. The - osgproducer - demo has been implemented using these new mechansims. - -2003-02-18 21:10 robert - - * Made the osg::ApplicationUsage forward declared. - - Added include of ostream to ArgumentParser header. - -2003-02-18 19:45 don - - * std::cout replaced cout - -2003-02-18 16:36 robert - - * Added new osg::ApplicationUsage and osg::ArgumentParser to help - streamline - application/example developement. - -2003-02-18 14:00 robert - - * Removed non implemented method convertWideString(const char* - text) from header - -2003-02-18 11:33 robert - - * Added reference to Group in the RegisterDotOsgWrapperProxy. - -2003-02-18 10:50 robert - - * Added missing ; - -2003-02-18 09:12 robert - - * Removed linking to osgGLUT/GLUT in the osgconv program. - -2003-02-15 19:51 robert - - * Fixes to RenderToTextureStage to account for the cull/draw - traversal no longer using - reference counting of statesets. - - Moved last uint reference over to unsigned int. - -2003-02-14 22:32 robert - - * Moved osghanglide back to pure osgGLUT based, removing - osgProducer pathways. - -2003-02-14 20:27 robert - - * More work on uint -> unsigned int. - -2003-02-14 19:47 robert - - * MOre work on uint -> unsigned int. - -2003-02-14 16:52 robert - - * Renamed futher uint/ushort instances. - -2003-02-14 11:41 robert - - * Removed last of the uint references. - -2003-02-13 15:37 robert - - * Added support for ClipNode in the .osg plugin. - -2003-02-13 15:16 robert - - * From Geoff Michel, updates to the Geo plugin. - - Removed osg::uint reference form the pfb plugin. - -2003-02-12 19:20 robert - - * Removed include/osg/Types header defining osg::ubyte, osg::ushort - etc. Changed - any reference to these in the distribution across to using - unsigned char, - unsigned short etc. This has been done to keep the OSG code more - opaque - to what types are. - -2003-02-12 14:39 robert - - * Merged linkage changes from Duncan Cavens to help the OSG osgtext - and osghud - demo's build cleanly even when a previous version of the OSG is - installed. - -2003-02-12 12:02 robert - - * From Norman Vine, updates to TXP plugin so that the Cygwin build - uses pthreads. - -2003-02-12 10:10 robert - - * Add if (!textureStateSet) return check to replace assert() to - prevent crashes - when multi-texture layers don't exist. - -2003-02-12 09:52 robert - - * Added if (!null) guard around description strings. - -2003-02-11 19:23 don - - * From Tom Jolley: - I was converting a pfb file to osg and had trouble with a missing - image - library. I added -all in front of -limage where PFLIBS is defined - in - Make/makedefs to solve my problem. - -2003-02-11 15:54 robert - - * Made the Professional services subscript optional - use "osglogo - ps" to enable - it. - -2003-02-11 12:37 robert - - * Clean up of the logo demo. - -2003-02-10 22:15 don - - * Used INC instead of CXXFLAGS - - GVS: - ---------------------------------------------------------------------- - -2003-02-10 16:48 robert - - * Removed the osg::notify() calls from the RenderBin prototype - construction to - avoid problems under OSX with construction/deletion of - std::cout/cerr. - -2003-02-10 15:16 robert - - * From Geoff Michel, updates to the Geo loader including handling - of - .geo files from the rc1 of the GEO modeller. - -2003-02-10 15:01 robert - - * From Tree, added support for using wchar_t strings with - osg::Text/EncodedText. - -2003-02-10 14:47 robert - - * Updates from Ulrich for sharing of textures. - -2003-02-10 14:31 robert - - * Rename of INSTALL to INSTALL.txt, etc. to help OSX case - insentivity issues. - -2003-02-10 14:23 robert - - * Changed int to GLint for OSX build. - -2003-02-10 13:58 robert - - * Minor fixes to ReaderWriter and Paragraph to help work with use - of Doxygen. - - Fix to CullVisior to handle the new no referenced counted cull - and draw traversal. - -2003-02-05 23:13 don - - * Right, em.... fixed eh.. problem with destruction of RenderBin - prototype list - -2003-01-31 23:46 robert - - * Fixed infinite loop in osgProducer::CameraGroup::advance(). - -2003-01-31 00:44 robert - - * Port of osghangglide to use osg producer. Default build still - uses GLUT. - -2003-01-30 23:02 robert - - * Added FrameStats support into osgProducer lib, and removed them - from the - osgproducer demo. - - Removed the producer config files osgproducer demo. - - Added a search the osgDB::DataFilePath for the producer config - file. - -2003-01-30 21:46 robert - - * Fix for endianess of colour set up of RGBA values. - -2003-01-30 16:11 robert - - * Fixed warning in osgText - - Added getBound() to begining of osgProducer::CameraGroup::frame() - to ensure - that the parallel cull traversals don't all do a getBound(). - - Added osgProducer::CameraGroup::getTopMostSceneData() convinience - method. - -2003-01-30 01:31 robert - - * From Max, fixes to UniCode support for bitmap fonts. - -2003-01-30 00:34 robert - - * Fixes to osgprerender and osgshadow scene for new cull and draw - implemention - without use of ref counting. - - New StatsEventHandler for osgprerender demo to add keyboard - control of stats - output. - -2003-01-29 17:24 robert - - * Fixed CullVisitor::getDistanceFromEyePoint so that withLODScale - is handled - correctly. - -2003-01-29 17:16 robert - - * Fixes for multipipe support. - - Addition of FrameStatsHandler to osgproducer demo to add frame - stats. - -2003-01-27 20:40 don - - * Fixes to osgProducer for IRIX build. - -2003-01-25 00:14 robert - - * Final changes for release. - -2003-01-24 23:59 robert - - * Addition for osgSim docs. - -2003-01-24 23:36 robert - - * Updates docs for release. - -2003-01-24 22:40 robert - - * Updates NEWS file with date of release. - -2003-01-24 16:57 robert - - * Removed the inline declarations of several method - implementations. - -2003-01-24 15:33 robert - - * Changed the /MDd switch to /MD to remove a warning. - -2003-01-24 15:12 robert - - * Added an #ifdef to osgGLUT/Window.cpp to handle the case of - compiling against - older versions of GLUT. - -2003-01-24 12:39 robert - - * Changes to try and placate the Sun Forte compiler. - -2003-01-24 10:22 robert - - * Removd the linking to the debug version of the freetype lib as - this won't be - included in the new OsgWin32Dependances.zip file. - -2003-01-24 09:47 robert - - * Added osgvertexprogram to the demo list. - -2003-01-24 09:46 robert - - * Udpated the freetype 2.1.3 linked to by the osgText.dsp - -2003-01-24 09:37 robert - - * Added support for osg::Transform::asMatrixTransform, - asPositionAttitudeTransform - and as DOFTransform. - -2003-01-24 09:37 robert - - * Changed the setUpViewer so it takes unisigned int to make it - easier to - do OR'ing of the various enumerates when passing in paramters - (avoids a - warning). - -2003-01-24 09:35 robert - - * Fixed the formating of the Matrix output. - -2003-01-24 09:34 robert - - * Added an #ifdef check around the glutSpecialUpFunc to help - compile unde old - version of GLUT. - -2003-01-24 09:11 robert - - * Fix for impostors bug where image insert were visible, this was - down to a double - call to RenderStage::drawPreRenderStage(). The call to it in - RenderStage inside - the draw() method has been removed, leaving on the call in - SceneView. - -2003-01-23 22:12 robert - - * Changed the template insert(,,) method for a std::copy() - implemention as it - seems that the Sun Forte compiler can't handle member templates! - -2003-01-23 15:12 robert - - * Added extra checks in the removal of rendundent nodes code so - that description - fields etc are checked. - -2003-01-23 14:46 robert - - * Fix to handling of comment records and longid's. - -2003-01-23 12:18 robert - - * Changed the image directory refered to in billboard demo. - - Updates NEWS. - - Changed the line endings in TextureCubeMap to unix endings. - -2003-01-23 12:07 robert - - * Tweaking of the osgvertexprogram tex matrix settings. - -2003-01-23 10:11 robert - - * Fixed Win32 compile problem. - -2003-01-23 09:58 robert - - * Removed COPYING file as it is now replaced by the LICENSE file. - -2003-01-23 08:39 robert - - * Fixed typo of APPLY_MATICES_BEFORE_STATE. - -2003-01-23 08:37 robert - - * Removed eroneous std:: from the from of DisplayListVector. - -2003-01-22 23:40 robert - - * From Ulrich, change to the pflib includes for Performer under - Linux to solve - problem loading pf datasets. - -2003-01-22 23:35 robert - - * Added a couple more #defines for the texture cube maps that one - can use. - -2003-01-22 23:34 robert - - * Added support for a -c option. - -2003-01-22 23:34 robert - - * Changed the implementation of the texture objects and display - list to delete - caches so that they use a std::vector<> swap on the internal data - structures - when ready to delete to minimize the amount of time that a race - condition - condition can happen. - -2003-01-22 20:48 robert - - * Vertex program update from Brede. - -2003-01-22 19:17 robert - - * Updated version numbers to 0.9.3 - -2003-01-22 16:49 robert - - * Fixed compute bound code which was applying offset first then - rotating, rather - than rotating first then offset. - -2003-01-22 16:17 robert - - * Fixed handling of rotations reading from .osg of osg::Shapes. - -2003-01-22 15:44 robert - - * From Daniel Sjölie, support for controlling which viewports are - focusable i.e. - recive mouse/keyboard events. - -2003-01-22 15:30 robert - - * Clean up to the osgProducer lib and demo. - -2003-01-22 12:50 robert - - * Fixed remove transform code to work with the new extra paramter - require by osgUtil::Optimizer. - -2003-01-22 12:25 robert - - * Changed the decal=true setting to decal=false to make sure that - textured models - come out lit ok. The makes the assumption that colour values on - the objects - and realistic, if they arn't then decal texture can produce - better results.. - -2003-01-22 12:06 robert - - * Fixed an Optimizer crash where if the top most node of a model - was - a static transform it would crash when this root was deleted. - Have fixed - by recognising this node as one not to remove and set it to - identity instead. - -2003-01-21 21:02 robert - - * Changed the local header includes from <> to "" to help the OSG - compile. - -2003-01-21 19:37 robert - - * Removed debugging messages. - -2003-01-21 16:45 robert - - * Added new Copyright/License notice to header and source files. - -2003-01-21 16:40 robert - - * Made the pre rendering texture using glCopySubImage rather than - copy to image - and then copy to texture, as the later was no longer working due - to - texture->apply ordering. - -2003-01-21 16:02 robert - - * Added gaurds around alpha function value to catch erroneous - values before they - are passed on to the OSG. - -2003-01-21 13:22 robert - - * Made a new osgproducer demo based on the new osgProducer::Viewer - class. - Kept the old camera group version around for future reference. - -2003-01-21 13:14 robert - - * Added new osgProducer::Viewer class for putting together simple - producer - based viewers very quickly. - -2003-01-21 09:09 robert - - * From Joseph Steel, addition of texture filter modes to txp - plugin. - -2003-01-20 20:40 robert - - * Made the drawable::compile(State&) method const and the - DisplayListVisitor to - compile even when dislay list is off. This has been done to allow - subclasses - of Drawable handle their own compile implementation, such as used - by text. - -2003-01-20 20:33 robert - - * Improvements to osgProducer lib, in particular adding a mutex - lock to the init() call in - SceneView to prevent init running multi-threaded. - -2003-01-20 20:28 robert - - * Improvements to the handling of multiple graphics contexts. Still - needs alot - of work, but at least it isn't crashes in trivial cases right - now. - -2003-01-20 14:08 robert - - * Removed the ReaderWriterFLY.cpp for the project as its no longer - used. - -2003-01-20 14:07 robert - - * Removed the ReaderWriterFLY demo since it was causing OSX builds - to crash when - running the osghangglide demo. - -2003-01-20 12:41 robert - - * Added the new standard copyright notice. - -2003-01-20 12:40 robert - - * Added the OpenSceneGraph Public License which is a based on the - WxWindows license which inturn is a modified LGPL. - -2003-01-20 11:54 robert - - * Clean up to the osgproducer demo. - -2003-01-20 11:52 robert - - * Fixed bug in the flight and drive manipulators where they would - uncontrollably - shrink down to a tiny window size when one rezized the window. - -2003-01-20 11:07 robert - - * Fixed osglogo demo so that is correctly set up the colour of the - background. - -2003-01-20 11:02 robert - - * Made the setting of default glNormal and glColor values an - compile - option via #ifdef USE_DEFAULT_NORMAL and USE_DEFAULT_COLOR - defines respectively. - -2003-01-20 10:41 robert - - * Updates from Pavel. - - 1. Storing color of geometry in ColorArray e.g. its don't work - when - lighting off. - - 2. Detecting of alpha channel and automatically enabling - blending. - -2003-01-20 09:56 robert - - * Update the ReaderWriterATTR file so that it used the definitions - that Joseph - Steel obtained from MPI. - - Removed the unique child check from the flt::PrimRecord and - osg::Group, this - allows more flexibility when specifing nodes, and is faster.. - -2003-01-20 09:09 robert - - * From Ruben, updates to the IV/VRML1 loader to handler large - datasets. - -2003-01-20 08:58 robert - - * Updates to osgProducer, moving the implementation of CameraGroup - and - SceneHandler into the source directory. - -2003-01-19 15:28 robert - - * Added osg::State::dirtyAllModes() and dirtyAllAttributes() - methods. - -2003-01-18 22:07 robert - - * Improvements to the osgProducer lib to better handle Producer's - normalized - coord system. - - Addition of ReadCameraConfigFile and WriteCameraConfigFile as a - tempory - measure for implementing local a C++ read/write of the - Producer::CameraConfig, this - will be removed once these implementations or similar have been - moved to Producer. - -2003-01-18 10:17 robert - - * Updated the KeyboardMouseCallback so this it takes into account - the the new - passiveMouseMotion support in Producer. - -2003-01-18 09:44 robert - - * From Eric Sokolowsky, Fix for IRIX build, adding typename into - the graph_array - to allow the compiler to leave instation of typedefs until - required. - -2003-01-17 20:27 robert - - * Added comment about osgProducer to the NEWS. - -2003-01-17 20:05 robert - - * Added KeyboardMouse::allowContinousMouseMotionUpdate(), but - commented out right - now as Producer crashes when you use it.. - -2003-01-17 18:34 robert - - * Added osgProducer library to the distribution. - - Cleaned up the osgproducer demo, and made it work with the new - osgProducer lib. - -2003-01-17 16:00 robert - - * Removed the addition of 0 to the add of the encoded text vector - as it is now - redundent having added support for the begin,end range into - FTFont. - -2003-01-17 15:01 robert - - * Fixed a bug on the handling of empty EncodedText. - -2003-01-17 14:12 robert - - * Further improvements to the osgproducer demo. - -2003-01-17 14:12 robert - - * Added new getCurrentCamaeraManipulator(), and removed and - debugging message. - -2003-01-17 14:11 robert - - * Removed the osg::Referenced::createCount() and deleteCount() - methods and - associated variables which were only compiled in on debug build. - These optional - methods/static vars were causingproblems when mixing debug and - release builds. - -2003-01-17 13:34 robert - - * Integated the trackball manipulator with the osgproducer demo. - -2003-01-17 11:26 robert - - * Added ProducerEventCallback class to manager the conversion of - producer events - into GUIEventAdapter versions. - -2003-01-16 19:27 robert - - * Added DOUBLECLICK EventType to GUIEventAdapter. - -2003-01-16 16:37 robert - - * Added support for ReferenceFrame into osg::LightSource, modified - the .osg - plugin and cull visitor to account for this change. - -2003-01-16 12:39 robert - - * Added support for frame stamping each frame. - -2003-01-16 12:18 robert - - * Updates to clean up the demo. - -2003-01-15 21:54 don - - * Added gstabs+ to DBGF in Linux in makedefs - -2003-01-15 20:57 robert - - * Warning fix for Win32. - -2003-01-15 20:53 robert - - * Added #include simply to include the #pragma's for - disabling the - daft VisualStudio warnings. - -2003-01-15 20:50 robert - - * Made the osgDB::ParamterOutput class so that it is purely defined - in terms - of the header, and therefore not requiring to be exported. - - Updated the MUSE_READ_ME.txt to include mention of syntax - highlighting. - -2003-01-15 19:23 robert - - * Updates to the osgproducer demo. - -2003-01-15 15:44 robert - - * Removed the -> methods from the arc class to prevent stupid - warnings under - VisualStudio6.0. - -2003-01-15 15:24 robert - - * First cut and a demo which uses Open Producer for windowing. - -2003-01-15 13:17 robert - - * Attempts to fix more of the *stupid* errors in the - VisualStudio6.0 compiler. - -2003-01-15 11:33 robert - - * Patch from Joseph Steel, added missing check for the mipmap - usage. - -2003-01-15 11:29 robert - - * Removed the template versions of the PrimitiveSet constructors as - this was - causing problem under VisualStudio6.0. - -2003-01-14 19:12 robert - - * Fix for win32. - -2003-01-14 16:39 robert - - * Fixes for Win32 build. - -2003-01-14 14:25 robert - - * From Daniel Sjölie, updates to the GUIEventAdapter and - GLUTEventAdapter to handle - key and key down, modifiers and funcion keys. - -2003-01-14 14:21 robert - - * Added an compile in option of applying the matrices before state - in the RenderLeaf - apply method. This order is intended to help support of vertex - programming, but - unfortunately breaks the osgreflect demo so the original ordering - is kept by default. - -2003-01-14 14:00 robert - - * Submission from Joseph Stell, added LoadModels to TerrapageNode. - -2003-01-14 12:36 robert - - * Fixed typo. - -2003-01-14 10:54 robert - - * Replaced the NVTriStrip code with tri_stripper written by Tanguy - Fautré. - -2003-01-13 20:14 robert - - * Typo fix if USE_HOME_POSITION. - -2003-01-13 14:56 robert - - * Added handling of the case when length is -1, allowing the code - to just test - against characters being zero, rather than against length, which - is now only - done when a valid value of length (i.e >=0) is passed in. - -2003-01-13 14:11 robert - - * Clean up to the cross platform support in DirectX plugin. - -2003-01-13 14:05 robert - - * Fixes to osgText to handle std::string correctly. - -2003-01-13 10:39 robert - - * Added missing _bbox.init() to ShapeDrawable.cpp. - -2003-01-11 20:56 don - - * ReaderWriterDirectX.cpp needed some std::'s - -2003-01-11 20:43 robert - - * From Ulrich, fixes to double to float conversion warnings under - Windows. - -2003-01-11 12:50 robert - - * Moved some in inline methods in ParamterOutput into the new - ParamterOutput.cpp - file to clean up the interface. - -2003-01-10 17:06 robert - - * Updates from Ulrich. - -2003-01-10 16:56 robert - - * Added missing header for new matric reading and writing methods. - -2003-01-10 09:25 robert - - * Made the more of the OSG's referenced object desctructors - protected to ensure - that they arn't created on the stack inappropriately. - - Split the implemention of Matrix up so that it is a simple no - referenced counted - class and can be safefly created on the stack. To support - referenced counting a - seperate subclass now exists, this is RefMatrix which inherits - from both Matrix and - Object. - -2003-01-09 18:41 robert - - * Fixed typo. - -2003-01-09 16:13 robert - - * Added #ifndef GL_TEXTURE_WRAP_S #define block to keep things - compiling - on old drivers. - -2003-01-09 11:48 robert - - * Fixed typo. - -2003-01-09 10:06 robert - - * Added setting of the R wrap paramter to applyTexParamters(). - -2003-01-08 22:52 robert - - * From Ulrich Hertlein, DirectX .x model loader plugin. - -2003-01-08 16:37 robert - - * Fix to case statement from Tree. - -2003-01-08 16:33 robert - - * Added Shape.cpp to cvs resposity. Shape.cpp adds support for the - various - osg::Shape in the .osg file format. - -2003-01-08 16:30 robert - - * Cleaned up the code for the animation flags of the group record. - -2003-01-08 15:22 robert - - * From Tree, support for encoded text added into osgText. - -2003-01-08 14:32 robert - - * Added support for reading and writing Sphere, Box, Cone, Cylinder - and Grid shapes. - -2003-01-07 16:29 robert - - * Added support for sharing arrays in the .osg format for - osg::Geometry. - - Fixed the osgUtil::Optimizater so it takes into account sharing - of arrays when - deciding whether an geometry can be merged or not. - -2003-01-06 23:19 robert - - * Fixes for Irix64 build. - -2003-01-06 16:42 robert - - * Removed the osg::LightPoint::OPAQUE option, and implemented the - ADDTIVE blending option. - -2003-01-06 13:45 robert - - * Fixed headers guard typo in LightPoint. - - Updated the NEW files. - -2003-01-04 20:45 robert - - * Added new ARB vertex program state attribute and demo program, - sent in my Brede Johansen. - -2003-01-04 20:44 robert - - * Fixed small typo. - -2003-01-04 20:43 robert - - * Added usage info in -O option. - -2003-01-04 20:43 robert - - * Fixed options code. - -2003-01-03 21:42 robert - - * Removed the dual inheritance from the AnimationPathCallback, - moving the - NodeVisitor implemention into the .cpp. - - Small tweak to the lighpoint drawable implmenentation to improve - the additive - blending and state resotoration. - -2003-01-02 20:10 robert - - * Added a AnimationPathCallback which can update both a - MatrixTransform and a - PositionAttitudeTransform, removed the equivialnt callbacks once - found in these - transform classes. - - Changed the NodeCallback class so its derived from osg::Object - instead of - osg::Referenced to allow it to be saved out in the .osg format. - - Added support for Update and Cull callbacks into the .osg file - format. - - Added support for AnimationPathCallback into the .osg file - format. - -2002-12-21 19:41 robert - - * Updates the terrapage to try and make it thread "safer" when used - with the OSG. - -2002-12-21 11:30 robert - - * Turned display lists off in the osg::Geomety created by the - terrapage loader, - this is done because terrapage will dynamic page in and out - geometry so we - don't want to keep creating and deleting display lists. - -2002-12-20 10:48 robert - - * Tweaked the colours in the logo. - -2002-12-20 09:47 robert - - * From March Jez, updated the osgSim.dsp with the addition of /Op - option to - enable VS.NET to compile with crashes. - -2002-12-20 09:43 robert - - * Renamed the app method update. - -2002-12-19 19:50 don - - * Update for ia64 - -2002-12-19 19:50 don - - * update for ia64 - -2002-12-19 15:55 robert - - * Renamed all instance of AppCallback/AppVisitor to - UpdateCallback/UpdateVisitor - inline with the decision to rename the "app phase" the "update - phase". - -2002-12-19 10:32 robert - - * Changed the remaining #include <> to #include "" to get things - compiling under VS. - -2002-12-18 11:43 robert - - * Removed the reference of Sequence from Switch. - -2002-12-18 10:17 robert - - * Removed the osg:: from the front of the Group::computeBound() - method to keep - things compiling under Windows. - -2002-12-18 09:50 robert - - * Changed the <*.h> to "*.h> in the terrapage plugin to get it - compile under Windows. - -2002-12-17 17:22 robert - - * From Daniel Sjölie, support for reading comment records into - description fields. - -2002-12-17 16:07 robert - - * Moved the include/osgTXP back into src/osgPlugins/txp as a - seperate include directory is no longer required. - - Removed the osgtxp demo as it is no longer required. - -2002-12-17 15:41 robert - - * Added txp::TerrapageNode to the txp plugin, and implemented the - node so that it - automatically assign handles the updates of eye points and - database merges. - -2002-12-16 21:39 robert - - * Added a few more comments on the DeleteHandler. - - Changed the friend struct DeleteHandler to friend class - DeleteHandler. - -2002-12-16 19:39 don - - * Fixed a scope issue for 3.2 compiler for friend declarattion, l - ine 39 in - include/osg/Referenced - -2002-12-16 17:00 robert - - * Moved TriangleFunctor from Drawable into its own header file. - -2002-12-16 16:57 robert - - * Removed the redundent export symbol. - -2002-12-16 16:55 robert - - * Removed MemoryManager. - -2002-12-16 14:52 robert - - * Fix for a warning. - -2002-12-16 14:12 robert - - * Removed reference to osg/MemoryManager. - -2002-12-16 13:46 robert - - * Renamed osgtests.bat to rundemos.bat and moved it into the root - directory. - -2002-12-16 13:44 robert - - * Removed the memory manager. - -2002-12-16 13:40 robert - - * Converted the instance of osgNew and osgDelete back to new and - delete as part - of depecating the include/osg/MemoryManager - -2002-12-16 13:27 robert - - * Redone the project files for osgpbuffer and osgtxp to get it to - work under - VisualStudio. - -2002-12-16 13:14 robert - - * Fixed the traverse method so it calls Transform::traverse() - instead of - MatrixTransform::traverse() which was recursive.. - -2002-12-16 10:28 robert - - * Added seperate Referenced.cpp implementation. - -2002-12-16 10:25 robert - - * Added a DeleteHandler into osg::Referenced so that it can delete - objects - via a seperate delete handler. Useful for making unref()/ref() - thread safe if - the users needs to address this issue. - -2002-12-16 10:22 robert - - * Integrated further updates from Geoff on the Geo loader. - -2002-12-16 10:05 robert - - * Changed the std::hex and std::dec to hex and dec to get it - compile under VisualStudio, - and added a using namespace std to keep it compiling on all other - compilers! - -2002-12-16 09:55 robert - - * Added supported for setting animation path on MatrixTransform's. - -2002-12-16 00:33 don - - * Uncommented fix for returning to non-stereo from stereo to get - color mask - back to normal. - -2002-12-15 22:42 robert - - * Updates the details on the plans for Open Procuder and osgSim. - -2002-12-15 09:57 robert - - * Fixes to txp plugin for Windows. - -2002-12-14 07:55 robert - - * Disabled the MemoryManager in all builds since it isn't yet - thread safe. - -2002-12-14 06:42 robert - - * Added a check for extension of a filename to the gif loader, - since it looks - like the isn't reconginizing rgb files as not being gif. - -2002-12-13 20:33 don - - * Added TrPageViewer.[h,cpp] to Demos/osgtxp (moved from the plugin - directory) - and modified Makefile accordingly - -2002-12-13 20:29 don - - * Moved TrpageViewer.h to Demos/src/osgtxp - -2002-12-13 20:28 don - - * Move TrPageViewer.cpp to src/Demos/osgtxp - -2002-12-13 19:41 robert - - * Merged fixes to warnings in geo plugin from Geoff. - -2002-12-13 16:05 robert - - * Fixes for txp plugin. - -2002-12-12 11:36 robert - - * Added the axis alignment into the Outline and Texture fonts - drawing. - -2002-12-12 11:35 robert - - * Turned lighting off for whole of logo. - -2002-12-12 11:25 robert - - * Changed the osglogo demo to use arial texured font. - -2002-12-12 10:03 robert - - * Changed the colour of the text to be the same as the OpenGL logo. - -2002-12-11 22:39 robert - - * Removed redundent std:: - -2002-12-11 19:49 robert - - * Converted the file to unix file endings. - -2002-12-11 16:27 robert - - * Removed erroneous character from end of file. - -2002-12-11 16:24 robert - - * Added the afteresher.geo demo to osgtest.bat and debugtests.bat. - - Converted the osgtxp demo to use straight string comparison - instead of case sensitive string - comparion to help cross platform portability. - -2002-12-11 16:14 robert - - * Added osgSim to the dependancy list of the geo plugin. - -2002-12-11 14:30 robert - - * Removed the duplicate file out from the GEO plugin. - - Changed the osglogo to reference a jpeg instead of a tiff one. - -2002-12-11 14:24 robert - - * Added code to the path to the executable, adding it into the - libary and data - file paths. - -2002-12-11 10:07 robert - - * Fixes for Win32. - -2002-12-11 10:03 robert - - * Added space in bettern /D "OSGTXP_LIBRARY" and /YX to fix a - compile problem under VisualStudio. - -2002-12-10 21:18 robert - - * Fixes from IRIX build from Bob Kuehne. - -2002-12-10 20:26 robert - - * From Ulrich Hertlien, fix for new changes in osg::Switch - interface. - Small clean to changes by Robert. - -2002-12-10 20:00 robert - - * Updates from Geoff Michel to geo loader and demo. - -2002-12-10 19:58 robert - - * From Micheal Gronager, fix to osg::Quat::getRotate(..) to handle - zero rotations. - - Port of Sequence to subclass directly from osg::Group. - -2002-12-10 19:56 robert - - * Updates to the light points support to improve the control of the - blending of - light points with their background. - -2002-12-10 17:57 don - - * Fixed endif placement for SunOS build - -2002-12-09 21:03 robert - - * Added setting of the current texture unit into the - applyTextureAttribute() method. - -2002-12-09 09:26 robert - - * Changed cout to notify. - -2002-12-09 06:00 don - - * fixed small typo (forgot std::) - -2002-12-08 19:45 robert - - * Fixes for VisualStudio build of txp plugin. - -2002-12-08 17:22 robert - - * Modifed the .attr loaders handling if TX_BILINEAR minification - filter so that - it remaps it to LINEAR_MIPMAP_LINEAR to get round image quality - issue of some - OpenFlight databases. - -2002-12-07 21:20 robert - - * Tweaks the light points blend function. - -2002-12-07 21:18 robert - - * Updated the Switch, Sequence and Group classes so that they all - used a - similar style removeChild() mechansim. - - Made the old style osg::Switch::setValue() method deprecated. - -2002-12-07 06:59 don - - * Cleanin' up after Robert's spelling ...er ... challenges. - -2002-12-06 19:56 don - - * Typo png was npg - -2002-12-06 19:03 robert - - * From Tree, added support for accept(PrimitiveFunctor) into - osg::Text. Currently - implemention is overly simple, but will do until rewrite. - -2002-12-06 11:16 robert - - * Added checking of parents against switch and sequence into the - RemoveRendundentNodeVisitor to prevent breaking of the orinal - order of the nodes. - -2002-12-06 09:44 robert - - * From Tree, mods to help support the creation of Java bindings. - -2002-12-06 09:43 robert - - * Updated NEWS - -2002-12-06 09:41 robert - - * Update from Norman Vine for Cygin gcc3.2 support. - -2002-12-06 09:20 robert - - * Updates to the osglogo demo adding colour to the sides of the - cube. - -2002-12-06 09:19 robert - - * Fixes from Norman Vine for Cygwin support. - -2002-12-05 15:21 robert - - * Updates to the osglogo demo. - -2002-12-05 14:30 robert - - * Added Brede Johansen's osgpbuffer demo, currently only runs under - Windows, - requires the equivilant glx support to be added. - -2002-12-05 12:43 robert - - * Norman Vine's changes for gcc 3.2 under Cygwin, moving of - SG_EXPORT to after - the extern declaration. - -2002-12-05 12:13 robert - - * Added osglogo to test scripts. - -2002-12-05 12:04 robert - - * Added first pass at a new logo, this time generated by a osglogo - demo. - -2002-12-05 12:01 robert - - * Added support for setting the axis which the text should be - aligned along. - -2002-12-04 17:34 robert - - * Fixes for Cywin gcc3.x build in GL and Math headers. - - Fix for VS build in osgshadowtexture. - -2002-12-04 13:26 robert - - * Removed the osg:: from the from of the osg::TexGen::apply() call. - -2002-12-03 17:20 robert - - * Made the callback class uses virtual inheritance of - osg::Referenced to ensure - that a single class can be used for two different types of - callbacks whithout - incurring issues of multiple ref counts and ref()/unref() methods - existing. - -2002-12-03 10:19 robert - - * Fixed the ifeq ($(OS),SunOS) so it was correctly on its own - seperate line, and - complimented by the required endif - -2002-12-02 19:37 don - - * updated difference between forte compilers and gnu compilers on - Solaris - -2002-11-29 22:10 don - - * Modified Files: - include/osgTXP/trPagePageManager.h src/Demos/osgtxp/osgtxp.cpp - Added Files: - VisualStudio/Demos/osgtxp/osgtxp.dsp - -2002-11-29 16:14 don - - * Fixes to txp loader - -2002-11-27 05:29 don - - * Made LIB's dependent on PLUGINS for directories where both are - built - -2002-11-25 16:57 robert - - * Added comment for future reference about the validity of using - delete in - the demo code... should really by using ref_ptr<> etc. - -2002-11-25 16:40 robert - - * Added check of translucency of an image via - osg::Image::isImageTranslucent(). - -2002-11-25 16:39 robert - - * Added implementation of isImageTranslucent method. - -2002-11-25 16:38 robert - - * Added isImageTransulacent() method. - -2002-11-25 16:30 robert - - * Added extra check to the freeing of memory. - -2002-11-25 16:13 robert - - * Fixes for OSX build from Stephan Huber. - -2002-11-24 21:36 don - - * Added Paging TerraPage loader and osgTXP library. - -2002-11-24 00:23 don - - * Forced GLPixmapGlyph color to white rather than using - glGetCurrentColor - -2002-11-23 05:16 don - - * Freetype 2.1 and later align bitmap pitch on boundaries of 2 - bytes. It is - therefore necessary to use glPixelStorei(..,UNPACK_..., 2). There - is an - #if() statement that allows the continued use of freetype 2.0 (Rh - 7.x), as - well as accomodating newer releases. - -2002-11-22 17:36 don - - * Merged in Joseph Steel's updates to rgb plugin - -2002-11-22 09:46 robert - - * Warning fixes. - -2002-11-22 08:23 robert - - * Adjusted tabbing. - -2002-11-22 08:05 robert - - * Added d to the end of the dll name for the debug build of the - ac3d loader. - -2002-11-22 05:00 don - - * Fixes for IRIX build - -2002-11-21 20:28 don - - * Fixed std:: prefix and reinitialized variable for gcc 3.2 - -2002-11-21 16:08 robert - - * Added use of ref_ptr<> for the replaced node in - osg::Group::replaceChild(,) - to prevent it being deleted while it was still being used with - the body of - the method. - - Added mention of the shadow texture demo. - -2002-11-21 15:35 robert - - * Moved the shadow creation code into a seperate - CreateShadowedScene header and source, - and exposed just the basic createShadowedScene function in the - header. - -2002-11-21 14:54 robert - - * Clean up of the shadow texture code... - -2002-11-21 14:38 robert - - * Added shadow texture demo .dsp under the correct name! - -2002-11-21 13:25 robert - - * Fixed the updating of projection matrix so that is done in eye - coordinates. - -2002-11-21 09:07 robert - - * Added osg::Geometry::setPrimtiveSet,removePrimtiiveSet, - insertPrimitiveSet - and getPrimitiveSetIndex(). - - Renamed osg::Group::findChildNum(..) to getChildIndex(). - - Renamed osg::Geode::findDrawableNum(..) to getDrawableIndex(). - -2002-11-21 07:53 robert - - * Fix for compile problems under IRIX. - -2002-11-20 15:51 robert - - * First pass at shadow textures. - -2002-11-20 14:40 robert - - * Moved the code to create StateSet around textures into - flt::Pool::getTexture so that - the code associated with loading textures is done is just one - place. - -2002-11-20 07:46 robert - - * Fixed the texture apply method which was broken yesterday, the - new code wasn't - checking for the validity of _image before doing checks on it. - This breaks when - render to texture is used as there is no image to check - against... - - Added osgshadowtexture demo source. Demos still in development, - so don't expect - any shadows yet... - -2002-11-20 07:44 robert - - * Fixed the references osgSim project file. - - Added the osgshadowtexture demo project file. - -2002-11-19 12:48 robert - - * Added handling of image dirty after a textyre has been bound, the - texture - is now updated when the image is dirty. - -2002-11-19 12:26 robert - - * Updated OSX defs to compile osgSim and osglightpoint - -2002-11-19 12:25 robert - - * Added osglightpoint to the demo list. - -2002-11-19 12:23 robert - - * Added visual workspace files for osgSim nodekit and osglightpoint - demo. - -2002-11-19 10:57 robert - - * Added osgSim library which encapulsulates light points. - - Added osglightpoint demo. - -2002-11-19 10:56 robert - - * Moved Drawable across to using osg::buffered_value. - - Added new osg::State::setInterleavedArray() method. - - Added new osg::Group::setNode(uint,Node*) method. - - Cleaned up and fixed the osg::Texture's handling of - dirtyTextureParamters(). - -2002-11-18 16:14 robert - - * Added setDrawable(uint,Drawable*) method. - -2002-11-14 15:30 robert - - * From Jason Daly, fix for long file names on sequence nodes. - -2002-11-14 09:03 robert - - * Updated the plugins so they do the extension checking with a non - case sensitive comparison. - -2002-11-13 13:04 robert - - * Updated NEWS and ChangeLog for the release. - -2002-11-13 12:42 robert - - * Updates to docs for release - -2002-11-13 11:09 robert - - * Added State::computeSecondaryColorSupported() & - computeFogCoordSupported(). - - Updated NEWS. - -2002-11-13 10:23 robert - - * Small improvement to the computation of the pixel size vector. - -2002-11-12 15:50 robert - - * Fixed ansisotropic scaling problem with pixel scaling/small - feature culling. - -2002-11-12 13:51 robert - - * Fixed bug in stats where overdraw would be reported incorrectly. - -2002-11-12 13:37 robert - - * Removed debugging messages. - -2002-11-12 13:36 robert - - * Fixed bug in osg::Transform's computation of a its bounding - sphere, where - it was erroneously using the y axis for the z axis test. - -2002-11-12 10:22 robert - - * Added LEFT_EYE and RIGHT_EYE stereo to - osg::DisplaySettings/osgUtil::SceneView - - Renamed LODBias to LODScale. - -2002-11-11 20:18 don - - * Fixed a const/non-const inconsistency in NodeVisitor.cpp - Fixed a blank namespace issue in UnitTestFramework.cpp - -2002-11-11 16:11 robert - - * Fixes to typo of *Dirty() - -2002-11-11 09:06 robert - - * Added missing demos and libs into the darwin defines. - -2002-11-11 09:01 robert - - * Added a getBound() to the SceneView::app() to make sure the - bounding volume is - updated well before the cull traversal which can be - multithreaded. - -2002-11-11 08:52 robert - - * Fixed bug in osg::Node::isCullingActive(). - - Rnabled the automatic selection of the animation path if one is - specified - on the commandline in sgv. - -2002-11-11 08:08 robert - - * Updates to news. - -2002-11-11 08:05 robert - - * Updates to doc - -2002-11-11 08:05 robert - - * Fixes for MING build - -2002-11-11 08:04 robert - - * Fixes to const paramter types. - -2002-11-11 07:20 robert - - * *** empty log message *** - -2002-11-11 07:12 robert - - * Added osgText to dependancy list of geo plugin. - -2002-11-08 15:56 robert - - * Fixes to build in VS7.0 - -2002-11-08 14:24 robert - - * Added newly generated html files. - -2002-11-08 14:15 robert - - * Checking in updates to documentition for the 0.9.2 release. - -2002-11-08 14:03 robert - - * Removed deprecated API - -2002-11-08 12:58 robert - - * Updates version numbers to 0.9.2 - -2002-11-08 12:56 robert - - * Updates to GEO loader from Geoff Michel. - -2002-11-08 12:54 robert - - * Minor warning fix. - -2002-11-08 12:26 robert - - * Added #define DARWIN_OSX_PRE_10_2 and related #ifdef checks to - cope with backwards compatiblity - with versions of OSX before 10.2. - -2002-11-08 11:00 robert - - * Added GL_LIBS to the osgText/Makefile for OSX build. - - Fixed typo in IntersectVisitor. - - Fixed warnings in osgimpsotor demo. - -2002-11-08 10:25 robert - - * Updates to Math for OSX build. - - Added 3dmodelworld.com to the data source directory. - - Fixed compile problem under VC6.0 in osgimpostor. - -2002-11-08 08:51 robert - - * Fixes for VisualStudio6.0 build. - -2002-11-08 08:45 robert - - * Removed the usage report from sgv when it fails to load a file. - -2002-11-08 08:34 robert - - * Converted usage of GLuint to usigned int, in hope that it will - get round the - warnings generated under OSX. - -2002-11-08 08:12 robert - - * Commented back in LIBS into Makefile for OSX build. - -2002-11-08 08:11 robert - - * Fixes for VisualStudio build and OSX build. - -2002-11-08 08:00 robert - - * Added TestManipulator into osgimpostor project file. - -2002-11-07 16:08 robert - - * Compile fix from Duvan Cope. - -2002-11-07 15:45 robert - - * Commented out the selection of the animation path manipulator - since it - was somehow disabling culling?!? - -2002-11-07 15:13 robert - - * Titled the view in osganimate and added the title into - osgimpostor. - -2002-11-07 14:44 robert - - * Renamed Primitive:: to PrimitiveSet. - -2002-11-07 14:29 robert - - * Commented out the USE_DEPRECATED_API define. - -2002-11-07 14:13 robert - - * Intergrated Martin Kada's impostor test program with the old test - program. - -2002-11-07 13:56 robert - - * Added Geoff Michel's new osggeomdemo program which allows control - of - geo models via the mouse. - -2002-11-07 13:47 robert - - * Updates to GEO loader from Geoff Michel. - -2002-11-07 08:49 robert - - * Added shape drawable into dot osg plugin. - -2002-11-07 08:48 robert - - * Fix for build under Linux. - -2002-11-06 23:00 don - - * Oops... experiment gon awry in makerules. This works for Solaris, - but not - Linux, evidently. The goal was to do a dependency update on only - files - that had changed, since Solaris is so gawdawful slow at doing CC - -xM - -2002-11-06 18:39 don - - * Changed a couple of const/non-const discrpancies between header - and source - for TexGen. Removed external library dependencies in plugin - makefiles - -2002-11-06 16:04 robert - - * Fix for backwards compatibility. - -2002-11-06 15:43 robert - - * Name change and const change of - Drawable::drawImmediateMode(State&) to - Drawable::drawImplementation(State&) const. Various updates to - the - rest of the OSG to accomodate this. - -2002-11-06 11:15 robert - - * Added in default value of _timeScale. - -2002-11-06 10:46 robert - - * Renamed ProceduralGeometry to ShapeDrawable to better reflect its - current - purpose. - -2002-11-06 10:24 robert - - * Added support for recording camera animation paths in - osgGLUT::Viewer, and fixed - the osgGA::AnimationPathManipulator to handle it. - - Added a new Drawable::ConstAttributeFunctor and make the - accept(PrimitiveFunctor) - be a const method so can disallows modification. Added - Drawable::supports(...) methods - for each of the AttributeFunctor, ConstAttributeFunctor and - PrimitiveFunctor so - that programs can querry whether it is possible to use functors - with that object type. - -2002-11-05 07:50 robert - - * From Jason Daly, fix for 14.2 color records in versions of - OpenFlight files. - -2002-11-04 15:33 robert - - * From Stephan Huber, fix for OSX build. - -2002-11-04 10:37 robert - - * Added std:: in front of string. - -2002-11-04 09:08 robert - - * From Ulrich Hertlien, added ReaderWriter::Options to the osgconv - and pfb plugin - so that all the pfi files can be converted to rgb be the plugin. - -2002-11-04 09:07 robert - - * Fixed warning under Visual.NET - -2002-11-04 08:40 robert - - * Added in guard to png loader so that it only accepts png files. - This has been - added since the png loader itself doesn't not seem robust enough - at detecting - non png files. - - Added a tab in to the flt code to make it more obvious what is - happening in - the flow of the code. - -2002-11-04 08:35 robert - - * Added back in the missing flt.dsp. - -2002-11-01 15:12 robert - - * Added support for primitive functor into the new - osg::ProceduralGeometry class - -2002-11-01 15:11 robert - - * Futher fixes for VisualStudio.NET compilation. - -2002-11-01 14:16 robert - - * Michael Gronage fix for aspect ratio in split stereo. - -2002-11-01 12:48 robert - - * Fixed VisualStudio7.0 compile error related to an - std::vector<>::iterator - no longer being a pointer, fixed by using a &(*itr). - -2002-11-01 12:40 robert - - * Added missing Shape and ProceduralGeometry references in the osg - project file. - -2002-11-01 12:20 robert - - * Futher updates to shapes support. - -2002-11-01 12:11 robert - - * Added handled of invlid drawable bounding boxes. - -2002-11-01 10:39 robert - - * Added export to the height field class. - -2002-11-01 10:25 robert - - * Updates to Shape support. - -2002-10-31 15:24 robert - - * Added a dirtyBound & diryDisplayList to the geometry merge - operation in the - Optimizer to fix a bug where the bouding volumes where being - invildated. - -2002-10-31 12:51 robert - - * From Geoff Michel, added AC3D .ac and GEO .geo loaders. - -2002-10-31 10:36 robert - - * Added osg::Grid shape class, and added an example of its use into - the - hang glide demo. - -2002-10-31 10:35 robert - - * Yefei He's updates to Pool and flt2osg to use lazy loading of - textures from a - texture pallette. - -2002-10-30 13:27 robert - - * Added first cut of new primtive shapes support. - -2002-10-30 12:58 robert - - * Removal of more redundent const base types. - -2002-10-30 12:56 robert - - * Updated osgText .osg support so that it handles text via the - osgDB::Outpur::wrapString() method. - -2002-10-30 10:07 robert - - * Fixed addChild(node,value) so that it resizes using the - _newChildDefaultValue - rather than the add child value, then sets the child's value to - value. - -2002-10-28 12:55 robert - - * Updated the handling of string in the .osg reading and writing so - that it - handles the use of " quotes inside the string. - -2002-10-28 09:43 robert - - * Removed the remapping of special keys to keyboard events. - -2002-10-25 12:29 robert - - * From Gideon May, fixes to remain const base type instances in - headers. - -2002-10-25 09:34 robert - - * Updated the min and mag filter modes to be more appropriate, - still some - of the FLT modes havn't been mapped across as its is not obvious - how to map - them to OpenGL/OSG. - -2002-10-24 20:49 don - - * changed unsigned int's to unsigned longs so 64 bit build would - work. - -2002-10-24 20:45 don - - * Added ARCH64 def for 64 bit builds - -2002-10-24 15:24 don - - * FIxed set_new_handler to std::set_new_handler - -2002-10-23 07:46 robert - - * Fix from Don Tidrow for bug when moving between RenderGraph when - popping back - up to common parents. - -2002-10-21 15:09 robert - - * Changed the nameing of iterators to prevent clashes with - VisualStudio's dumb - compiler. - -2002-10-21 13:03 robert - - * Fixed spelling mistake in comment. - -2002-10-21 13:02 robert - - * Changed the private: to protected: to allow easier extension. - -2002-10-18 12:47 robert - - * Merged Pavel's updates to LWO2 for handle multiple texture - layers. - -2002-10-18 12:26 robert - - * Added default colour and normal definition to the Geometry draw - to prevent state - inheritance of these attributes from causing problems of Geometry - which arn't - fully defined. - -2002-10-18 12:23 robert - - * Added extension checking to the rgb and bmp write of images. - -2002-10-17 21:25 don - - * USE_MM was not defined for IRIX - -2002-10-17 13:48 robert - - * Renamed the RenderBin::sort_local to sortImplementation(), - draw_local to drawImplementation() and added a new - RenderBin::DrawCallback(). - - Added osgcubemap to the Make/ test scripts. - -2002-10-17 11:59 robert - - * Fixed memory allocation. - -2002-10-17 11:50 robert - - * Checked in fix for std::hex for dumb arsed compilers. - -2002-10-17 11:39 robert - - * Fixed compile error under Windows. - -2002-10-17 10:04 robert - - * Fixed error in #ifdef GL_SECONDARY_COLOR... - CV: - ---------------------------------------------------------------------- - -2002-10-15 19:10 don - - * Changed std::malloc to new in src/osgUtil/CubeMapGenerator.cpp - -2002-10-14 21:10 don - - * Fixed cstdlib to stdlib.h for IRIX in - src/osgUtil/CubeMapGeneragortor.cpp - -2002-10-10 20:04 robert - - * Fixes from Macro. - -2002-10-10 18:02 robert - - * Added missing .cpp's. - -2002-10-10 14:58 robert - - * Fixed the names of the ControlPoint parameters so they weren't - capitals, to avoid - the clash with the parameter type itself. - - Addd a PER_PRIMTIIVE_SET handling to the existing PER_PRIMTIIVE - code, this code - is still flacky though and needs a rewrite as it doens't handle - all attributes or - the full consequences of per primitive and per primitive set - bindings. - -2002-10-10 13:06 robert - - * Added a little more info into the State contextID docs. - -2002-10-10 12:44 robert - - * Added Macro's new cube map generation classes and osgcubemap - demo. - -2002-10-10 09:42 robert - - * Maded the "flt::Registry::getPrototype: Unkown opcode:" message a - INFO level - notify message rather than a NOTICE. - -2002-10-10 09:39 robert - - * Made the warning about a mis-matching in the number of children - in a switch - a INFO level notify message rather than a WARN. - -2002-10-10 09:29 robert - - * Added remapping of special keys to be handle like a convential - key press. - -2002-10-10 09:00 robert - - * From Gabor Dorka, Fixes to memory leaks. - -2002-10-09 15:43 robert - - * Fixes to smoothing visitor and tesselator to handle indexed - Geometry. - -2002-10-09 15:41 robert - - * Changed the default value of StandardOrientation to true, to fix - orientation - problems which commonly occur with png files. Leaves the - quesition of how to set - this value automatically. - -2002-10-08 16:02 robert - - * Fixed bug in osg::LOD::addChild() which was forcing all ranges to - be identical - values. - -2002-10-08 14:10 robert - - * Fixed a bug in the Optimizer where BIND_PER_PRIMITIVE_SET - primitives where being eroneously merged. - - Added missing support for reading geometry indices from the .osg - format. - - Added handling of geometry indices into the primitive functor in - osg::Geometry. - - Moved the method implementions of AnimationPathManipulator into - src/osgGA and added extra convinience - methods for setting the manipulator with an hand built - AnimationPath. - - FCVS: VisualStudio/osgPlugins/iv/iv.dsp - -2002-10-08 08:39 don - - * osgdb_osg loader had more issues with const/non-const - discrepancies on - Solaris. Modified Geoset.cpp and Point.cpp - -2002-10-08 08:36 don - - * Solaris didn't like filebuf. Using old FILE - -2002-10-08 07:39 don - - * Added AnimationPathManipulator to osgGA and modified sgv to use - it. - -2002-10-08 05:41 don - - * Fixed some inconsistencies between header files and function - definitions - where the header file declared a parameter non-const, but the - function - definition expected a const. The Solaris linker was coming up - with - undefined symbols. - -2002-10-07 21:23 robert - - * Added extra convinience methods to LOD - addChild(child,min,max). - - Added osganimate to test scripts. - -2002-10-07 20:17 robert - - * Fixes to Switch so that it defaults to adding children switched - on, and adds - a flag to control whether children and added as true or false. - -2002-10-07 20:01 robert - - * Set the default values for scale to 1,1,1. This fixes the bug - obsevered when - using AnimationPath with MatrixTransform without setting the - scale value of - the osg::AnimationPath::ControlPoint's. - -2002-10-07 19:51 robert - - * Added new osganimate demo which demonstrate the - osg::AnimationPath in action. - - Added extra parameters to the AnimationPath callbacks to allow - finer control. - -2002-10-07 11:06 robert - - * Added missing osg::TextureCubeMap::getAssociatedMode(). - -2002-10-07 10:02 robert - - * Added code to Viewer::addViewport(..) to force the sharing of a - single - osg::State object between viewports. - -2002-10-07 09:41 robert - - * From Daneil Sjölie - modifications to the support of custom - GUIEventHandlers in osgGLUT - -2002-10-06 20:33 robert - - * Converted osg::LOD from used n+1 successive ranges to n min/max - ranges, - one min/max pair per child. Converted the rest of the OSG to use - the new - osg::LOD node. - -2002-10-04 16:40 robert - - * Fixes for Win32 build. - -2002-10-04 14:50 robert - - * Implemented OpenFlight style switches so that each child of a - switch can now - be individually turned on or off. Moved the OpenFlight code - across to use the - new scheme, removing the old hack of using node masks to achieve - the same end - result. - -2002-10-04 13:53 robert - - * Changed the include of MatrixTransform to Transform. - -2002-10-02 15:28 robert - - * Added osgteapot demo to show how to implement custom Drawables to - wrap up OpenGL code. - -2002-10-02 13:16 robert - - * Added back in the old osg::Geometry::addPrimitive(..) methods for - backwards - compatibility and have placed them within a #ifdef - USE_DEPREACATED_API block. - -2002-10-02 13:12 robert - - * Moved the new osg::IndexedGeometry class over the top of the the - existing - osg::Geometry class, and removed the temporary IndexedGeometry. - Port the rest - of the OSG across to account for the change in method calls - - osg::Geometry::addPrimitive(..) becomes osg::addPrimitiveSet(..) - -2002-09-30 18:12 robert - - * Removed inappropriate inline keyword from getOrCreateStateSet(). - -2002-09-30 18:11 robert - - * Added setActiveTextureUnit(0) to State::reset(). - -2002-09-30 16:50 robert - - * Added traverse the AnimationPath callbacks. - -2002-09-30 13:30 robert - - * Added support for per primitive bindings in osg::IndexedGeometry. - Added a - convertToIndexedGeometry() method to GeoSet to allow datasets - with per primitive - bindings to be be mapped to across to osg::IndexedGeometry for - testing purposes. - -2002-09-29 17:55 robert - - * From Macro, added a setActiveTextureUnit(0) to - osg::Text::drawImmediateMode() to - prevent the wrong OpenGL mode being used. - -2002-09-29 12:33 robert - - * From Daniel, Fixes for warnings under Win32. - -2002-09-28 19:09 robert - - * Fixes to IndexedGeometry.cpp to repair bugs introduced with Win32 - build fixes.S - -2002-09-28 07:47 robert - - * Added a dirtyAllVertexArrays() to State::reset(). - -2002-09-28 07:43 robert - - * Fixes for Win32 build. - -2002-09-27 19:04 robert - - * Fix build after change in GLExtensions. - -2002-09-27 19:01 robert - - * Fixes to IndexGeometry for Win32 build. - -2002-09-27 17:47 robert - - * Improvements to IndexedGeometry. - -2002-09-26 15:26 robert - - * Futher work on the IndexedGeometry class. Indexed coordinates - should now - work. - -2002-09-24 20:14 robert - - * Changed the linux linking of -lgif to -lungif. - - Fixed a typo in the Images name. - -2002-09-24 20:04 robert - - * Changed the image file so that use the Images/ prefix to help - locate the files - within the OpenSceneGraph-Data directory. - -2002-09-24 19:41 robert - - * Removed redundent / - - -------------------------------------------------------------------- - -2002-09-22 07:09 robert - - * Renamed Primitive to PrimitiveSet. - -2002-09-20 15:55 robert - - * From Gideon, support for tracking the number of objects - constructed and deleted, - only compiled in when unit tests are compiled in. - -2002-09-20 15:54 robert - - * From Ulrich Hertlien, supported add to textures in the .lwo - format. - -2002-09-20 14:51 robert - - * Renamed osg::Primitive to osg::PrimitiveSet which better reflect - what it - encapsulates. - - Added new osg::IndexGeometry implemention, *not* complete yet. - - Changed the rest of the OSG to handle the renaming og Primitive - to PrimitiveSet. - -2002-09-20 14:48 robert - - * From Daniel, changed setEventHandler to addEventHandler. - -2002-09-19 10:30 robert - - * Added PolygonStipple class from Mike, with mods from Robert to - make data - management local. - -2002-09-19 09:52 robert - - * Made the calls to the drawing of the pre rendering stages exclit, - using - a seperate method in RenderStage and associated calls in - sceneView.cpp. - This fixes problems when doing stereo and prerender at the same - time. - -2002-09-19 09:05 robert - - * Fixed copy constructor so that the _stage member variable was set - to this - correctly. - -2002-09-18 16:10 robert - - * Fix the sceondary color code. - -2002-09-18 16:05 robert - - * Added missing isCompressedInternalFormat() method. - -2002-09-18 15:59 robert - - * Fixed mispelling of SEPARATION. - -2002-09-18 14:57 robert - - * Simplified the depth calculation code in CullVisitor so that it - always computes - the depth of all drawables, so that it is always safe for - RenderBin sort routines can use - these values directly. - - Add an example of a RenderBin::SortCallback to sgv.cpp. - -2002-09-18 11:11 robert - - * From Daniel Sjölie - added support for multitexured flt files. - -2002-09-17 15:47 robert - - * Improved the sort callback support in osgUtil::RenderBin, and - removed the - now rendundent DepthSortedBin class. - -2002-09-16 20:58 robert - - * Further work on multiple context extensions. - -2002-09-16 10:55 robert - - * Commented out the call to combine LOD's in the optimizer as it - was causing - problems in some flt datasets. - -2002-09-14 10:38 robert - - * Updates the osg::Texture3D::Extensions interface to support the - standardisation - of extensions supported across multiple graphics contexts. - -2002-09-13 13:50 robert - - * Added dirty methods for vertex arrays to better support external - OpenGL - code which modifies the OpenGL state and needs to tell the - osg::State - about it to ensure that the OSG doesn't make any errors during - lazy - state updating. - -2002-09-12 20:30 robert - - * From Pavel Moloshtan, fixes for Mingw32 build. - -2002-09-12 19:59 robert - - * Added opengl32.lib and glu32.lib links to osgGLUT.dsp - -2002-09-12 15:34 robert - - * Added asGroup() and asTransform() methods to osg::Node to - downcast nodes - to these types without requiring an expensive dynamic_cast<>. - - Also added asGeometry() to osg::Drawable for the same reasons. - -2002-09-12 14:29 don - - * Fixed setFusionDistance - -2002-09-12 13:23 robert - - * From Brede Johansen - Fixes to osg::Plane::valid and added a new - set method. - - From Stephan Huber - Compilation fix to Texture.cpp for OSX. - - From Don Tidrow - added dirtyBound() to - osgText::Text::setPosition - -2002-09-09 04:40 don - - * Added ability to accept '.tif' files (as well as '.tiff') and - printed - notify() on error - -2002-09-05 15:45 robert - - * Improvements to osg::Texture3D::Extensions code. - -2002-09-05 15:13 don - - * For Solaris, /usr/local/lib dependencies now compile static - libraries. This - reduces the dependencies for binary installs. ALso rearranged the - SunOS - gnu and Forte compiler sections to be more generic - -2002-09-05 11:42 robert - - * Added new buffered_value template class which encapsulates a - std::vector but - initializes the array to the number of graphics contexts, and - automatically - expands the array when indices outside the current size are - required. - - Added new osg::Texture::Extensions nested class to handle - extensions on a per - context basis. - -2002-09-04 10:51 robert - - * From Ulrich Hertlein, check for max 3d texture size into the - osgtexture demo. - -2002-09-04 10:49 robert - - * Added support for setting the fusion distance directly in - SceneView, defaults - to the original behavior of using the values from the Camera if - attached. - -2002-09-04 08:14 robert - - * Added support for multiple graphics contexts to osg::Texture and - its - subclasses. - -2002-09-04 01:15 don - - * Added setting colormask to SceneView on every frame to allow - toggling - between stereo on and off in Anaglyphic mode. - -2002-09-03 20:12 robert - - * Fixes to the LWO to better handle 3 and 4 vertex polygons. - - Added an extra pass into the Optimizer's merging of geometry - primitives so - it convertex 3 and 4 vertex polygons into triangles and quads - respectively. - -2002-09-03 19:25 robert - - * Removed const from the evaluateLODChild(,,) callback method. - -2002-09-03 14:42 robert - - * Removed the temporary commenting out of the Optimizer, which was - done for - debugging purposes. - -2002-09-03 13:04 robert - - * Fixed LWO2 ReaderWriter problem which was down to an the compiler - reodering - the evaluation of a Vec3 paramter. - -2002-09-03 09:50 robert - - * Fixed and unmatched malloc/free pair, which was previously doing - a mallco/delete. - -2002-09-02 12:31 robert - - * Converted the instances of const built in types being returned - from methods - and passed as paramters into straight forward non const built in - types, - i.e. const bool foogbar(const int) becomes bool foobar(int). - -2002-08-31 09:59 robert - - * From Yfei He, added in missing RoadConstruction handler. - -2002-08-31 09:51 robert - - * Bug fix from Tom Jolly, which adds a check aginst a delete of gl - textures - in FTGLTextureFont destructor to prevent a NULL be passed to - glDeleteTextures. - This solves the crash on exit of osghud/osgtext. - -2002-08-31 06:04 don - - * Added the script to make IRIX distribution packages (via 'inst'). - -2002-08-30 19:45 robert - - * Renamed osg::Statistics::addOpaque to addDrawable to better - reflect its current - function. - -2002-08-30 16:17 robert - - * Updates to windows build docs. - - Merge fixes for OSX from bob. - - Added checking for impostor sprites into stats. - -2002-08-30 15:32 robert - - * Fixes to Math for MacOSX build. - - Converted TextureCubeMap to unix file endings. - -2002-08-30 15:17 robert - - * Update LANDEXT.DAT to contain all the latest core OSG files. - -2002-08-30 15:07 robert - - * Fixed the flatten static transform visitor. - -2002-08-30 13:38 robert - - * Added std:: infront of ends references. - -2002-08-30 07:17 robert - - * Removed the OSG_COMPILE_UNIT_TESTS define from the OSX build to - avoid - issues with the missing - -2002-08-30 01:34 don - - * Some small clean ups and editorializing of the NEWS file. - -2002-08-29 20:41 robert - - * Fixed the numerical accuracy problems in the Drive and Flight - Manipulators. - -2002-08-29 16:38 robert - - * Fixed numerical accuracy problem in Trackball manipulator. - -2002-08-29 14:48 robert - - * Updated change log. - -2002-08-29 14:41 robert - - * Removed html files which relate to now removed API. - -2002-08-29 14:39 robert - - * Added new autogenerated .html files - -2002-08-29 14:29 robert - - * Updated docs. - -2002-08-29 14:05 robert - - * Updated the NEWS to release the new release. - -2002-08-29 11:02 robert - - * Renamed the ConvexPlaner* classes to ConvexPlanar* and changed - all the various - classes that reference it. - - Added MUST_READ_ME.txt to the VisualStudio directory. - -2002-08-29 08:39 robert - - * Added SG_EXPORT. - -2002-08-29 03:49 don - - * Blast it, Don... You should rebuild before you check things in! - -2002-08-29 03:22 don - - * Fixed 69 occurance of 'Seperate' misspelling (should be - 'Separate') - -2002-08-28 21:40 robert - - * Changed instances of new across to use osgNew to help debugging, - and fixed - an unitialized variable in Sequence. - -2002-08-28 19:46 robert - - * Fixed the optimized library name of the osgText plugin. - -2002-08-28 18:49 robert - - * Updated the version numbers to reflect the upcomming release - 0.9.1. - -2002-08-28 18:38 robert - - * Fixes to Win32 build. - -2002-08-28 17:37 robert - - * Added std:: infront of cout and endl. - -2002-08-28 16:59 robert - - * Fixes for Win32 build. - -2002-08-28 16:25 robert - - * Fixed unitialized variable in the MyTextureSubloadCallback. - -2002-08-28 16:17 robert - - * Added fixes to UnitTestFramework to get it compiling under - Windows. - -2002-08-28 15:44 robert - - * Warning fixes for Windwos - -2002-08-28 15:35 robert - - * Fixed typo on osgunittests project name. - -2002-08-28 15:28 robert - - * Removed deprecated code from the distribution. - - Added .osg support for Texture1D and Texture3D. - -2002-08-28 14:28 robert - - * Added -I{THISDIR} into the iv Makefile. - -2002-08-28 14:27 robert - - * Updates, from Neil Salter, to comments etc to osgGA which add - better - explanations of how each of the classes operates. - -2002-08-28 14:26 robert - - * Added Neil Salter's osgUtx library into the distribution, have - put all the - orignal seperate headers and source into - include/osg/UnitTestFrameWork - and src/osg/UnitTestFramework.cpp respectively. I have done this - to - keep the include and source directories focused on the scene - graph rather - than the test framework. - - Have added a very simple unit test to Vec3.cpp, which are - optionally - compiled in with the OSG_COMPILE_UNIT_TESTS define, which is only - currently defined in debug builds under unix. It should be fine - to - add it in under Windows project files as well. - - Finally, a new demo app osgunittests runs the tests and reports - success - or failure of the tests. - -2002-08-27 21:01 robert - - * Commented out the #define TEXTURE_USE_DEPRECATED_API from - includ/osg/Texture - which forces the use of a typedef Texture2D Texture; in place of - the orignal - texure implementation. - -2002-08-27 20:54 robert - - * Added code to write byte/int/float arrays out with 8 values per - line by default, rather than - 1 per line as before. - -2002-08-27 20:18 robert - - * Added support for DOFTransforms into .osg format, and add pivot - point support - to the PositionAttitudeTransform .osg support. - - Removed a double light reference in the osglight demo. - -2002-08-27 15:46 robert - - * Added support for reading and writing - osg::PositionAttitudeTransform. - -2002-08-27 15:46 robert - - * Fixed bug in the Light reading code. - -2002-08-27 14:02 robert - - * Added proper osgtexture1D demo - this demo uses a 1D texture to - dynamically - contour the scene. - -2002-08-27 14:00 robert - - * From Marco, fix to include/GL to clean up warnigns in Windows - builds. - -2002-08-27 10:06 robert - - * Added osgtexture3D demo, renamed osgtexture demo to osgtexture2D, - and have - added osgtexture1D demo which currently is simply copy of - osgtexture2D. I - will be modifying it to do 1D texturing next. - - Fixed a bug in osg::Texture3D relating to checking of existance - of - texturing. - - Merged some fixes to the pfb loader from Ulrich Hertlein. - -2002-08-26 20:11 robert - - * Fixed typo of _texParametersDirty. - -2002-08-26 19:35 robert - - * Removed #ifdef hacks to remove optimization with VS6.0's STL. - VS6.0 STL is - now no longer supported! - -2002-08-26 15:02 robert - - * Moved the #define GL_DOT3_RGB_ARB's into their own #ifndef - GL_ARB_texture_env_dot3 block. - -2002-08-26 13:04 robert - - * Moved #define's for OpenGL1.2 image formats into the - include/osg/Image header - to allow compilation of the rgb plugin under Windows with its 1.1 - OGL headers. - - Added float.h to Math's compile path for VS7 compilation. - -2002-08-26 12:34 robert - - * Made the sort callback's sort method pure virtual. - -2002-08-26 12:28 robert - - * Removed redundent parameter in sort() callback which was never - being used. - -2002-08-26 10:30 robert - - * Added #include to include/osg/glut for Windows build. - -2002-08-26 10:24 robert - - * Updated Texture3D to use extension checking to get the relevant - 3d texturing - extensions. - -2002-08-26 03:15 don - - * Added writer to RGB plugin - -2002-08-25 15:31 robert - - * Converted code dependant on osg::Texture across to its - replacement osg::Texture2D. - -2002-08-25 11:00 robert - - * Fixes for Win32 build - -2002-08-24 21:12 robert - - * Added guard to prevent VS7 builds using the #defines for cosf - etc. - -2002-08-24 21:12 robert - - * Added brief items to NEWS in prep for the 0.9.1 release. - -2002-08-24 21:11 robert - - * Added support for the texture_env_dot3 extension. - -2002-08-24 19:39 robert - - * Added new osg::TextureBase, osg::Texture1D, osg::Texture2D, and - osg::Texture3D - classes, and changed osg::Texture and osg::TextureCubeMap so that - they now derive - from osg::TextureBase. - -2002-08-24 19:35 robert - - * Clean up of include/osg/GL and include/osg/GLExtensions for - better support of - Windows build. - -2002-08-23 00:43 don - - * Modifed osgGLUT viewer and messages in SGV to allow for start up - in full - screen mode. - -2002-08-22 17:36 don - - * Fixed a dependency order - -2002-08-22 09:19 robert - - * Added calling of the LightSource and ClipNode as Group by the - NodeVisitor and - fixed the CullVisitor and Optimizer to take account of this. - -2002-08-22 08:14 robert - - * Fixed the osg::Transform::coompute*() methods so the were using - the _referenceFrame - correctly, as previously they were doing the exact opposite from - what they - should have been doing. - -2002-08-21 20:42 robert - - * From Stephan Huber, "I found a small bug in QTtexture.c: the code - fails, when the image-files - don't reside on the boot-partition. I replaced the offending - function by a - cleaner one.". - -2002-08-20 22:43 robert - - * Moved the include from the State header into - State.cpp, and - added it into other files which now required it. - -2002-08-20 18:00 robert - - * Added IO Support for TexEnvCombine state attribute. - -2002-08-20 14:15 robert - - * Added support for the tex_env_add and tex_env_crossbar - extensions. - -2002-08-20 14:12 robert - - * Fixes to new osgText and osgParticle project files. - -2002-08-20 12:29 robert - - * Added the definition of GL_FOG_COORDINATE_SOURCE to Fog.cpp. - - Added #include to the GLExtensions header. - -2002-08-20 11:27 robert - - * Moved the IO support for the osgText and osgParticle libraries - into seperate - plugin libraries. - -2002-08-20 10:26 robert - - * Added a error message for when OSG_NOTIFY_LEVEL is not set - correctly. - -2002-08-20 10:14 robert - - * Merged fixes to the osg::GLExtensions function pointer code from - Stefan Huber, - and a fix to osg::State's secondary color code from Bob Kuehne. - - Moved the body of the getGLExtensionFuncPtr() into the header to - help out - support for Windows mapping of different OpenGL extensions - function ptr per - dll. - -2002-08-20 10:08 robert - - * A FogCoordinateSource set/get methods to osg::Fog which - correspond to the - FogCoord support added to osg::Geometry. Added suppot for these - new parameters - to the .osg plugin. - -2002-08-20 08:14 robert - - * Reordered the string comparions so that DEBUG_INFO comes before - INFO, since - the find op will find INFO in a DEBUG_INFO string, and hence - report the wrong - notify level. - -2002-08-19 19:53 robert - - * Added default values to the TexEnvCombine constructor. - -2002-08-19 15:14 robert - - * Added missing include/osg/ClearNode - -2002-08-19 15:11 robert - - * Added new osg::TexEnvCombine state attribute. - -2002-08-19 11:42 robert - - * Renamed the osg::EarthSky to osg::ClearNode to make it more - obvious what - role it has play and make it more relevant to non vis-sim - applications. - -2002-08-19 08:35 robert - - * Moved "unsigned int i" from for(.. to just before it, and removed - subsequent - ones to get the VisualStudio compiler working once more. - -2002-08-18 14:42 robert - - * Added DOFTransform, MatrixTransform and PositionAttitudeTransform - to NodeVisitor. - - Added - osg::Matrix/Quat::makeRotate(angle1,axis1,angle2,axis2,angle3,axis3) - and - osg::Matrix::rotate(angle1,axis1,angle2,axis2,angle3,axis3) - method. - - Made osg::Matrix/Quat::makeRotate(heading,pitch,roll) and - osg::Matrix::rotate(heading,pitch,roll) all deprecated API. - - Fixed the Quat*Quat & Quat*=Quat multiplication methods so that - they multiplied - in the correct order - they were reversed originally due to the - Quat code being - based on code example which used the v' = M v ordering, rather - than the OSG's - v' = v M ordering. - -2002-08-18 11:16 robert - - * Added check to disable color binding when the secondary colour - extension doesn't - exist. - -2002-08-17 07:34 robert - - * Fixed typo in #define of UBYTE4 - -2002-08-16 15:14 robert - - * Added Texuture::SubloadCallback example into the osgprerender - demo to illustrate - how to use it. - - Changed the ImpostorSprite to use LINEAR,LINEAR for min and mag - filters for the - impostor texture. - -2002-08-16 13:33 robert - - * Added new osg::Texture::SubloadCallback, and getNumMipmapLevels() - to osg::Texture - and osg::Image. This additions are design to make texture - subloading more - flexible. - -2002-08-16 10:56 robert - - * Fixes from Ulrich Hertlein to get the pfb plugin compiling with - using - any deprecated API. - -2002-08-15 20:27 robert - - * Supported added for secondary color & fog coords to osg::Geometry - and osg::State. - -2002-08-15 20:25 robert - - * From Perry, support for color added to the - MeshPrimtive/LocalVertexPool code. - -2002-08-15 15:04 robert - - * Removed the getData() from MeshRecord and the dummy SMesh record, - this - allow the FaceRecord base class to directly provide the datatype. - -2002-08-15 14:09 robert - - * Added a using namespace std; and removed std:: from from std::hex - and std::dec. - -2002-08-15 13:04 robert - - * Added a virtual keyword into the getData() overrided methods. - -2002-08-15 11:25 robert - - * Submission from Perry Miller for support of OpenFlight15.7's - local vertex pool - and mesh primitives. Converted Perry's code to work with the - osg::Geometry - instead of osg::GeoSet. - -2002-08-14 20:56 robert - - * Added SG_EXPORT to PositionAttitudeTransform and MatrixTransform. - -2002-08-14 09:30 robert - - * Commented out the #define USE_DEPRECATED_API. - -2002-08-13 18:29 don - - * Added some comments - -2002-08-13 15:31 robert - - * Futher improvements and fixes to osg::AnimationPath, and the - osglight - demo to show it action. - -2002-08-13 13:22 robert - - * Made improvements to osg::AnimationPath, added - osg::PositionAttitudeTransform::AnimationPathCallback which us an - app callback - which uses an AnimationPath to specify the new positions of the - transform. - - Added AnimationPath code to osglight to animate the positional - light. - - Added CullVisitor::setCullingMode() code into SceneView so that - SceneView's - CullingMode is now properly passed onto CullVisitor. Note, this - work - had been done before, but must has been lost in a merge. Umm... - -2002-08-13 09:35 robert - - * Fixed uninitialized _sortMode. - -2002-08-12 17:40 robert - - * Added new s/getPivotPoint() support to - osg::PositionAttitudeTransform. - - Modified the osglight demo to use an AppCallback and a - PositionAttitudeTransform - to animate the loaded model. - -2002-08-12 13:42 robert - - * Updates to DOFTransform so that its overrides the traverse() and - compute*() methods - rather than depending upon callbacks for animating and compute - matrices. Merged the - put/inverseput code between Sasa's and Ferndinand's DOF code. - - From Bora Utka, Added support to osg::Sequence/OpenFlight - AnimNode to the flt plugin. - -2002-08-12 13:37 robert - - * attempt to fix read only status of Sequence.cpp. - -2002-08-11 21:26 robert - - * Removed dependency of the new osg::DOFTransform and osg::Sequence - Node's - on osgUtil by implementing a NodeVisitor::VisitorType enum, and - associated - g/setVisitorType. This allows callbacks to querry the - visitor/traversal - type without doing down cast's to specific visitor subclasses - such as - osgUtil::AppVisitor/CullVisitor. - -2002-08-11 10:32 robert - - * Temporarily commented out the flat staic transforms visitor since - it - was causing problems with the new DOFTransform class. - -2002-08-09 19:51 robert - - * Submission for Gideon May, fixes for spacing in various osgText - files. - -2002-08-09 16:27 robert - - * Fixed the X and Y axis rotation billboards so that now rotate - correctly. - - Rewrote the osgbillboard demo so that it creates a point - rotatated billbaord - and X,Y and Z axis billboards to both test and demonstrate this - types of - billboards in action. - -2002-08-08 21:36 robert - - * Fixes for IRIX 32bit timmer on O2. From Tom Jolley. - -2002-08-08 15:10 robert - - * Fixed warning related to where _increasingFlags is an unsigned - short and 0xffffff is being - truncated, spotted by Tom Jolly. - -2002-08-08 15:09 robert - - * Removed inline definition from front of setMaxAnisotropy method. - -2002-08-08 13:45 robert - - * Fixed typos, sent in by Warren Macchi. - -2002-08-08 13:41 robert - - * Fixed bug related to switching on/off culling modes. Patch from - Nikolaus Hanekamp. - -2002-08-08 11:27 robert - - * Changed the Geometry::setVertexArray and GeoSet::setCoords so - that they - call dirtyBound() instead of reseting the local bound flag, this - ensures - the updates are propagated upwards through into the parents. - -2002-08-08 11:01 robert - - * Fixed the shininess factor in 3ds plugin. - -2002-08-07 15:52 robert - - * Changed the support for anisotropic filtering in osg::Texture so - that it - is now controlled via the setMaxAnisotropy(float) method, and is - set up - independently for the mag filter mode, which it previously was - done. - -2002-08-07 10:10 robert - - * Renamed osgsequence.cpp to osgsequence.dsp, as it was clearly a - typo... - -2002-08-07 10:08 robert - - * Fixed type of DOFTransform.cpp - -2002-08-06 17:07 robert - - * Added shells for DOFTransform and PositionAttitudeTransform to - the .osg - loader, still need to fill in the saving and loading of - paramters. - - Went through the distribution remove old API usage. - -2002-08-06 10:37 robert - - * Changed the default value of _animationOn to true. - -2002-08-06 10:07 robert - - * Fixed typo in comment. - -2002-08-06 10:04 robert - - * Adde getViewFrustum() to camera. - -2002-08-05 15:07 robert - - * Added new osg::DOFTransform node from Sasa Bistrovic, designed to - mirror - the OpenFlight DOF transform nodes. - -2002-08-05 13:29 robert - - * Added support for PROTECTED modes into the .osg reading and - writing. - -2002-08-05 13:12 robert - - * Added an example of the use of the PROTECTED modes and attributes - into - the osgreflect demo so that toggling texturing on or off won't - affect - the mirror planes texturing. - -2002-08-05 12:52 robert - - * Fixed compile errors under IRIX. - -2002-08-05 12:40 robert - - * Added support to StateAttribute/State to support PROTECTED flag - for modes and attributes - so that they cannot be overriden from above via the OVERRIDE - flag. This is - useful for things like manipulators that have handles display in - the scene, you - might want to prevent their state being affected by other - overriding of - light, wireframe modes etc. - -2002-08-04 21:11 robert - - * Fix to iv/vrml loader so that it correctly passes back the right - ReadResult - and checks the validity of the file extension being passed to the - plugin. - Removed main.cpp * .h moving all its functionality into - readerwriter.cpp. - -2002-08-04 20:51 robert - - * Changed the error reporting so that it directs it all via - osg::notify, and - only uses the INFO level for reporting that the file to load is - not - recognised. Also add check for LWO2 loading so that it returns - FILE_NOT_HANDLED - message correctly. - -2002-08-04 20:34 robert - - * From Ruben Lopez, updates to VRML/IV loader. - - From Ben Discoe, corrections to comments in osg::Transform - - From Alberto Barbati, Lazy evaluation of inverse matrix in - osg::MatrixTransfrom - -2002-08-03 19:42 robert - - * Added Sequence.cpp to osg plugin workspace file. - -2002-08-03 19:37 robert - - * Changed the copy constructor of for _light mem var to use a - dynamic_cast. - -2002-08-03 18:11 robert - - * Integrated Ulrich Hertlien's osg::Sequence node, and osgsequence - demo, and - support for osg::Sequence in the pfb loader. - -2002-08-03 18:03 robert - - * Changed the range max and min members variables to maximum and - minimum to - prevent collision with windows min and max macros. - -2002-08-03 16:49 robert - - * Added support for a sort callback in RenderBin. - -2002-08-03 16:48 robert - - * Fixed comments. - -2002-08-03 16:37 robert - - * Added cout's of the view frustum to the aid debugging, these - cout's are - now commented out, and are just left in so that they may be used - to - double check things in future. - -2002-08-02 19:11 robert - - * Fix for Win32 build - -2002-08-02 15:14 robert - - * Added missing _nodePath.clear() and _segHitList.clear() to - InteresectVisitor::reset(). - -2002-07-31 15:16 robert - - * Updates to iv/vrml loader from Ruben. - -2002-07-30 10:08 robert - - * Updates to the iv loader from Ruben - conversion from GeoSet to - Geoemetry. - -2002-07-29 21:29 robert - - * Forced the use of non mip mapped texture during subloading in the - osgprerender - demo. - -2002-07-29 11:02 robert - - * Removed default value from constructor. - -2002-07-29 00:04 robert - - * Fixes to the new texture subloading methods. - -2002-07-28 23:28 robert - - * Checked in new methods for setting up texture subloading, these - allow the - user to control which parts on an image are subloaded from, and - how big - the initial texture is. - -2002-07-28 23:27 robert - - * Checked in Pavel's updates for non texured surfaces. - -2002-07-28 21:25 robert - - * Added set/getUnrefImageOnApply() methods and associated flag and - code in Texture::apply() to set the _image to 0 on apply. Note, - this will only work when you have a single graphics context, as - with multiple graphics contexts one can't delete the image after - the first apply, as there will be more than one texture object to - update. - -2002-07-28 21:15 robert - - * Checked in Marco's commented out #defines/rejigged struct names - to get things - compiling under Windows, will need to check this in future as it - may change with regeneration of parser files - with lex/yacc. - -2002-07-28 12:52 robert - - * Chagned the initiliazation of iterators, sent in by Alberto - Barbati. - -2002-07-28 12:49 robert - - * Fixes to NodeCallback and RenderBin from Alberto Barbati. - -2002-07-27 21:35 robert - - * Fixes to the inventor/vrml loader. - -2002-07-27 10:34 robert - - * From Macro, removal of use of display lists during double pass - rendering of - particles. - -2002-07-27 10:25 robert - - * Fix for Windows - -2002-07-27 10:22 robert - - * Fixes for Win32 build. - -2002-07-27 10:09 robert - - * Added return value to addViewport. - -2002-07-26 18:46 robert - - * Added missing osg:: from various references to osg::Objectf - -2002-07-26 16:33 robert - - * Added support for LWO2, send in by Pavel Moloshtan. - -2002-07-26 16:02 robert - - * Added project file for inventor plugin. - -2002-07-26 15:37 robert - - * Added Ruben Lopez's Inventor/VRML 1.0 loader. - -2002-07-26 12:49 robert - - * Change Geometry paramter name to lower case geometry. - -2002-07-25 22:08 robert - - * From Ferdinand Cornelissen - Futher updates to the DOF code. - -2002-07-25 21:58 robert - - * Added missing return statement to if() block in Matrix::mult - code. Bug spotted - by Ray Conner. - -2002-07-25 21:50 robert - - * Fixes to Doxygen files from Neil. - - Removed unused set/getReportMode() methods and member variables - from IntersectVisitor. - - Added deep copy construction of Geometry objects. - -2002-07-25 21:45 robert - - * Changed > operator to < and swapped sides of expression, to - enable compilation - across compilers. - -2002-07-25 16:15 robert - - * Fix to geometry combiner which wasn't check the overall color - array values - in the lessGeometry functor. - -2002-07-25 15:25 robert - - * Fix to DOF Record from Sasa Bistroviae. - -2002-07-25 15:21 robert - - * Fix for colors in old flt models from Brede. - -2002-07-25 14:42 robert - - * Removed double quotes from around the : - DBGF = -g -DOSG_USE_MEMORY_MANAGER - - As this was breaking the build. - -2002-07-24 16:29 robert - - * Implemented the DOF handling more cleanly, as per OpenFlight15.7 - docs. - -2002-07-23 18:44 robert - - * Added missing std:: to endl; - -2002-07-23 15:48 robert - - * Added the missing _primtives from the copy constructor list. - -2002-07-23 15:45 robert - - * Added fog toggling to Viewer.cpp, 'y' reduces fog density, 'Y' - increases - fog density. - -2002-07-23 15:01 robert - - * Mods for HP-UX port. - -2002-07-23 14:35 robert - - * Added mode checking into StateSet to try and catch non texture - OpenGL modes - which have been applied to the texture modes and visa-versa. - -2002-07-23 13:30 robert - - * Support added for Gnu C++ under Solaris. - -2002-07-23 10:48 robert - - * Checked in Tino Schwarze's port to HP-UX. - -2002-07-22 16:01 robert - - * Updates to osgParticle form Macro. - -2002-07-22 13:05 robert - - * Merged changed to osgParticle from Macro, these add the ability - to - orientate the particles to predefined axis. - -2002-07-22 12:41 robert - - * Fixed more uninitialized variables and two potential memory - leaks. - -2002-07-21 20:34 robert - - * Fixed various uninitiliazed variables. - -2002-07-21 10:44 robert - - * Added default construction values for various member variables to - fix report - uninitialized variables. - -2002-07-21 10:04 robert - - * Futher work on ensuring that all datatypes are initilizaed in OSG - objects. - -2002-07-21 01:29 robert - - * Futher changes to remove unitialized variables/reordering of - initialization to - prevent unitialized warnings. - -2002-07-20 23:54 robert - - * Various fixes to constructors to ensure that all variables are - initialized. - -2002-07-20 22:44 robert - - * Added missing default values to State constructor. - -2002-07-20 22:40 robert - - * Added default values for FrameStamp.cpp constructor. - -2002-07-20 22:36 robert - - * Removed the rendundent variables in the ConvexPlanerPolygon as - these were - unused and unitialized. - -2002-07-20 22:36 robert - - * Added new debugging switch checkOnAllocations which is now on by - default - when compiling with debug build (under UNIX) and can be turned on - or off - with the OSG_MM_CHECK_ON_ALLOCATIONS environmental variable. - -2002-07-20 21:37 robert - - * Added some extra checks for memory initialization into the - osg::MemoryManager, - this is turned off by default, even in debug build. However you - can turn it - on by setting the OSG_MM_CHECK_FOR_UNINITIALIZED - -2002-07-20 18:27 robert - - * Umm... these should have already been commited, not sure why cvs - has just - popped these ones up... - -2002-07-20 16:24 don - - * Added logo plugin - -2002-07-20 15:01 robert - - * Fixed the char[] array length to fully encompass the strings - bring written - to them. - -2002-07-20 15:00 robert - - * Fixed the glTessCallback type to GLU_TESS_ERROR_DATA. - -2002-07-19 15:49 robert - - * Small bug fix to osg::BoundingBox::expandBy(x,y,z). - - Updated ChangeLog and NEWS for the release. - -2002-07-19 15:03 robert - - * Removed debugging cout's. - -2002-07-19 14:52 robert - - * Updated Doyxgen files. - -2002-07-19 14:19 robert - - * Updates to the Geometry to add more access methods, and updates - to Optimizer - to add the new merge primtives option. - -2002-07-19 13:49 robert - - * Added primitve merging into the osg::Geometry optimizer. - -2002-07-19 12:51 robert - - * Removed the cow.osg paramter for the osgparticle cow.osg in the - test scripts - -2002-07-19 10:18 robert - - * Added MatrixTransform.cpp. - -2002-07-19 09:10 robert - - * Changed the "reflect.rgb" path to "Images/reflect.rgb" to the - help find the - file required. - -2002-07-18 22:35 robert - - * Updates NEWS file for 0.9.0 release. - - Added default computeBound() implementation to osg::Drawable - which uses - a PrimtiveFunctor to compute the bounding box in a generic way, - that - will work for all Drawable subclasses that implement the - accept(PrimitiveFunctor&). - -2002-07-18 22:34 robert - - * Added osgoccluder to test scripts. - -2002-07-18 19:54 robert - - * Moved the 't' operation on texture modes across to use the new - StateSet::setTextureMode methods, this enables 't' to work once - more! - -2002-07-18 19:54 robert - - * Updated docs ready for the release. - -2002-07-18 19:41 robert - - * Moved get/setUserData from osg::Node into its superclass - osg::Object to - allow other subclasses to add their own custom data. - -2002-07-18 15:36 robert - - * Rewrote the osg::Drawable::AttributeFunctor and PrimtiveFunctor - to make - them more consistent with each other. This does mean an API - change, so - dependanct code in the OSG has been updated accordingly. - -2002-07-18 15:28 robert - - * From Randall Hopper, warning fixes for IRIX. - -2002-07-18 15:25 robert - - * From Brede Johansen, fix the TexturePaletteRecord::endian() to - handle - old flt versions (11, 12 & 13). - -2002-07-18 14:29 robert - - * From Brede Johansen - "I have found one bug in the ConvertFromFLT::visitFace() - function. In the - early days of the Flight format, before the LightPoint record - existed - they used face records with a light (-point) attribute." - -2002-07-18 14:20 robert - - * Rewrote osg:Statistics so that it is PrimitiveFunctor as is now - completely - decoupled from osg::Drawable. The Drawable::getStats() virtual - method - no longer exists. - - Updated the Viewer to use the osg::Statistics incarnation and - reformated stats - to clean it up. - -2002-07-18 10:55 robert - - * Added code into osg::LightSource so it correctly computes its - bounding - sphere, taking into account any subgraph below, and the light - itself - if it is not a infinite light. - -2002-07-18 10:49 robert - - * Updated the test scripts to include cube mapping example and - osglight demo. - -2002-07-18 10:41 robert - - * Removed repeated return transform in the visitDOF method. - -2002-07-18 10:38 robert - - * Added support for .sgi alias extension to the .rgb plugin. - -2002-07-18 10:06 robert - - * Fixed warnings. - -2002-07-18 09:55 robert - - * Converted the osg::Material::set/getShininess option to use the - standard - OpenGL range of 0.0 to 128.0 instead of the previous normalised - shiniess - range. This brings it inline with the way the rest of the OSG - uses a - 1 to 1 mapping to OpenGL. - - Converted the various loaders to use the new range, which is - almost all - cases was simply removing the /128.0f which was required before! - -2002-07-18 09:17 robert - - * Added const to LessGeometry functor to fix Win32 build. - -2002-07-18 00:55 robert - - * Fixed spelling mistake. - -2002-07-18 00:53 robert - - * Various fixes to the flt loader, and knock on changes to the - osgUtil::Optimizer - to better support removal of seperate osg::Geometry instances - where they - share the same state and bindings. - -2002-07-17 16:24 robert - - * Changed from a -> to *() when using the object pointed to by a - reverse iterator, - to fix problems with build under VS6/STLport. - -2002-07-17 12:21 robert - - * Fix for Win32 build. - -2002-07-17 10:00 robert - - * Several items of work related to adding a manual creation of - occluders - option to the osgoccluder demo. - - First the osgGA classes have been generalised a little to better - support - new GUIEventHandler subclasses. - - Second osgGLUT has a new option for registering a user defined - event handler, - the allows the application to add externally extra options to the - osgGLUT viewer. - - Third, the osgoccluder demo now works in two modes. The original - create - four occluder sides to wrap an loaded model, the second an - interactive - mode which allows the users to add occluders to the model by - pointing - to points and pressing 'a' to add a point, the 'e' to end the - occluder - polygon, polygons must be convex, planer and be defined in an - anitclockwise - order. To start the osgoccluder in this mode one simple runs it - with the - '-c' option. Run osgoccluder with no parameter to get a list of - options. - -2002-07-16 20:07 robert - - * Updated docs and added osgGA - -2002-07-16 19:21 robert - - * Updates from Bob Kuehne and Kristopher Bixler to remove the fink - dependency from the MacOSX build. - -2002-07-16 19:19 robert - - * Fix to DOF Record from Sasa Bistrovic - -2002-07-16 19:17 robert - - * Added SpotExponent to the spot light. - -2002-07-16 18:56 robert - - * Removed repeat line from Makefile. - -2002-07-16 15:43 robert - - * Bumped up the version numbers to 0.9.0 to reflect the upcomming - release. - -2002-07-16 15:28 robert - - * Rewrote the apply_imp template method so that it takes an - initialization - paramater. - -2002-07-16 15:13 robert - - * Fixes for MacOSX build from Bob Kuehne. - -2002-07-16 15:12 robert - - * Added the beginings of an osglight demo. - -2002-07-16 11:33 robert - - * Added TextureCubeMap.cpp to the .osg plugin Makefile. - -2002-07-16 10:20 robert - - * Fixed the new TemplateArray desctructor. - -2002-07-16 10:16 robert - - * Added protected destrcutor to TemplateArray. - -2002-07-15 22:23 robert - - * Added support to osgUtil::Tesselator to insert extra vertices and - other - attributes into an osg::Geometry node. Uses the new - osg::ArrayVisitor. - - Converted the osg plugin Geometry support to use the new UByte4 - class. - -2002-07-15 22:18 robert - - * Added osg::UByte4 class, which can be used to represent packed - colors. - - Changed osg::UByte4Array across to use the new osg::UByte4 class - rather - than a GLuint as do previously. - - Cleaned up some of the paramters in osg::Vec4. - -2002-07-15 13:39 robert - - * Removed the second texture from the prerender demo so as not over - complicate - the final image. - -2002-07-15 13:20 robert - - * Fixed the orientation of the osgreflect demo so that the - reflection plane - is orientated towards the viewer. - - Changed the lightmodel ambient level to 0.1,0.1,0.1 instead of - 0.0, so that - a small amount of ambient lighting is available to render back - surfaces. - The osgreflect and osgprerender suffered unexpected behaviors - because of - no lighting on the backfaces. - -2002-07-15 13:14 robert - - * Added a MatrixTransform to tilt the osgreflect demo so that the - reflection - plane is seen clearly. - -2002-07-15 13:13 robert - - * Fixed the optimization of the orientation conversion. - -2002-07-15 11:44 robert - - * Fixed memory leak in FieldReaderIterator.cpp. - - Updated the Make/osgtests.bat and Make/debugtests.bat scripts. - -2002-07-15 10:53 robert - - * Renamed hangglide to osghangglide - -2002-07-15 10:51 robert - - * Removed the old hangglide directory. - -2002-07-15 10:45 robert - - * Renamed osghangglide demo. - -2002-07-15 10:43 robert - - * Renamed the hangglide demo osghangglide to make it consistent - with the rest - of the demos. - -2002-07-15 10:03 robert - - * Added State::disableTexCoordPointersAboveAndIncluding( unit ) - method so that - all unsed texture units can be turned off simply within Drawables - such - as Geometry and GeoSet. This can be used to prevent bleed of - arrays from - one object to the next - which can cause crashes. - -2002-07-15 04:42 don - - * Changes for Sunos - -2002-07-14 21:49 don - - * Added Logos loader - -2002-07-14 20:51 robert - - * Fixed unused variable `osg::StateSet *osgStateSet' warning - -2002-07-14 20:48 robert - - * Added Drawable::AppCallback example and fixed a warning. - -2002-07-14 20:32 robert - - * Tweaked the color and aspect ratio settings of the pre rendering - bin. - -2002-07-14 16:26 robert - - * Fixed computeNearFar bug in CullVisitor::apply(Billboard&). - -2002-07-14 10:46 robert - - * Fixes to read/write of MatrixTransform/Transform. - -2002-07-14 08:35 robert - - * Copy and Paste bug where an for() loop was repeated within - itself, which - was introduced when moving across to use osg::Geometry. - -2002-07-13 21:17 robert - - * Fixed various warnings which were appearing under MacOSX. - -2002-07-13 20:31 robert - - * Conveted GeoSet to use the new state::set*Pointer/disable*Pointer - methods - to keep the current state valid. - -2002-07-13 14:16 robert - - * Support added for multitextured TXP files, sent in by Boris - Bralo. - -2002-07-13 02:46 don - - * put a typedef in public area of class for sun compilers - -2002-07-12 21:45 robert - - * Added missing MatrixTransform.cpp file - -2002-07-12 21:45 robert - - * added glutInit to osgparticle demo to fix crash under MacOSX. - -2002-07-12 21:42 robert - - * Added second texture to osgprerender demo to test out - multitexture in - osg::Geometry, it works!! - -2002-07-12 21:08 robert - - * Added MatrixTransform header and source. - -2002-07-12 19:50 robert - - * Changed the osgmultitexture demo so that it uses a TexEnv::BLEND - mode - with a colour. This lightens the resultant models. - -2002-07-12 18:14 robert - - * Added using namespace osgUtil to get round IRIX/Windows compiler - differences. - -2002-07-12 18:12 robert - - * Ported distribution across to use the new osg::MatrixTransform - and osg::BlendFunc - class instead of osg::Transform and osg::Transparancy - respectively. - -2002-07-12 14:25 robert - - * Have added a #define USE_DEPRECATED_API to include/osg/Export, - and - various - osg header and source files to optional compile in deprecated - parts of - the - OSG API. - - Have renamed osg::Transparency osg::BlendFunc to bring it in line - with - the - rest of the OSG's StateAttribute classes which are named after - their - OpenGL counterparts. include/osg/Transparency still exists and is - simply - a typedef to BlendFunc and is enclosed in a #ifdef - USE_DEPRECTATED_API - block. - - The matrix methods in the osg::Transform class have been - moved/replicated in - a osg::MatrixTransform sublcass from osg::Transform. The old - matrix - functionality is still present in the osg::Transform class but is - guard - by #ifdef USG_DEPRECATED_API blocks. One should now think of - osg::Transform - as being a Transform Node base class. MatrixTransform has all the - functionality of the original Transform class, so should be used - instead. - -2002-07-12 13:00 robert - - * Fix, sent in by Macro Jez, to the set of the camera with the - computed near and far plane, so that - it is only updated when _computeNearFar != - CullVisitor::DO_NOT_COMPUTE_NEAR_FAR. - -2002-07-12 10:30 robert - - * Added blend color to osg::TexEnv - -2002-07-12 09:16 robert - - * Fixed indenting. - -2002-07-12 08:48 robert - - * Addition of RoadRecords from Yefei He. - -2002-07-11 23:30 don - - * added -lpthread to the link line for Linux builds. Seems Red Hat - 7.3 - turns up undefined symbols without it. - -2002-07-11 21:08 robert - - * Fixes for Win32 build - -2002-07-11 18:33 robert - - * Added Makefile for osgmultitexture demos. - -2002-07-11 18:32 robert - - * Added #define for GL_TEXTURE0_ARB - -2002-07-11 16:12 robert - - * Added support for multitexturing to osg::State and added - osgmultitexture - demo which adds as spherical environment map using texture 1 to - any model. - -2002-07-11 14:32 robert - - * Moved the code referencing osg::BoundingBox::isValid() and - osg::BoundingSphere::isValid() across to use the valid() methods, - the later - being more consitent with other classes such as osg::ref_ptr<>. - -2002-07-11 12:57 robert - - * Fixes for win32 build - -2002-07-11 11:36 robert - - * Fixes for Win32 build - -2002-07-11 11:33 robert - - * Fixed bug in disabledTexCoordPointer where a '>' was being used - where it - should have been a '>='. - -2002-07-11 11:08 robert - - * Fixed the pathname for the osgprerender demo. - -2002-07-11 08:28 robert - - * changed unsigned int/short/char* references to - GLuint,GLushort,GLubyte respectively. - -2002-07-10 22:38 robert - - * Updates for new use of GLushort instead of osg::ushort in GeoSet - index pointer. - -2002-07-10 22:33 robert - - * Tidied up the types in osg::GeoSet so that the index pointers use - GLushort - and GLuint to get round compile issues under MacOSX. - -2002-07-10 20:30 robert - - * Updates to osg::Drawable::AppCallback and osgprerender demo. - -2002-07-10 15:35 robert - - * Added app callback to Drawable. - -2002-07-10 13:33 robert - - * Updates to osgprerender to support use of rendering to an image, - rather then - just a texture. - -2002-07-10 11:26 robert - - * Rejigged the line endings. - -2002-07-10 11:22 robert - - * Ported all the demos and loaders across to use the new - multitexturing API. - -2002-07-10 09:32 robert - - * Added Yefei He's RoadRecords to the flt loader, these records - will be - ignored by the loader, but will allow the loader to skip over - them and - continue reading the rest of the file correctly. - -2002-07-10 09:14 robert - - * Updates from Macro to support the new multitexture API, and - improve - bounding box computation. - -2002-07-10 09:04 robert - - * Added setCurrentRenderBin() method. - -2002-07-09 19:23 robert - - * Implemented more code for the new osgprerender demo. - -2002-07-09 13:31 robert - - * Updates to the osgprerender code. Still doesn't do anything - interesting yet.. - -2002-07-09 13:17 robert - - * Added new demo osgprerender to demonstrate how to prerender a - scene and use - the result in the main rendering for special effects. - -2002-07-09 10:33 robert - - * Warnings fixes for IRIX - there was a missing "const" in the - sameKindAs(.) method. - -2002-07-09 10:23 robert - - * Fixes for IRIX build. - -2002-07-09 09:35 robert - - * Implemented most of the changes required for supporting - multitexturing in - the osg::State/osg::StateSet/osg::StateAttribute and related - classes. - -2002-07-08 09:42 robert - - * Added Mike Connell to authors list. - -2002-07-07 22:12 robert - - * Added comment to reflect Clay Fowlers findings on getting VS to - compile - without the Vector wrapper classes. - -2002-07-07 22:08 robert - - * Added winsock32 libs to osgcluster demo. - -2002-07-07 20:16 robert - - * Rehashed the osgcluster project file to see if it solves the - failure under - windows. - -2002-07-07 17:42 robert - - * Fixes for Windows build. - -2002-07-07 17:40 robert - - * Added include to __DARWIN_OSX__ build. - -2002-07-07 17:30 robert - - * Did a to_dos on osgcluster.dsp since it was original saved with - unix file endings. - -2002-07-07 14:40 robert - - * Work on supporting multitexturing in - State/StateSet/StateAttribute/Geoemtry. - -2002-07-04 18:47 robert - - * Added VisualStudio files for Win32 port of osgcluster demo. - -2002-07-04 18:41 robert - - * Added support for Win32 broadcast and recience over lan. Changes - sent in - by Michael Gronager. - -2002-07-04 14:49 robert - - * Used typedef's for std::vector<>'s used inside DrawElements - implementations. - - Added deperecated comment to osg::GeoSet header. - -2002-07-04 14:23 robert - - * Added osgGA to the MIGNW makedefs. - -2002-07-04 09:49 robert - - * Fixed the TriangleFunctor QUAD_STRIP code so that it produces - consistent - results. - -2002-07-03 20:33 robert - - * Spotted by Neil Salter - missing transform. in the Transform copy - operator. - -2002-07-03 11:16 robert - - * Added osgUtil dependency to the flt project. - -2002-07-02 19:53 robert - - * Reimplemted the osgUtil::SceneView::setCalcNearFar() - functionality to bring - it inline with the CullStack/CullVisitor implementation. Also - added the - setSmallFeatureCullingPixelSize() method and wired them up inside - SceneView.cpp so they set the corresponding CullVisitor - paramters. - - Intergrated pfImage copying change in the Performer plugin, - submission sent in by Ulrich Hertlein - -2002-07-02 15:01 don - - * -n32 and -64 entries were reversed in makedefs - -2002-07-02 06:28 don - - * osgcallback required fixes for new osg::Drawable::CullCallback - -2002-07-02 06:22 don - - * Added support for CullVisitor to contain a osg::State. This used - when - cull Callbacks require the contextID for doing operations on - texture - objects, for example. Modified CullVisitor SceneView and Drawable - -2002-07-01 14:40 don - - * More 64 bit build specifics in IRIX makedefs file - -2002-07-01 14:20 don - - * Removed -ldl from makedefs for IRIX - -2002-06-28 22:42 robert - - * Rewrote the osgUtil::Tesselator so that it is easier to use, and - can also - easily retesselate osg::Primitive::POLYGONS found in Geometry - objects. - Added calls to the tesselate to the lwo and flt loaders. - -2002-06-28 20:54 robert - - * A couple fixes to remove Performer runtime warnings. - -2002-06-28 16:25 robert - - * Fixes from Ulrich Hertlein to build of pfb plugin. Small mods to - these - by Robert. - -2002-06-28 14:42 robert - - * Added to the osggeometry demo. - -2002-06-28 11:11 robert - - * Rewriting the osggeomtry demo to illustrate more primitive types. - -2002-06-28 08:47 robert - - * Removed commas from the end of enum lists. - -2002-06-28 08:36 robert - - * Change =0 to osg::Vec2Array::iterator() in .obj loader to get - round warnings - under gcc3.0.x - -2002-06-27 20:29 robert - - * Ported the flt plugin across to use osg::Geometry, it still uses - a GeoSet - internally, and I will remove this after some futher work. - -2002-06-27 15:18 robert - - * Added SG_EXPORT which was missing. - -2002-06-27 13:15 robert - - * Converted the template DrawElements primitive class into three - seperate - non templated classes - UByteDrawElements, UShortDrawElements, - UIntDrawElements. - -2002-06-27 10:50 robert - - * Moved the AttributeArray and Primitive classes into their own - header and - source files. - -2002-06-27 09:56 robert - - * Removed the test aginst a iterator as a bool. - -2002-06-26 21:11 robert - - * Added comment to explain #ifdefs for member templates. - -2002-06-26 21:10 robert - - * Added #idef to Export to add check for support for member - templates. - -2002-06-26 21:08 robert - - * Ported LWO loader across to use osg::Geometry. Work not quite - complete, - as we need to retesselate any concave polygons that can exists in - these - datasets. - -2002-06-26 17:48 robert - - * Added templated constructor to TemplateArray & DrawElements - template to - handle VisualStudio7.0 build. - - Ported 3DS across to use osg::Geometry instead of osg::GeoSet. - -2002-06-26 14:34 robert - - * Ported pfb, txp and obj loaders across to use osg::Geometry. - -2002-06-26 10:28 robert - - * Ported various demos and support classes over to use the new - osg::Geometry class - thus removing dependancy on osg::Geoset from most of the OSG, - only loaders - left to port now. - -2002-06-25 20:47 robert - - * Fixes for Cygwin build from Norman Vine. - -2002-06-25 20:36 robert - - * Fix to Quat::slerp so that it interpolates along the shortest - path. - -2002-06-25 20:27 robert - - * Added osg::Drawable::PrimitiveFunctor and TriangleFunctor - subclass for - querrying the primitive data inside Drawables. Moved various - support - classes over from being osg::GeoSet based to osg::Geometry based. - -2002-06-24 21:44 robert - - * Fixed osgText::Text::DrawModeType::ALIGNEMENT spelling mistake, - now - is ALIGNMENT. - -2002-06-24 21:37 robert - - * Checked in .osg support for the new osg::Geometry class. - -2002-06-24 12:53 robert - - * Added required std:: to front of endl to fix Win32 build. - -2002-06-23 21:43 robert - - * Added conversion to osg::GeoSet::converToGeometry() utility to - help the - migration to and testing of the new osg::Geometry class. - -2002-06-22 15:46 robert - - * Compile Fixes for Win32. - -2002-06-21 19:24 robert - - * Temporarily removed the references to multi-texturing calls. - -2002-06-21 16:45 robert - - * Added new osggeometry demo to test the work on the new - osg::Geometry Drawable. - -2002-06-21 15:14 robert - - * Bug fix to the size calculation of bmp images, changed both the - reading and - writing of images. - -2002-06-21 07:48 robert - - * Fixed constructor for TemplateArray(const TemplateArray& t,const - CopyOp& copyop). - -2002-06-20 19:54 robert - - * Addd new experimental osg::Geometry Drawable which will - eventually replace - GeoSet. Currently doesn't draw anything, and is very much in the - early design stages. - -2002-06-20 18:17 robert - - * Mods to MemoryManager to make the optimized build produce dummy - implementations for all the public functions found in the header, - this should prevent problems when not compiling in the - MemoryManager - under IRIX 64 build. - -2002-06-19 20:38 robert - - * Fixed incorrect naming of ConvexPlanerOccluder. - -2002-06-19 18:45 robert - - * Added support for reading the new OSG_MAX_TEXTURE_SIZE - environmental variable - inside the osg::Image::ensureValidSizeForTexturing() method. The - smallest of GL_MAX_TEXTURE_SIZE and OSG_MAX_TEXTURE_SIZE is used - for the - final max texture size. - - This new env. var. allows users to deliberate cap the size of - their textures - so they can test whether their models are limited by texture - memory. If - reducing the max texture size increases performance then you are - limited - by texture memory! - -2002-06-19 16:06 robert - - * Added support for reading and writing OccluderNode's to the .osg - file format. - -2002-06-19 15:18 robert - - * Added computation of the bounding volume of osg::OccluderNodes. - - Added support for - osg::BoundingSphere::expandBy*(osg::BoundingBox) and have - added osg::BoundingSphere/Box::valid() which deprecates - isValid(), this - is to be more consistent with other classes in the OSG. - -2002-06-19 10:19 robert - - * Added support for occlusion of holes in occluders, and cleaned up - the - interface to ShadowVolumeOccluders. - -2002-06-19 08:34 robert - - * Changed the osg::LightSource so its Light attribute is now - generalised to - be a StateAttribute. This allows alternative implementations of - Lights - other than the standard osg::Light. - -2002-06-18 22:35 robert - - * Added support for occluders occluding other occluders, which - helps reduce - the number of occluder that will be used in cull traversal to - only the - ones that will be effective. Note. Holes in occluders arn't - handled in - this occluder occlusion test, will implement this later. - -2002-06-18 10:18 robert - - * Clean ups for the Windows build. - -2002-06-18 09:09 robert - - * Added the length argument to a std::string argument, under Linux - it - compiled with the default value npos, under Windows it broke the - build, - add the npost excpilicity should get round this difference in - implementation. - -2002-06-17 21:50 robert - - * Rewrote the FileUtils support for data and library file paths, - moving the - storage of the path lists into osgDB::Registry, and changed the - data - structor from a char* to a std::deque. Changed a names of couple - of the - convinience functions in osgDB/FileUtils to better reflect the - two - public FilePathList's - DataFilePathList and the - LibraryFilePathList. - - Added support into the osgDB::Registry::readNode/Image/Object - methods - for pushing and popping the path of the current file being - loaded. - -2002-06-17 09:10 robert - - * Fixes to the occluder culling code to properly disable occluders - to prevent - self occlusion. - -2002-06-15 20:57 robert - - * Fixes for Visual .NET and Mingw builds, and fix MacOSX notify() - crash. - -2002-06-15 12:14 robert - - * Added computation of occluders volume scaled relative to the - frustum volume, - all volumes computed in eye coords. - -2002-06-14 16:28 robert - - * Added computation of the occluders volume, scale it to a ratio of - the - frustum. - -2002-06-14 14:50 robert - - * Added occluder hole test code into the osgoccluder demo. The code - works, - but I've commented it out right now as the Geode physically - representing - the occluder doesn't yet have a hole in it - just a cosmetic - thing. - -2002-06-14 13:49 robert - - * Refined the CollectOccluderVisitor so that it checks the subgraph - below - a node contains occluders before traversing. - -2002-06-14 11:27 robert - - * Improvements to the plane clipping code. - -2002-06-14 08:45 robert - - * Further updates to the occlusion culling code, also adding - missing OccludeNode - file the .osg plugin. - -2002-06-13 23:46 robert - - * Further work on occlusion culling. - -2002-06-13 19:39 don - - * removed the use of gettimeofday for 32 bit architectures... - -2002-06-13 19:34 robert - - * Added #include so that it will compile properly - regardless - of include order. - -2002-06-13 19:10 robert - - * Added -osgGA to the Makefile list. - -2002-06-13 18:27 robert - - * Merge Randall's changes. - -2002-06-13 16:21 robert - - * Further work on Occlusion Culling. Most of work is complete, just - debugging - required now. - -2002-06-12 16:23 robert - - * Removed inappropriate inline keyword which was breaking the IRIX - build. - -2002-06-12 15:43 robert - - * IRIX build fix. - -2002-06-12 14:57 robert - - * Changes for MacOSX build, send in by Bob Kuehne. - -2002-06-12 14:46 robert - - * Fixed the osgDB::getFilePath, osgDB::getSimpleFileName() and - osgDB::getStrippedName() - so that they check for both unix style '/' and windows style '\' - slashes in - file names. - -2002-06-12 13:54 robert - - * Fix for renaming of ShadowOccluderVolume to ShadowVolumeOccluder. - -2002-06-12 09:22 robert - - * Further work on occludision code. - -2002-06-11 19:52 robert - - * A little more work on Occlusion culling. - -2002-06-11 18:41 robert - - * Checked in Macro Jez's additions to osgText to support .osg IO - make it - a fully functioning NodeKit. - - Also reimplement notify() to try an prevent a crash which has - been caused by - to objects in notify.cpp being initiliazed twice, the second time - the auto_ptr - holding the dev/null ofstream was being initilized to 0. - -2002-06-10 13:50 robert - - * Added osg::CollectOccludersVisitor which is a helper class for - finding active - occluder in the view frustum, to be used as pre cull traversal. - -2002-06-10 11:21 robert - - * Created new helper class osg::CullStack to handle the - accumulation of projection, - modelview and culling sets, to be used during travesal of the - scene graph, such - as the cull traversal. - -2002-06-09 13:10 robert - - * Checked in migration from osgUtil based GUIAdapter code to Neil - Salter's - osgGA (Gui Abstraction). This may break users code, but all it - should - require to fix the builds should be a change from - osgUtil::CameraManipulator (etc) to osgGA::CameraManipulator and - include Calendar - -2002-05-22 12:19 robert - - * Removed the usage of memory manager from the debug windows build. - -2002-05-22 12:01 robert - - * Added osgUtil::CullVisitor::getCurentRenderGraph() and - getRootRenderGraph() - methods which replace getRenderGraph(). Small changing of order - of push/pop - of StateSet's in SceneView to clean things up. - -2002-05-22 10:04 robert - - * Changed the public osg::State::applyMode() and applyAttribute - methods so that - they dirty the associated state, this helps keep the OpenGL state - valid once - out of local drawing routines. - -2002-05-22 08:50 robert - - * Updates for Doxygen and osgGA headers from Neil. - -2002-05-21 19:34 robert - - * Typo and grammer fixes to introduction.html from Neil Salter. - -2002-05-21 09:16 robert - - * Renamed osg::State::getCurrentMode/Attribute(..) to - getLastAppliedMode/Attribute() to make it more consistent with - the internal - workings of osg::State. - -2002-05-21 08:59 robert - - * Added osg::State::getCurrentMode and - osg::State::getCurrentAttribute(). - - Aded osg::clampAbove(..) and osg::clampBelow() template functions - to - include/osg/Math. - -2002-05-21 00:58 don - - * Modified instrules so that the functionality of instlinks is that - system links are not made to point to links, rather the real - files. So - links installed on a system are pointing to platform specific - files rather - than links that may be pointing to files of the wrong platform - type. - -2002-05-18 08:39 robert - - * Various API updates to suppor light points developments better, - but should also - benifit other extensions to rendering. - -2002-05-18 08:37 robert - - * Made trilinear filtering the default mode for osg::Texture's. - -2002-05-18 08:35 robert - - * Modified the setting of min and mag texture filter modes to - produce higher - quality mip maps. - -2002-05-15 19:58 robert - - * Fixed problem with orhographic projections due to a bug in - CullVisitor - where it automatically resets the near and far to the values - calculated - during cull traversal. The maths for converting the computed far - and near - into clip coordinates was wrong, fixed this and the problem goes - away. - -2002-05-15 11:27 robert - - * Exposed the CullVisitor::setComputeNearFarMode - -2002-05-14 10:20 robert - - * Fixes to new flipVertical/flipHorizontal. - -2002-05-14 09:34 robert - - * Added osg::Image::flipHorziontal and flipVertical, submitted by - Brede Johansen. - -2002-05-13 21:19 robert - - * Added new template versions of a commonly used maths functions. - -2002-05-13 07:30 robert - - * Reverted change to use decal flag. - -2002-05-10 19:30 robert - - * Added image plugin library defs for IRIX, submission from Randall - Hopper. - -2002-05-10 15:42 robert - - * Fix for finding windows fonts. - -2002-05-09 22:48 don - - * Small std::cout fix - -2002-05-09 19:02 robert - - * Fix compile problems with osgGA under Windows. - -2002-05-09 18:59 robert - - * Added pixelSize method to CullVisitor, and converted small - feature - culling to use the pixelSize method instead of a ratio of radius - to - distance from eye point. setSmallFeatureCullingPixelSize() method - has also been added to provide the user with finer control of - small - featyre culling. - -2002-05-09 10:31 robert - - * Added new osgGA - GUI Adapter library submitted by Neil Salter. - This will - replace the current GUI adapter code inside osgUtil. - -2002-05-08 07:32 robert - - * Addded missing ClipNode references to osg.dsp. - -2002-05-07 11:44 robert - - * Fixed osg::Camera::getModelViewMatrix() so that it handles the - EYE_TO_MODEL - transform correctly. - - Fixed warning in ClipNode.cpp. - -2002-05-07 11:12 robert - - * Support added for OpenFlight switch nodes, submission from Brede - Johansen. - -2002-05-07 11:08 robert - - * Added default values in the constructors of Vec2,Vec3,Vec4 and - Quat - default constructors. - -2002-05-07 02:51 don - - * Fixed rpath nonsense in makedefs for Irix - -2002-05-03 22:47 robert - - * Added osg::Node::getValidStateSet(). - -2002-05-03 16:47 robert - - * Added support for the managing the StateSet above a LightSource - node, - and made it an osg::Group so that it can be used a decorator - above a - scene. - - Added osgclip demo to the test suite. - -2002-05-02 22:02 robert - - * Made osg::Viewport::getViewport(..) const. - -2002-05-02 00:14 robert - - * dded osg::ClipNode class for managing OpenGL clipping planes, and - osgclip demo. - -2002-04-26 16:01 robert - - * Updated the AUTHORS file to mention the original authors of the - terrapage - loader. - -2002-04-26 15:21 don - - * Testing .dsp and .dsw as binary files - -2002-04-26 13:49 robert - - * Added mention of MemoryManager to NEWS file. - -2002-04-26 13:45 robert - - * Updated docs. - - Fix to pfb Makefile for missing $. - -2002-04-26 12:06 robert - - * Fix for CisualStudio6.0 build. - -2002-04-26 08:25 robert - - * Fixed remaining MAX_PATH usuage, replacing it with the new - DX_MAX_PATH, this - should solve compile problems under VisualStudio .NET. - -2002-04-26 08:16 robert - - * Qarning fixes, and updated the date in NEWS to reflect todays - release of 0.8.45 - -2002-04-25 22:09 robert - - * Fixes for IRIX build. - - Fix for a warning under VisualStudio.NET. - -2002-04-25 22:07 robert - - * Cygwin build fixes. - -2002-04-25 21:31 robert - - * Fix for window build. - -2002-04-25 15:54 don - - * Added small blurb for Solaris... - -2002-04-25 13:26 robert - - * Ran the spell checker through the new documentation. - -2002-04-25 12:35 robert - - * Updated change log for 0.8.45 release. - -2002-04-25 11:37 robert - - * Added to the .plan. - -2002-04-25 11:30 robert - - * Fixes to .obj plugin from gideon. - -2002-04-25 11:29 robert - - * Added Bob to the AUTHORS list for his efforts on MacOSX. - -2002-04-25 10:46 robert - - * A more verbose version of the test script, using each and more - memleaks.log - to print out progress and report any memory leaks which have been - logged. - The later will only occur with a debug build. The use of echo and - more - makes this version osgtest.bat not portable to windows - unfortuntately. - -2002-04-25 10:14 robert - - * Added another bullet point to the plan. - -2002-04-25 10:10 robert - - * Removed these old files that do little in the context of the - current - OpenSceneGraph disitribution apart from clogs things up! - -2002-04-25 10:07 robert - - * Add doc/plan.html and links to it from the rest of the docs. - -2002-04-25 08:54 robert - - * Fixed compile problem under VisualStudio. - -2002-04-25 07:47 robert - - * Fixed relative path for image. - -2002-04-25 07:29 robert - - * Updated demos documentation. - -2002-04-25 06:27 robert - - * Fixed spellings in introduction.html, and update osgtext and - osgviews images. - -2002-04-25 05:43 robert - - * Added back in as binary file. - -2002-04-25 05:42 robert - - * Temporily removing to change it to a binary file. - -2002-04-24 20:57 robert - - * Merged Bob's changes for MacOSX build. This change is simply the - addition of - GLUT_LIB to the link line. This change should be removed once we - fixed the - OSG_LIBS so that it doens't include osgGLUT, however, I'll leave - this for another - day... - -2002-04-24 20:36 robert - - * Fix for MacOSX build, making sure that the compresed tex image is - defined - on all builds by removing the #ifdef's but then changing the name - used - in the typedef so it doesn't collide with local implementations. - -2002-04-24 20:32 robert - - * Updated doc++ docs once more. - -2002-04-24 20:24 robert - - * Removed CullViewState from the distribution, moved - CullViewState::CullingMode - into CullVisitor, and then removed all references to - CullViewState from other - parts of the scene graph. - -2002-04-24 20:13 robert - - * Updateds doc++ documention. - -2002-04-24 20:04 robert - - * Changes for Mac OSX build, sent in by Bob Kuehne - -2002-04-24 14:52 robert - - * Removed the use of __FUNCTION__ from MemoryManager to remove - problems with - VisualStudio .NET compile. - - Added support for OSG_NOTIFY_LEVEL and OSG_FILE_PATH into the - relevant getenv - routines. This compliments the exisiting OSGNOTIFYLEVEL & - OSGFILEPATH which - are deprecated but still supported. The OSG_ version are more - consistent - with the rest of the env variables used in the OSG. - -2002-04-24 14:14 robert - - * Updates to the documentation. - -2002-04-24 13:08 robert - - * Moved doc/OpenSceneGraphBanner_Distribution.jpg to doc/images/ to - tidy up - the doc directory. - -2002-04-24 13:05 robert - - * Futher work on documentation - added seperate context.html, a new - demos.html - directory and moved the previous doc/index.html to - doc/documentation.html. - -2002-04-24 08:50 robert - - * Fix for the Cygwin build related to the new FileUtils_Unix not - using the - Windows PATH environmental variable for searching for libraries. - Sent in - by Norman Vine. - - Reoder of the makedefs/makedirdefs to fix Mac OSX compilation. - Sent in by - Bob Kuehne. - -2002-04-23 22:04 robert - - * Updated the docs on compiling under Windows. - -2002-04-23 15:05 robert - - * Added OSG_USE_MEMORY_MANAGER to Windows debug build - -2002-04-23 15:01 robert - - * Fixed compilation problem associated wirh moving FileUtils source - out into - seperate files. - -2002-04-23 14:58 robert - - * Fixed ordering of paramters in osg::Image constructor to remove - warning. - -2002-04-23 13:59 robert - - * Seperated out the platform specific implementions of the file - search/access - routines - we now have FileUtils_Windows.cpp, FileUtils_Mac.cpp - and - FileUtils_Unix.cpp. The FileUtils_Mac.cpp is based on code - submitted - by Josh Portway and add uses the carbon API for searching for - files. - -2002-04-23 13:12 robert - - * Addtional details on the OpenSceneGraph and support. - -2002-04-23 11:03 robert - - * Changed the Windows gauard around so that it only works for - VisualStudio - and not Cygwin/Mingw. - -2002-04-23 11:02 robert - - * Added a pragma to get round a VisualStudio warning that I - couldn't fix - in any easy way. - -2002-04-23 10:55 robert - - * Added an imageList.clear() to osgbillboard so that its memory - would be - cleared before entering the viewer main loop, this removes - memorymanager - a reported memory leak due to the viewer using exit() which - bypasses - the clean up on main itself. - - Added an osgNew to the ReaderWriterRGB.cpp to aid detected of - tracking of - memory leaks. - -2002-04-23 10:34 robert - - * Fixed compile problems under VisualStudio w.r.t the new additions - for - precompiled mipmaps. Changed std::size_t to unsigned int. - -2002-04-23 09:06 robert - - * Replaced texture compression extension define so that its #ifndef - guard used - GL_ARB_texture_compression as natured intended. - -2002-04-23 08:40 robert - - * Updated ChangeLog in preperation for the 0.8.45 release. - -2002-04-23 08:34 robert - - * Added to the NEWS file. - -2002-04-23 08:29 robert - - * Fixed warning in swapBytes, simple addded unsigned to the int - loop count, - since sizeof() is always an unsigned int. - -2002-04-22 23:54 don - - * Impleneted byte swap for use between machines with different - endians. - -2002-04-22 21:45 don - - * Fixed couple of small errors caught by Solaris compiler - -2002-04-22 21:18 robert - - * A couple of API additions to osg::ClippingVolume, osg::Matrix and - osg::Plane - sent in by Mike Connell. - -2002-04-22 21:13 robert - - * Integrated submission from Boris Bralo: - - Supported added for precompiled mip maps stored in osg::Image, - and read - by osg::Texture. - - Updates to TerraPage loader for support of compressed texture - images and - precompiled mip maps. - -2002-04-22 19:41 robert - - * Added code in hangglide to move the earth sky around with the eye - point, - use osg::Transform::ComputeTransformCallback. - -2002-04-22 14:54 robert - - * Added support for compute the near and far planes and then - applying to - the current projection matrix into CullVisitor itself. Similar - code to - support this has been moved out of SceneView completely. - - Added Matrix:: infront of the definition of the static - osg::Matrix::inverse(Matrix) method which was missing. - -2002-04-22 09:55 robert - - * Slight changes to FAQ to make a little more relevant, it really - needs - a total re-write though. - -2002-04-22 09:50 robert - - * Added test script which runs all the demos in the OSG to make - sure they - run ok. User has to verify they are correct visually. - -2002-04-22 09:37 robert - - * Cleaned up the handling of the Viewport with - osg::SceneView/RenderStage - and CullVisitor so that the Viewport is now managed as part as - the global - stateset so that it can be pushed and popped like the rest of - state without - problems. This makes it easier to have multiple viewports within - one - scene graph. - -2002-04-22 09:31 robert - - * Fixes the .mlt loading from Ben Discoe. - -2002-04-21 22:05 robert - - * Updated TODO list. - - Converted AnimationPath so it is now subclassed from - osg::Transform::ComputeTransfromCallback() - so that it can be directly attached to the scene to move objects - about. - - Changed the osg::SateSet::setGlobalDefaults() so that is sets - GL_DEPTH_TEST - to ON. - - Added guards and creation of default helper classes in - osgGLUT::Viewer and - osgUtil::SceneView so that sensible defaults are used when no - settings - are used of - osg::State/StateSet,osgUtil::RenderStage/RenderGraph/CullVisitor. - -2002-04-21 21:53 robert - - * A second try at commit these updates to docs. - -2002-04-21 10:12 robert - - * Fixes to spelling mistakes in NEWS file. - -2002-04-21 10:11 robert - - * Updated Versions, and NEWS file to reflect impending release of - 0.8.45. - -2002-04-21 09:51 robert - - * Updates to docs. - -2002-04-20 20:35 robert - - * Updated the docs. - -2002-04-20 15:49 robert - - * Reorginising the docs so that data source, dependencies and - installation - istrucions sit in the doc directory as html files. - -2002-04-19 19:55 robert - - * Changed the implementation of - osg::Quat::makeRotate(heading,pitch,roll) so that - it conforms to the OpenFlight convention of euler angles. Added - documentation - into Matrix and Quat to reflect this. - - Added so test code to osgcube for stress testing memory - allocation and deallocation. - - Commented out the registering of app and cull callbacks in - osghud. - -2002-04-19 16:22 robert - - * Fixes for Max OSX build from Bob Kuehne. - -2002-04-19 16:21 robert - - * updated the introduction.html, still not complete but getting - there. No edited - for typo's yet :-) - -2002-04-19 16:00 don - - * Fixed an assignment that should have been a test - -2002-04-19 15:34 don - - * Updated some files sent by Boris Bralo for the txp loader. - -2002-04-19 15:02 don - - * Fixed small typo in src/osgUtil/RenderStage.cpp - -2002-04-19 15:00 don - - * Added Bob K's fix - -2002-04-18 23:30 don - - * Fixed small typo in SceneView::setDefaults(). - -2002-04-18 21:29 robert - - * Added introduction html file. - -2002-04-18 16:40 robert - - * Updated stereo documentation to include details about horizontal - and vertical - split stereo. - -2002-04-18 16:08 don - - * Changed make makeosx to make - -2002-04-18 15:37 don - - * changed LIBEXT to LIB_EXT for Darwin - -2002-04-18 15:16 don - - * Added -lXi to the Linux X_LIBS - -2002-04-18 10:38 robert - - * Fixed VisualStudio .NET warnings in TXP plugin. - -2002-04-18 09:57 robert - - * Fixed memory leak in FTGL associated with the function of - gluTesselate. - - Fixed a warnings in the DW plugin. - -2002-04-17 20:04 robert - - * Warning fixes for VisualStudio - -2002-04-17 14:18 robert - - * Fixed type in location of redhat glu patch. - -2002-04-17 11:36 robert - - * Fixes for warnings under VisualStudio - -2002-04-17 11:29 robert - - * Added a gset->computeNumVertices() which was missing, this was - causing models - to disappear after application of tri stripping. - -2002-04-17 09:48 robert - - * Changed the osg::Billboard comution so that it get passed in the - current - modelview matrix rathan than an identity matrix, this matrix is - then modified - locally. - - Changed the osg::Matrix set methods so they are inline. - - Added a few useful comments to MemoryManager.cpp to help people - understand - the assert's better. - -2002-04-16 21:39 don - - * Changed Linux makedepend flag from -MM to -M - -2002-04-16 21:08 robert - - * Fixed the seveal hunderd warnings in TerraPage loader! - -2002-04-16 15:44 robert - - * Fix to TXP plugin to handle to new osg::Image method naming. - -2002-04-16 15:31 robert - - * Added clearing of seperation band between horizontal/vertical - split stereo - areas. - -2002-04-16 15:21 don - - * Added makedirdefs via a request from Bob Kheune. This allows us - to edit - the DIRS cruft in a single file in the Make directory instead of - having - to edit multiple files. Also edited Makefiles that needed to - include - this file. - - Also cleaned up txp loader to compile with SunOS. This needs to - be retested - on other platforms. - -2002-04-16 14:57 robert - - * Added osg::Image::setPixelFormat(..) and - setInternalTextureFormat(), and - renamed osg::Image::pixelFormat(), - internalTextureFormat(),dataType() to - osg::Image::getPixelFormat() etc. These changes are to bring it - more - into line with the style of the rest of the OSG. - - Updated the rest of the distribution to take account for these - names changes. - -2002-04-16 14:09 robert - - * Purge on warnings under Linux. - -2002-04-16 11:41 robert - - * Removed the cached matrices from osg::Camera, so that - osg::Camrea::getModelViewMatrix() and - osg::Camera::getProjectionMatrix() are - calculated on the fly. Removed various redudent methods, - including the - project and unproject methods which are better supported within - osgUtil::SceneView. - - Added a computeWindowMatrix() method to Viewport, to make it - easier to construct - a MV*P*W matrix for converting local coords into screen coords - and visa versa. - Converted SceneView and CullVisitor to use this new method. - -2002-04-16 11:36 robert - - * Updates to the flt plugin from Brede Johansen. - -2002-04-16 08:01 robert - - * Warnings fix. - -2002-04-16 05:29 don - - * Fixed some boo-boos in makerpms for building demo source files... - -2002-04-16 04:13 don - - * Fixed Solaris 'make distribution' for demo source. - -2002-04-16 03:24 don - - * fixed a few problems that didn't work right with installing demo - source - on platforms other than Solaris. - -2002-04-15 21:48 robert - - * Compile fixes for IRIX, submitted by Randall Hopper. - -2002-04-15 21:03 robert - - * Added support for OSG_USE_MEMORY_MANAGER into Windows build. - -2002-04-15 19:12 robert - - * Added Makefile.inst which was not added ealier with the check in - osghud. - -2002-04-15 14:45 don - - * Added Daniel Sjölie's request to use a default complier (CXX) in - makedefs. - Doing this only for Linux - -2002-04-15 14:29 robert - - * Fixed error in project w.r.t name of source file. - -2002-04-15 14:21 robert - - * Renamed Demos/osgtext/osgtext.dsp back to - Demos/osgtext/osgtextdemo.dsp - -2002-04-15 13:15 robert - - * Added CullCallbacks to osg::Node, and osgUtil::CullVisitor. - -2002-04-15 11:03 robert - - * Added osghud, a head up display demo. - -2002-04-15 10:59 robert - - * Fixes to warning in Win32 build - -2002-04-15 08:51 robert - - * Fixed the copying of LongIDRecord's strings in flt plugin so it - now uses the record length-4, - to create the string. Also Removed some in appropriate comments - from LongIDRecord, since they - were obvious and hang over of a copy and paste job on the code. - -2002-04-15 08:09 robert - - * Fixed display problem with the HUD in osgtext which was caused by - the - new mods to SceneView not honouring the z near/far calculation - flag. - -2002-04-14 22:21 robert - - * Added support for specificing the eye mapping and seperation - between the - horizontal and veritical split stereo modes. - - Renamed osg::Image::ensureDimensionArePowerOfTwo() to - osg::Image::ensureValidSizeForTexturing(). - -2002-04-14 20:30 robert - - * Used a faster method for checking for power of 2 on the image - dimensions and - did a check on forcing 16bits textures in osg::Texture (which - speeds things - up on the Umea model which is performance bound by texture - memory.), the - later check is now commented out. - -2002-04-14 13:41 robert - - * Fixes to osg::Image::createImage(..), and addition of code to - Viewer.cpp to support - output of screen snapshot via 'O'. - -2002-04-14 12:54 robert - - * Addition of write .bmp to the BMP plugin. - -2002-04-14 12:53 robert - - * Fix for crash in SceneView introduced when ungarded use of - _dispalySettings - pointer was added, a if (valid) guard has been added to solve the - problem. - -2002-04-13 22:19 robert - - * Clean up for VisualStudio build - -2002-04-13 18:53 robert - - * Added a space into the project name because it was confusing - VisualStudio. - -2002-04-13 18:45 robert - - * Further changes to VisualStudio.dsw for dependancies. - -2002-04-13 11:36 robert - - * Added dependanices into osgPlugins. - -2002-04-13 11:08 robert - - * Fixed compile problem related to missing includes (a result of - removing include of Camera..) - -2002-04-13 10:29 robert - - * Added dependancies to Demos. - -2002-04-13 10:18 robert - - * Saved workspace from VisualStudio to follow up on missing demo - dependancies - -2002-04-13 09:28 robert - - * Added Core infront of the names of the project dependancies. - -2002-04-12 18:06 robert - - * Further work on cleaning up SceneView and Camera, in particular - moving strereo - support out of Camera and into SceneView. Also enabled the option - to set the - projection and modelview matrices directly on SceneView thereby - removing the - dependance on osg::Camrea to control the view of the scene. - -2002-04-12 14:05 robert - - * Fixes for Win32 build. - -2002-04-12 13:06 robert - - * Futher updates to VisualStudio files, adding osgstereoimage and - osgversion in particular. - -2002-04-12 12:51 robert - - * Added "Core " infront of the osg, osgDB, osgUtil, osgText, and - osgGLUT libraries - in the Visual Studio workspace/project files. - -2002-04-12 12:15 robert - - * Renamed the osgtext demo project to reflect the name. - -2002-04-12 11:57 robert - - * Added "Demo " and "osgPlugin " infront of all demo and plugin - project names to - help differentiate them within VisualStudio. - -2002-04-12 10:24 robert - - * Attempt to add osgPlugin infront of the 3ds name to force - VisualStudio to - present it as plugin in the browser. - -2002-04-12 10:12 robert - - * Reorganised the names of libraries and Demos to make it clear - what is what. - -2002-04-12 09:53 robert - - * Fixes for Win32 build - -2002-04-12 09:25 robert - - * Removed double reference of osgtexture - -2002-04-12 09:25 robert - - * Removed Metroweks files since they wern't being used, and were - not up to - date. An attempt at using Metrowerks for MacOSX build failed, and - we - have Cywgin/Mingwin VisualStudio for windows so there is little - need for it. - -2002-04-12 08:01 robert - - * Removed dangling references to NewCullVisitor from osgUtil.dsp. - -2002-04-12 06:18 don - - * Solaris PKG distribution now makes a shar (self-extracting shell - archived) - changed makepgk to do this. - - Changed another one of those pesky cout = std::cout in - CullVisitor.cpp - -2002-04-12 05:09 don - - * added 'make cleandepend' to build system. - -2002-04-12 05:06 don - - * Added the 'make cleandepend' target to the build system. - -2002-04-11 23:20 robert - - * Added DataVariance enum and set/get fields to osg::Object to help - identify - which objects have values that vary over the lifetime of the - object (DYNAMIC) - and ones that do not vary (STATIC). Removed the equivalent code - in - osg::Transform, StateSet and StateAttribute, as these are now - encompassed - by the new DataVariance field. - - Removed MatrixMode enum from Matrix, and associated - fields/parameters from - osg::Transfrom and osg::NodeVisitor, since MatrixMode was not - providing - any useful functionality, but made the interface more complex - (MatrixMode - was an experimental API) - - Added ReferenceFrame field to osg::Transform which allows users - to specify - transforms that are relative to their parents (the default, and - previous behavior) - or absolute reference frame, which can be used for HUD's, camera - relative - light sources etc etc. Note, the view frustum culling for - absolute Transform - are disabled, and all their parents up to the root are also - automatically - have view frustum culling disabled. However, once passed an - absolute Transform - node culling will return to its default state of on, so you can - still cull - underneath an absolute transform, its only the culling above - which is disabled. - -2002-04-11 17:15 robert - - * Added several new methods to osg::Image to help keep track of - memory and added - osg::Image::readPixels to encapsulate glReadPixels. - - Reordering of includes in include/osg/Fog and include/osg/Light - to remove silly warnings under Visual Studio. - -2002-04-11 17:13 robert - - * Patch to ReadWriter3DS from Mike Connel. - -2002-04-11 16:05 don - - * Backed out bad addition of NewCUllVisitor - -2002-04-11 15:54 don - - * Somehow, cvs forgot to check in a modified Makefile with - NewCullVisitor added - to it... Hm.. anyway this fixes it. - -2002-04-11 13:53 robert - - * Fix for Win32 build. - -2002-04-11 09:16 robert - - * Changed the comments for Clay Fowlwer about the GLU patch for - RedHat7.2 to - reflect the new position of the tarball and its new name. - -2002-04-11 08:24 robert - - * Fixed refrences to NewCullVisitor which has now been mapped onto - CullVisitor. - -2002-04-10 22:10 robert - - * Copied NewCullVisitor over top of CullVisitor and then removed - NewCullVisitor. - - Added some defines to Image in prep for writing code to determine - how big a - pixel is. - -2002-04-10 21:51 robert - - * Added new osg::DrawPixels class with encapsulates glDrawPixels as - and - osg::Drawable. Added osg::Image::readPixels to osg::Image. - - Made osg::LightSource to default to cullActive set to false to - that LightSource - nodes don't get culled by default. - -2002-04-10 14:34 don - - * Added placeholder .README file to the PKG directory to keep CVS - from removing - the directory on an update. - -2002-04-10 14:32 don - - * Removed big honkin' SUN PKG files from cvs distribution. - -2002-04-10 01:29 don - - * Added (previously omitted) libpng, libjpeg, libtiff, libgif to - makedefs - in the Linux section - -2002-04-09 22:54 don - - * Fixed makedepend to do the right thing. - -2002-04-09 21:46 robert - - * Added setProjectionMatrix and setModelViewMatrix() methods to - osg::SceneView, - and associated member variables. I have not linked them up to the - cull traversal yet, but this will be the next task. - -2002-04-09 16:09 robert - - * Further work on removing Camera references from NewCullVisitor - and releted - classes, this work paves the way for making osg::Camera an - optional - extra rather than a requirement for rendering. - -2002-04-09 15:51 don - - * Checking in all Makefile.inst in src/Demos/*. These are the - Makefiles - that get installed rather than the build Makefiles. - -2002-04-09 14:55 don - - * Added pkgadd distribution for Solaris. - - Added a cleaner way to install demo source so that installed - versions use a - simplified makedefs/makerules. - - Small fix to get osgText to compile with Solaris CC. Constructor - declared - with a non-const argument, but implemented with const argument. - -2002-04-08 16:50 don - - * Added -lstdc++ to begining of LIBS on link line.. ?? - -2002-04-08 16:25 don - - * Put quotes around "DBGF" for multi argument - -2002-04-08 08:23 robert - - * Changed a char* into const char* to fix Solaris build. - -2002-04-08 08:22 robert - - * Fix for VisualStudio's lack of auto_ptr::reset. - -2002-04-07 17:47 don - - * Added a stop gap fix for cygwin build. Previous experiements were - creating - library and plugin files that looked like system library and - system files - which would have deleted original files on a 'make install'. - Cygwin is not - tested yet, but this needed to get fixed before a cygwin user - wiped out his - system library files. - -2002-04-06 09:24 robert - - * Updates to Makefile to reflect recent .cpp additions such as - TextureCubeMap, - MemoryManager etc. - -2002-04-05 02:49 don - - * Fixed a small oversight in the previous bug fix. in - GeoSet::computeBound() - _numcoords is NOT necesarily _cindex._size. - -2002-04-05 01:52 don - - * Edited INSTALL for new make and installation procedures. - Checking in a fix for Norman Vine - Added helprules and help.sh for a long-winded help message if you - 'make help'. - -2002-04-04 18:01 don - - * Added Norman Vine's changes for CYGWIN builds - - Added distrules and makerpms for building RPM distributions - - Removed old RedHatRPM distribution build directory - - Added new dist/RPM directory and placed temporary .spec files - (these - are generated by Make/makerpms and are not intended for - stand-alone - use, but they keep the directory warm and CVS happy) - -2002-04-04 00:30 don - - * Fixed a small bug in compute bound that caused it to come up with - the - wrong number if the coord array was indexed, and containing bogus - (unindexed, yet in-line) numbers. - -2002-04-03 17:53 don - - * Cleaned up in stallation directives - -2002-04-03 17:42 don - - * Reinstated Norman Vine's TARGET_BASENAME variable in the - makefiles and - added prefixes and suffixes to libs and plugins. ALl this to - accomodate - cygwin... - - Also added INST_SYS_PREFIX and INST_SHARE_PREFIX for - installation, as well - as "standardizing" the install locations for the various - platforms. - -2002-04-02 06:58 don - - * Oops forgot to add makedefs and makerules - -2002-04-02 06:44 don - - * The new order for building OSG. All Makefiles are replaced and - the Make directory is left with four files only : - makedefs - makerules - makedirrules - instrules - - These work for all platforms supported so far, which include : - Linux - Irix - Solaris - MacOSX - Cygwin - FreeBSD - -2002-04-02 06:27 don - - * Folded in Bob Kuehne's changes for Mac OSX to makedefs and - makerules - -2002-04-01 15:37 don - - * Added cleanlite rules to makerules.new - -2002-04-01 04:54 don - - * *** empty log message *** - -2002-04-01 03:39 don - - * Completed and tested instrules.new - -2002-03-31 16:43 don - - * Added more to instrules and makedefs.new Folded in Randall - Hopper's - changes for FreeBSD - -2002-03-31 16:40 robert - - * Added new osg::Projection node, and osgUtil::NewCullVisitor which - are work - in progress for the new support for controlling the projection - matrix from - within the scene graph. - - Also Added osg::State::getClippingVolume(), getProjectionMatrix() - and - getModelViewMatrix() with allows drawables to access the current - projection, - and model view matrices and the view frustum in local coords to - the drawable. - -2002-03-31 09:54 robert - - * Removed reference to malloc.h, replacing by stdlib.h instead. - -2002-03-30 21:20 robert - - * Warnings fixes, submitted by Randall Hopper. - -2002-03-30 15:13 robert - - * Fix for Cygwin build. - -2002-03-29 17:26 robert - - * Move the applying of Projection and ModelView matrices into - osg::State so that - it now maintains references to the last applied matrices, - automatically doing - lazy state updating. This simplifies the various places in the - OSG which - were previously doing the applying, add paves the way for - managing the - projection matrix within the scene graph. - - Remove MemoryAdapter and mem_ptr as they arn't being used, and - can potentially - confuse users by their existance. - -2002-03-29 12:23 robert - - * Converted from dos file endings to unix. - -2002-03-29 12:23 robert - - * Fixes for dos endings in MemoryManager.cpp, and compile fix for - osgText for - Cygwin. - -2002-03-29 06:54 don - - * Added new install rules for makefiles and updated makedefs and - makerules... more to come - -2002-03-28 23:06 robert - - * Fixes for IRIX build. - -2002-03-28 07:29 don - - * Couple a fixes in makedefs and makerules - -2002-03-28 06:35 don - - * Added Norman Vines fixeds for cygwin - -2002-03-27 23:04 robert - - * A compile fix to the new Texture subload changes. - -2002-03-27 22:51 robert - - * Added support for setting the texture subload width and height - within - osg::Texture. The values default to 0, and in this state they are - sizes of the glTexSubImage2D are taken from the source image - size. This - allows the previous setup with no settings for subload size to - work as - before. - -2002-03-27 16:31 robert - - * Futher updates to MemoryManager, fixed memory leak in osgconv. - -2002-03-27 14:56 robert - - * Updates to various files, replacing delete calls with osgDelete - so that - greater debugging info can be gleaned. - -2002-03-27 10:52 robert - - * Added support for VERTICAL_SPILT and HORIZONTAL_SPLIT stereo - modes. - -2002-03-27 06:09 don - - * Update to makeefs/makerules - -2002-03-27 00:55 don - - * update to makedefs.new makerules.new - -2002-03-26 23:52 robert - - * Added support for osg::MemoryManager which is based upon Paul - Nettle's - memory manager published at flipcode.com. This can be turned on - with the OSG_USE_MEMORY_MANGER option which then uses custom - global - new and delete operators as well as provide osgNew and osgDelete - macro's - which add ability to log line and file from which calls are made. - - Updated osg,osgUtil,osgDB,osgText and osgPlugins/osg to use - osgNew/osgDelete, - and fixed memory leaks highlighted by the new memory manager. - -2002-03-26 21:26 don - - * Adding makedirrrules to Make directory - -2002-03-26 21:24 don - - * Temporarily adding makedefs.new and makerules.new to keep them - separate from current makedefs/makerules files. Will eventually - remove all makedefs.* and makerules.* and replace only makedefs - and makerules with makedefs.new and makedefs.new - -2002-03-25 23:18 robert - - * Added osg::MemoryManger which is currently based on Paul Nettle's - memory manager - published at flipcode. I havn't adopted Paul's macro's for - new/delete etc, but use - osg prefixed versions instead to allow greater flexiblity in - handling include - ordering. - - Have fixed a couple of new/delete[] problems which existed as a - result. - - To use the MemoryManager to track memory usage simply add - -DOSG_USE_MEMEORY_TRACKING to the compile line. - - Have yet to move the osg from using new to osgNew, will do this - next. - -2002-03-25 23:13 robert - - * Added missing osgstereoimage.dsp - -2002-03-25 19:04 robert - - * Fixes for MacOSX build. - -2002-03-23 21:30 robert - - * Fixed warning in DisplaySettings.cpp - -2002-03-23 21:28 robert - - * Moved the exit on escape into Window, and added a virtual free - method on both - Window an Viewer to clean up the windows, this is now called - before exit is - finally called, ensure that more more memroy is clean up prior to - exit. - -2002-03-23 10:55 robert - - * Added GL_TEXTURE_3D definition for those with gl.h headers which - don't - contain it. - -2002-03-21 15:46 robert - - * Added missing TextureCubeMap.cpp to cvs. - -2002-03-21 12:36 robert - - * Renamed have_applied_mode, have_applied_attribute, apply_mode, - apply_attribute - to haveAppliedMode, haveAppliedAttribute, applyMode, - applyAttribute to make - it more consistent with the general OSG name convetion. - -2002-03-21 12:00 robert - - * Added osg:State:have_applied_mode(mode) and - have_applied_attribute(type) to make it - easier to specify which modes and attributes have been modified - without - the user requiring to know to what value, or to have an - equivilant attribute - to pass to the have_applied_attribute method. The original - have_applied(mode) - and have_applied(attribute) methods have been renamed - have_applied_mode(), - have_applied_attribute() as this was required to prevent the mode - and type - values colliding during compile (it was causing a compile error - when the method - names were the same.) - -2002-03-21 11:57 robert - - * _cullMaskRight was not being initialized in the constructor which - was - resulting in some sporadic problems when running stereo - - occoasionally the - right eye view wouldn't appear! - -2002-03-21 07:50 don - - * Modified files reflect small changes to work with Sun OS port.... - - Removed redundant README file in osgviews... was a copy of - sgv/README. - -2002-03-20 22:39 robert - - * Added osg::TextureCubeMap which encapsulates OpenGL's cube - texture mapping. - -2002-03-20 14:03 robert - - * Added a Referenced::unref_nodelete() method which unreferences - but does - not delete the object even if its count goes to 0 or below. This - should - only be called in special circumstances, the - ReaderWriter::ReadResult - being one of them. This new method has allowed the problem of - objects - being multiple referenced on return from readNodeFile() & - readImageFile(). - -2002-03-20 11:24 robert - - * Updates to Texture and TextureCubeMap to clean up the code so - they share - much more of the core texture setup code. This largely invloved - paramterizing - the applyImmediateMode, which has also been rename applyTexImage - to reflect - its functionality better. - -2002-03-20 11:22 robert - - * Added the fallback of intersecting with the a drawables bounding - box, if the drawable - isn't a GeoSet and hence supported by the IntersectVisitor's - GeoSet primitive - intersections code. - -2002-03-18 23:10 robert - - * Added osg::TextureCubeMap. submission from Brede Johansen. - -2002-03-18 22:03 robert - - * Fixed the MS version number check in Optiizer.cpp. Fixes to - memory handling - in ReaderWriterDW.cpp. Submissions from Geoff Michel. - -2002-03-18 21:56 don - - * Changes required for SUN Solaris port... - -2002-03-17 18:44 robert - - * Added new osgstereoimage demo which loads two stero paired images - to create - a 3D via of photographed scene. - -2002-03-14 23:19 robert - - * Fix of a delete char array so it used delete []. - -2002-03-14 20:29 don - - * Fixed a problem for finding MIPS 64 bit libraries. Was seaching - for - LD_LIBRARYN32_PATH instead of LD_LIBRARY64_PATH - -2002-03-14 17:34 robert - - * Integrated various changes worked on at the Glasgow Science - Center. Changes - include change the CameraManipulators so they work with double - for time - instead of float. Also added support for DataType to - osg::StateAttribute - and StateSet so that they can be set to either STATIC or DYNAMIC, - this - allows the optimizer to know whether that an attribute can be - optimized - or not. - -2002-03-14 16:42 robert - - * Added a TextureCallback which cycles through various filter - modes, used - in testing new glTextParamters update functionality. I have - commented out - the call to attaching of the callback so osgtexture outwardly - behaves as - before. The code lies dormant just incase we need to use it for - testing - in the future. - -2002-03-14 16:01 robert - - * Changed Texture so that is use lazy updating on texture paramters - (Filter/Wrap) - mode by using a _texParamtersDirty flag in combination with an - applyTexParamters(State&) method which does the paramters setting - in one - tidy bundle. This new implementations replaces the CompileFlags - submitted - yesterday. - - Simplified NodeCallback by remove osg::NodeCallback::Requirements - as they - are no longer needed. - - Fixed comments in Drawable. - - Put guards around cosf definations so that they are only used - under Win32/Mac. - - Fixed warning in CullVisitor. - -2002-03-14 15:26 robert - - * Fix to handling of big/little endian in trpage_readbuf sent in by - Randall Hopper, - and a waning fix. - -2002-03-14 00:07 don - - * Fixed compile flags in Texture - -2002-03-13 22:44 don - - * Fixed DrawCallback in Drawable and added CullCallback to Drawable - Cull Visitor now checks for a Drawable's CullCallback and calls - it - if it exists. It then prunes based on the return value (bool) of - the - cull callback. - -2002-03-09 10:54 robert - - * Support added for pivot points, submission from Mike Connel. - -2002-03-09 10:53 robert - - * Fixed setWindowWidth call to account for width and height - correctly. - -2002-03-09 10:52 robert - - * TXP plugin updates from Boris Bralo. - -2002-03-09 10:52 robert - - * TXP plugin changes submitted by Boris Bralo. - -2002-03-09 10:51 robert - - * TXP plugin update from Boris Bralo. - -2002-03-04 01:37 robert - - * Added file extension guard to .obj reader plugin. - -2002-03-03 22:31 robert - - * Added support for seperate traversal masks for standard, left and - right - cull traversals. This allows one to create seperate rendering for - left - and right eyes when doing stereo. - -2002-03-02 09:24 robert - - * Added a GL vesion number check to LightModel, and small typo fix - in Registry. - -2002-03-01 09:29 robert - - * Added getInverse implementation to AnimationPath, and added #if - guard - to Optimizer.cpp to all compilation on state optimizer when using - VS7. - -2002-03-01 09:28 robert - - * Fixes to osgText to improve robustness when running multithreaded - multipipe - apps. - -2002-03-01 09:27 robert - - * Updates to the clamp to border support in osg::Texture. - -2002-02-28 00:11 robert - - * Added support for setting the maximum number of graphics contexts - that the - OSG has to maintian. - -2002-02-27 22:12 robert - - * Added an using namespace osg to fix a MipsPro7.3 build error. - -2002-02-27 22:04 robert - - * Updated AUTHORS file with Boris' email address. - -2002-02-27 22:00 robert - - * Integrated support for GL_CLAMP_TO_BORDER_ARB extension to - osg::Texture, - submitted by Sasa Bistrovic. - -2002-02-27 21:57 robert - - * Fixes to DW loader, submitted by Geoff Michel. - -2002-02-27 00:58 robert - - * Added new osg::AnimationPath which is contaner for a set of key - frames for - defining an animation path. To be used with osg::Transform etc. - -2002-02-26 20:01 robert - - * Added makeRotate(heading,pitch,roll) to Quat in prep for new - classes for - animation paths. - -2002-02-25 23:14 robert - - * Added LightModel.cpp's to Codewarrior files and added - definiations for pre gl version 1.2 headers lack of support for - color control. - -2002-02-25 22:46 robert - - * Added support for glLightModel functionality via osg::LightModel. - -2002-02-24 23:03 robert - - * Updated docs, ChangLog and NEW for patched version of 0.8.44. - -2002-02-24 22:39 robert - - * Added LineStipple to mcp file. - -2002-02-24 20:55 robert - - * Added support for glLineStipple via osg::LineStipple state - attribute. - -2002-02-24 20:21 robert - - * Removed Metrowerks.mcp as it has not been kept up to date since - October, - the new OpenSceneGraph.mcp replaces it. - -2002-02-24 16:49 robert - - * Integrated fixes to the detailed depth calculation in the - CullVisitor from - Sasa, and fix to the IntersectVisitor's management of path from - Sean. - -2002-02-23 00:16 robert - - * Updates to Windows Codwarrior file - -2002-02-22 23:40 robert - - * updates for Win32 Codewarrior build - -2002-02-22 23:39 robert - - * Fix for win32 Codewarrior build - -2002-02-22 17:12 robert - - * Add support for Metrowerks Codewarrior build under Windows. - -2002-02-19 18:59 robert - - * fixed txp build name problem - was overwriting .osg plugin. - -2002-02-18 23:01 robert - - * Fixed stereo implementation. - -2002-02-18 21:52 robert - - * Fixes to Win32 build of new DX writer plugin. - -2002-02-18 20:48 robert - - * Comment w.r.t OpenDX plugin updated. - -2002-02-18 20:46 robert - - * Added OpenDX writer from Randall Hopper. - -2002-02-14 13:26 robert - - * Beginings of reimplementation of stereo support in scene view. - Work - not complete yet. - -2002-02-14 12:55 robert - - * updated the options for the txp plugin. - -2002-02-14 12:51 robert - - * Removed osgWX workspace files. - -2002-02-14 11:06 robert - - * Fixed impostor bug introduced when new modelview matrix was moved - entirely - within the cull traversal/draw traversal. The impostor code has - been adapted - to the new convention. - -2002-02-13 22:56 robert - - * Updated the makefiles to all have the #!gmake reference to force - IRIX - compilation using gmake rather than pmake or smake. This gets - round - issues with exporting OSGHOME. - -2002-02-13 22:53 robert - - * Updated the osgconv support for orientation conversion so that it - used - inserted a static transform to do the work of rotating the scene, - then - applied a standard - osgUtil::Optimizer::FlattenStaticTransformsVisitor - traversal to flatten the transfrom down on to the geometry nodes. - -2002-02-13 22:52 robert - - * Fixed the fabsf define which was eroneous mapped to sqrtf, due to - the copy and - paste antipattern no doubt. - -2002-02-13 00:13 robert - - * Fixed problems with intersection visitor coupled with the viewer. - -2002-02-13 00:00 robert - - * Added sgv -stereo cessna.osg to make test list. - -2002-02-12 23:49 robert - - * Added a set of test runs to the makefiles and demos. The demos - now have - titles relevenat to their function. - -2002-02-12 22:51 robert - - * Updates for IRIX build, and docs updates. - -2002-02-12 22:35 robert - - * Removed references to osgWX from the doc++ directory. - -2002-02-12 08:23 robert - - * Updates to Transform and CullVistor to support new - getLocalToWorldMatrix methods. - -2002-02-11 23:24 robert - - * Updates to Transform handling in CullVisitor, in prep for moving - camera - modelview and projection into Transform nodes. - -2002-02-11 22:53 robert - - * Clean up of TXP plugin for IRIX build. - -2002-02-11 19:51 robert - - * Cleand up the root Makefile. - - Moved CullVisitor/RenderStage/RenderStageLighting across to - managing lights - entirely within RenderStageLighting, and changed the management - of modelview - matrices so that RenderLeaf now stores the absolute modelview - matrix, rather - than a model matrix as done previously. The later allows - RenderLeaf's to do - a glLoadMatrix rather than a - glPushMatrix/glMultMatrix/glPopMatrix. - -2002-02-11 15:09 robert - - * Fixed Linux hang of the TXP loader by overriding the default -O2 - optimization - level which appears to cause the code to hang, -O works fine for - some strange - reason, I havn't found any direct problems in the code. This may - be compiler - bug or a code bug, the bug may go away in later versions of - GNUC++, the - problem currently occurs under GCC2.96. - -2002-02-11 12:51 robert - - * Applied fix to transparancy in flt loader. - -2002-02-11 03:26 robert - - * Fixed the date on the release. - -2002-02-11 02:38 robert - - * Updated changelog for release. - -2002-02-11 02:34 robert - - * Fixed a make install error on the plugins related to the old - definitions for - plugin names hanging around despite being deprecated. These - definiations - confused the make install/make instclean so it tried to link a - non existant - library. Have removed old definitions and everything intalls - properly once - more:-) - -2002-02-11 01:02 robert - - * Updated changelog. - -2002-02-11 00:51 robert - - * Did a make docs, in prep for the 0.8.44 release. - -2002-02-11 00:42 robert - - * Added missing doc++ generated .html files. - -2002-02-11 00:40 robert - - * Updated Stats code, sent in by Geof Michel. - -2002-02-11 00:23 robert - - * Clean up INSTALL notes. - -2002-02-10 23:19 robert - - * Updateds NEWS for the 0.8.44 release. - - Change the osg::NodeVisitor::getLocalToWorldMatrix() / - getWorldToLocalMatrix() methods so it do not initilize the matrix - being - passed to them, and assume the the users has already initiliazed - them - appropriately, such as to take account of camera positions. - -2002-02-10 22:35 robert - - * Implemented NodeVisitor's getLocalToWorldMatrix and - getWorldToLocalMatrix - to allow users to querry the current accumulated matrix state - within the - scene graph. - -2002-02-10 20:05 robert - - * Disbalbed a dumb warning in Windows build via a #pragma. - -2002-02-10 17:16 robert - - * Fixed a bug in the drive manipulator which was due to it using - the local - coords of the intersection point with the scene rather than the - world - coord value for that point. The code now uses - osgUtil::Hit::getWorldIntersectionPoint() method for getting the - world coords. - - Added support for getWorldIntersectionPoint to Viewer.cpp. - - Put and #ifdef around the setting of the default display list - visitor so - it nolonger sets in under IRIX. This is a world around to the IR - graphics - imbending lighting info into display lists, if the display lists - are - created before state is set up it produces lighting artifacts - such as - flickering. Remove the the default display list init visitor - removes - these problems, display lists are then built on the fly and - drawables - a drawn for the first time. - -2002-02-10 11:17 robert - - * Fixes for MacOSX build. - -2002-02-10 10:42 robert - - * Fixes to TXP loader for Cygwin and Ming builds. - -2002-02-09 22:29 robert - - * Fixed the osgUtil::Optimizer::FlattenStaticTransformVisitor so - that it - does not flatten drawables which have double references to them, - but only - one reference with a static transform on it. This case can't be - flattened - but this wasn't picked up. The code now detects the case - correctly. - -2002-02-09 21:29 robert - - * Updates to BMP loader from Geoff Michel. - -2002-02-09 19:46 robert - - * Added std:: infront of string refrences to solve compile problems - under gcc 3.0.3. - - Also converted to unix file endings so other the windows style - files. - -2002-02-09 14:29 robert - - * Updates to docs and fixes to a few warnings. - -2002-02-09 10:54 robert - - * Updated docs. - -2002-02-09 10:50 robert - - * Fix to BMP loader. - -2002-02-09 10:24 robert - - * Fixes for cygwin and mingw builds. - -2002-02-08 23:07 robert - - * Removed further wxsgv files. - -2002-02-08 23:04 robert - - * Removed osgWX and wxsgv from the repositry as it is intend to - keep the core - distribution clean from GUI examples, these instead should live - in the bazaar. - This can better accomodate the many different types of viewer - that users are - developming. - -2002-02-08 22:55 robert - - * Added support for parents to Drawables. - - Bumped up version numbers in prep for 0.8.44. - -2002-02-08 09:30 robert - - * Fixes for IRIX and Boris Bralo's TerraPage loader. - -2002-02-07 08:07 robert - - * Fixed teh setDrawCallback so that it now calls dirtyDisplayList() - instead of - dirtyBound. - -2002-02-07 01:17 robert - - * Fix for Win32 build. - -2002-02-07 01:15 robert - - * Various investigations into culling errors w.r.t matrix inversion - resulted in - the conclusion that the osg::Matrix::inverse was broken, have - lifted a new - implementation from sgl and it seems to work fine. Will need - further testing - but looks good. - -2002-02-07 01:12 robert - - * Fix for the handling of lighting in the DW loader. - -2002-02-07 01:11 robert - - * Added a check to the destructor of Referenced so that it detects - referenced - objects that are deleted whilest still having a positive - _refCount, such - as when a object has been deleted on the stack, yet other - references still - exist for it. Have put the desctructor implementation in - Object.cpp to - avoid adding yet another file with only a couple of lines of code - in. - -2002-02-07 01:07 robert - - * Added callbacks to allow users to modify the underlying - functionality of - LOD, Billboard and Drawabel objects. - -2002-02-07 01:05 robert - - * Added extensions code submitted by Yefrei. - -2002-02-06 08:57 robert - - * Compile fixes. - -2002-02-05 21:54 robert - - * Have taken a few more steps towards support for view dependant - transformations - by adding a ComputeTransformCallback to osg::Transform, and have - now removed - the recently added AutoTransform since it is nolonger required. - Have also - updated CullVisitor to account for the new ways for tracking - transformation - matrices in the scene. - -2002-02-05 21:51 robert - - * Have removed the old lazy initialization of Matrix since it was - causing bugs - and adding checks to many mothods which in the end slow it down - more than - not intilizing the code! The code is now simpler, more robust and - faster:-) - -2002-02-05 10:49 robert - - * Added comment to flt2osg's handling of osg::Material setup w.r.t - osg::Material::_colorMode. - -2002-02-03 22:32 don - - * added shademodel to TARGET_INCLUDE_FILES - -2002-02-03 20:57 robert - - * Added beginings of new AutoTransform class. - -2002-02-03 19:18 robert - - * Fixes for GCC 3.0.3 build. - -2002-02-03 12:33 robert - - * Removed the trailing ; after namespace {...} declariations in - headers - which was being picked as a warning under Codewarrior. - -2002-02-03 11:38 robert - - * Added first cut at new AutoTransform node which will be used for - generating - Transform's during the cull traversal such as for earth/sky etc. - -2002-02-03 11:35 robert - - * Updates for Borland compilation. - -2002-02-02 20:07 robert - - * Added defined( __BCPLUSPLUS__) to windows export code segments. - -2002-02-02 19:49 robert - - * Fixed a copy and paste error which was causing compile problems - under Windows, - due to a incorrect comparison of objects of different types. - -2002-02-02 10:52 robert - - * Typo fixed in the header guard. - -2002-01-30 19:59 robert - - * Fixed clone(CopyOp&) and cloneType() methods which were out of - sync with the - new style clone operations. - -2002-01-30 18:59 robert - - * Fixes for Windows build - -2002-01-30 16:24 robert - - * Fixes for Windows build. - -2002-01-30 15:27 robert - - * Removed the M_PI defines from include/osg/Math and have use a - const double osg::PI etc - in its place. - -2002-01-30 15:02 robert - - * Changes for Borland C++ compiler changes. - -2002-01-30 15:02 robert - - * Added osgbillboard project files to the VisualStudio workspace. - -2002-01-30 15:01 robert - - * Added osgbillboard demo. The code is main a copy of osgtexture - right now, - my plan to do change it to make it a better demo of the different - types - of billboard that one can do. - -2002-01-30 14:37 robert - - * Removed a Makedepend that didn't belong! - -2002-01-30 13:15 robert - - * Fixed the rotation direction of the POINT_ROT_* modes, this was - broken by - earlier fixes to the osg::Matrix. - -2002-01-30 12:09 robert - - * Made the LineSegment destructor protected to force users to - create segments - on the stack thus ensure that they arn't created locally and have - their - memory deleted incorrectly. - - Also updated the IntersectVisitor so that it no used - osg::ref_ptr<> internally - for storing all data. Have also move the IntersectState helper - class to inside the - IntersectVisitor which simplifies the external interface to the - class. - -2002-01-29 20:25 robert - - * Fixes for windows build. - -2002-01-29 14:20 robert - - * Removed the now rendundent DeepCopy and ShallowCopy files. - -2002-01-29 14:04 robert - - * Moved all references to osg::Cloner to osg::CopyOp. - -2002-01-29 12:55 robert - - * Fixed the header guard, which was using the name define as - FileUtils. - Problem spotted by Terry Welsh. - -2002-01-29 12:52 robert - - * Have add new osg::CopyOp which replaces last nights osg::Cloner, - the new - class now combines Cloner and DeepCopy into one class. Cloner and - DeepCopy - will be removed in next commit. - - Also have added osgcopy app to Demos which shows how the CopyOp - have be - subclassed to create users own specific handling of copying. - - Have fixed copy constructor problems in GeoSet which fix the deep - copy - problem experienced yesterday. - -2002-01-28 21:49 robert - - * A couple of fixes to DeepCopy Cloner. - -2002-01-28 21:17 robert - - * Added support for shallow and deep copy of nodes, drawables and - state, via a - copy constructor which takes an optional Cloner object, and the - old - osg::Object::clone() has changed so that it now requires a Cloner - as paramter. - This is passed on to the copy constructor to help control the - shallow vs - deep copying. The old functionality of clone() which was clone of - type has - been renamed to cloneType(). - - Updated all of the OSG to work with these new conventions, - implemention all - the required copy constructors etc. A couple of areas will do - shallow - copies by design, a couple of other still need to be updated to - do either - shallow or deep. - - Neither of the shallow or deep copy operations have been tested - yet, only - the old functionality of the OSG has been checked so far, such - running the - viewer on various demo datasets. - - Also fixed a problem in - osg::Optimize::RemoveRendundentNodesVisitor which - was not checking that Group didn't have have any attached - StateSet's, Callbacks - or UserData. These checks have now been added, which fixes a bug - which was - revealled by the new osgscribe demo, this related to removal of - group acting - as state decorator. - - method - -2002-01-27 20:28 robert - - * Added - stateset->setMode(GL_LIGHTING,osg::StateAttribute::OVERRIDE_ON); - to scribbed - subgraph so that lighting is always on, this is needed since - glMaterial is only - active when lighting is enabled. - -2002-01-26 20:03 robert - - * Added VisualStudio workspace files for new osgscribe demo. - -2002-01-26 19:48 robert - - * Added new osgscribe demo which demostrates how to create a - wireframe - overlay of a model. - -2002-01-26 14:13 robert - - * Fixed the LOD center and range code that so that the values are - now multiple - by the _unitScale to compenstate for different scales in the flt - model. This - _unitScale had already been applied to the geometry data. - - Integrated new defaults for the texturing wrap mode, for when now - .attr file - is supplied with a flt file. - -2002-01-23 22:15 robert - - * Have made osg::Transform more extensible via additions of new - getLocalToWorldMatrix() - and getWorldToLocalMatrix(), computeLocalToWorld() and - computeWorldToLocal() - methods. - - Have updated the CullVisitor, IntersectVisitor and Optimizer to - use the - new osg::Transform::getLocalToWorldMatrix() which has the same - functionality - as the old getMatrix() but is now supports subclasses of - osg::Transform - transparently. - - Have added osg::PositionAttitudeTransform as subclass of - osg::Transform - which manages the transform as position and attitude via a Vec3 - and Quat - respectively. - -2002-01-23 15:42 robert - - * Updates to osg::Transform to allow it subclassed more easily. - -2002-01-23 15:28 robert - - * Fixed problem with Optimzer::removeRedundentNodesVisitor which - was removing the - correct redundent groups but for groups which had a single child - it was - was not using replaceChild to rettach the child to its parents. - It was using - parent->removeChild(group)...parent->addChild(child); which was - allow the child - to be attached in a different place than the original group, this - broke LOD code. - Have used removeChild instead which solves the LOD problem. - -2002-01-23 12:04 robert - - * Changed the ordering of applying OpenGL modes and attributes back - to the original - modes first then attributes since the it was cause a display bug - on some - datesets. It seems that the modes needs enabling before - glMaterial's - take affect, at least on the NVidia drivers under Windows and - Linux. - The OpenGL reference guide doesn't mention any dependancy so I'm - not - sure what the official line is. Some other OpenGl attribute and - modes - need to be applied in that order according to the blue book, - however, - drivers, at least the NVidia drivers seem require the opposite. - This may raise - the spectra of before and after mode applies, but this will - require extra - support in osg::State and osg::StateAttribute, and would have to - be handled - on a per attribute basis, and possibly different of each - platform. Yuck. - -2002-01-22 19:30 robert - - * Fixed FlattenStaticTransformVisitor bug which related to - incorrect handling - of objects which were transformed by multiple matrices at one - time - this - cannot be handled in the flattening process (since we only have - one piece - of geometry to transform). This visitor now handles this case by - disabling - flattening of any objects and transforms associated in this way. - -2002-01-22 12:03 robert - - * Temporily commented out the call to the - FlatternStaticTransformVisitor to - prevent a bug in handling instance nodes. Will be commented back - in once the - bug has been solved. - -2002-01-22 11:03 robert - - * Updated AUTHORS file to reflect recent submission. - -2002-01-22 11:03 robert - - * Added support for node instances to Open Flight loader. Submitted - by Yefei He. - -2002-01-20 19:30 robert - - * Fixes to Windows compile. - -2002-01-20 16:24 robert - - * Updates to help compilation under gcc 3.03. - -2002-01-19 22:11 robert - - * Converted osgUtil::GUIEventAdapter::MouseButtonMask from - LEFT_BUTTON etc to - LEFT_MOUSE_BUTTON etc, to prevent classes with #define of - LEFT_BUTTON.. when - including certain MS Windows headers. Arhsh Snarfff.. - -2002-01-19 20:34 robert - - * Fixed the handling of non transparent billboards, since it was - not taking into - account any accumulated transforms inherited from above. - -2002-01-18 22:36 robert - - * UPdates to CullVisitor so that it keeps in sync with the new - method paramter - change in osg::Billboard. - - Removed in instance of an object being passed () brackets, have - removed the - brackets to avoid an amiguity with the compiler intepreting it as - a function. - -2002-01-18 22:34 robert - - * Changes to fix compilation problems on the Sparc. - - GeoSet.cpp simply remove rendundent code that had already been - commented out. - -2002-01-18 22:25 robert - - * Added support for multiple graphics contexts, submission from Max - Rhiener. - - Alas changed the indenting to use 4 spaces instead of tabs, this - irons out - differences when working under Windows and Unix, keeping the - identing - consistent. - -2002-01-18 22:15 robert - - * First steps to updating the calcTransform function in Billboard - to fix - z axis contraint on rotation axis. - -2002-01-18 19:00 robert - - * Fixed copy constructor which was copying a matrix to unitialized - memory. - -2002-01-18 14:12 robert - - * Removed the global scope operators for the isnan(..) etc calls to - fix compilation - under some compiler combinations. - -2002-01-18 14:11 robert - - * Made the osg::Timer::tick() method a const method. - -2002-01-18 10:26 robert - - * Fixed typo in comment, reference to BoundingSphere has been - changed to - BoundingBox. Typo spotted by Gial Paolo Lorenzetto. - -2002-01-17 22:41 robert - - * Fixed ENALBE_ALL_CULLING spelling mistake, have changed it to - ENABLE_ALL_CULLING. - -2002-01-17 22:40 robert - - * Added support for glutSpecialFunc, glutSpaceballMotion, - glutSpaceballRotate and - glutSpaceballRotate into osgGLUT::Window base class. - -2002-01-16 21:23 robert - - * Reversed the ordering of setting of OpenGL modes and attributes, - so that - attributes are now set first, then modes. This is keep consistent - with - the setting of glColorMaterial and glEnable(GL_COLOR_MATERIAL) as - specfied - in OpenGL documentation. - -2002-01-16 21:22 robert - - * Changed the enum Types { ... } so that in no longer explicitly - sets the values, - leaving C++ to ensire that values are unque and insequence. - -2002-01-16 21:20 robert - - * Fixes to makefiles which have become a bit unhinged after MacOS X - integration. - -2002-01-16 21:12 robert - - * Added support for billboard in OpenFlight loader. Submission from - Nikolaus Hanekamp. - -2002-01-16 12:29 robert - - * Submission from Sean Spicer which adds Make/makedefs.irix.std.64 - which - compiles the OSG as 64bit. Small changes by Robert to accomodate - recent MacOSX makefile changes. - -2002-01-16 12:08 robert - - * Changes to Make/makerules.* and Make/makedefs.* to accomodate - MacOSX's need - to treat plugins and shared libraries seperately. - -2002-01-16 12:05 robert - - * Integrated the changes to osgPlugin/Makefile's for MacOSX port. - -2002-01-16 12:03 robert - - * Changed hardwired char[1024] arrays to - char[FILEUTILS_MAX_PATH_LENGTH] and - defined the value to be 2048, this should avoid problems with - path lengths - which have been overflowing the 1024 limit (Sasa report this - bug). The - real solution is to use std::string throught FileUtils, but this - will have - to wait for another day. - -2002-01-16 10:41 robert - - * Added quicktime plugin (for Mac's only), submitted by Phil Atkin. - -2002-01-16 10:36 robert - - * First batch of changes required for MacOS X build. Orignal - submission from - Phil Atkin, merged by Robert Osfield. - -2002-01-15 23:21 robert - - * Changed the use of std::vector<..>.begin() to &vector<..>.front() - in code - from passing the vector contents to the - GeoSet::setPrimLengths(..) etc. - methods. This has been done to fix the compile under the MS .NET - compiler - which has changed the definiation of the - std::vector<..>::iterator to - a class rather than a pointer. - -2002-01-15 19:54 robert - - * Fix to osgDB::getStrippedName(..) so that handles the case of - file without - an extension. - -2002-01-15 15:49 robert - - * Added '# LIBS += -limage' and explanation in comments to pfb - Makefile, - submitted by Randall Hooper. - -2002-01-15 12:13 robert - - * Added the set of GL_TEXTURE_GEN_S and _T to code converting - pfTexGen to - osg::TexGen. This is try and fix a bug in handling tex gen - datasets such - as sj_texgen.pfb. - -2002-01-15 11:05 robert - - * New ajustAspectRatio (ADJUST_NODE) mode added to osg::Camera to - fix issue - with integration with vrjuggler, submitted by Allen Bierbaum. - -2002-01-12 21:49 robert - - * Missing _attachedTransformMode in osg::Camera constructor, fix - submitted by - Ben Discoe. - -2002-01-05 16:19 robert - - * Change TOP to OSGHOME in makefiles. - -2002-01-05 16:18 robert - - * Moved the setting of camera fusion distance mode into the handle - method so that - it is updated on everyframe to ensure that switching between - Drive/Flight - and Trackball happens seemlessly. - -2002-01-04 20:44 robert - - * Renamed the TOP variable in the Makefiles to OSGHOME. - -2002-01-04 20:43 robert - - * Added a guard to osg::LOD::evaluate so that it returns -1 if the - range - matched does not have a corresponding child to relate to. This - can happen - if a user creates more than n+1 ranges, where n is the number of - LOD children. - -2002-01-04 17:35 robert - - * Added osg::ShadeModel state attribute which encapsulates - glShadeModel. - -2002-01-04 17:34 robert - - * Fixed a bug in writing of line strips and line loops to the .osg - file. - -2002-01-04 13:14 robert - - * Fixed multiple deletion of shared indecies in GeoSet destructor. - -2002-01-03 23:28 robert - - * Futher Makefile updates for Cygwin support - from Norman Vine. - -2002-01-03 23:19 robert - - * Makefile changes to support Cywin port - submission from Norman - Vine, updates - to fix case problems under unix by Robert. - -2002-01-03 21:34 robert - - * Updates for Cygwin port, from Norman Vine. - -2002-01-03 19:28 robert - - * Small source code changes for Cygwin port of OSG. - -2002-01-02 17:01 robert - - * Updates in preperation for the third attempt at the 0.8.43 - release. - -2002-01-02 15:42 robert - - * Updates from Randall Hopper to fix build under IRIX. - -2002-01-02 11:03 robert - - * A small bug fix to the matrix dump function (it was primtiing out - 5 columns - instead of four). - - Added support for multiplying mesh geometry by the matrix - attached to the - Lib3dsMesh structure, however this produces disjointed models so - have - to the default mode to bypass this multiplication code. Will need - to revisit - this in the future. - -2002-01-02 10:59 robert - - * Commented out the smoothing of FLAT_TRIANGLE_STRIP and - FLAT_TRIANGLE_FAN - since it was causes problems with any color list which were - attached. - -2002-01-02 10:53 robert - - * Moved the glShadeModel(FLAT/SMOOTH) outside of the primtitive - inner loop to reduce - the amount state changes incurred when using FLAT_ primtives. - -2002-01-02 10:49 robert - - * Fixed the orientation of for_each_triangle cases for QUAD and - QUAD_STRIP. - -2001-12-31 23:21 robert - - * Removed the variables which were duplicated in osgGLUT::Viewer - and - osgGLUT::Window, standardising on the Window ones, and therefore - removing - an unitialized variable that had been introduced. This caused a - crash - under WindowsXP due to send invalid values to glutReshapeWindow. - -2001-12-31 23:16 robert - - * Added a more detailed explanation of how LOD's work. - -2001-12-31 00:04 robert - - * Updates to NEWS for date of release, and added - include/osg/DisplaySettings - and include/osg/LineWidth to the src/osg/Makefile. - -2001-12-30 20:48 robert - - * Final update of ChangeLog for the 0.8.43 release. - -2001-12-30 20:03 robert - - * Added osg::GeoSet::FLAT_TRIANGLE_FAN to the list if primitive - handled by the - for_each_triangle template function. - -2001-12-30 19:04 robert - - * Added /usr/local/lib to the s_default_dso_path search path for - plugins. - -2001-12-30 17:13 robert - - * Made the output message related to not registering a camera - manipulator - with the GLUT Viewer output as INFO rather than as a NOTICE. This - suppress - this message which was appearing on some of the demos all the - time, even - though are quite reasonable default behaviour is used. - -2001-12-30 16:59 robert - - * Added references to sgv -stereo and sgv -stencil to the notes of - running - the demos. - -2001-12-30 16:58 robert - - * Updated the default home position of so that a better view of the - scene is seen. - -2001-12-30 15:24 robert - - * Moved the old by hand ChangeLog to ChangeLog.preCVS and then ran - cvs2cl.pl - to automatically generate the new ChangeLog. - -2001-12-30 15:12 robert - - * Did a make docs, in preperation for 0.8.43 release. - -2001-12-30 15:01 robert - - * Compilation fix to pfb plugin, sent in by Ulrich Hertlein. - -2001-12-30 15:00 robert - - * Added a comment in Windows section on INSTALL notes such that it - now - recommends that you build all the libs. - -2001-12-29 20:53 robert - - * Added .README to prevent CVS from deleting the empty bin - directory when checking - out copies. This was a problem with the nightly tarballs. - -2001-12-29 14:27 robert - - * Added comment to osg::Transform w.r.t use of GL_NORMALIZE when - using - scaling Transforms. - -2001-12-29 12:28 robert - - * Updates form Randall Hopper for the FreeBSD build - -2001-12-27 20:06 robert - - * Made inline documentation on the Values enum clearer w.r.t the - function of - OVERRIDE_ON and OVERRIDE_OFF. - -2001-12-26 20:55 robert - - * Added more details about using stereo with the OSG, in particular - the - role of the camera manipulators and the fusion distance. - -2001-12-24 23:34 robert - - * Updated doc++ references so that CVS knows about all the newly - generated - files. - -2001-12-24 23:28 robert - - * Updated the index.html to include references to the new osgText - library and - demo app. - -2001-12-24 23:14 robert - - * Removed references to redundent environmental variables. - -2001-12-24 21:56 robert - - * Did a make docs. - -2001-12-24 21:34 robert - - * Fixed the osg::Light so that it requires the user to explicitly - define which - OpenGL light is being operated on, and also now relies upong the - standard - osg::State handling of OpenGL modes to switch on the appropriate - lights. - - The previous static counter mechansim for the light number was - causing a - redundent light to be created when the osg plugin created the - first osg::Light - to use a prototype for other osg::Light's to be cloned from in - the - .osg plugin execution. - - The static count mechanism also prevent the lights modes being - controlled - independantly from the setting of the light paramters themselves. - This - meant that a light once created was global, and couldn't be - turned off - locally via the OSG's support for OpenGL mode enabling/disabling. - This - has been overcome with the new implementation, the user has - complete - flexiblity of when and where to use the different lights at their - disposal. - -2001-12-24 19:06 robert - - * Updated the osgGLUT::Viewer to subclass from osgGLUT::Window as - has been - intended since the development of osgGLUT::Window. - -2001-12-24 15:12 robert - - * updates for windows build - -2001-12-24 14:12 robert - - * Various clean ups for the release. - -2001-12-22 22:30 robert - - * Updates to keep things compiling under Windows. Also cleaned up - the new stereo.html docs. - -2001-12-22 21:35 robert - - * Added beginnings on documentation for stereo support, the - stereo.html needs - to be re-edited in a html editor before it becomes readable - though.. - -2001-12-22 14:55 robert - - * Updated usage messages to include new stereo and stencil - commandline options. - -2001-12-21 22:48 robert - - * Further work on improving stereo support in the OSG. - - Renamed the osg::VisualsSettings to osg::DisplaySettings, and - osgUtil::VisualsRequirementsVisitor to - osgUtil::DisplayRequirementsVisitor. - - Added support for OSG_SCREEN_HEIGHT into osg::DisplaySettings, - and added - a DisplaySettings* to the constructors of osg::SceneView and - osg::Camera. - -2001-12-21 13:07 robert - - * Updates to the support for stereo in osg::Camera, - osgUtil::SceneView and - the CameraManipulators. - -2001-12-20 20:48 robert - - * Added support for glLineWidth via an osg::LineWidth - StateAttribute. - -2001-12-20 16:35 robert - - * Updates to the camera code related to stereo, adding fusion - distance. - -2001-12-20 16:34 robert - - * Added check for null models be returned form - osgDB::readNodeFiles(..) to - prevent execution when no models have been loaded. - -2001-12-20 12:12 robert - - * Updates to flt loading of light points, from Brede Johansen. - -2001-12-19 15:20 robert - - * Updates to Stereo code. - -2001-12-19 10:29 robert - - * Updated the demos to support the new commandline handling of - stereo and - convinience functios for loading libs and files. - -2001-12-19 08:49 robert - - * Added check for GL_ARB_imaging extension to osg;:ColorMatrix - -2001-12-19 01:10 robert - - * Compilation fixes under for Windows - -2001-12-19 00:38 robert - - * Adding support for controlling visual settings via environmental - variables - and command line paramters. Including support for stereo and - stencil buffer. - -2001-12-18 11:28 robert - - * Added range checking to osg::Camera::adjustAspectRatio to catch - invalid values being - passed to Camera. Invalid values were occuring when iconising the - Windows GLUT - based OSG demos. - -2001-12-18 10:46 robert - - * Fixed compilation problems in flt plugin under Windows, and - removed usage of - the default GeoSet::AtttributeDeleteFunctor from the DynGeoSet - since it handled - the memory deletion iteself via STL containers. - -2001-12-17 21:13 robert - - * Changed the default field of Y to 45 degrees, as this is probably - a better - default than 30 degrees (what it was temproarily) or the 90 - degrees that - it was originally. - -2001-12-17 17:34 don - - * Fixed IRIX compile issues with the flt loader. - - ReaderWriterATTR.cpp had a variable "mips" defined, which is - predefined for the IRIX preprocessor. - Changed this to _mips. - - FltFile.cpp had a class and transient variable defined within the - scope of member function - FltFile::readExternals(), which was causing the IRIX 7.3 compiles - to hork. Moved the class - definition to outside of the member function scope. - -2001-12-17 16:21 don - - * Fixed IRIX build. Required some namespace fixes and include and - link - directives in the Makefiles - -2001-12-17 15:05 robert - - * Updated the Optimzer::FatternStaticTransform visit so by default - it ignores - all dynamic transforms, previously it flattened dynamic - transforms as well. - -2001-12-17 09:29 robert - - * Added std:: infront of endl to ensure compilation under Windows. - -2001-12-16 22:20 robert - - * Integrated detailed near clipping plane calculation into - osgUtil::CullVisitor, - submitted by Sasa Bistroviae. - -2001-12-16 16:30 robert - - * From John Davis, a little addition to the Windows version of the - osg::Timer - constructor such that a static variable is used to force the - constructor - to check the number of clock cycles per second once, this means - that - multiple timers can now be created with incurring a the 1 second - delay - used for timming the clock speed every time the constructor is - called. - -2001-12-15 22:44 robert - - * Updated version numbers to 0.8.43 in prep for the impending - release. - -2001-12-15 22:41 robert - - * Added comments on how to set up STLport under Windows and IRIX. - -2001-12-15 16:56 robert - - * Renamed osg::Matric::makeIdent() to osg::Matrix::makeIdentity() - to make - it consistent with the rest of the osg::Matrix naming. Updated - OSG - distribution to account for new name. - - Added support for the STATIC/DYNAMIC osg::Transform::Type to the - .osg - ASCII reader/writer plugin and the flt reader plugin. - - Removed the non cost version of osg::Transform::getMatrix() as - this could - by pass the dirty mechinism. - -2001-12-15 10:00 robert - - * updates for windows build. - -2001-12-14 23:18 robert - - * Fixes to Windows build in liu of the move to using just - std::streams. - -2001-12-14 21:49 robert - - * Updated OSG so that the old OSG_USE_IO_DOT_H has be removed from - all headers - that used it, all references to the Standard C++ stream classes - use the - std::ostream etc convention, all references to "using namespace - std" and - "using namespace std::ostream etc" have been removed. - -2001-12-14 18:06 robert - - * Updatedwidley used includes to remove most of the float/double - warnings - generated when compiling under Windows with STLport. - -2001-12-14 16:15 robert - - * Don haved accidentally removed the reference to osg.dsp from the - .dsw file, - breakin the Windows build. - -2001-12-14 15:37 don - - * Removed ^M from Makefile - -2001-12-14 15:16 don - - * Appeased poor MS VisualStudio by adding the ^M's to all .dsw and - .dsp files. - -2001-12-14 15:10 don - - * Fixed newline/cr problem - -2001-12-14 14:25 robert - - * Fixed problem with incorrect combining of some LOD's derived from - flt databases. - Problem related to the order of the removal of redudent groups - and LOD combining, - the LOD combining only working properly if done first. - -2001-12-14 10:47 robert - - * Fixes for Win32 build related to changes in using namespace std. - -2001-12-14 10:02 robert - - * Removed all references to using namespace std to help solve - compilation problems - under Windows and IRIX. - - Also integrated small change to lib3ds from Drew for IRIX - compilation. - -2001-12-12 20:29 robert - - * Made the following name changes to Matrix and Quat to clean them - up and make - the functionality clear given the name. This will break user code - unfortunately - so please be away of the following mapping. - - osg::Matrix::makeTrans(..)?\026 -> osg::Matrix::makeTranslate(..) - osg::Matrix::makeRot(..)?\026 -> osg::Matrix::makeRotate(..) - osg::Matrix::trans(..)?\026 -> osg::Matrix::translate(..) - - osg::Quat::makeRot(..)?\026 -> osg::Quat::makeRotate(..) - - Also updated the rest of the OSG distribution to use the new - names, and - have removed the old deprecated Matrix methods too. - -2001-12-12 15:09 robert - - * Fixed problems with osg::Matrix::makeRot(from,to) and - osg::Quat::makeRot(from,to) - so that they both use the same implementation (the Quat code now) - and the - code has been corrected to work from and to vectors which - directly opposite - to one another. - -2001-12-12 12:55 robert - - * Fixed problem with loading interleaved arrays in the .osg loader, - and corrected - a spelling mistake in osg::GeoSet. - -2001-12-12 05:09 don - - * Added translation and scaling to osgconv - -2001-12-11 17:00 don - - * Fixed Matrix::rotate( Vec3 from, Vec3 to); was using to X from to - derive - axis, which causes a left-handed rotation. Fixed to from X to. - -2001-12-11 16:00 robert - - * Fixed compilation problems under Windows due to changes in using - std::ostream etc. - -2001-12-11 11:22 robert - - * Removed the 'using namespace std' and replaced with more specific - 'using std::ostream' - this should help prevent polution of the global namespace with - std when including - these osg include files. - -2001-12-11 11:21 robert - - * Added :Referenced() to the osg::Camera(..) copy constructor to - prevent a warning - under Linux. - -2001-12-09 03:46 don - - * *** empty log message *** - -2001-12-04 22:57 robert - - * Added support for automatic deletion of osg::GeoSet's attributes, - via a - default AttributeDeleteFunctor which uses delete []. Users can - create - their own handlers for the attribute memory to override this - default - behavior. - - Fixed a typo in ReaderWriterOBJ.cpp. - -2001-12-04 20:38 robert - - * Various files which should have been checked in earlier but were - missed... - VisualStudio files for flt loader, and header files or Image and - Texture - for new osg::Texture::CLAMP_TO_EDGE and osg::Image::dirty. - -2001-12-04 19:41 robert - - * Updates to the flt loader, from Brede Johansen. - -2001-12-04 16:03 robert - - * Integrated Brede Johansen's updates to flt loader. - -2001-12-04 15:56 robert - - * Made a output message output as osg::DEBUG only. - -2001-12-04 12:34 robert - - * Commented out the code to force sgv to use ANAGLYPHIC_STEREO as - this should - not be the default, will add options to do this later. - -2001-12-04 12:31 robert - - * Improved support for anaglyphic stereo. - - Integrated texture CLAMP_TO_EDGE, submitted by Ulrich Hertlein. - -2001-12-02 22:20 robert - - * Beginings of support for quad bufferd, red/green, and slit screen - stereo. - -2001-12-02 08:59 don - - * Corrected a small booboo in preprocessor guard for header file in - GLU and - added Matrix::identity() to Matrix - -2001-11-30 20:53 robert - - * Fixed bug in osg::StateSet::merge(..) where the containers were - being - iterated from begin() to begin() rather than begin() to end(). - -2001-11-21 15:53 don - - * Small fix for preprocessor _MP symbol clash with MFC. - -2001-11-19 13:14 robert - - * Made the Warning font file not found message consistent with - other file not - found messages. - -2001-11-19 11:52 robert - - * Added DLL export to the internal classes in osgUtil::Optimize so - that the internal - classes can be used directly by client applications. - -2001-11-19 10:40 robert - - * Added warning report for when a font file cannot be found. - -2001-11-18 21:31 robert - - * Added osg::Image::dirtyImage() and setModifiedTag() to allow - external - updating of the image modified flag to be used in conjunction - with - texture subloading. - -2001-11-15 11:59 robert - - * Move the call to the manipulators before the scene app traversal - to that - any changes to the scene graph, such as adding an app callback - can be - seen by during the same frame. - -2001-11-14 15:53 robert - - * Fixes for windows compilation - -2001-11-14 15:52 robert - - * Fixed compilation problem under Wndows - -2001-11-14 15:32 robert - - * Fixed compilation problem under Wndows - -2001-11-14 14:10 robert - - * Added osgUtil::TransformCallback to help with rigid body - animation. - -2001-11-14 14:09 robert - - * Fixes for IRIX build. - - Updates to the osg::Transform, adding preMult and postMult - methods and - deprecating the old preRotate,preTranslate,preScale. - - Updated the rest of the OSG so that it nolonger uses the - deprecated - osg::Transform nodes. - - Renamed osgUtil::SceneView::setGlobalState() to - osgUtil::SceneView::setGlobalStateSet() so that the name reflects - its - functionality better. Updated osgGLUT::Viewer etc to cope with - new - name change. - -2001-11-12 10:04 robert - - * Added new files to cvs. - -2001-11-12 10:00 robert - - * Added src/osg/NodeCallback.cpp. - -2001-11-11 22:32 robert - - * Fixed compilation error in src/osgDB/FileUtils.cpp. - - Added support for nested NodeCallbacks, allowing them to be - chained together - so that multiple operations can be applied. - -2001-11-10 15:46 robert - - * Fixed osgUtil::Optimizer::FlatternStaticTransformsVisitor so that - the - apply(osg::LOD) scaled the ranges in addition to transform the - center - point and children. - -2001-11-10 13:36 robert - - * Fixed bug related to - osgUtil::Optimizer::FlatternStaticTransform::Visitor's - apply(Billboard& ) method which was apply the accumulated - transform to - the billbaord geometry when it should have been applying the - matrix without - the transform component. - -2001-11-09 15:06 robert - - * Added osgText::Paragraph which is a subclass from Geode which - composes a - list of text drawables as a paragraph block, handles breaking of - text into - individual lines automatically. - - Changed the osg::Node::setUserData so that the data type has to - be an - osg::Referenced, and removes the dependancy on - osg::MemoryAdapter. I have - done this since it simplifies the OSG side of the interface and - makes it - less like that the user might abuse the memory managment of the - data. It - does however mean that user data will have by subclassed from - Referenced, - and therefor may require users to have their own adapter to do - this. - However, this little nuasance is worth the extra cleaness and - robustness - afforded by going the osg::Referenced route. - -2001-11-09 15:01 robert - - * Fixed the findFileFile routine which had been broken by a fix of - a dlopen - problem - './' was added to all files which which directly found - without - requiring a search path rather than just locally found files, - this broke - file loads which had wern't local but had a valid path. I have - moved the - './' work around to inside fileDSO and made it only apply to - Linux as I - presume this is all it was needed for. Don? - -2001-11-08 13:50 robert - - * Fixed the IntersectVisitor which was broken by a recent patch to - catch parallel - line and traingle combinations. - -2001-11-07 12:42 robert - - * Added a dirtyBound() to osgUtil::Optimizer. - Corrected mispelling of alignment is osg::Text and the osgtext - demo. - Added guards for divide bu zero's to osg::IntersectVisitor. - -2001-11-06 11:36 robert - - * Fixed inlcude/BoundingBox to compile under Windows. - -2001-11-06 11:07 robert - - * Fixed inlcude/Math to compile under Windows. - -2001-11-06 10:34 robert - - * Added methods to support isNaN,isInfinte and valid to osg::Vec* - and osg::Math, - and added a guard to IntersectVisitor which uses these new - methods to prevent - invalid segments being added. - -2001-11-04 19:29 robert - - * Integrated updates to stats sent in my Geoff Michel. - -2001-11-02 21:20 don - - * Fixed findFileInPath to prepend ./ if file is in local directory. - This was - needed by dlopen() for dso's in the current directory - -2001-11-02 20:11 robert - - * Updates to Makefiles to include osgText. - Also a couple of undefined methods in osgText::Text have been - added. - -2001-11-02 12:26 robert - - * Updated index.html with dependacy info about the new osgText - library. - Modified osg/Drawable::draw(..) so that it uses display list - COMPILE - rather than COMPILE_AND_EXECUTE to solve performance problems - under - NVidia drivers. The old behavior is still available by comments - out - a #define. - Fixed the default compilation list src/osgPlugins/Makefile so - that it - compiles by defalt png and gif. - -2001-11-01 16:35 robert - - * Updates to the flt loader from Brede Johansen. - -2001-11-01 15:13 robert - - * Updates to osgText to fix a crash on ikart.tff font available - under Linux, the - bug was related to texel padding of the height not be accounted - for in texture - size calculation, but was used during populating the image data - causing a - mismatch. - -2001-10-31 22:35 robert - - * Added missing config.h file to src/osgPlugins/lib3ds. - -2001-10-31 20:04 robert - - * Added a bool paramter to osg::StateSet::compare(const StateSet& - rhs,bool compareAttributeContents=false) const; - to allow it to use different comparison schemes, now it can use - checking for pointer equality (the default) - or attribute contexts. This has been added to assist optimization - of databases within the flt loader, but - also could be useful for other operations too. - -2001-10-31 18:33 robert - - * Updated the lib3ds plugin with the new 1.1 version of lib3ds. - -2001-10-31 12:27 robert - - * Update to osgText to get things compiling under Windows. - -2001-10-31 11:41 robert - - * Update osgText.dsp to define FTGL_STATICLIBRARY to prevent it - compiling - the as a seperate library and producing linkage warnings. - -2001-10-31 10:20 robert - - * Updated the FTGL implemention in osgText to FTFL1.1. - -2001-10-30 19:23 robert - - * Further updates to the ReaderWriter support in osgDB, and a fix - to a small warning - in Matrix.cpp. - -2001-10-30 14:20 robert - - * Added support for ReadResult and WriteResult to the - osgDB::ReaderWriter - to allo plugins to pass back more information about the success - or failure - of a file load. All plugins have been updated to the new - convention. - -2001-10-29 19:29 robert - - * Changed a #define ... (GLenum) 0x84fe to 0x84FE to fix problems - under MacOS9 - build. - -2001-10-29 12:22 robert - - * Ran to_unix over src/Demos/osgtext/main.cpp to try and fix some - return type - problems reported under Windows. - -2001-10-29 12:19 robert - - * Added missing src/osgText/Version.cpp file. - -2001-10-25 01:11 bryan - - * Imposter.cpp added to the project - -2001-10-25 00:49 bryan - - * Changed the int to a GLint because of the differences within - mac/win32/linux versions of gl.h. - -2001-10-25 00:45 bryan - - * sgv is almost working - -2001-10-24 23:15 robert - - * Completed work on osgText compilation under Win32. We now - have fonts under Wndows and Linux :-) - -2001-10-24 22:29 robert - - * Updates to the visual studio files for osgText. - -2001-10-24 19:48 robert - - * Updates of osgDB/FileUtils to fix compilation problems under - Win32 - -2001-10-24 13:46 robert - - * Updates to osgText. - -2001-10-24 12:53 robert - - * Updates to osgText and osgDB so that the loading of text fonts - can use - osgDB::findFile() to locate font files from the OSGFILEPATH - environmental - variable. - -2001-10-24 09:41 robert - - * Updated FTGL version to 1.0 and removed a couple of warnings in - the osgText demo. - -2001-10-24 09:08 robert - - * Updated the osgText implemention, now works under Linux. - -2001-10-23 23:23 don - - * Added stat.c - -2001-10-23 23:15 don - - * One last change needed to makedefs.linux to sync Linux and Irix - pfb loader - -2001-10-23 23:10 don - - * Fixed pfb loader functionality for IRIX - -2001-10-23 22:59 don - - * Fixed pfb loader so that it works for both Linux and IRix with - dynamic - libraries, and provides support to load (almost) all that - Performer loads. - -2001-10-23 22:28 robert - - * Further work on getting osgText compiling. - -2001-10-23 22:12 robert - - * Removed old .cc versions of FT font code. - -2001-10-23 22:09 robert - - * Adding in new .cpp versions of FT font code. - -2001-10-23 22:08 robert - - * Updates to the new osgText library to get it to compile under - Linux. - -2001-10-23 20:04 robert - - * Converted FTGL files from mac style return to unix style. - -2001-10-23 19:51 robert - - * First past integrat of Max Rhiener work on wrapping FTGL to - create osgText - library and demo. - -2001-10-23 15:55 robert - - * Added new osgGLUT::Window base class which is very basic right - now, all it does - is bring up a GLUT window and provide virtual functions from - which users should - subclass to add functionality. - -2001-10-22 22:02 robert - - * Integrated Geoff Michel's updates to Stats code, whilest move all - text rendering - back in the viewer from the Statistics header. - - Added a osg::State::captureCurrentState(StateSet&) method and a - copy constructor - to osg::StateSet. - -2001-10-21 21:27 robert - - * Moved all #include "osg/.." references to #include to - aid port to - MacOS. - -2001-10-20 20:26 robert - - * Added support for an osgUtil::SceneView::init() traversal which - is called once - per scene view. The user can attach a NodeVisitor to do init for - them, or - leave it to the default which is to use the - osgUtil::DisplayListVisitor - which compiles all display lists and texture objects. The init - traversal - is called automatically by the first call to either app() or - cull(), so - should not be called by user code during initialization. This - ensures - that a valid graphics context has been established before OpenGL - is initialized. - - osgUtil::DisplayListVisitor has also been updated to use a bit - mask for options, and the addition of - compilation of texture objects (via StateAttribute::compile) has - also been - added. - -2001-10-20 09:48 robert - - * Added #ifdef to Performer ReaderWriterPFB so that pfdLoadFile is - used under - IRIX and pfdLoadFile_pfb is used under Linux. - -2001-10-19 15:53 robert - - * Removed Lighting.cpp from repository, it is nolonger used and was - just hanging - around erroneously. - -2001-10-19 15:30 robert - - * Updated the osgUtil::Optimize so that the call to - Optimize::StateVisitor is - #ifdef out under Win32 and STL port isn't being used. This - prevents crashes - due to MS's flacky STL implementation. - -2001-10-19 14:22 robert - - * Added osgUtil::Optimizer which contains four visitor each - designed for doing - different types of optimization on the scene graph - state - optimization, - flattening static transforms, combining LOD's and removing - redundent groups. - The new Optimizer replaces the once seperate - OptimizerStateVisitor. - -2001-10-19 12:56 robert - - * Added support for specifying whether view frustum and small - feature culling - should be applied to a node or its child with the new - osg::Node::setCullingActive() - flag. A mechanism has been implemented so that if child has its - culling disabled - then their parents, all the way up to the root are also have - their culling - implicitly disabled. - - The osg::CullVisitor has updated to take account of - both the explicit control via setCullingActive and the implicit - culling - disabling through children being disabled. - - This feature is useful for nodes which don't have a bounding - volume to cull - against, earth sky implementations and light sources. - - The default osg::Node::_cullingActive is true, i.e. culling is - enabled by - default. - -2001-10-17 22:17 don - - * Fixed static libraries in madefs.linux and error in - ReaderWriterPFB.cpp - -2001-10-16 22:30 bryan - - * Update the tree to my version of the project file (I thought it - was already in) - - Hang glide demo works - - sgv is still being fixed - -2001-10-16 21:47 robert - - * Reverted Bryan's changes to FrameStamp w.r.t std::tm structure - which doesn't - compile under Win32 and IRIX. Will need to find another solution. - -2001-10-16 21:32 bryan - - * This was the old project file. It's no longer used. - -2001-10-16 20:56 bryan - - * *** empty log message *** - -2001-10-16 18:39 robert - - * Fixes for IRIX build - submitted by Randall Hopper. - -2001-10-16 16:48 robert - - * Fixes for Win32 compilation. - -2001-10-16 15:03 robert - - * Fixed then normal smoothing function in the .3ds loader and the - osgUtil::SmoothingVisitor so that unused normals at left at 0,0,0 - insead - of being normalized, which results in (nan,nan,nan). - -2001-10-16 14:24 robert - - * Completed implementation of a the new CombineLODsVisitor, ideal - for use with - the .flt loader. Code is stuff currently in sgv, but will be - moved out once - more testing has been done. - -2001-10-16 10:04 robert - - * Added support for transforming LOD and Billboard centers to the - OrientationConverter and the flattenTransformVisitor in sgv. - -2001-10-16 10:03 robert - - * Modified Veiewer.cpp so that when toggling the light with 'l' the - light can - be overrided to off and overrided to on, previoulsy it only - overrided to off. - -2001-10-16 08:24 robert - - * Fixed problem caused by ReaderWriterPFB::writeNode(..) not - ensuring that the - file extension was .pfb. Have added a check. - -2001-10-16 03:59 don - - * added float *() operator to Vec{2,3,4} so we can pass Vec3's - directly to - OpenGL glVertex?fv(). - -2001-10-15 15:50 robert - - * Fixes for compilation under IRIX, submitted by Randal Hopper, - with mods - from Robert. - -2001-10-15 14:29 robert - - * Made the new global state attribute instances in osg::State use - osg:ref_ptr - to automatically handle the memory deletion. - -2001-10-15 14:07 robert - - * Added support for automatic creation of global StateAttributes to - osg::State, - these global attributes are created by cloning any attributes - which are - applied during rendering, the clone in a shallow copy, which will - set up - default valus for that attribute. This should prevent attribute - bleed - from one stateset to the next when the global StateSet doesn't - contain - an attribute used within the scene graph. - -2001-10-15 11:18 robert - - * Fixed rotations to account to the fixes made to Quat and Matrix - related to - right hand rule rotation. - -2001-10-15 08:40 robert - - * The writeImage/Object/Node methods in the .osg and .pfb - reader/writer didn't - have the new ReaderWriter::Options* structure passed to them, - which meant the - the virtual functions didn't bind with the new base class methods - and wern't - called on a write. - -2001-10-15 03:32 don - - * Updated pfb loader to load pfb files into osg. Still broken for - loading osg - files into Performer, however. - -2001-10-14 17:54 robert - - * Added osgDB::ReaderWriter::Options class to the ReaderWriter base - class, support - for settings options in osgDB::Registry, and added the paramter - to all of the - reaader/writer plugins. The Options structure by default has an - string attached - for packing basic options, however, it also can be subclassed to - encapsulate - any users defined option data. In the later case both the client - code *and* - the plugin need to be aware of subclass, the plugin will need to - use - dynamic_cast<> to assertain its type. - -2001-10-14 16:56 robert - - * Added OrientationConverter.cpp to the VisualStudio project files - for osgconv. - -2001-10-14 16:55 robert - - * Changed the OrientationConverter.cpp's to have consitent - captilization as its - associated header file. - -2001-10-14 14:23 robert - - * Fixed TransformFunctor code so that it now uses the inverse of - the - transformation matrix to transform the normal. - -2001-10-14 14:23 robert - - * Fixed a bug in Matrix::invert(..) which did not set - full_realised=true, - so that one Matrices which had not previously be initialized - we're - erronously initialized later in the code resetting it to - identity. - -2001-10-14 09:58 robert - - * Added osg::StateSet::merge(const StateSet& rhs) merges merges the - modes and - attributes of rhs into 'this' stateset. - -2001-10-14 09:57 robert - - * Fixed the Flight and Drive manipulators to work with the updated - Matrix::rotate - code. - -2001-10-14 06:01 don - - * Fixed a small boo-boo in definition of bit masks in - include/osg/Drawable - - Fixed incorrect normal conversions for osgconv. - -2001-10-14 05:33 don - - * Mr. O added fancy, shmanzy C++ code, but broke normal transform - functionality - Fixed. - -2001-10-14 05:14 don - - * Quick 'n dirty fix to TrackballManipulator to get the rotations - doing the - right things after the Quat fixes. - -2001-10-14 04:50 don - - * Cleaned up some 'make clobber' issues in root Makefile - -2001-10-14 04:28 don - - * Quaternions were assigning inverted values during conversion to - matricies. - This is probably due to an error on the gamasutra web page - demonstrating this. - It caused left-handed rotations rather than right handed - rotations. Should be - fixed now. - -2001-10-13 11:16 robert - - * Changed the naming and calling convention of the new - Drawable::AttributeFunctor - and have updated GeoSet to use mutable values for the _numverts - etc, allowing - osg::GeoSet::computeNumVerts() to be a const operation. - osg::GeoSet::getNumVerts - is now a const once more, so avoiding compilation problems. Also - chaned the new - osgconv orientation code to use a Drawable::AttributeFunctor so - it can work on - other Drawables other than just GeoSets. - -2001-10-13 09:48 don - - * Added Mr. Osfields dynamic_cast<> and test for validity test. - -2001-10-13 08:34 don - - * backed out right-handed coordinate transform for - makeRot(vec3,vec3) in Quat.cpp - -2001-10-13 08:32 don - - * A few more clean ups - -2001-10-13 07:41 don - - * Cleaned up the usage message - -2001-10-13 07:24 don - - * Updated osgconv to be able to handle orientation swapping. - -2001-10-13 06:23 don - - * Changed some routines to produce right-handed rotations. - -2001-10-13 06:22 don - - * checking files in to move development location - -2001-10-13 01:28 don - - * Removed personal note in Matrix header file - -2001-10-12 20:06 robert - - * Added support for the new AttributeUpdateFunctors. - -2001-10-12 20:05 robert - - * Added != method to Vec2,Vec3,Vec4 and did further work on the - AttributeUpdateFunctors. - -2001-10-12 17:45 don - - * Added include/osg/Math to Makefile TARGET_INCLUDE_FILES and fixed - references - to _mat in ConvertToPerformer.cpp - -2001-10-10 20:20 robert - - * Added support for DYNAMIC/STATIC osg::Transform types and added - new osg::Drawable::getStats - and supportsAttributeUpdate(..) and applyAttributeUpdate(...) - methods which will - be to enable hooks into Drawable subclasses. - -2001-10-10 14:38 robert - - * Fixed spelling of osg::GeoSet::getNumInterleavedIndices, was - missing a 'n'! - -2001-10-09 21:55 robert - - * Fixed a crash when opening an erroneous test file (reopen.bmp). - -2001-10-09 20:22 robert - - * Updated to fix build problems under MSVC. - -2001-10-09 20:09 robert - - * Updated MSVC Workspace files to fix build problems. - -2001-10-09 20:03 robert - - * Updated MSVC Workspace files to fix build problems. - -2001-10-09 14:18 robert - - * Merged Ben Discoe's clean up of the MSVC files. - -2001-10-09 11:58 robert - - * Merged updates to BMP plugin from Geoff Michel. Also modified a - little of the - code to fix a crash under Linux, Robert Osfield - -2001-10-08 19:01 robert - - * Put the makedefs.linux back to default to optimize. - -2001-10-08 15:54 robert - - * Fixed a recently introduced crash in the flt plugin which was - happen when a - std::string was be be set with NULL char*. Also added support for - stripping - the filename from its original path, inside the osgDB::findFile - function. - -2001-10-08 08:35 robert - - * Added support for using osgDB::fineFile into the .flt plugin. - -2001-10-07 20:10 robert - - * Merged Geoff Michel's udpdates to bmp plugin, and fixed a double - fclose bug - which was causing a seg fault under Linux. - -2001-10-06 20:29 robert - - * Added a osg::DegreesToRadians() and osg::RadiansToDegrees() - method to osg/Math, - updated the ReaderWriterBMP.cpp (mods sent in my Geoff Michel) - and - moved the osgUtil::Statistics to osg::Statistics in preperation - to adding it - to the the Drawable base class. - -2001-10-05 19:55 robert - - * Added bmp plugin files, bmp plguin written by Geoff Michel - -2001-10-05 10:39 robert - - * Added bmp osgPlugin, written by Geoff Michel. - -2001-10-05 10:38 robert - - * Fixed a bug in osg::Image::ensureDimensionsArePowerOfTwo() which - only - scaled dimensions if *both* axis wern't a power of two, have - fixed it - to rescale if either of the axis arn't a power to two. - -2001-10-05 01:27 bryan - - * *** empty log message *** - -2001-10-04 16:49 robert - - * Added the Copyright message to the top of osgWX, with Ben Disoe's - name as - he wrote all the code. - -2001-10-04 15:12 robert - - * Added a copyright notice to all core headers, which all begin - with - //C++ header to help scripts and editors pick up the fact that - the - file is a header file. - -2001-10-04 14:39 robert - - * Changed the ordering of comparing modes and attributes in - osg::StateAttribute::compare() as part of an investigration into - state sorting. - -2001-10-04 14:35 robert - - * Added an implemention of basic state sorting to the RenderBin, - but have commented - out the sort operation as Peformance benifit is currently - negligable, will need - to improve on the sort functor to see real benifits. - -2001-10-04 14:25 robert - - * Added extra precision to the app,cull and draw timings in the - Viewer. - -2001-10-04 14:20 robert - - * Removed some notify which were only used for debugging of the - camera class - and are now redudent. - -2001-10-04 14:10 robert - - * Changed the numeric ordering of StateAttributes Types, as part of - an - investigation into state sorting. - -2001-10-03 21:44 robert - - * Integrated changes for MacOSX, submitted by Phil Atkin, with - small mods by - Robert Osfield to maintain compatability under Linux. - -2001-10-03 07:56 robert - - * Added missing EarthSky.cpp file to osg plguin. - -2001-10-02 15:59 robert - - * Added include/osg/EarthSky and src/osg/EarthSky to cvs. - - Also move osg across to using radians for angular paramters by - default. - By defining USE_DEGREES_INTERNALLY you can get the OSG to revert - to - the old style degrees. This later feature is deprecated and only - meant - for helping comptability in the interim. - -2001-10-02 11:36 robert - - * Added osg::EarthSky node to the core osg library, and added - support for it into - osgUtil::SceneView, osg::CullVisitor, osgPlugin/osg and updated - the hangglide - demo to use the new earth sky node. - -2001-10-01 23:02 robert - - * Added support for osg::StateSet comparison operators and using - this new feature - added support in osgUtil::OptimizeStateVisitor for removing - duplicate - StateSet's from the scene graph, previously only duplicated - StateAttributes - we're removed. - -2001-10-01 12:06 robert - - * Integrated a bug fix to osg::TexMat from Geoff Michel which adds - a - glMatrixMode( GL_MODELVIEW ); after the setting of the texture - matrix. - Previously the texture matrix mode could run into normal model - view - matrix operations which were assuming the defaul of GL_MODELVIEW. - -2001-10-01 11:15 robert - - * Made spelling corrections, the spelling mistakes picked up by a - script - written by Neil Salter. - - script - -2001-09-30 20:41 robert - - * Interegrated changes to Timer from Neil Salter to fix compilation - problems which had been introduced by doing #include's within the - osg namespace. - -2001-09-29 18:34 robert - - * Added setAttributeAndModes(new Depth,StateAttribute::ON); - to the StateSet::setGlobalDefault() so that the correct default - for the glDepthFunc etc are set up for scene graphs, and allows - override of these value which risk of inheriting state on to the - rest of the scene graph. - - This has allowed the hangglide demo to be simplified since it now - doesn't need to set the global Depth instance itself. - -2001-09-29 09:37 robert - - * Modified the Matrix multiple method added by Don so it is safer - and added comments explaining why it shouldn't be needed as other - more efficient methods should be doing the work for us. - - Also added Matrix::ensureRealized() to support the lazy - initialization of Matrix, whilest keeping the implementation - robust so that external calls to Matrix which get values do so on - an initialized matrix. - -2001-09-29 02:48 don - - * Added operator * (Matrix &) to Matrix (header) and - operator [] to reference matrix elements. - -2001-09-28 20:10 robert - - * Made spelling corrections to osg include files, spelling mistakes - detected by a script written by Neil Salter which analyses - comments for mistakes. - -2001-09-28 19:36 don - - * Cleaned up inst rules a bit... - -2001-09-28 16:56 robert - - * *** empty log message *** - -2001-09-28 12:36 robert - - * *** empty log message *** - -2001-09-27 16:34 robert - - * *** empty log message *** - -2001-09-27 09:44 robert - - * *** empty log message *** - -2001-09-26 12:23 anonymous - - * *** empty log message *** - -2001-09-25 17:56 robert - - * *** empty log message *** - -2001-09-22 02:42 don - - * Synch with 20010921 - -2001-09-22 02:04 don - - * Added files to keep cvs from removing empty directories lib and - lib/osgPlugins - -2001-09-20 01:07 don - - * Added place holder README files to lib/README and - lib/osgUtil/README so - empty directories will not be removed by CVS - -2001-09-20 00:59 don - - * Removed Makedepend files - -2001-09-20 00:48 don - - * Addec binary files with -kb - -2001-09-20 00:47 don - - * Removed should be binary entries. Well r-add with -kb - -2001-09-20 00:07 don - - * Added ico files with -kb flag - -2001-09-20 00:06 don - - * Trying to clean up binary commits - -2001-09-19 23:56 don - - * Added these with the -kb flag now. - -2001-09-19 23:55 don - - * Cleaning up binary commits - oops - -2001-09-19 23:52 don - - * 1) new implementation of the osg::Matrix class. Note details - below. - 2) cleaned up osg::Timer, still in progress. My intent has been - to - pave the way for support for other OS's. - 3) new osg::FrameStamp class which has a frame number, reference - time for each frame to be app, culled and drawn. The FrameStamp - also can be passed to other machines (i.e. cluster) and the - FrameStamp can be used with the slaves own app,cull and draw. - I've also added the beginings of a calander time data to the - FrameStamp to allow time or day and year to be used in setting - up position of sun/moon etc. etc. - 4) The osg::State now has contains a pointer to the last applied - osg::Camera and the current osg::FrameStamp, so that drawables - can use both pieces of information for creating effects such - CLOD, earth/sky etc. The osg::NodeVisitor also now allows you - to attach a FrameStamp to support syncronization of actions on - the scene graph. - -2001-09-19 23:46 don - - * o Added osgUtil::StateOptimizeVisitor which traversing the scene - graph and builds up a map of all StateAttributes and StateSets - and then removes the duplicates. This promotes state sharing - throughout the scene graph which inturn can significantly improve - performance thanks to reduced state changing. Particularily - effective on datasets where a great deal of duplicated state - exists. - o Added pure virtual compare(const osg::StateAttribute&) - method to osg::StateAttribute, and implemented it in all the - subclasses from StateAttribute. Added <,== & != operator - on StateAttribute and Matrix to support new StateOptimizeVisitor. - o Added META_Object, META_Node and META_StateAttribute macros to - Object, Node and StateAttribute respectively which define the - standard pure virtual methods such as clone, className - & isSameKindAs. Changed all the appropriate header files to - use these macro's rather define them in each header, these cleans - up the headers considerably. - o Corrected the implementation of osg::Light::getType so it - correctly - uses a unique type for each of the OpenGL lights (GL_LIGHT0.. - GL_LIGHT7 relates to osg::StateAttriburte::LIGHT_0..LIGHT_7. - o Changed the definition of osg::StateStateAttribute::Type to - is now a unsigned int rather than an enum, and have changed the - name of the previous Type enum list to be Types. This makes it - more consistent with the difination of values found in - StateAttribute - and also easier to extend with having to cast to an enum. - o From Pail Fredrikson, updated Maitrx.new implemention which - uses - the same matrix orientation as the original Matrix implemention. - -2001-09-19 23:41 don - - * o Updated Metrowerks files for MacOS. They aren't 100% there yet, - but getting there. - - o First cut of osgcluster demo. Very simple beginings. Alas - I only one PC here so I can't test it in its current guise. - - o New support for NodeCallbacks, via AppCallback attached to - osg::Node's, and a default osgUtil::AppVisitor which calls them - on - each frame. - - o Support for traversal masks in osg::NodeVisitor, osg::Node - which allows nodes to be switched on or off via a bit mask. - - o Suppport for traversal number (frame number) and reference time - into osg::NodeVisitor to handle syncronization of app and cull - traversals. This also assist clustering as traversal number - master to slaves. - -2001-09-19 23:21 don - - * 0.8.42 sync - -2001-09-19 21:51 don - - * Removed files.... synching witn 0.8.42 - -2001-09-19 21:41 don - - * And yet more clean up synch with 0.8.42 - -2001-09-19 21:19 don - - * More clean up for synch with 0.8.42 - -2001-09-19 21:10 don - - * Added acompole more - -2001-09-19 21:08 don - - * Added a bunch of files synched with 0.8.42 - -2001-01-12 17:34 don - - * Removed Makedepend for osg repository. No Makedepends should be - in the - repository - -2001-01-10 17:19 don - - * Fixed the findDSO error which excluded PATH on win32 and - LD_LIBRARY_PATH in - UNIX. - -2001-01-10 16:32 don - - * Initial revision - -2001-01-10 16:32 - - * New repository initialized by cvs2svn. +Wed, 10 Jan 2001 16:32:10 +0000 +Checked in by : Don BURNS +Initial revision +Wed, 10 Jan 2001 16:32:10 +0000 +Checked in by : Robert Osfield +New repository initialized by cvs2svn. diff -Nru openscenegraph-3.4-3.4.0+dfsg1/CMakeLists.txt openscenegraph-3.4-3.4.1+dfsg1/CMakeLists.txt --- openscenegraph-3.4-3.4.0+dfsg1/CMakeLists.txt 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/CMakeLists.txt 2017-08-28 16:50:49.000000000 +0000 @@ -53,11 +53,11 @@ SET(OPENSCENEGRAPH_MAJOR_VERSION 3) SET(OPENSCENEGRAPH_MINOR_VERSION 4) -SET(OPENSCENEGRAPH_PATCH_VERSION 0) -SET(OPENSCENEGRAPH_SOVERSION 130) +SET(OPENSCENEGRAPH_PATCH_VERSION 1) +SET(OPENSCENEGRAPH_SOVERSION 131) # set to 0 when not a release candidate, non zero means that any generated -# svn tags will be treated as release candidates of given number +# git tags will be treated as release candidates of given number SET(OPENSCENEGRAPH_RELEASE_CANDIDATE 0) SET(OPENSCENEGRAPH_VERSION ${OPENSCENEGRAPH_MAJOR_VERSION}.${OPENSCENEGRAPH_MINOR_VERSION}.${OPENSCENEGRAPH_PATCH_VERSION}) @@ -114,27 +114,15 @@ SET(CMAKE_THREAD_LIBS_INIT "" CACHE INTERNAL "") ENDIF() -OPTION(OSG_MAINTAINER "Enable OpenSceneGraph maintainer build methods, such as making svn branches, tags, updating ChangeLog." OFF) +OPTION(OSG_MAINTAINER "Enable OpenSceneGraph maintainer build methods, such as making git branches, tags, updating ChangeLog." OFF) IF (OSG_MAINTAINER) - #SET(OPENSCENEGRAPH_SVN "trunk") - SET(OPENSCENEGRAPH_SVN "branches") SET(OPENSCENEGRAPH_BRANCH OpenSceneGraph-${OPENSCENEGRAPH_MAJOR_VERSION}.${OPENSCENEGRAPH_MINOR_VERSION}) # # Provide target for tagging a release # - SET(SVNCOMMAND svn) - SET(SVNTRUNKDIR http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk) - SET(SVNTAGDIR http://svn.openscenegraph.org/osg/OpenSceneGraph/tags) - SET(SVNBRANCHDIR http://svn.openscenegraph.org/osg/OpenSceneGraph/branches) - - IF (OPENSCENEGRAPH_SVN STREQUAL "trunk") - SET(SVNSOURCEDIR ${SVNTRUNKDIR}) - ELSE() - SET(SVNSOURCEDIR ${SVNBRANCHDIR}/${OPENSCENEGRAPH_BRANCH}) - ENDIF() - + SET(GITCOMMAND git) IF (OPENSCENEGRAPH_RELEASE_CANDIDATE EQUAL 0) SET(RELEASE_NAME OpenSceneGraph-${OPENSCENEGRAPH_VERSION}) @@ -142,31 +130,38 @@ SET(RELEASE_NAME OpenSceneGraph-${OPENSCENEGRAPH_VERSION}-rc${OPENSCENEGRAPH_RELEASE_CANDIDATE}) ENDIF() + SET(RELEASE_MESSAGE "Release ${RELEASE_NAME}") + SET(BRANCH_MESSAGE "Branch ${OPENSCENEGRAPH_BRANCH}") + ADD_CUSTOM_TARGET(tag-test - COMMAND echo ${SVNCOMMAND} copy ${SVNSOURCEDIR} ${SVNTAGDIR}/${RELEASE_NAME} -m "Release ${RELEASE_NAME}" + COMMAND echo ${GITCOMMAND} tag -a ${RELEASE_NAME} -m ${RELEASE_MESSAGE} + COMMAND echo ${GITCOMMAND} push origin ${RELEASE_NAME} ) ADD_CUSTOM_TARGET(tag-run - COMMAND ${SVNCOMMAND} copy ${SVNSOURCEDIR} ${SVNTAGDIR}/${RELEASE_NAME} -m "Release ${RELEASE_NAME}" + COMMAND ${GITCOMMAND} tag -a ${RELEASE_NAME} -m ${RELEASE_MESSAGE} + COMMAND ${GITCOMMAND} push origin ${RELEASE_NAME} ) ADD_CUSTOM_TARGET(branch-test - COMMAND echo ${SVNCOMMAND} copy ${SVNSOURCEDIR} ${SVNBRANCHDIR}/${OPENSCENEGRAPH_BRANCH} -m "Branch ${OPENSCENEGRAPH_BRANCH}" + COMMAND echo ${GITCOMMAND} branch ${OPENSCENEGRAPH_BRANCH} -m ${BRANCH_MESSAGE} + COMMAND echo ${GITCOMMAND} push origin ${OPENSCENEGRAPH_BRANCH} ) ADD_CUSTOM_TARGET(branch-run - COMMAND ${SVNCOMMAND} copy ${SVNSOURCEDIR} ${SVNBRANCHDIR}/${OPENSCENEGRAPH_BRANCH} -m "Branch ${OPENSCENEGRAPH_BRANCH}" + COMMAND ${GITCOMMAND} branch ${OPENSCENEGRAPH_BRANCH} -m ${BRANCH_MESSAGE} + COMMAND ${GITCOMMAND} push origin ${OPENSCENEGRAPH_BRANCH} ) # # Provide target for generating ChangeLog # - SET(GENERATELOGS svn2cl) + SET(GITLOGFORMAT "%aD%nChecked in by : %an%n%s%b%n") + SET(GENERATELOGS git log --pretty=format:${GITLOGFORMAT}) ADD_CUSTOM_TARGET(ChangeLog - COMMAND ${SVNCOMMAND} update - COMMAND ${GENERATELOGS} ${SVNSOURCEDIR} + COMMAND ${GENERATELOGS} > ChangeLog ) ENDIF(OSG_MAINTAINER) @@ -398,6 +393,7 @@ OPTION(OSG_DISABLE_MSVC_WARNINGS "Set to OFF to not disable MSVC warnings generated by OSG headers." ON) MARK_AS_ADVANCED(OSG_DISABLE_MSVC_WARNINGS) +OPTION(OSG_PROVIDE_READFILE "Set to ON for include/osgDB/ReadFile to provide the osgDB::read*File(() methods. " ON) OPTION(OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION "Set to ON to use the ref_ptr<> T* operator() output conversion. " ON) @@ -519,39 +515,39 @@ ENDIF() IF (OSG_GL1_AVAILABLE) - SET(OSG_GL1_FEATURES "true") + SET(OSG_GL1_FEATURES 1) ELSE() - SET(OSG_GL1_FEATURES "false") + SET(OSG_GL1_FEATURES 0) ENDIF() IF (OSG_GL2_AVAILABLE) - SET(OSG_GL2_FEATURES "true") + SET(OSG_GL2_FEATURES 1) ELSE() - SET(OSG_GL2_FEATURES "false") + SET(OSG_GL2_FEATURES 0) ENDIF() IF (OSG_GL3_AVAILABLE) - SET(OSG_GL3_FEATURES "true") + SET(OSG_GL3_FEATURES 1) ELSE() - SET(OSG_GL3_FEATURES "false") + SET(OSG_GL3_FEATURES 0) ENDIF() IF (OSG_GLES1_AVAILABLE) - SET(OSG_GLES1_FEATURES "true") + SET(OSG_GLES1_FEATURES 1) ELSE() - SET(OSG_GLES1_FEATURES "false") + SET(OSG_GLES1_FEATURES 0) ENDIF() IF (OSG_GLES2_AVAILABLE) - SET(OSG_GLES2_FEATURES "true") + SET(OSG_GLES2_FEATURES 1) ELSE() - SET(OSG_GLES2_FEATURES "false") + SET(OSG_GLES2_FEATURES 0) ENDIF() IF (OSG_GLES3_AVAILABLE) - SET(OSG_GLES3_FEATURES "true") + SET(OSG_GLES3_FEATURES 1) ELSE() - SET(OSG_GLES3_FEATURES "false") + SET(OSG_GLES3_FEATURES 0) ENDIF() IF(ANDROID) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/Find3rdPartyDependencies.cmake openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/Find3rdPartyDependencies.cmake --- openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/Find3rdPartyDependencies.cmake 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/Find3rdPartyDependencies.cmake 2017-08-28 16:50:49.000000000 +0000 @@ -9,19 +9,19 @@ SET(MY_PATH_INCLUDE ) SET(MY_PATH_LIB ) - + FOREACH( MYPATH ${SEARCHPATHLIST} ) SET(MY_PATH_INCLUDE ${MY_PATH_INCLUDE} ${MYPATH}/include) SET(MY_PATH_LIB ${MY_PATH_LIB} ${MYPATH}/lib) ENDFOREACH( MYPATH ${SEARCHPATHLIST} ) - + FIND_PATH("${DEPNAME}_INCLUDE_DIR" ${INCLUDEFILE} ${MY_PATH_INCLUDE} NO_DEFAULT_PATH ) MARK_AS_ADVANCED("${DEPNAME}_INCLUDE_DIR") #MESSAGE( " ${DEPNAME}_INCLUDE_DIR --> ${${DEPNAME}_INCLUDE_DIR}<--") - + SET(LIBRARY_NAMES "") FOREACH(LIBNAME ${LIBRARY_NAMES_BASE}) LIST(APPEND LIBRARY_NAMES "${LIBNAME}${EXSUFFIX}") @@ -35,7 +35,7 @@ FOREACH(LIBNAME ${LIBRARY_NAMES_BASE}) LIST(APPEND LIBRARY_NAMES_DEBUG "${LIBNAME}${DEBUGSUFFIX}${EXSUFFIX}") ENDFOREACH(LIBNAME) - FIND_LIBRARY("${DEPNAME}_LIBRARY_DEBUG" + FIND_LIBRARY("${DEPNAME}_LIBRARY_DEBUG" NAMES ${LIBRARY_NAMES_DEBUG} PATHS ${MY_PATH_LIB} NO_DEFAULT_PATH @@ -49,7 +49,13 @@ MESSAGE("-- Warning Debug ${DEPNAME} not found, using: ${${DEPNAME}_LIBRARY}") SET(${DEPNAME}_LIBRARY_DEBUG "${${DEPNAME}_LIBRARY}") ENDIF(NOT ${DEPNAME}_LIBRARY_DEBUG) + + SET(${DEPNAME}_LIBRARIES debug ${${DEPNAME}_LIBRARY_DEBUG} optimized ${${DEPNAME}_LIBRARY} ) + ENDIF(${DEPNAME}_INCLUDE_DIR AND ${DEPNAME}_LIBRARY) + + + ENDMACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES_BASE SEARCHPATHLIST DEBUGSUFFIX) @@ -58,21 +64,21 @@ ################################################################################################ MACRO(SEARCH_3RDPARTY OSG_3RDPARTY_BIN) - FIND_DEPENDENCY(TIFF tiff.h libtiff ${OSG_3RDPARTY_BIN} "D" "_i") - FIND_DEPENDENCY(FREETYPE ft2build.h "freetype;freetype2311MT;freetype234;freetype234MT;freetype235;freetype237;freetype238;freetype244;freetype250;" ${OSG_3RDPARTY_BIN} "d" "") + FIND_DEPENDENCY(TIFF tiff.h "libtiff;tiff" ${OSG_3RDPARTY_BIN} "D" "") + FIND_DEPENDENCY(FREETYPE ft2build.h "freetype;freetype2311MT;freetype234;freetype234MT;freetype235;freetype237;freetype238;freetype244;freetype250;freetype27;" ${OSG_3RDPARTY_BIN} "d" "") IF(FREETYPE_FOUND) - #forcing subsequent FindFreeType stuff to not search for other variables.... kind of a hack + #forcing subsequent FindFreeType stuff to not search for other variables.... kind of a hack SET(FREETYPE_INCLUDE_DIR_ft2build ${FREETYPE_INCLUDE_DIR} CACHE PATH "" FORCE) SET(FREETYPE_INCLUDE_DIR_freetype2 ${FREETYPE_INCLUDE_DIR} CACHE PATH "" FORCE) MARK_AS_ADVANCED(FREETYPE_INCLUDE_DIR_ft2build FREETYPE_INCLUDE_DIR_freetype2) SET(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}") ENDIF(FREETYPE_FOUND) - FIND_DEPENDENCY(CURL curl/curl.h "libcurl;curllib" ${OSG_3RDPARTY_BIN} "D" "") + FIND_DEPENDENCY(CURL curl/curl.h "libcurl;curllib;libcurl_imp" ${OSG_3RDPARTY_BIN} "D" "") FIND_DEPENDENCY(JPEG jpeglib.h "libjpeg;jpeg" ${OSG_3RDPARTY_BIN} "D" "") FIND_DEPENDENCY(GDAL gdal.h "gdal;gdal16" ${OSG_3RDPARTY_BIN} "d" "_i") FIND_DEPENDENCY(GLUT GL/glut.h glut32 ${OSG_3RDPARTY_BIN} "D" "") IF(GLUT_FOUND) - #forcing subsequent FindGlut stuff to not search for other variables.... kind of a hack + #forcing subsequent FindGlut stuff to not search for other variables.... kind of a hack SET(GLUT_glut_LIBRARY ${GLUT_LIBRARY} CACHE FILEPATH "") MARK_AS_ADVANCED(GLUT_glut_LIBRARY) ENDIF(GLUT_FOUND) @@ -81,16 +87,18 @@ IF(ZLIB_FOUND) FIND_DEPENDENCY(PNG png.h "libpng;libpng13;libpng15;libpng16" ${OSG_3RDPARTY_BIN} "D" "") IF(PNG_FOUND) - #forcing subsequent FindPNG stuff to not search for other variables.... kind of a hack + #forcing subsequent FindPNG stuff to not search for other variables.... kind of a hack SET(PNG_PNG_INCLUDE_DIR ${PNG_INCLUDE_DIR} CACHE FILEPATH "") MARK_AS_ADVANCED(PNG_PNG_INCLUDE_DIR) ENDIF(PNG_FOUND) ENDIF(ZLIB_FOUND) - FIND_DEPENDENCY(LIBXML2 libxml2 "libxml2" ${OSG_3RDPARTY_BIN} "D" "") + + # CMakes default module to find libxml2 will not find the in + FIND_DEPENDENCY(LIBXML2 libxml/xpath.h "libxml2" ${OSG_3RDPARTY_BIN} "D" "") IF(LIBXML2_FOUND) - # The CMAKE find libxml module uses LIBXML2_LIBRARIES -> fill it.... kind of a hack - SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY} CACHE FILEPATH "" FORCE) - SET(LIBXML2_XMLLINT_EXECUTABLE ${OSG_3RDPARTY_BIN}/bin/xmllint.exe CACHE FILEPATH "Path to xmllint executable" FORCE) + # The CMAKE find libxml module uses LIBXML2_LIBRARIES -> fill it.... kind of a hack + SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY} CACHE FILEPATH "LibXML2 library for collada" FORCE) + # SET(LIBXML2_XMLLINT_EXECUTABLE ${OSG_3RDPARTY_BIN}/bin/xmllint.exe CACHE FILEPATH "Path to xmllint executable" FORCE) ENDIF(LIBXML2_FOUND) #FIND_DEPENDENCY(DEPNAME INCLUDEFILE LIBRARY_NAMES_BASE SEARCHPATHLIST DEBUGSUFFIX EXSUFFIX) FIND_Package(NVTT) @@ -104,7 +112,7 @@ # this is code for handling optional 3RDPARTY usage ################################################################################################ -OPTION(USE_3RDPARTY_BIN "Set to ON to use Mike prebuilt dependencies situated side of OpenSceneGraph source. Use OFF for avoiding." ON) +OPTION(USE_3RDPARTY_BIN "Set to ON to use Mike or Torbens prebuilt dependencies situated side of OpenSceneGraph source. Use OFF for avoiding." ON) IF(USE_3RDPARTY_BIN) # Check Architecture @@ -132,7 +140,7 @@ SET(TEST_3RDPARTY_DIR "${PARENT_DIR}/3rdParty_win32binaries_vs90sp1") ENDIF() ENDIF(NOT EXISTS ${TEST_3RDPARTY_DIR}) - + SET(ACTUAL_3RDPARTY_DIR "${TEST_3RDPARTY_DIR}" CACHE PATH "Location of 3rdparty dependencies") SET(ACTUAL_3DPARTY_DIR "${ACTUAL_3RDPARTY_DIR}") # kept for backcompatibility IF(EXISTS ${ACTUAL_3RDPARTY_DIR}) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/FindAVFoundation.cmake openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/FindAVFoundation.cmake --- openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/FindAVFoundation.cmake 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/FindAVFoundation.cmake 2017-08-28 16:50:49.000000000 +0000 @@ -30,7 +30,7 @@ # AVFoundation exists since 10.7, but only 10.8 has all features necessary for OSG # so check the SDK-setting - IF(${OSG_OSX_SDK_NAME} STREQUAL "macosx10.8" OR ${OSG_OSX_SDK_NAME} STREQUAL "macosx10.9" OR ${OSG_OSX_SDK_NAME} STREQUAL "macosx10.10") + IF(${OSG_OSX_SDK_NAME} STREQUAL "macosx10.8" OR ${OSG_OSX_SDK_NAME} STREQUAL "macosx10.9" OR ${OSG_OSX_SDK_NAME} STREQUAL "macosx10.10" OR ${OSG_OSX_SDK_NAME} STREQUAL "macosx10.11") # nothing special here ;-) ELSE() MESSAGE("AVFoundation disabled for SDK < 10.8") diff -Nru openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/FindCOLLADA.cmake openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/FindCOLLADA.cmake --- openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/FindCOLLADA.cmake 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/FindCOLLADA.cmake 2017-08-28 16:50:49.000000000 +0000 @@ -28,6 +28,8 @@ SET(COLLADA_BUILDNAME "mac") ELSEIF(MINGW) SET(COLLADA_BUILDNAME "mingw") +ELSEIF(MSVC14) + SET(COLLADA_BUILDNAME "vc14") ELSEIF(MSVC12) SET(COLLADA_BUILDNAME "vc12") ELSEIF(MSVC11) @@ -53,10 +55,16 @@ /usr/local/include /usr/local/include/colladadom /usr/local/include/collada-dom + /usr/local/include/collada-dom2.4 + /usr/local/include/collada-dom2.2 /opt/local/include/collada-dom + /opt/local/include/collada-dom2.4 + /opt/local/include/collada-dom2.2 /usr/include/ /usr/include/colladadom /usr/include/collada-dom + /usr/include/collada-dom2.4 + /usr/include/collada-dom2.2 /sw/include # Fink /opt/local/include # DarwinPorts /opt/csw/include # Blastwave @@ -66,7 +74,7 @@ ) FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY - NAMES collada_dom collada14dom Collada14Dom libcollada14dom21 libcollada14dom22 collada-dom2.4-dp + NAMES collada_dom collada14dom Collada14Dom libcollada14dom21 libcollada14dom22 collada-dom2.4-dp collada-dom2.4-dp-vc120-mt PATHS ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4 ${COLLADA_DOM_ROOT} @@ -90,7 +98,7 @@ ) FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY_DEBUG - NAMES collada_dom-d collada14dom-d Collada14Dom-d libcollada14dom21-d libcollada14dom22-d collada-dom2.4-dp-d + NAMES collada_dom-d collada14dom-d Collada14Dom-d libcollada14dom21-d libcollada14dom22-d collada-dom2.4-dp-d collada-dom2.4-dp-vc120-mt-d PATHS ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4-d ${COLLADA_DOM_ROOT} @@ -178,7 +186,16 @@ FIND_PACKAGE(ZLIB) IF (ZLIB_FOUND) - SET(COLLADA_ZLIB_LIBRARY "${ZLIB_LIBRARY}" CACHE FILEPATH "" FORCE) + IF (ZLIB_LIBRARY_RELEASE) + SET(COLLADA_ZLIB_LIBRARY "${ZLIB_LIBRARY_RELEASE}" CACHE FILEPATH "" FORCE) + ELSE(ZLIB_LIBRARY_RELEASE) + SET(COLLADA_ZLIB_LIBRARY "${ZLIB_LIBRARY}" CACHE FILEPATH "" FORCE) + ENDIF(ZLIB_LIBRARY_RELEASE) + IF (ZLIB_LIBRARY_DEBUG) + SET(COLLADA_ZLIB_LIBRARY_DEBUG "${ZLIB_LIBRARY_DEBUG}" CACHE FILEPATH "" FORCE) + ELSE(ZLIB_LIBRARY_DEBUG) + SET(COLLADA_ZLIB_LIBRARY_DEBUG "${COLLADA_ZLIB_LIBRARY}" CACHE FILEPATH "" FORCE) + ENDIF(ZLIB_LIBRARY_DEBUG) ELSE(ZLIB_FOUND) IF(WIN32) FIND_LIBRARY(COLLADA_ZLIB_LIBRARY @@ -244,7 +261,7 @@ ) FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY - NAMES libboost_filesystem boost_filesystem boost_filesystem-mt libboost_filesystem-${COLLADA_BUILDNAME}0-mt libboost_filesystem-${COLLADA_BUILDNAME}0-mt-1_54 libboost_filesystem-${COLLADA_BUILDNAME}0-mt-1_55 + NAMES libboost_filesystem boost_filesystem boost_filesystem-mt libboost_filesystem-${COLLADA_BUILDNAME}0-mt libboost_filesystem-${COLLADA_BUILDNAME}0-mt-1_54 libboost_filesystem-${COLLADA_BUILDNAME}0-mt-1_55 libboost_filesystem-${COLLADA_BUILDNAME}0-mt-1_58 boost_filesystem-${COLLADA_BUILDNAME}0-mt-1_62 PATHS ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw @@ -252,7 +269,7 @@ ) FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY_DEBUG - NAMES libboost_filesystem-d boost_filesystem-d boost_filesystem-mt-d libboost_filesystem-${COLLADA_BUILDNAME}0-mt-gd libboost_filesystem-${COLLADA_BUILDNAME}0-mt-gd-1_54 libboost_filesystem-${COLLADA_BUILDNAME}0-mt-gd-1_55 + NAMES libboost_filesystem-d boost_filesystem-d boost_filesystem-mt-d libboost_filesystem-${COLLADA_BUILDNAME}0-mt-gd libboost_filesystem-${COLLADA_BUILDNAME}0-mt-gd-1_54 libboost_filesystem-${COLLADA_BUILDNAME}0-mt-gd-1_55 libboost_filesystem-${COLLADA_BUILDNAME}0-mt-gd-1_58 boost_filesystem-${COLLADA_BUILDNAME}0-mt-gd-1_62 PATHS ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw @@ -260,7 +277,7 @@ ) FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY - NAMES libboost_system boost_system boost_system-mt libboost_system-${COLLADA_BUILDNAME}0-mt libboost_system-${COLLADA_BUILDNAME}0-mt-1_54 libboost_system-${COLLADA_BUILDNAME}0-mt-1_55 + NAMES libboost_system boost_system boost_system-mt libboost_system-${COLLADA_BUILDNAME}0-mt libboost_system-${COLLADA_BUILDNAME}0-mt-1_54 libboost_system-${COLLADA_BUILDNAME}0-mt-1_55 libboost_system-${COLLADA_BUILDNAME}0-mt-1_58 boost_system-${COLLADA_BUILDNAME}0-mt-1_62 PATHS ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw @@ -268,7 +285,7 @@ ) FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY_DEBUG - NAMES libboost_system-d boost_system-d boost_system-mt-d libboost_system-${COLLADA_BUILDNAME}0-mt-gd libboost_system-${COLLADA_BUILDNAME}0-mt-gd-1_54 libboost_system-${COLLADA_BUILDNAME}0-mt-gd-1_55 + NAMES libboost_system-d boost_system-d boost_system-mt-d libboost_system-${COLLADA_BUILDNAME}0-mt-gd libboost_system-${COLLADA_BUILDNAME}0-mt-gd-1_54 libboost_system-${COLLADA_BUILDNAME}0-mt-gd-1_55 libboost_system-${COLLADA_BUILDNAME}0-mt-gd-1_58 boost_system-${COLLADA_BUILDNAME}0-mt-gd-1_62 PATHS ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw diff -Nru openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/FindFBX.cmake openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/FindFBX.cmake --- openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/FindFBX.cmake 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/FindFBX.cmake 2017-08-28 16:50:49.000000000 +0000 @@ -50,13 +50,13 @@ $ENV{FBX_DIR} "$ENV{ProgramW6432}/Autodesk/FBX/FBX SDK/2015.1" "$ENV{PROGRAMFILES}/Autodesk/FBX/FBX SDK/2015.1" + "/Applications/Autodesk/FBX/FBX SDK/2015.1" /Applications/Autodesk/FBXSDK20151 "$ENV{ProgramW6432}/Autodesk/FBX/FBX SDK/2014.2" "$ENV{PROGRAMFILES}/Autodesk/FBX/FBX SDK/2014.2" + "/Applications/Autodesk/FBX/FBX SDK/2014.2" /Applications/Autodesk/FBXSDK20142 - /Applications/Autodesk/FBXSDK20141 ) -#I think the last line in the search path is an old typo, but let's search for 2014.1 anyway - LV # search for headers & debug/release libraries FIND_PATH(FBX_INCLUDE_DIR "fbxsdk.h" @@ -96,8 +96,9 @@ SET( FBX_SEARCH_PATHS $ENV{FBX_DIR} - $ENV{ProgramW6432}/Autodesk/FBX/FBX SDK/2014.1 - $ENV{PROGRAMFILES}/Autodesk/FBX/FBX SDK/2014.1 + "$ENV{ProgramW6432}/Autodesk/FBX/FBX SDK/2014.1" + "$ENV{PROGRAMFILES}/Autodesk/FBX/FBX SDK/2014.1" + "/Applications/Autodesk/FBX/FBX SDK/2014.1" /Applications/Autodesk/FBXSDK20141 ) @@ -134,8 +135,9 @@ SET( FBX_SEARCH_PATHS $ENV{FBX_DIR} - $ENV{ProgramW6432}/Autodesk/FBX/FBX SDK/2013.3 - $ENV{PROGRAMFILES}/Autodesk/FBX/FBX SDK/2013.3 + "$ENV{ProgramW6432}/Autodesk/FBX/FBX SDK/2013.3" + "$ENV{PROGRAMFILES}/Autodesk/FBX/FBX SDK/2013.3" + "/Applications/Autodesk/FBX/FBX SDK/2013.3" /Applications/Autodesk/FBXSDK20133 ) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/FindFreetype.cmake openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/FindFreetype.cmake --- openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/FindFreetype.cmake 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/FindFreetype.cmake 2017-08-28 16:50:49.000000000 +0000 @@ -1,141 +1,188 @@ -# - Locate FreeType library +#.rst: +# FindFreetype +# ------------ +# +# Locate FreeType library +# # This module defines -# FREETYPE_LIBRARY, the library to link against -# FREETYPE_FOUND, if false, do not try to link to FREETYPE -# FREETYPE_INCLUDE_DIRS, where to find headers. -# This is the concatenation of the paths: -# FREETYPE_INCLUDE_DIR_ft2build -# FREETYPE_INCLUDE_DIR_freetype2 -# -# $FREETYPE_DIR is an environment variable that would -# correspond to the ./configure --prefix=$FREETYPE_DIR -# used in building FREETYPE. -# Created by Eric Wing. - -# prefer FindFreetype from cmake distribution -if(EXISTS ${CMAKE_ROOT}/Modules/FindFreetype.cmake) - include(${CMAKE_ROOT}/Modules/FindFreetype.cmake) - - if(FREETYPE_FOUND) - return() - endif() -endif() +# +# :: +# +# FREETYPE_LIBRARIES, the library to link against +# FREETYPE_FOUND, if false, do not try to link to FREETYPE +# FREETYPE_INCLUDE_DIRS, where to find headers. +# FREETYPE_VERSION_STRING, the version of freetype found (since CMake 2.8.8) +# This is the concatenation of the paths: +# FREETYPE_INCLUDE_DIR_ft2build +# FREETYPE_INCLUDE_DIR_freetype2 +# +# +# +# $FREETYPE_DIR is an environment variable that would correspond to the +# ./configure --prefix=$FREETYPE_DIR used in building FREETYPE. + +#============================================================================= +# Copyright 2000-2016 Kitware, Inc. +# Copyright 2000-2011 Insight Software Consortium +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the names of Kitware, Inc., the Insight Software Consortium, +# nor the names of their contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#============================================================================= + +# Created by Eric Wing. +# Modifications by Alexander Neundorf. +# This file has been renamed to "FindFreetype.cmake" instead of the correct +# "FindFreeType.cmake" in order to be compatible with the one from KDE4, Alex. -# Ugh, FreeType seems to use some #include trickery which +# Ugh, FreeType seems to use some #include trickery which # makes this harder than it should be. It looks like they # put ft2build.h in a common/easier-to-find location which -# then contains a #include to a more specific header in a +# then contains a #include to a more specific header in a # more specific location (#include ). -# Then from there, they need to set a bunch of #define's +# Then from there, they need to set a bunch of #define's # so you can do something like: # #include FT_FREETYPE_H -# Unfortunately, using CMake's mechanisms like INCLUDE_DIRECTORIES() +# Unfortunately, using CMake's mechanisms like include_directories() # wants explicit full paths and this trickery doesn't work too well. -# I'm going to attempt to cut out the middleman and hope +# I'm going to attempt to cut out the middleman and hope # everything still works. -FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h - PATHS - $ENV{FREETYPE_DIR} - NO_DEFAULT_PATH - PATH_SUFFIXES include -) -FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h - PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. - NO_DEFAULT_PATH - PATH_SUFFIXES include -) -FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h - PATHS - /usr/local - /usr - /usr/local/X11R6 - /usr/local/X11 - /usr/X11R6 - /usr/X11 - /sw - /opt/local - /opt/csw - /opt - /usr/freeware - PATH_SUFFIXES include include/freetype2 -) - -FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h - $ENV{FREETYPE_DIR}/include/freetype2 - NO_DEFAULT_PATH -) -FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h - PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. - NO_DEFAULT_PATH - PATH_SUFFIXES include/freetype2 -) -FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h - /usr/local/include/freetype2 - /usr/include/freetype2 - /usr/local/X11R6/include/freetype2 - /usr/local/X11/include/freetype2 - /usr/X11R6/include/freetype2 - /usr/X11/include/freetype2 - /sw/include/freetype2 - /opt/local/include/freetype2 - /opt/csw/include/freetype2 - /opt/include/freetype2 - /usr/freeware/include/freetype2 -) - -FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 config/ftheader.h - /usr/local/include/freetype2 - /usr/include/freetype2 - /usr/local/X11R6/include/freetype2 - /usr/local/X11/include/freetype2 - /usr/X11R6/include/freetype2 - /usr/X11/include/freetype2 - /sw/include/freetype2 - /opt/local/include/freetype2 - /opt/csw/include/freetype2 - /opt/include/freetype2 - /usr/freeware/include/freetype2 -) +# Adapted for OpenSceneGraph until the updates here for finding the debug Windows library freetyped are released with CMake -FIND_LIBRARY(FREETYPE_LIBRARY - NAMES freetype libfreetype freetype219 - PATHS - $ENV{FREETYPE_DIR} - NO_DEFAULT_PATH - PATH_SUFFIXES lib64 lib -) -FIND_LIBRARY(FREETYPE_LIBRARY - NAMES freetype libfreetype freetype219 - PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. - NO_DEFAULT_PATH - PATH_SUFFIXES lib64 lib -) -FIND_LIBRARY(FREETYPE_LIBRARY - NAMES freetype libfreetype freetype219 +set(FREETYPE_FIND_ARGS + HINTS + ENV FREETYPE_DIR PATHS - /usr/local - /usr - /usr/local/X11R6 - /usr/local/X11 - /usr/X11R6 - /usr/X11 - /sw - /opt/local - /opt/csw - /opt - /usr/freeware - PATH_SUFFIXES lib64 lib -) + /usr/X11R6 + /usr/local/X11R6 + /usr/local/X11 + /usr/freeware + ENV GTKMM_BASEPATH + [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path] + [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path] +) + +find_path( + FREETYPE_INCLUDE_DIR_ft2build + ft2build.h + ${FREETYPE_FIND_ARGS} + PATH_SUFFIXES + include/freetype2 + include + freetype2 +) + +find_path( + FREETYPE_INCLUDE_DIR_freetype2 + NAMES + freetype/config/ftheader.h + config/ftheader.h + ${FREETYPE_FIND_ARGS} + PATH_SUFFIXES + include/freetype2 + include + freetype2 +) + +if(NOT FREETYPE_LIBRARY) + find_library(FREETYPE_LIBRARY_RELEASE + NAMES + freetype + libfreetype + freetype219 + ${FREETYPE_FIND_ARGS} + PATH_SUFFIXES + lib + ) + find_library(FREETYPE_LIBRARY_DEBUG + NAMES + freetyped + libfreetyped + freetype219d + ${FREETYPE_FIND_ARGS} + PATH_SUFFIXES + lib + ) + include(SelectLibraryConfigurations) #OSG Look in CMake Modules dir + select_library_configurations(FREETYPE) +endif() -IF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2) - SET(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}") -ENDIF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2) +unset(FREETYPE_FIND_ARGS) +# set the user variables +if(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2) + set(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}") + list(REMOVE_DUPLICATES FREETYPE_INCLUDE_DIRS) +endif() +set(FREETYPE_LIBRARIES "${FREETYPE_LIBRARY}") -SET(FREETYPE_FOUND "NO") -IF(FREETYPE_LIBRARY AND FREETYPE_INCLUDE_DIRS) - SET(FREETYPE_FOUND "YES") -ENDIF(FREETYPE_LIBRARY AND FREETYPE_INCLUDE_DIRS) +if(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h") + set(FREETYPE_H "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h") +elseif(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype.h") + set(FREETYPE_H "${FREETYPE_INCLUDE_DIR_freetype2}/freetype.h") +endif() +if(FREETYPE_INCLUDE_DIR_freetype2 AND FREETYPE_H) + file(STRINGS "${FREETYPE_H}" freetype_version_str + REGEX "^#[\t ]*define[\t ]+FREETYPE_(MAJOR|MINOR|PATCH)[\t ]+[0-9]+$") + + unset(FREETYPE_VERSION_STRING) + foreach(VPART MAJOR MINOR PATCH) + foreach(VLINE ${freetype_version_str}) + if(VLINE MATCHES "^#[\t ]*define[\t ]+FREETYPE_${VPART}[\t ]+([0-9]+)$") + set(FREETYPE_VERSION_PART "${CMAKE_MATCH_1}") + if(FREETYPE_VERSION_STRING) + set(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_STRING}.${FREETYPE_VERSION_PART}") + else() + set(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_PART}") + endif() + unset(FREETYPE_VERSION_PART) + endif() + endforeach() + endforeach() +endif() + +# handle the QUIETLY and REQUIRED arguments and set FREETYPE_FOUND to TRUE if +# all listed variables are TRUE +include(FindPackageHandleStandardArgs) #OSG Look in CMake Modules dir + +find_package_handle_standard_args( + Freetype + REQUIRED_VARS + FREETYPE_LIBRARY + FREETYPE_INCLUDE_DIRS + VERSION_VAR + FREETYPE_VERSION_STRING +) + +mark_as_advanced( + FREETYPE_INCLUDE_DIR_freetype2 + FREETYPE_INCLUDE_DIR_ft2build +) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/FindNVTT.cmake openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/FindNVTT.cmake --- openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/FindNVTT.cmake 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/FindNVTT.cmake 2017-08-28 16:50:49.000000000 +0000 @@ -98,6 +98,85 @@ PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static ) +# NVTHREAD +FIND_LIBRARY(NVTHREAD_LIBRARY + NAMES nvthread + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) +FIND_LIBRARY(NVTHREAD_LIBRARY_DEBUG + NAMES nvthread_d + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) + +# SQUISH +FIND_LIBRARY(NVSQUISH_LIBRARY + NAMES squish + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) +FIND_LIBRARY(NVSQUISH_LIBRARY_DEBUG + NAMES squish_d + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) + +# BC6H +FIND_LIBRARY(NVBC6H_LIBRARY + NAMES bc6h + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) +FIND_LIBRARY(NVBC6H_LIBRARY_DEBUG + NAMES bc6h_d + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) + +# BC7 +FIND_LIBRARY(NVBC7_LIBRARY + NAMES bc7 + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) +FIND_LIBRARY(NVBC7_LIBRARY_DEBUG + NAMES bc7_d + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/ModuleInstall.cmake openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/ModuleInstall.cmake --- openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/ModuleInstall.cmake 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/ModuleInstall.cmake 2017-08-28 16:50:49.000000000 +0000 @@ -32,6 +32,12 @@ ARCHIVE DESTINATION ${INSTALL_ARCHIVEDIR} COMPONENT libopenscenegraph-dev ) +IF(MSVC AND DYNAMIC_OPENSCENEGRAPH) + GET_TARGET_PROPERTY(PREFIX ${LIB_NAME} PREFIX) + INSTALL(FILES ${OUTPUT_BINDIR}/${PREFIX}${LIB_NAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenscenegraph CONFIGURATIONS RelWithDebInfo) + INSTALL(FILES ${OUTPUT_BINDIR}/${PREFIX}${LIB_NAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenscenegraph CONFIGURATIONS Debug) +ENDIF(MSVC AND DYNAMIC_OPENSCENEGRAPH) + IF(NOT OSG_COMPILE_FRAMEWORKS) INSTALL ( FILES ${TARGET_H} diff -Nru openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/OsgMacroUtils.cmake openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/OsgMacroUtils.cmake --- openscenegraph-3.4-3.4.0+dfsg1/CMakeModules/OsgMacroUtils.cmake 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/CMakeModules/OsgMacroUtils.cmake 2017-08-28 16:50:49.000000000 +0000 @@ -43,7 +43,11 @@ MACRO(LINK_WITH_VARIABLES TRGTNAME) FOREACH(varname ${ARGN}) IF(${varname}_DEBUG) - TARGET_LINK_LIBRARIES(${TRGTNAME} optimized "${${varname}}" debug "${${varname}_DEBUG}") + IF(${varname}_RELEASE) + TARGET_LINK_LIBRARIES(${TRGTNAME} optimized "${${varname}_RELEASE}" debug "${${varname}_DEBUG}") + ELSE(${varname}_RELEASE) + TARGET_LINK_LIBRARIES(${TRGTNAME} optimized "${${varname}}" debug "${${varname}_DEBUG}") + ENDIF(${varname}_RELEASE) ELSE(${varname}_DEBUG) TARGET_LINK_LIBRARIES(${TRGTNAME} "${${varname}}" ) ENDIF(${varname}_DEBUG) @@ -123,9 +127,9 @@ FOREACH(LINKLIB ${TARGET_ADDED_LIBRARIES}) SET(TO_INSERT TRUE) FOREACH (value ${TARGET_COMMON_LIBRARIES}) - IF (${value} STREQUAL ${LINKLIB}) + IF ("${value}" STREQUAL "${LINKLIB}") SET(TO_INSERT FALSE) - ENDIF (${value} STREQUAL ${LINKLIB}) + ENDIF ("${value}" STREQUAL "${LINKLIB}") ENDFOREACH (value ${TARGET_COMMON_LIBRARIES}) IF(TO_INSERT) LIST(APPEND TARGET_LIBRARIES ${LINKLIB}) @@ -326,6 +330,10 @@ RUNTIME DESTINATION bin COMPONENT ${PACKAGE_COMPONENT} ARCHIVE DESTINATION lib/${OSG_PLUGINS} COMPONENT libopenscenegraph-dev LIBRARY DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT}) + IF(MSVC AND DYNAMIC_OPENSCENEGRAPH) + INSTALL(FILES ${OUTPUT_BINDIR}/${OSG_PLUGINS}/${TARGET_TARGETNAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT} CONFIGURATIONS RelWithDebInfo) + INSTALL(FILES ${OUTPUT_BINDIR}/${OSG_PLUGINS}/${TARGET_TARGETNAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT} CONFIGURATIONS Debug) + ENDIF(MSVC AND DYNAMIC_OPENSCENEGRAPH) ELSE(WIN32) INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin COMPONENT ${PACKAGE_COMPONENT} @@ -428,6 +436,10 @@ INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin BUNDLE DESTINATION bin) ELSE(APPLE) INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin COMPONENT openscenegraph ) + IF(MSVC) + INSTALL(FILES ${CMAKE_BINARY_DIR}/bin/${TARGET_NAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION bin COMPONENT openscenegraph CONFIGURATIONS RelWithDebInfo) + INSTALL(FILES ${CMAKE_BINARY_DIR}/bin/${TARGET_NAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION bin COMPONENT openscenegraph CONFIGURATIONS Debug) + ENDIF(MSVC) ENDIF(APPLE) ENDMACRO(SETUP_APPLICATION) @@ -457,6 +469,10 @@ INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin BUNDLE DESTINATION share/OpenSceneGraph/bin ) ELSE(APPLE) INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples ) + IF(MSVC) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_TARGETNAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples CONFIGURATIONS RelWithDebInfo) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_TARGETNAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples CONFIGURATIONS Debug) + ENDIF(MSVC) ENDIF(APPLE) ENDMACRO(SETUP_EXAMPLE) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/changelog openscenegraph-3.4-3.4.1+dfsg1/debian/changelog --- openscenegraph-3.4-3.4.0+dfsg1/debian/changelog 2016-09-23 19:19:22.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/debian/changelog 2017-11-07 09:18:40.000000000 +0000 @@ -1,8 +1,21 @@ -openscenegraph-3.4 (3.4.0+dfsg1-4+openmw2~trusty2) trusty; urgency=medium +openscenegraph-3.4 (3.4.1+dfsg1-1~ubuntu14.04.1~ppa2) trusty; urgency=medium - * Disable osgQt. + * No-change backport to trusty - -- Bret Curtis Fri, 23 Sep 2016 21:19:22 +0200 + -- Bret Curtis Tue, 07 Nov 2017 10:18:40 +0100 + +openscenegraph-3.4 (3.4.1+dfsg1-1) unstable; urgency=medium + + [ Alberto Luaces Fernández ] + * New upstream version 3.4.1 + * Refresh and remove now-unused patches. + * Update compat to 9 and Debian Policy to 4.1.0. No changes required. + * Fixes for building on armel. + Thanks to Emilio Pozuelo Monfort (Closes: #845054) + * Fix GLESv2 detection compatibility with cmake>=3.0. + Thanks to Steve Langasek (Closes: #869742) + + -- Manuel A. Fernandez Montecelo Sat, 23 Sep 2017 13:03:29 +0200 openscenegraph-3.4 (3.4.0+dfsg1-4) unstable; urgency=medium diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/compat openscenegraph-3.4-3.4.1+dfsg1/debian/compat --- openscenegraph-3.4-3.4.0+dfsg1/debian/compat 2016-09-23 19:19:22.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/debian/compat 2017-09-23 09:59:35.000000000 +0000 @@ -1 +1 @@ -7 +9 diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/control openscenegraph-3.4-3.4.1+dfsg1/debian/control --- openscenegraph-3.4-3.4.0+dfsg1/debian/control 2016-09-23 19:19:22.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/debian/control 2017-09-23 09:59:35.000000000 +0000 @@ -19,18 +19,22 @@ libgdal-dev, libx11-dev, libxmu-dev, - freeglut3-dev, - libgl1-mesa-dev | libgl-dev, + freeglut3-dev [!armel !armhf], + libgl1-mesa-dev [!armel !armhf] | libgl-dev [!armel !armhf], + libegl1-mesa-dev [armel armhf], + libgles2-mesa-dev [armel armhf], libxine2-dev, libavcodec-dev, libswscale-dev, libavdevice-dev, libavresample-dev, + qtbase5-dev, + libqt5opengl5-dev, librsvg2-dev, libpoppler-glib-dev, liblua5.2-dev, libopenthreads-dev -Standards-Version: 3.9.8 +Standards-Version: 4.1.0 Homepage: http://www.openscenegraph.org/ Vcs-Git: https://alioth.debian.org/anonscm/git/pkg-osg/openscenegraph-3.4.git Vcs-Browser: https://anonscm.debian.org/cgit/pkg-osg/openscenegraph-3.4.git @@ -40,9 +44,10 @@ Architecture: any Depends: ${misc:Depends}, libopenthreads-dev, - libgl1-mesa-dev | libgl-dev, + libgl1-mesa-dev [!armel !armhf] | libgl-dev [!armel !armhf], + libgles2-mesa-dev [armel armhf], libglu-dev, - libopenscenegraph-3.4-130 (= ${binary:Version}) + libopenscenegraph-3.4-131 (= ${binary:Version}) Suggests: openscenegraph-doc, openscenegraph-examples Conflicts: libopenscenegraph-dev @@ -56,7 +61,7 @@ . This package contains the development headers. -Package: libopenscenegraph-3.4-130 +Package: libopenscenegraph-3.4-131 Section: libs Architecture: any Multi-Arch: same diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/copyright openscenegraph-3.4-3.4.1+dfsg1/debian/copyright --- openscenegraph-3.4-3.4.0+dfsg1/debian/copyright 2016-09-23 19:19:22.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/debian/copyright 2017-09-23 10:44:32.000000000 +0000 @@ -7,8 +7,8 @@ Copyright: 2002-2014, Robert Osfield License: OSGPL Comments: The OpenSceneGraph Public License is based on the Lesser GNU - Public License (LGPL) and includes the wxWidgets additions to LGPL - which provide a clear statement that distribution with proprietary + General Public License (LGPL) and includes the wxWidgets additions to + LGPL which provide a clear statement that distribution with proprietary applications is accepted. Files: src/osgUtil/tristripper/* diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/libopenscenegraph-3.4-130.install openscenegraph-3.4-3.4.1+dfsg1/debian/libopenscenegraph-3.4-130.install --- openscenegraph-3.4-3.4.0+dfsg1/debian/libopenscenegraph-3.4-130.install 2016-09-23 19:19:22.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/debian/libopenscenegraph-3.4-130.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -usr/lib/*/libosg*.so.* -usr/lib/*/osgPlugins-*/*.so diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/libopenscenegraph-3.4-130.lintian-overrides openscenegraph-3.4-3.4.1+dfsg1/debian/libopenscenegraph-3.4-130.lintian-overrides --- openscenegraph-3.4-3.4.0+dfsg1/debian/libopenscenegraph-3.4-130.lintian-overrides 2016-09-23 19:19:22.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/debian/libopenscenegraph-3.4-130.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -package-name-doesnt-match-sonames libosg130 libosgAnimation130 libosgDB130 libosgFX130 libosgGA130 libosgManipulator130 libosgParticle130 libosgPresentation130 libosgQt130 libosgShadow130 libosgSim130 libosgTerrain130 libosgText130 libosgUI130 libosgUtil130 libosgViewer130 libosgVolume130 libosgWidget130 diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/libopenscenegraph-3.4-131.install openscenegraph-3.4-3.4.1+dfsg1/debian/libopenscenegraph-3.4-131.install --- openscenegraph-3.4-3.4.0+dfsg1/debian/libopenscenegraph-3.4-131.install 1970-01-01 00:00:00.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/debian/libopenscenegraph-3.4-131.install 2017-09-23 09:59:35.000000000 +0000 @@ -0,0 +1,2 @@ +usr/lib/*/libosg*.so.* +usr/lib/*/osgPlugins-*/*.so diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/libopenscenegraph-3.4-131.lintian-overrides openscenegraph-3.4-3.4.1+dfsg1/debian/libopenscenegraph-3.4-131.lintian-overrides --- openscenegraph-3.4-3.4.0+dfsg1/debian/libopenscenegraph-3.4-131.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/debian/libopenscenegraph-3.4-131.lintian-overrides 2017-09-23 09:59:35.000000000 +0000 @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libosg131 libosgAnimation131 libosgDB131 libosgFX131 libosgGA131 libosgManipulator131 libosgParticle131 libosgPresentation131 libosgQt131 libosgShadow131 libosgSim131 libosgTerrain131 libosgText131 libosgUI131 libosgUtil131 libosgViewer131 libosgVolume131 libosgWidget131 diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/patches/0005-Bas-Couwenberg-s-patches-for-Hurd.patch openscenegraph-3.4-3.4.1+dfsg1/debian/patches/0005-Bas-Couwenberg-s-patches-for-Hurd.patch --- openscenegraph-3.4-3.4.0+dfsg1/debian/patches/0005-Bas-Couwenberg-s-patches-for-Hurd.patch 2016-09-23 19:19:22.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/debian/patches/0005-Bas-Couwenberg-s-patches-for-Hurd.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,99 +0,0 @@ -From: Alberto Luaces -Date: Mon, 16 May 2016 14:15:29 +0200 -Subject: Bas Couwenberg's patches for Hurd. - ---- - applications/present3D/Cluster.cpp | 4 +++- - examples/osgcluster/broadcaster.cpp | 2 ++ - examples/osgcluster/receiver.cpp | 2 +- - src/OpenThreads/pthreads/PThread.cpp | 4 +++- - src/osgDB/FileNameUtils.cpp | 4 ++++ - 5 files changed, 13 insertions(+), 3 deletions(-) - -Index: openscenegraph-3.4/applications/present3D/Cluster.cpp -=================================================================== ---- openscenegraph-3.4.orig/applications/present3D/Cluster.cpp -+++ openscenegraph-3.4/applications/present3D/Cluster.cpp -@@ -41,6 +41,8 @@ - #include - #elif defined(__CYGWIN__) - #include -+#elif defined (__GNU__) -+ #include - #elif defined(__sun) - #include - #include -@@ -338,7 +340,7 @@ void Receiver::sync( void ) - } - - #if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ ) || \ -- defined(__DragonFly__) || defined(__FreeBSD_kernel__) -+ defined(__DragonFly__) || defined(__FreeBSD_kernel__) || defined(__GNU__) - socklen_t - #else - int -Index: openscenegraph-3.4/examples/osgcluster/broadcaster.cpp -=================================================================== ---- openscenegraph-3.4.orig/examples/osgcluster/broadcaster.cpp -+++ openscenegraph-3.4/examples/osgcluster/broadcaster.cpp -@@ -45,6 +45,8 @@ - #include - #elif defined(__CYGWIN__) - #include -+#elif defined (__GNU__) -+ #include - #elif defined(__sun) - #include - #include -Index: openscenegraph-3.4/examples/osgcluster/receiver.cpp -=================================================================== ---- openscenegraph-3.4.orig/examples/osgcluster/receiver.cpp -+++ openscenegraph-3.4/examples/osgcluster/receiver.cpp -@@ -122,7 +122,7 @@ void Receiver::sync( void ) - return; - } - --#if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ ) || defined(__FreeBSD_kernel__) -+#if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ ) || defined(__FreeBSD_kernel__) || defined(__GNU__) - socklen_t size; - #else - int size; -Index: openscenegraph-3.4/src/OpenThreads/pthreads/PThread.cpp -=================================================================== ---- openscenegraph-3.4.orig/src/OpenThreads/pthreads/PThread.cpp -+++ openscenegraph-3.4/src/OpenThreads/pthreads/PThread.cpp -@@ -43,8 +43,10 @@ - #endif - #if defined (__FreeBSD__) || defined (__APPLE__) || defined (__MACH__) - #include -+#if !defined (__GNU__) - #include - #endif -+#endif - - #if defined(__ANDROID__) - #ifndef PAGE_SIZE -@@ -1012,7 +1014,7 @@ int Thread::microSleep(unsigned int micr - // - int OpenThreads::GetNumberOfProcessors() - { --#if defined(__linux__) -+#if defined(__linux__) || defined(__GNU__) - long ret = sysconf(_SC_NPROCESSORS_ONLN); - if (ret == -1) - return 0; -Index: openscenegraph-3.4/src/osgDB/FileNameUtils.cpp -=================================================================== ---- openscenegraph-3.4.orig/src/osgDB/FileNameUtils.cpp -+++ openscenegraph-3.4/src/osgDB/FileNameUtils.cpp -@@ -30,6 +30,10 @@ - using std::tolower; - #endif - -+#if defined(__GNU__) && !defined(PATH_MAX) -+#define PATH_MAX 4096 -+#endif -+ - using namespace std; - - static const char * const PATH_SEPARATORS = "/\\"; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/patches/check__FreeBSD_kernel__ openscenegraph-3.4-3.4.1+dfsg1/debian/patches/check__FreeBSD_kernel__ --- openscenegraph-3.4-3.4.0+dfsg1/debian/patches/check__FreeBSD_kernel__ 2016-09-23 19:19:22.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/debian/patches/check__FreeBSD_kernel__ 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -Index: openscenegraph-3.4/applications/present3D/Cluster.cpp -=================================================================== ---- openscenegraph-3.4.orig/applications/present3D/Cluster.cpp -+++ openscenegraph-3.4/applications/present3D/Cluster.cpp -@@ -33,7 +33,7 @@ - #if defined(__linux) - #include - #include --#elif defined(__FreeBSD__) || defined(__DragonFly__) -+#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__) - #include - #include - #elif defined(__sgi) -@@ -338,7 +338,7 @@ void Receiver::sync( void ) - } - - #if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ ) || \ -- defined(__DragonFly__) -+ defined(__DragonFly__) || defined(__FreeBSD_kernel__) - socklen_t - #else - int -Index: openscenegraph-3.4/examples/osgcluster/receiver.cpp -=================================================================== ---- openscenegraph-3.4.orig/examples/osgcluster/receiver.cpp -+++ openscenegraph-3.4/examples/osgcluster/receiver.cpp -@@ -122,7 +122,7 @@ void Receiver::sync( void ) - return; - } - --#if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ ) -+#if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ ) || defined(__FreeBSD_kernel__) - socklen_t size; - #else - int size; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/patches/ffmpeg_2.9.patch openscenegraph-3.4-3.4.1+dfsg1/debian/patches/ffmpeg_2.9.patch --- openscenegraph-3.4-3.4.0+dfsg1/debian/patches/ffmpeg_2.9.patch 2016-09-23 19:19:22.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/debian/patches/ffmpeg_2.9.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,172 +0,0 @@ -Description: Replace deprecated FFmpeg API -Author: Andreas Cadhalpun -Last-Update: <2015-11-02> - ---- - src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp | 3 +- - src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp | 48 +++++++++++++--------------- - src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp | 4 +-- - src/osgPlugins/ffmpeg/FFmpegParameters.cpp | 2 +- - 4 files changed, 26 insertions(+), 31 deletions(-) - -diff --git a/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp b/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp -index 665c68f..636bddd 100644 ---- a/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp -+++ b/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp -@@ -227,8 +227,7 @@ printf("### CONVERTING from sample format %s TO %s\n\t\tFROM %d TO %d channels\n - if (avcodec_open2(m_context, p_codec, NULL) < 0) - throw std::runtime_error("avcodec_open() failed"); - -- m_context->get_buffer = avcodec_default_get_buffer; -- m_context->release_buffer = avcodec_default_release_buffer; -+ m_context->get_buffer2 = avcodec_default_get_buffer2; - - } - -diff --git a/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp b/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp -index 9375657..083d3db 100644 ---- a/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp -+++ b/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp -@@ -71,7 +71,7 @@ void FFmpegDecoderVideo::open(AVStream * const stream) - findAspectRatio(); - - // Find out whether we support Alpha channel -- m_alpha_channel = (m_context->pix_fmt == PIX_FMT_YUVA420P); -+ m_alpha_channel = (m_context->pix_fmt == AV_PIX_FMT_YUVA420P); - - // Find out the framerate - #if LIBAVCODEC_VERSION_MAJOR >= 56 -@@ -95,20 +95,19 @@ void FFmpegDecoderVideo::open(AVStream * const stream) - throw std::runtime_error("avcodec_open() failed"); - - // Allocate video frame -- m_frame.reset(avcodec_alloc_frame()); -+ m_frame.reset(av_frame_alloc()); - - // Allocate converted RGB frame -- m_frame_rgba.reset(avcodec_alloc_frame()); -- m_buffer_rgba[0].resize(avpicture_get_size(PIX_FMT_RGB24, width(), height())); -+ m_frame_rgba.reset(av_frame_alloc()); -+ m_buffer_rgba[0].resize(avpicture_get_size(AV_PIX_FMT_RGB24, width(), height())); - m_buffer_rgba[1].resize(m_buffer_rgba[0].size()); - - // Assign appropriate parts of the buffer to image planes in m_frame_rgba -- avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[0])[0], PIX_FMT_RGB24, width(), height()); -+ avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[0])[0], AV_PIX_FMT_RGB24, width(), height()); - - // Override get_buffer()/release_buffer() from codec context in order to retrieve the PTS of each frame. - m_context->opaque = this; -- m_context->get_buffer = getBuffer; -- m_context->release_buffer = releaseBuffer; -+ m_context->get_buffer2 = getBuffer; - } - - -@@ -267,8 +266,8 @@ int FFmpegDecoderVideo::convert(AVPicture *dst, int dst_pix_fmt, AVPicture *src, - #ifdef USE_SWSCALE - if (m_swscale_ctx==0) - { -- m_swscale_ctx = sws_getContext(src_width, src_height, (PixelFormat) src_pix_fmt, -- src_width, src_height, (PixelFormat) dst_pix_fmt, -+ m_swscale_ctx = sws_getContext(src_width, src_height, (AVPixelFormat) src_pix_fmt, -+ src_width, src_height, (AVPixelFormat) dst_pix_fmt, - /*SWS_BILINEAR*/ SWS_BICUBIC, NULL, NULL, NULL); - } - -@@ -315,14 +314,14 @@ void FFmpegDecoderVideo::publishFrame(const double delay, bool audio_disabled) - AVPicture * const dst = (AVPicture *) m_frame_rgba.get(); - - // Assign appropriate parts of the buffer to image planes in m_frame_rgba -- avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[m_writeBuffer])[0], PIX_FMT_RGB24, width(), height()); -+ avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[m_writeBuffer])[0], AV_PIX_FMT_RGB24, width(), height()); - - // Convert YUVA420p (i.e. YUV420p plus alpha channel) using our own routine - -- if (m_context->pix_fmt == PIX_FMT_YUVA420P) -+ if (m_context->pix_fmt == AV_PIX_FMT_YUVA420P) - yuva420pToRgba(dst, src, width(), height()); - else -- convert(dst, PIX_FMT_RGB24, src, m_context->pix_fmt, width(), height()); -+ convert(dst, AV_PIX_FMT_RGB24, src, m_context->pix_fmt, width(), height()); - - // Wait 'delay' seconds before publishing the picture. - int i_delay = static_cast(delay * 1000000 + 0.5); -@@ -349,7 +348,7 @@ void FFmpegDecoderVideo::publishFrame(const double delay, bool audio_disabled) - - void FFmpegDecoderVideo::yuva420pToRgba(AVPicture * const dst, AVPicture * const src, int width, int height) - { -- convert(dst, PIX_FMT_RGB24, src, m_context->pix_fmt, width, height); -+ convert(dst, AV_PIX_FMT_RGB24, src, m_context->pix_fmt, width, height); - - const size_t bpp = 4; - -@@ -367,31 +366,28 @@ void FFmpegDecoderVideo::yuva420pToRgba(AVPicture * const dst, AVPicture * const - } - } - -- -- --int FFmpegDecoderVideo::getBuffer(AVCodecContext * const context, AVFrame * const picture) -+int FFmpegDecoderVideo::getBuffer(AVCodecContext * const context, AVFrame * const picture, int flags) - { -+ AVBufferRef *ref; - const FFmpegDecoderVideo * const this_ = reinterpret_cast(context->opaque); - -- const int result = avcodec_default_get_buffer(context, picture); -+ const int result = avcodec_default_get_buffer2(context, picture, flags); - int64_t * p_pts = reinterpret_cast( av_malloc(sizeof(int64_t)) ); - - *p_pts = this_->m_packet_pts; - picture->opaque = p_pts; - -+ ref = av_buffer_create((uint8_t *)picture->opaque, sizeof(int64_t), FFmpegDecoderVideo::freeBuffer, picture->buf[0], flags); -+ picture->buf[0] = ref; -+ - return result; - } - -- -- --void FFmpegDecoderVideo::releaseBuffer(AVCodecContext * const context, AVFrame * const picture) -+void FFmpegDecoderVideo::freeBuffer(void *opaque, uint8_t *data) - { -- if (picture != 0) -- av_freep(&picture->opaque); -- -- avcodec_default_release_buffer(context, picture); -+ AVBufferRef *ref = (AVBufferRef *)opaque; -+ av_buffer_unref(&ref); -+ av_free(data); - } - -- -- - } // namespace osgFFmpeg -diff --git a/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp b/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp -index 7883b17..778c1a9 100644 ---- a/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp -+++ b/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp -@@ -94,8 +94,8 @@ private: - int src_pix_fmt, int src_width, int src_height); - - -- static int getBuffer(AVCodecContext * context, AVFrame * picture); -- static void releaseBuffer(AVCodecContext * context, AVFrame * picture); -+ static int getBuffer(AVCodecContext * context, AVFrame * picture, int flags); -+ static void freeBuffer(void * opaque, uint8_t *data); - - PacketQueue & m_packets; - FFmpegClocks & m_clocks; -diff --git a/src/osgPlugins/ffmpeg/FFmpegParameters.cpp b/src/osgPlugins/ffmpeg/FFmpegParameters.cpp -index 288e440..5915ab8 100644 ---- a/src/osgPlugins/ffmpeg/FFmpegParameters.cpp -+++ b/src/osgPlugins/ffmpeg/FFmpegParameters.cpp -@@ -19,7 +19,7 @@ extern "C" - #include - } - --inline PixelFormat osg_av_get_pix_fmt(const char *name) { return av_get_pix_fmt(name); } -+inline AVPixelFormat osg_av_get_pix_fmt(const char *name) { return av_get_pix_fmt(name); } - - - namespace osgFFmpeg { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/patches/scrawl.patch openscenegraph-3.4-3.4.1+dfsg1/debian/patches/scrawl.patch --- openscenegraph-3.4-3.4.0+dfsg1/debian/patches/scrawl.patch 2016-09-23 19:19:22.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/debian/patches/scrawl.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,1214 +0,0 @@ -diff --git a/examples/osgposter/PosterPrinter.cpp b/examples/osgposter/PosterPrinter.cpp -index 6c8c55f..eabe02c 100644 ---- a/examples/osgposter/PosterPrinter.cpp -+++ b/examples/osgposter/PosterPrinter.cpp -@@ -165,7 +165,8 @@ osgUtil::Intersector* PosterIntersector::clone( osgUtil::IntersectionVisitor& iv - - bool PosterIntersector::enter( const osg::Node& node ) - { -- if ( !node.isCullingActive() ) return true; -+ if (!node.getBound().valid()) return false; -+ if (!node.isCullingActive()) return true; - if ( _polytope.contains(node.getBound()) ) - { - if ( node.getCullCallback() ) -diff --git a/include/osg/CullStack b/include/osg/CullStack -index c59ec97..f045a26 100644 ---- a/include/osg/CullStack -+++ b/include/osg/CullStack -@@ -109,8 +109,10 @@ class OSG_EXPORT CullStack : public osg::CullSettings - - inline bool isCulled(const osg::Node& node) - { -- if (node.isCullingActive()) -+ if (node.getNumChildrenWithCullingDisabled() == 0 && node.getCullingActive()) - { -+ if (!node.getBound().valid()) -+ return true; - return getCurrentCullingSet().isCulled(node.getBound()); - } - else -diff --git a/include/osg/CullingSet b/include/osg/CullingSet -index e077f4f..82df8ea 100644 ---- a/include/osg/CullingSet -+++ b/include/osg/CullingSet -@@ -23,7 +23,7 @@ - - namespace osg { - --#define COMPILE_WITH_SHADOW_OCCLUSION_CULLING -+//#define COMPILE_WITH_SHADOW_OCCLUSION_CULLING - - /** A CullingSet class which contains a frustum and a list of occluders. */ - class OSG_EXPORT CullingSet : public Referenced -@@ -41,7 +41,9 @@ class OSG_EXPORT CullingSet : public Referenced - _mask(cs._mask), - _frustum(cs._frustum), - _stateFrustumList(cs._stateFrustumList), -+#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - _occluderList(cs._occluderList), -+#endif - _pixelSizeVector(cs._pixelSizeVector), - _smallFeatureCullingPixelSize(cs._smallFeatureCullingPixelSize) - { -@@ -51,17 +53,21 @@ class OSG_EXPORT CullingSet : public Referenced - _mask(cs._mask), - _frustum(cs._frustum), - _stateFrustumList(cs._stateFrustumList), -+#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - _occluderList(cs._occluderList), -+#endif - _pixelSizeVector(pixelSizeVector), - _smallFeatureCullingPixelSize(cs._smallFeatureCullingPixelSize) - { - _frustum.transformProvidingInverse(matrix); -+#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - for(OccluderList::iterator itr=_occluderList.begin(); - itr!=_occluderList.end(); - ++itr) - { - itr->transformProvidingInverse(matrix); - } -+#endif - } - - CullingSet& operator = (const CullingSet& cs) -@@ -71,7 +77,9 @@ class OSG_EXPORT CullingSet : public Referenced - _mask = cs._mask; - _frustum = cs._frustum; - _stateFrustumList = cs._stateFrustumList; -+#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - _occluderList = cs._occluderList; -+#endif - _pixelSizeVector = cs._pixelSizeVector; - _smallFeatureCullingPixelSize = cs._smallFeatureCullingPixelSize; - -@@ -84,7 +92,9 @@ class OSG_EXPORT CullingSet : public Referenced - _mask = cs._mask; - _frustum = cs._frustum; - _stateFrustumList = cs._stateFrustumList; -+#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - _occluderList = cs._occluderList; -+#endif - _pixelSizeVector = cs._pixelSizeVector; - _smallFeatureCullingPixelSize = cs._smallFeatureCullingPixelSize; - } -@@ -93,7 +103,9 @@ class OSG_EXPORT CullingSet : public Referenced - { - _mask = cs._mask; - _stateFrustumList = cs._stateFrustumList; -+#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - _occluderList = cs._occluderList; -+#endif - _pixelSizeVector = pixelSizeVector; - _smallFeatureCullingPixelSize = cs._smallFeatureCullingPixelSize; - -@@ -109,12 +121,14 @@ class OSG_EXPORT CullingSet : public Referenced - sitr->second.transformProvidingInverse(matrix); - } - -+#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - for(OccluderList::iterator oitr=_occluderList.begin(); - oitr!=_occluderList.end(); - ++oitr) - { - oitr->transformProvidingInverse(matrix); - } -+#endif - - } - -@@ -154,8 +168,11 @@ class OSG_EXPORT CullingSet : public Referenced - void getStateFrustumList(StateFrustumList& sfl) { _stateFrustumList = sfl; } - StateFrustumList& getStateFrustumList() { return _stateFrustumList; } - -+#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - void addOccluder(ShadowVolumeOccluder& cv) { _occluderList.push_back(cv); } -- -+#else -+ void addOccluder(ShadowVolumeOccluder& cv) {} -+#endif - void setPixelSizeVector(const Vec4& v) { _pixelSizeVector = v; } - - Vec4& getPixelSizeVector() { return _pixelSizeVector; } -@@ -195,6 +212,7 @@ class OSG_EXPORT CullingSet : public Referenced - { - } - -+#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - if (_mask&SHADOW_OCCLUSION_CULLING) - { - // is it in one of the shadow occluder volumes. -@@ -208,6 +226,7 @@ class OSG_EXPORT CullingSet : public Referenced - } - } - } -+#endif - - return false; - } -@@ -224,6 +243,7 @@ class OSG_EXPORT CullingSet : public Referenced - { - } - -+#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - if (_mask&SHADOW_OCCLUSION_CULLING) - { - // is it in one of the shadow occluder volumes. -@@ -237,6 +257,7 @@ class OSG_EXPORT CullingSet : public Referenced - } - } - } -+#endif - - return false; - } -@@ -353,7 +374,9 @@ class OSG_EXPORT CullingSet : public Referenced - Mask _mask; - Polytope _frustum; - StateFrustumList _stateFrustumList; -+#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - OccluderList _occluderList; -+#endif - Vec4 _pixelSizeVector; - float _smallFeatureCullingPixelSize; - -diff --git a/include/osg/LightSource b/include/osg/LightSource -index 1131b71..50a24cd 100644 ---- a/include/osg/LightSource -+++ b/include/osg/LightSource -@@ -20,7 +20,13 @@ - - namespace osg { - --/** Leaf Node for defining a light in the scene. */ -+/** Leaf Node for defining a light in the scene. -+ * @par By default light sources have the CullingActive flag disabled. -+ * This is necessary to prevent inappropriate culling, but may impact -+ * cull times if the light source is deep in the scene graph. -+ * It is therefore recommended to only use light sources at the top of -+ * the scene. -+*/ - class OSG_EXPORT LightSource : public Group - { - public: -@@ -46,13 +52,6 @@ class OSG_EXPORT LightSource : public Group - /** Set the light sources's ReferenceFrame, either to be relative to its - * parent reference frame, or relative to an absolute coordinate - * frame. RELATIVE_RF is the default. -- * Note: setting the ReferenceFrame to be ABSOLUTE_RF will -- * also set the CullingActive flag on the light source, and hence all -- * of its parents, to false, thereby disabling culling of it and -- * all its parents. This is necessary to prevent inappropriate -- * culling, but may impact cull times if the absolute light source is -- * deep in the scene graph. It is therefore recommended to only use -- * absolute light source at the top of the scene. - */ - void setReferenceFrame(ReferenceFrame rf); - -diff --git a/include/osg/Node b/include/osg/Node -index 77c06e0..9c9702f 100644 ---- a/include/osg/Node -+++ b/include/osg/Node -@@ -165,6 +165,7 @@ class OSG_EXPORT Node : public Object - * Equivalent to dynamic_cast(this).*/ - virtual const osgTerrain::Terrain* asTerrain() const { return 0; } - -+ virtual bool isOccluderNode() const { return false; } - - /** Visitor Pattern : calls the apply method of a NodeVisitor with this node's type.*/ - virtual void accept(NodeVisitor& nv); -@@ -323,7 +324,7 @@ class OSG_EXPORT Node : public Object - - /** Return true if this node can be culled by view frustum, occlusion or small feature culling during the cull traversal. - * Note, returns true only if no children have culling disabled, and the local _cullingActive flag is true.*/ -- inline bool isCullingActive() const { return _numChildrenWithCullingDisabled==0 && _cullingActive && getBound().valid(); } -+ inline bool isCullingActive() const { return _numChildrenWithCullingDisabled==0 && _cullingActive; } - - /** Get the number of Children of this node which are or have OccluderNode's.*/ - inline unsigned int getNumChildrenWithOccluderNodes() const { return _numChildrenWithOccluderNodes; } -diff --git a/include/osg/OccluderNode b/include/osg/OccluderNode -index 40105f8..0788f36 100644 ---- a/include/osg/OccluderNode -+++ b/include/osg/OccluderNode -@@ -34,6 +34,7 @@ class OSG_EXPORT OccluderNode : public Group - - META_Node(osg, OccluderNode); - -+ virtual bool isOccluderNode() const { return true; } - - /** Attach a ConvexPlanarOccluder to an OccluderNode.*/ - void setOccluder(ConvexPlanarOccluder* occluder) { _occluder = occluder; } -diff --git a/include/osg/OperationThread b/include/osg/OperationThread -index a62157e..ec8e16c 100644 ---- a/include/osg/OperationThread -+++ b/include/osg/OperationThread -@@ -77,9 +77,11 @@ class Operation : virtual public Referenced - protected: - - Operation(): -+ Referenced(true), - _keep(false) {} - - Operation(const Operation& op): -+ Referenced(true), - _name(op._name), - _keep(op._keep) {} - -diff --git a/include/osg/Quat b/include/osg/Quat -index 31e1799..f1b33d0 100644 ---- a/include/osg/Quat -+++ b/include/osg/Quat -@@ -31,7 +31,11 @@ class OSG_EXPORT Quat - - public: - -+#ifdef OSG_USE_FLOAT_QUAT -+ typedef float value_type; -+#else - typedef double value_type; -+#endif - - value_type _v[4]; // a four-vector - -diff --git a/include/osgParticle/ConnectedParticleSystem b/include/osgParticle/ConnectedParticleSystem -index 9b0c23e..7c1add1 100644 ---- a/include/osgParticle/ConnectedParticleSystem -+++ b/include/osgParticle/ConnectedParticleSystem -@@ -44,13 +44,13 @@ namespace osgParticle - ///Get the (const) particle from where the line or quadstrip starts to be drawn - const osgParticle::Particle* getStartParticle() const - { -- return (_startParticle != Particle::INVALID_INDEX) ? &_particles[_startParticle] : 0; -+ return (_startParticle != Particle::INVALID_INDEX) ? _particles[_startParticle] : 0; - } - - ///Get the particle from where the line or quadstrip starts to be drawn - osgParticle::Particle* getStartParticle() - { -- return (_startParticle != Particle::INVALID_INDEX) ? &_particles[_startParticle] : 0; -+ return (_startParticle != Particle::INVALID_INDEX) ? _particles[_startParticle] : 0; - } - - ///Set the maximum numbers of particles to be skipped during the predraw filtering -diff --git a/include/osgParticle/LinearInterpolator b/include/osgParticle/LinearInterpolator -index c44e263..305dfa6 100644 ---- a/include/osgParticle/LinearInterpolator -+++ b/include/osgParticle/LinearInterpolator -@@ -42,6 +42,23 @@ namespace osgParticle - return y1 + (y2 - y1) * t; - } - -+ // Override the vector interpolation functions. Actually does the same as the functions in Interpolator, -+ // but in a slightly more efficient way. -+ virtual osg::Vec2 interpolate(float t, const osg::Vec2& y1, const osg::Vec2& y2) const -+ { -+ return y1 + (y2 - y1) * t; -+ } -+ -+ virtual osg::Vec3 interpolate(float t, const osg::Vec3& y1, const osg::Vec3& y2) const -+ { -+ return y1 + (y2 - y1) * t; -+ } -+ -+ virtual osg::Vec4 interpolate(float t, const osg::Vec4& y1, const osg::Vec4& y2) const -+ { -+ return y1 + (y2 - y1) * t; -+ } -+ - protected: - virtual ~LinearInterpolator() {} - }; -diff --git a/include/osgParticle/ParticleSystem b/include/osgParticle/ParticleSystem -index fec4274..9ccbf9b 100644 ---- a/include/osgParticle/ParticleSystem -+++ b/include/osgParticle/ParticleSystem -@@ -110,16 +110,15 @@ namespace osgParticle - */ - inline void setDefaultBoundingBox(const osg::BoundingBox& bbox); - -- /// Return true if we use vertex arrays for rendering particles. -- bool getUseVertexArray() const { return _useVertexArray; } -- - /** Set to use vertex arrays for rendering particles. - Lots of variables will be omitted: particles' shape, alive or not, visibility distance, and so on, - so the rendering result is not as good as we wish (although it's fast than using glBegin/glEnd). - We had better use this for GLSL shaders, in which particle parameters will be kept as uniforms. - This method is called automatically by setDefaultAttributesUsingShaders(). - */ -- void setUseVertexArray(bool v) { _useVertexArray = v; } -+ void setUseVertexArray(bool) { } -+ -+ bool getUseVertexArray() const { return false; } - - /// Return true if shaders are required. - bool getUseShaders() const { return _useShaders; } -@@ -173,7 +172,7 @@ namespace osgParticle - inline virtual void destroyParticle(int i); - - /// Reuse the i-th particle. -- inline virtual void reuseParticle(int i) { _deadparts.push(&(_particles[i])); } -+ inline virtual void reuseParticle(int i) { _deadparts.push((_particles[i])); } - - /// Get the last frame number. - inline unsigned int getLastFrameNumber() const; -@@ -265,9 +264,8 @@ namespace osgParticle - - inline void update_bounds(const osg::Vec3& p, float r); - void single_pass_render(osg::RenderInfo& renderInfo, const osg::Matrix& modelview) const; -- void render_vertex_array(osg::RenderInfo& renderInfo) const; - -- typedef std::vector Particle_vector; -+ typedef std::vector Particle_vector; - typedef std::stack Death_stack; - - Particle_vector _particles; -@@ -280,7 +278,6 @@ namespace osgParticle - osg::Vec3 _align_Y_axis; - ParticleScaleReferenceFrame _particleScaleReferenceFrame; - -- bool _useVertexArray; - bool _useShaders; - bool _dirty_uniforms; - -@@ -390,17 +387,17 @@ namespace osgParticle - - inline Particle* ParticleSystem::getParticle(int i) - { -- return &_particles[i]; -+ return _particles[i]; - } - - inline const Particle* ParticleSystem::getParticle(int i) const - { -- return &_particles[i]; -+ return _particles[i]; - } - - inline void ParticleSystem::destroyParticle(int i) - { -- _particles[i].kill(); -+ _particles[i]->kill(); - } - - inline unsigned int ParticleSystem::getLastFrameNumber() const -@@ -516,8 +513,8 @@ namespace osgParticle - } else { - - // add a new particle to the vector -- _particles.push_back(ptemplate? *ptemplate: _def_ptemp); -- return &_particles.back(); -+ _particles.push_back(ptemplate? new Particle(*ptemplate): new Particle(_def_ptemp)); -+ return _particles.back(); - } - } - -diff --git a/include/osgUtil/UpdateVisitor b/include/osgUtil/UpdateVisitor -index ed4a627..d93ee96 100644 ---- a/include/osgUtil/UpdateVisitor -+++ b/include/osgUtil/UpdateVisitor -@@ -52,16 +52,7 @@ class OSGUTIL_EXPORT UpdateVisitor : public osg::NodeVisitor - { - osg::Callback* callback = drawable.getUpdateCallback(); - if (callback) -- { -- osg::Drawable::UpdateCallback* drawable_callback = dynamic_cast(callback); -- osg::NodeCallback* node_callback = dynamic_cast(callback); -- osg::CallbackObject* callback_object = dynamic_cast(callback); -- -- if (drawable_callback) drawable_callback->update(this,&drawable); -- if (node_callback) (*node_callback)(&drawable, this); -- -- if ((!drawable_callback && !node_callback) || callback_object) callback_object->run(&drawable, this); -- } -+ callback->run(&drawable, this); - - handle_callbacks(drawable.getStateSet()); - } -diff --git a/src/osg/Config.in b/src/osg/Config.in -index 0bc618c..1aa30d6 100644 ---- a/src/osg/Config.in -+++ b/src/osg/Config.in -@@ -24,6 +24,7 @@ - #define OSG_CONFIG 1 - - #cmakedefine OSG_NOTIFY_DISABLED -+#cmakedefine OSG_USE_FLOAT_QUAT - #cmakedefine OSG_USE_FLOAT_MATRIX - #cmakedefine OSG_USE_FLOAT_PLANE - #cmakedefine OSG_USE_FLOAT_BOUNDINGSPHERE -diff --git a/src/osg/CullingSet.cpp b/src/osg/CullingSet.cpp -index e868ab0..5cfa866 100644 ---- a/src/osg/CullingSet.cpp -+++ b/src/osg/CullingSet.cpp -@@ -27,6 +27,7 @@ CullingSet::~CullingSet() - - void CullingSet::disableAndPushOccludersCurrentMask(NodePath& nodePath) - { -+#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - for(OccluderList::iterator itr=_occluderList.begin(); - itr!=_occluderList.end(); - ++itr) -@@ -42,11 +43,13 @@ void CullingSet::disableAndPushOccludersCurrentMask(NodePath& nodePath) - itr->pushCurrentMask(); - } - } -+#endif - } - - - void CullingSet::popOccludersCurrentMask(NodePath& nodePath) - { -+#ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING - //std::cout<<" trying to pop occluder ";PrintNodePath(nodePath);std::cout<popCurrentMask(); - } - } -+#endif - } - - osg::Vec4 CullingSet::computePixelSizeVector(const Viewport& W, const Matrix& P, const Matrix& M) -diff --git a/src/osg/Drawable.cpp b/src/osg/Drawable.cpp -index cd2073e..d66c456 100644 ---- a/src/osg/Drawable.cpp -+++ b/src/osg/Drawable.cpp -@@ -218,8 +218,8 @@ void Drawable::flushDeletedDisplayLists(unsigned int contextID, double& availabl - - bool Drawable::UpdateCallback::run(osg::Object* object, osg::Object* data) - { -- osg::Drawable* drawable = dynamic_cast(object); -- osg::NodeVisitor* nv = dynamic_cast(data); -+ osg::Drawable* drawable = static_cast(object->asNode()); -+ osg::NodeVisitor* nv = data->asNodeVisitor(); - if (drawable && nv) - { - update(nv, drawable); -@@ -233,8 +233,8 @@ bool Drawable::UpdateCallback::run(osg::Object* object, osg::Object* data) - - bool Drawable::EventCallback::run(osg::Object* object, osg::Object* data) - { -- osg::Drawable* drawable = dynamic_cast(object); -- osg::NodeVisitor* nv = dynamic_cast(data); -+ osg::Drawable* drawable = static_cast(object->asNode()); -+ osg::NodeVisitor* nv = data->asNodeVisitor(); - if (drawable && nv) - { - event(nv, drawable); -diff --git a/src/osg/Group.cpp b/src/osg/Group.cpp -index 9781344..ac2e1ed 100644 ---- a/src/osg/Group.cpp -+++ b/src/osg/Group.cpp -@@ -138,8 +138,7 @@ bool Group::insertChild( unsigned int index, Node *child ) - ); - } - -- if (child->getNumChildrenWithOccluderNodes()>0 || -- dynamic_cast(child)) -+ if (child->getNumChildrenWithOccluderNodes()>0 || child->isOccluderNode()) - { - setNumChildrenWithOccluderNodes( - getNumChildrenWithOccluderNodes()+1 -@@ -194,7 +193,7 @@ bool Group::removeChildren(unsigned int pos,unsigned int numChildrenToRemove) - - if (child->getNumChildrenWithCullingDisabled()>0 || !child->getCullingActive()) ++numChildrenWithCullingDisabledRemoved; - -- if (child->getNumChildrenWithOccluderNodes()>0 || dynamic_cast(child)) ++numChildrenWithOccludersRemoved; -+ if (child->getNumChildrenWithOccluderNodes()>0 || child->isOccluderNode()) ++numChildrenWithOccludersRemoved; - - } - -@@ -330,12 +329,12 @@ bool Group::setChild( unsigned int i, Node* newNode ) - // so need to check and update if required. - int delta_numChildrenWithOccluderNodes = 0; - if (origNode->getNumChildrenWithOccluderNodes()>0 || -- dynamic_cast(origNode.get())) -+ origNode->isOccluderNode()) - { - --delta_numChildrenWithOccluderNodes; - } - if (newNode->getNumChildrenWithOccluderNodes()>0 || -- dynamic_cast(newNode)) -+ newNode->isOccluderNode()) - { - ++delta_numChildrenWithOccluderNodes; - } -diff --git a/src/osg/State.cpp b/src/osg/State.cpp -index f81257b..b02667b 100644 ---- a/src/osg/State.cpp -+++ b/src/osg/State.cpp -@@ -1831,6 +1831,7 @@ bool State::DefineMap::updateCurrentDefines() - } - } - } -+ changed = false; - return true; - } - else -diff --git a/src/osg/Transform.cpp b/src/osg/Transform.cpp -index 26321ff..35d505d 100644 ---- a/src/osg/Transform.cpp -+++ b/src/osg/Transform.cpp -@@ -66,7 +66,7 @@ class TransformVisitor : public NodeVisitor - ritr != nodePath.rend(); - ++ritr, --i) - { -- const osg::Camera* camera = dynamic_cast(*ritr); -+ const osg::Camera* camera = (*ritr)->asCamera(); - if (camera && - (camera->getReferenceFrame()!=osg::Transform::RELATIVE_RF || camera->getParents().empty())) - { -@@ -80,7 +80,7 @@ class TransformVisitor : public NodeVisitor - i(nodePath[i])->accept(*this); -+ nodePath[i]->accept(*this); - } - } - -diff --git a/src/osgDB/InputStream.cpp b/src/osgDB/InputStream.cpp -index cb9b117..3a0ff2b 100644 ---- a/src/osgDB/InputStream.cpp -+++ b/src/osgDB/InputStream.cpp -@@ -185,9 +185,13 @@ InputStream& InputStream::operator>>( osg::Vec3d& v ) - InputStream& InputStream::operator>>( osg::Vec4d& v ) - { *this >> v.x() >> v.y() >> v.z() >> v.w(); return *this; } - -- - InputStream& InputStream::operator>>( osg::Quat& q ) --{ *this >> q.x() >> q.y() >> q.z() >> q.w(); return *this; } -+{ -+ double x, y, z, w; -+ *this >> x >> y >> z >> w; -+ q.set(x, y, z, w); -+ return *this; -+} - - InputStream& InputStream::operator>>( osg::Plane& p ) - { -diff --git a/src/osgDB/OutputStream.cpp b/src/osgDB/OutputStream.cpp -index 993f3c2..ed0ef53 100644 ---- a/src/osgDB/OutputStream.cpp -+++ b/src/osgDB/OutputStream.cpp -@@ -155,7 +155,7 @@ OutputStream& OutputStream::operator<<( const osg::Vec4ui& v ) - - - OutputStream& OutputStream::operator<<( const osg::Quat& q ) --{ *this << q.x() << q.y() << q.z() << q.w(); return *this; } -+{ *this << (double)q.x() << (double)q.y() << (double)q.z() << (double)q.w(); return *this; } - - OutputStream& OutputStream::operator<<( const osg::Plane& p ) - { *this << (double)p[0] << (double)p[1] << (double)p[2] << (double)p[3]; return *this; } -diff --git a/src/osgFX/Effect.cpp b/src/osgFX/Effect.cpp -index 9192320..d2ccd5c 100644 ---- a/src/osgFX/Effect.cpp -+++ b/src/osgFX/Effect.cpp -@@ -139,6 +139,7 @@ void Effect::build_dummy_node() - { - _dummy_for_validation = new osg::Geode; - osg::ref_ptr geo = new osg::Geometry; -+ geo->setCullingActive(false); - _dummy_for_validation->addDrawable(geo.get()); - _dummy_for_validation->getOrCreateStateSet()->setAttribute(new Validator(this)); - } -diff --git a/src/osgFX/Technique.cpp b/src/osgFX/Technique.cpp -index 9ec1a2c..1cc8110 100644 ---- a/src/osgFX/Technique.cpp -+++ b/src/osgFX/Technique.cpp -@@ -42,28 +42,29 @@ void Technique::traverse_implementation(osg::NodeVisitor& nv, Effect* fx) - } - - // special actions must be taken if the node visitor is actually a CullVisitor -- osgUtil::CullVisitor *cv = dynamic_cast(&nv); -+ if (nv.getVisitorType() == osg::NodeVisitor::CULL_VISITOR) -+ { -+ osgUtil::CullVisitor *cv = static_cast(&nv); - -- // traverse all passes -- for (int i=0; ipushStateSet(_passes[i].get()); -- } - -- // traverse the override node if defined, otherwise -- // traverse children as a Group would do -- osg::Node *override = getOverrideChild(i); -- if (override) { -- override->accept(nv); -- } else { -- fx->inherited_traverse(nv); -- } -+ // traverse the override node if defined, otherwise -+ // traverse children as a Group would do -+ osg::Node *override = getOverrideChild(i); -+ if (override) { -+ override->accept(nv); -+ } else { -+ fx->inherited_traverse(nv); -+ } - -- // pop the StateSet if necessary -- if (cv) { -+ // pop the StateSet - cv->popStateSet(); - } - } -+ else -+ fx->inherited_traverse(nv); - } -diff --git a/src/osgManipulator/Projector.cpp b/src/osgManipulator/Projector.cpp -index bbae7ac..f587e8a 100644 ---- a/src/osgManipulator/Projector.cpp -+++ b/src/osgManipulator/Projector.cpp -@@ -402,7 +402,7 @@ osg::Quat SpherePlaneProjector::getRotation(const osg::Vec3d& p1, bool p1OnSpher - osg::Quat rotation; - rotation.makeRotate(p1 - getSphere()->getCenter(), p2 - getSphere()->getCenter()); - -- osg::Vec3d axis; double angle; -+ osg::Vec3d axis; osg::Quat::value_type angle; - rotation.getRotate(angle, axis); - - osg::Vec3d realAxis; -diff --git a/src/osgParticle/ConnectedParticleSystem.cpp b/src/osgParticle/ConnectedParticleSystem.cpp -index 30a4c53..d5bb51b 100644 ---- a/src/osgParticle/ConnectedParticleSystem.cpp -+++ b/src/osgParticle/ConnectedParticleSystem.cpp -@@ -42,7 +42,7 @@ Particle* ConnectedParticleSystem::createParticle(const Particle* ptemplate) - // OSG_NOTICE<setNextParticle(particleIndex); - particle->setPreviousParticle(_lastParticleCreated); - } - -@@ -76,7 +76,7 @@ void ConnectedParticleSystem::reuseParticle(int particleIndex) - - if (particleIndex<0 || particleIndex>=(int)_particles.size()) return; - -- Particle* particle = &_particles[particleIndex]; -+ Particle* particle = _particles[particleIndex]; - int previous = particle->getPreviousParticle(); - int next = particle->getNextParticle(); - -@@ -95,12 +95,12 @@ void ConnectedParticleSystem::reuseParticle(int particleIndex) - // the deletion of the this particle - if (previous != Particle::INVALID_INDEX) - { -- _particles[previous].setNextParticle(next); -+ _particles[previous]->setNextParticle(next); - } - - if (next != Particle::INVALID_INDEX) - { -- _particles[next].setPreviousParticle(previous); -+ _particles[next]->setPreviousParticle(previous); - } - - // reset the next and previous particle entries of this particle -@@ -119,7 +119,7 @@ void ConnectedParticleSystem::drawImplementation(osg::RenderInfo& renderInfo) co - - ScopedReadLock lock(_readWriteMutex); - -- const Particle* particle = (_startParticle != Particle::INVALID_INDEX) ? &_particles[_startParticle] : 0; -+ const Particle* particle = (_startParticle != Particle::INVALID_INDEX) ? _particles[_startParticle] : 0; - if (!particle) return; - - -@@ -144,7 +144,7 @@ void ConnectedParticleSystem::drawImplementation(osg::RenderInfo& renderInfo) co - gl.TexCoord2f( particle->getSTexCoord(), 0.5f ); - gl.Vertex3fv(pos.ptr()); - -- const Particle* nextParticle = (particle->getNextParticle() != Particle::INVALID_INDEX) ? &_particles[particle->getNextParticle()] : 0; -+ const Particle* nextParticle = (particle->getNextParticle() != Particle::INVALID_INDEX) ? _particles[particle->getNextParticle()] : 0; - if (nextParticle) - { - const osg::Vec3& nextPos = nextParticle->getPosition(); -@@ -157,7 +157,7 @@ void ConnectedParticleSystem::drawImplementation(osg::RenderInfo& renderInfo) co - i<_maxNumberOfParticlesToSkip && ((distance2getNextParticle()!=Particle::INVALID_INDEX)); - ++i) - { -- nextParticle = &_particles[nextParticle->getNextParticle()]; -+ nextParticle = _particles[nextParticle->getNextParticle()]; - const osg::Vec3& nextPos = nextParticle->getPosition(); - osg::Vec3 delta = nextPos-pos; - distance2 = (delta^startDelta).length2(); -@@ -183,7 +183,7 @@ void ConnectedParticleSystem::drawImplementation(osg::RenderInfo& renderInfo) co - const osg::Vec4& color = particle->getCurrentColor(); - const osg::Vec3& pos = particle->getPosition(); - -- const Particle* nextParticle = (particle->getNextParticle() != Particle::INVALID_INDEX) ? &_particles[particle->getNextParticle()] : 0; -+ const Particle* nextParticle = (particle->getNextParticle() != Particle::INVALID_INDEX) ? _particles[particle->getNextParticle()] : 0; - - if (nextParticle) - { -@@ -197,7 +197,7 @@ void ConnectedParticleSystem::drawImplementation(osg::RenderInfo& renderInfo) co - i<_maxNumberOfParticlesToSkip && ((distance2getNextParticle()!=Particle::INVALID_INDEX)); - ++i) - { -- nextParticle = &_particles[nextParticle->getNextParticle()]; -+ nextParticle = _particles[nextParticle->getNextParticle()]; - const osg::Vec3& nextPos = nextParticle->getPosition(); - delta = nextPos-pos; - distance2 = (delta^startDelta).length2(); -diff --git a/src/osgParticle/ParticleProcessor.cpp b/src/osgParticle/ParticleProcessor.cpp -index 0f2a862..c4e1fdd 100644 ---- a/src/osgParticle/ParticleProcessor.cpp -+++ b/src/osgParticle/ParticleProcessor.cpp -@@ -54,12 +54,8 @@ osgParticle::ParticleProcessor::ParticleProcessor(const ParticleProcessor& copy, - - void osgParticle::ParticleProcessor::traverse(osg::NodeVisitor& nv) - { -- // typecast the NodeVisitor to CullVisitor -- osgUtil::CullVisitor* cv = dynamic_cast(&nv); -- -- // continue only if the visitor actually is a cull visitor -- if (cv) { -- -+ if (nv.getVisitorType() == osg::NodeVisitor::CULL_VISITOR) -+ { - // continue only if the particle system is valid - if (_ps.valid()) - { -@@ -99,10 +95,12 @@ void osgParticle::ParticleProcessor::traverse(osg::NodeVisitor& nv) - _currentTime += t - _t0; - - // process only if the particle system is not frozen/culled -+ // We need to allow at least 2 frames difference, because the particle system's lastFrameNumber -+ // is updated in the draw thread which may not have completed yet. - if (alive && - _enabled && - !_ps->isFrozen() && -- ((_ps->getLastFrameNumber()+1) >= (nv.getFrameStamp()->getFrameNumber()) || !_ps->getFreezeOnCull())) -+ ((_ps->getLastFrameNumber()+2) >= (nv.getFrameStamp()->getFrameNumber()) || !_ps->getFreezeOnCull())) - { - // initialize matrix flags - _need_ltw_matrix = true; -diff --git a/src/osgParticle/ParticleSystem.cpp b/src/osgParticle/ParticleSystem.cpp -index 3e84bb7..9727f1f 100644 ---- a/src/osgParticle/ParticleSystem.cpp -+++ b/src/osgParticle/ParticleSystem.cpp -@@ -36,7 +36,6 @@ osgParticle::ParticleSystem::ParticleSystem() - _align_X_axis(1, 0, 0), - _align_Y_axis(0, 1, 0), - _particleScaleReferenceFrame(WORLD_COORDINATES), -- _useVertexArray(false), - _useShaders(false), - _dirty_uniforms(false), - _doublepass(false), -@@ -68,7 +67,6 @@ osgParticle::ParticleSystem::ParticleSystem(const ParticleSystem& copy, const os - _align_X_axis(copy._align_X_axis), - _align_Y_axis(copy._align_Y_axis), - _particleScaleReferenceFrame(copy._particleScaleReferenceFrame), -- _useVertexArray(copy._useVertexArray), - _useShaders(copy._useShaders), - _dirty_uniforms(copy._dirty_uniforms), - _doublepass(copy._doublepass), -@@ -92,6 +90,14 @@ osgParticle::ParticleSystem::ParticleSystem(const ParticleSystem& copy, const os - - osgParticle::ParticleSystem::~ParticleSystem() - { -+ for (unsigned int i=0; i<_particles.size(); ++i) -+ delete _particles[i]; -+ _particles.clear(); -+} -+ -+bool cmp_particles(const osgParticle::Particle* left, const osgParticle::Particle* right) -+{ -+ return *left < *right; - } - - void osgParticle::ParticleSystem::update(double dt, osg::NodeVisitor& nv) -@@ -118,7 +124,7 @@ void osgParticle::ParticleSystem::update(double dt, osg::NodeVisitor& nv) - - for(unsigned int i=0; i<_particles.size(); ++i) - { -- Particle& particle = _particles[i]; -+ Particle& particle = *_particles[i]; - if (particle.isAlive()) - { - if (particle.update(dt, _useShaders)) -@@ -138,20 +144,21 @@ void osgParticle::ParticleSystem::update(double dt, osg::NodeVisitor& nv) - osgUtil::CullVisitor* cv = dynamic_cast(&nv); - if (cv) - { -- osg::Matrixd modelview = *(cv->getModelViewMatrix()); -+ osg::RefMatrix* modelview = cv->getModelViewMatrix(); - double scale = (_sortMode==SORT_FRONT_TO_BACK ? -1.0 : 1.0); - double deadDistance = DBL_MAX; - for (unsigned int i=0; i<_particles.size(); ++i) - { -- Particle& particle = _particles[i]; -+ Particle& particle = *_particles[i]; - if (particle.isAlive()) -- particle.setDepth(distance(particle.getPosition(), modelview) * scale); -+ particle.setDepth(distance(particle.getPosition(), *modelview) * scale); - else - particle.setDepth(deadDistance); - } -- std::sort(_particles.begin(), _particles.end()); -+ std::sort(_particles.begin(), _particles.end(), cmp_particles); - - // Repopulate the death stack as it will have been invalidated by the sort. -+ /* - unsigned int numDead = _deadparts.size(); - if (numDead>0) - { -@@ -159,13 +166,14 @@ void osgParticle::ParticleSystem::update(double dt, osg::NodeVisitor& nv) - _deadparts = Death_stack(); - - // copy the tail of the _particles vector as this will contain all the dead Particle thanks to the depth sort against DBL_MAX -- Particle* first_dead_ptr = &_particles[_particles.size()-numDead]; -- Particle* last_dead_ptr = &_particles[_particles.size()-1]; -+ Particle* first_dead_ptr = _particles[_particles.size()-numDead]; -+ Particle* last_dead_ptr = _particles[_particles.size()-1]; - for(Particle* dead_ptr = first_dead_ptr; dead_ptr<=last_dead_ptr; ++dead_ptr) - { - _deadparts.push(dead_ptr); - } - } -+ */ - } - } - -@@ -198,10 +206,7 @@ void osgParticle::ParticleSystem::drawImplementation(osg::RenderInfo& renderInfo - glDepthMask(GL_FALSE); - - // render, first pass -- if (_useVertexArray) -- render_vertex_array(renderInfo); -- else -- single_pass_render(renderInfo, modelview); -+ single_pass_render(renderInfo, modelview); - - #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) - // restore depth mask settings -@@ -217,10 +222,7 @@ void osgParticle::ParticleSystem::drawImplementation(osg::RenderInfo& renderInfo - glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); - - // render the particles onto the depth buffer -- if (_useVertexArray) -- render_vertex_array(renderInfo); -- else -- single_pass_render(renderInfo, modelview); -+ single_pass_render(renderInfo, modelview); - - #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GL3_AVAILABLE) - // restore color mask settings -@@ -270,7 +272,6 @@ void osgParticle::ParticleSystem::setDefaultAttributes(const std::string& textur - stateset->setAttributeAndModes(blend, osg::StateAttribute::ON); - - setStateSet(stateset); -- setUseVertexArray(false); - setUseShaders(false); - } - -@@ -409,7 +410,7 @@ void osgParticle::ParticleSystem::single_pass_render(osg::RenderInfo& renderInfo - } - - bool requiresEndRender = false; -- const Particle* startParticle = &_particles[0]; -+ const Particle* startParticle = _particles[0]; - if (startParticle->getShape() != Particle::USER) - { - startParticle->beginRender(gl); -@@ -423,7 +424,7 @@ void osgParticle::ParticleSystem::single_pass_render(osg::RenderInfo& renderInfo - - for(unsigned int i=0; i<_particles.size(); i+=_detail) - { -- const Particle* currentParticle = &_particles[i]; -+ const Particle* currentParticle = _particles[i]; - - bool insideDistance = true; - if (_sortMode != NO_SORT && _visibilityDistance>0.0) -@@ -496,38 +497,6 @@ void osgParticle::ParticleSystem::single_pass_render(osg::RenderInfo& renderInfo - startParticle->endRender(gl); - } - --void osgParticle::ParticleSystem::render_vertex_array(osg::RenderInfo& renderInfo) const --{ -- if (_particles.size() <= 0) return; -- -- // Compute the pointer and offsets -- Particle_vector::const_iterator itr = _particles.begin(); -- float* ptr = (float*)(&(*itr)); -- GLsizei stride = 0; -- if (_particles.size() > 1) -- { -- float* ptr1 = (float*)(&(*(itr+1))); -- stride = ptr1 - ptr; -- } -- GLsizei posOffset = (float*)(&(itr->_position)) - ptr; // Position -- GLsizei colorOffset = (float*)(&(itr->_current_color)) - ptr; // Color -- GLsizei velOffset = (float*)(&(itr->_velocity)) - ptr; // Velocity -- GLsizei propOffset = (float*)(&(itr->_alive)) - ptr; // Alive, size & alpha -- -- // Draw particles as arrays -- osg::State& state = *renderInfo.getState(); -- state.lazyDisablingOfVertexAttributes(); -- state.setColorPointer(4, GL_FLOAT, stride * sizeof(float), ptr + colorOffset); -- state.setVertexPointer(3, GL_FLOAT, stride * sizeof(float), ptr + posOffset); -- if (_useShaders) -- { -- state.setNormalPointer(GL_FLOAT, stride * sizeof(float), ptr + velOffset); -- state.setTexCoordPointer(0, 3, GL_FLOAT, stride * sizeof(float), ptr + propOffset); -- } -- state.applyDisablingOfVertexAttributes(); -- glDrawArrays(GL_POINTS, 0, _particles.size()); --} -- - osg::BoundingBox osgParticle::ParticleSystem::computeBoundingBox() const - { - if (!_bounds_computed) -diff --git a/src/osgParticle/ParticleSystemUpdater.cpp b/src/osgParticle/ParticleSystemUpdater.cpp -index 1c826e8..4e6ef2d 100644 ---- a/src/osgParticle/ParticleSystemUpdater.cpp -+++ b/src/osgParticle/ParticleSystemUpdater.cpp -@@ -22,8 +22,7 @@ osgParticle::ParticleSystemUpdater::ParticleSystemUpdater(const ParticleSystemUp - - void osgParticle::ParticleSystemUpdater::traverse(osg::NodeVisitor& nv) - { -- osgUtil::CullVisitor *cv = dynamic_cast(&nv); -- if (cv) -+ if (nv.getVisitorType() == osg::NodeVisitor::CULL_VISITOR) - { - if (nv.getFrameStamp()) - { -@@ -41,7 +40,9 @@ void osgParticle::ParticleSystemUpdater::traverse(osg::NodeVisitor& nv) - - ParticleSystem::ScopedWriteLock lock(*(ps->getReadWriteMutex())); - -- if (!ps->isFrozen() && (ps->getLastFrameNumber() >= (nv.getFrameStamp()->getFrameNumber() - 1) || !ps->getFreezeOnCull())) -+ // We need to allow at least 2 frames difference, because the particle system's lastFrameNumber -+ // is updated in the draw thread which may not have completed yet. -+ if (!ps->isFrozen() && (ps->getLastFrameNumber() >= (nv.getFrameStamp()->getFrameNumber() - 2) || !ps->getFreezeOnCull())) - { - ps->update(t - _t0, nv); - } -diff --git a/src/osgPlugins/dae/daeWTransforms.cpp b/src/osgPlugins/dae/daeWTransforms.cpp -index 79d408c..26f5b91 100644 ---- a/src/osgPlugins/dae/daeWTransforms.cpp -+++ b/src/osgPlugins/dae/daeWTransforms.cpp -@@ -39,7 +39,7 @@ void daeWriter::writeUpdateTransformElements(const osg::Vec3 &pos, const osg::Qu - - // Make a three rotate place elements for the euler angles - // TODO decompose quaternion into three euler angles -- double angle; -+ osg::Quat::value_type angle; - osg::Vec3 axis; - q.getRotate( angle, axis ); - -diff --git a/src/osgPlugins/p3d/ReaderWriterP3D.cpp b/src/osgPlugins/p3d/ReaderWriterP3D.cpp -index dd01e10..5e7ab69 100644 ---- a/src/osgPlugins/p3d/ReaderWriterP3D.cpp -+++ b/src/osgPlugins/p3d/ReaderWriterP3D.cpp -@@ -217,7 +217,11 @@ public: - qlhs.makeRotate(osg::DegreesToRadians(lhs[0]),lhs[1],lhs[2],lhs[3]); - qrhs.makeRotate(osg::DegreesToRadians(rhs[0]),rhs[1],rhs[2],rhs[3]); - osg::Quat quat = qlhs*qrhs; -+#ifdef OSG_USE_FLOAT_QUAT -+ osg::Vec4f result; -+#else - osg::Vec4d result; -+#endif - quat.getRotate ( result[0], result[1], result[2], result[3]); - result[0] = osg::RadiansToDegrees(result[0]); - return result; -diff --git a/src/osgUtil/IncrementalCompileOperation.cpp b/src/osgUtil/IncrementalCompileOperation.cpp -index 78914f4..747592c 100644 ---- a/src/osgUtil/IncrementalCompileOperation.cpp -+++ b/src/osgUtil/IncrementalCompileOperation.cpp -@@ -77,7 +77,7 @@ void StateToCompile::apply(osg::Drawable& drawable) - - _drawablesHandled.insert(&drawable); - -- if (_markerObject.get()!=drawable.getUserData()) -+ if (!_markerObject || _markerObject.get()!=drawable.getUserData()) - { - if (drawable.getDataVariance()!=osg::Object::STATIC) - { -@@ -114,7 +114,7 @@ void StateToCompile::apply(osg::Drawable& drawable) - } - - // mark the drawable as visited -- if (drawable.getUserData()==0) drawable.setUserData(_markerObject.get()); -+ if (_markerObject.valid() && drawable.getUserData()==0) drawable.setUserData(_markerObject.get()); - } - } - -@@ -125,15 +125,15 @@ void StateToCompile::apply(osg::StateSet& stateset) - _statesetsHandled.insert(&stateset); - - if ((_mode & GLObjectsVisitor::COMPILE_STATE_ATTRIBUTES)!=0 && -- _markerObject.get()!=stateset.getUserData()) -+ (!_markerObject || _markerObject.get()!=stateset.getUserData())) - { - osg::Program* program = dynamic_cast(stateset.getAttribute(osg::StateAttribute::PROGRAM)); -- if (program && _markerObject.get()!=program->getUserData()) -+ if (program && (!_markerObject || _markerObject.get()!=program->getUserData())) - { - _programs.insert(program); - - // mark the stateset as visited -- if (program->getUserData()==0) program->setUserData(_markerObject.get()); -+ if (_markerObject.valid() && program->getUserData()==0) program->setUserData(_markerObject.get()); - } - - const osg::StateSet::TextureAttributeList& tal = stateset.getTextureAttributeList(); -@@ -159,14 +159,14 @@ void StateToCompile::apply(osg::StateSet& stateset) - } - - // mark the stateset as visited -- if (stateset.getUserData()==0) stateset.setUserData(_markerObject.get()); -+ if (_markerObject.valid() && stateset.getUserData()==0) stateset.setUserData(_markerObject.get()); - } - } - - void StateToCompile::apply(osg::Texture& texture) - { - // don't make any changes if Texture already processed -- if (_markerObject.get()==texture.getUserData()) return; -+ if (_markerObject.valid() && _markerObject.get()==texture.getUserData()) return; - - if (_assignPBOToImages) - { -@@ -213,7 +213,7 @@ void StateToCompile::apply(osg::Texture& texture) - } - } - -- if (texture.getUserData()==0) texture.setUserData(_markerObject.get()); -+ if (_markerObject.valid() && texture.getUserData()==0) texture.setUserData(_markerObject.get()); - - _textures.insert(&texture); - } -@@ -297,7 +297,7 @@ double IncrementalCompileOperation::CompileProgramOp::estimatedTimeForCompile(Co - bool IncrementalCompileOperation::CompileProgramOp::compile(CompileInfo& compileInfo) - { - //OSG_NOTICE<<"CompileProgramOp::compile(..)"<apply(*compileInfo.getState()); -+ _program->compileGLObjects(*compileInfo.getState()); - return true; - } - -diff --git a/src/osgUtil/LineSegmentIntersector.cpp b/src/osgUtil/LineSegmentIntersector.cpp -index 230062b..874bcd5 100644 ---- a/src/osgUtil/LineSegmentIntersector.cpp -+++ b/src/osgUtil/LineSegmentIntersector.cpp -@@ -485,8 +485,8 @@ void LineSegmentIntersector::reset() - - bool LineSegmentIntersector::intersects(const osg::BoundingSphere& bs) - { -- // if bs not valid then return true based on the assumption that an invalid sphere is yet to be defined. -- if (!bs.valid()) return true; -+ // if bs not valid then return false based on the assumption that the node is empty. -+ if (!bs.valid()) return false; - - osg::Vec3d sm = _start - bs._center; - double c = sm.length2()-bs._radius*bs._radius; -diff --git a/src/osgUtil/PlaneIntersector.cpp b/src/osgUtil/PlaneIntersector.cpp -index 4469b40..2085966 100644 ---- a/src/osgUtil/PlaneIntersector.cpp -+++ b/src/osgUtil/PlaneIntersector.cpp -@@ -641,7 +641,7 @@ bool PlaneIntersector::enter(const osg::Node& node) - { - if (reachedLimit()) return false; - return !node.isCullingActive() || -- ( _plane.intersect(node.getBound())==0 && _polytope.contains(node.getBound()) ); -+ ( node.getBound().valid() && _plane.intersect(node.getBound())==0 && _polytope.contains(node.getBound()) ); - } - - -diff --git a/src/osgUtil/PolytopeIntersector.cpp b/src/osgUtil/PolytopeIntersector.cpp -index 8cdc1eb..8c4cff7 100644 ---- a/src/osgUtil/PolytopeIntersector.cpp -+++ b/src/osgUtil/PolytopeIntersector.cpp -@@ -545,7 +545,7 @@ Intersector* PolytopeIntersector::clone(osgUtil::IntersectionVisitor& iv) - bool PolytopeIntersector::enter(const osg::Node& node) - { - if (reachedLimit()) return false; -- return !node.isCullingActive() || _polytope.contains( node.getBound() ); -+ return !node.isCullingActive() || (node.getBound().valid() && _polytope.contains( node.getBound()) ); - } - - -diff --git a/src/osgUtil/RayIntersector.cpp b/src/osgUtil/RayIntersector.cpp -index 1642af2..773ae27 100644 ---- a/src/osgUtil/RayIntersector.cpp -+++ b/src/osgUtil/RayIntersector.cpp -@@ -148,8 +148,8 @@ void RayIntersector::intersect(IntersectionVisitor& iv, Drawable* drawable) - - bool RayIntersector::intersects(const BoundingSphere& bs) - { -- // if bs not valid then return true based on the assumption that an invalid sphere is yet to be defined. -- if (!bs.valid()) return true; -+ // if bs not valid then return false based on the assumption that the node is empty. -+ if (!bs.valid()) return false; - - // test for _start inside the bounding sphere - Vec3d sm = _start - bs._center; -diff --git a/src/osgViewer/StatsHandler.cpp b/src/osgViewer/StatsHandler.cpp -index 2a908a9..8563f59 100644 ---- a/src/osgViewer/StatsHandler.cpp -+++ b/src/osgViewer/StatsHandler.cpp -@@ -751,6 +751,8 @@ protected: - setColorArray(colors, osg::Array::BIND_OVERALL); - - setDrawCallback(new GraphUpdateCallback(pos, width, height, viewerStats, stats, max, nameBegin, nameEnd)); -+ -+ setCullingActive(false); - } - }; - -diff --git a/src/osgViewer/ViewerBase.cpp b/src/osgViewer/ViewerBase.cpp -index ea70af4..b565f67 100644 ---- a/src/osgViewer/ViewerBase.cpp -+++ b/src/osgViewer/ViewerBase.cpp -@@ -165,31 +165,6 @@ void ViewerBase::setUpThreading() - if (_threadingModel==SingleThreaded) - { - if (_threadsRunning) stopThreading(); -- else -- { -- // we'll set processor affinity here to help single threaded apps -- // with multiple processor cores, and using the database pager. -- int numProcessors = OpenThreads::GetNumberOfProcessors(); -- bool affinity = numProcessors>1; -- if (affinity) -- { -- OpenThreads::SetProcessorAffinityOfCurrentThread(0); -- -- Scenes scenes; -- getScenes(scenes); -- -- for(Scenes::iterator scitr = scenes.begin(); -- scitr != scenes.end(); -- ++scitr) -- { -- if ((*scitr)->getSceneData()) -- { -- // update the scene graph so that it has enough GL object buffer memory for the graphics contexts that will be using it. -- (*scitr)->getSceneData()->resizeGLObjectBuffers(osg::DisplaySettings::instance()->getMaxNumberOfGraphicsContexts()); -- } -- } -- } -- } - } - else - { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/patches/series openscenegraph-3.4-3.4.1+dfsg1/debian/patches/series --- openscenegraph-3.4-3.4.0+dfsg1/debian/patches/series 2016-09-23 19:19:22.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/debian/patches/series 2017-09-23 09:59:35.000000000 +0000 @@ -1,8 +1,4 @@ disable-zip-plugin-with-embedded-zlib.patch -check__FreeBSD_kernel__ no-xine-malloc-aligned.diff -ffmpeg_2.9.patch -0005-Bas-Couwenberg-s-patches-for-Hurd.patch 0006-Occlusion-Queries-Stuttering-fix-from-upstream.patch 0007-Explicit-signed-char-type-for-portability-base64.patch -scrawl.patch diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/rules openscenegraph-3.4-3.4.1+dfsg1/debian/rules --- openscenegraph-3.4-3.4.0+dfsg1/debian/rules 2016-09-23 19:19:22.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/debian/rules 2017-11-07 09:18:40.000000000 +0000 @@ -64,6 +64,22 @@ LDFLAGS += -Wl,--as-needed +ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),armel armhf)) +ARM_DEFINES=-D OSG_GL1_AVAILABLE:BOOL=OFF \ + -D OSG_GL2_AVAILABLE:BOOL=OFF \ + -D OSG_GL3_AVAILABLE:BOOL=OFF \ + -D OSG_GLES1_AVAILABLE:BOOL=OFF \ + -D OSG_GLES2_AVAILABLE:BOOL=ON \ + -D OSG_GL_DISPLAYLISTS_AVAILABLE:BOOL=OFF \ + -D OSG_GL_MATRICES_AVAILABLE:BOOL=OFF \ + -D OSG_GL_VERTEX_FUNCS_AVAILABLE:BOOL=OFF \ + -D OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE:BOOL=OFF \ + -D OSG_GL_FIXED_FUNCTION_AVAILABLE:BOOL=OFF \ + -D OSG_CPP_EXCEPTIONS_AVAILABLE:BOOL=OFF \ + -D OPENGL_gl_LIBRARY:STRING=/usr/lib/arm-linux-gnueabihf/libGLESv2.so \ + -D OPENGL_egl_LIBRARY:STRING=/usr/lib/arm-linux-gnueabihf/libEGL.so +endif + # # Shared libraries version numbers # @@ -147,7 +163,7 @@ # OPENSCENEGRAPH_SOVERSION=80 # # OpenSceneGraph 3.2.0 -#OPENTHREADS_SOVERSION=14 +# OPENTHREADS_SOVERSION=14 # OPENSCENEGRAPH_SOVERSION=99 # # OpenSceneGraph 3.2.1 @@ -155,8 +171,12 @@ # OPENSCENEGRAPH_SOVERSION=100 # # OpenSceneGraph 3.4.0 +# OPENTHREADS_SOVERSION=20 +# OPENSCENEGRAPH_SOVERSION=130 +# +# OpenSceneGraph 3.4.1 OPENTHREADS_SOVERSION=20 -OPENSCENEGRAPH_SOVERSION=130 +OPENSCENEGRAPH_SOVERSION=131 GRAB_VERSION_COMMAND := sed -n '1s~[^(]*(\(.*\)-.*).*~\1~p' debian/changelog | sed 's~+dfsg.*~~' VERSION := $(shell $(GRAB_VERSION_COMMAND)) @@ -311,6 +331,8 @@ osgwidgettable.1 \ osgwidgetwindow.1 \ osgwindows.1 \ + osgQtBrowser.1 \ + osgQtWidgets.1 \ osganalysis.1 \ osganimationeasemotion.1 \ osganimationmorph.1 \ @@ -431,6 +453,7 @@ -D CMAKE_BUILD_TYPE=RelWithDebInfo \ -D CMAKE_RELWITHDEBINFO_POSTFIX="" \ -D OSG_USE_LOCAL_LUA_SOURCE:BOOL=OFF \ + ${ARM_DEFINES} \ ../.. ${MAKE} ${PARALLEL_OPTIONS} VERBOSE=1 -C build/osg diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osg2cpp/osg2cpp.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osg2cpp/osg2cpp.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osg2cpp/osg2cpp.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osg2cpp/osg2cpp.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -85,7 +85,7 @@ std::string filename; if (arguments.read("--shader",filename)) { - osg::ref_ptr shader = osgDB::readShaderFile(filename); + osg::ref_ptr shader = osgDB::readRefShaderFile(filename); if (shader.valid()) { std::string name = osgDB::getStrippedName(filename); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osganalysis/osganalysis.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osganalysis/osganalysis.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osganalysis/osganalysis.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osganalysis/osganalysis.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -504,7 +504,7 @@ optimizeVertexOrder = false; reallocateMemory = false; - + modifyTextureSettings = false; buildImageMipmaps = false; compressImages = false; @@ -524,21 +524,21 @@ bool optimizeVertexOrder; bool reallocateMemory; - + bool modifyTextureSettings; bool buildImageMipmaps; bool compressImages; bool disableMipmaps; }; -// +// class DatabasePagingOperation : public osg::Operation, public osgUtil::IncrementalCompileOperation::CompileCompletedCallback { public: DatabasePagingOperation(const std::string& filename, const std::string& outputFilename, - SceneGraphProcessor* sceneGraphProcessor, + SceneGraphProcessor* sceneGraphProcessor, osgUtil::IncrementalCompileOperation* ico): osg::Referenced(true), Operation("DatabasePaging Operation", false), @@ -555,7 +555,7 @@ osg::notify(osg::NOTICE)<<"LoadAndCompileOperation "<<_filename<setTimeScale(animationSpeed); apm->setAnimationCompletedCallback(new ReportStatsAnimationCompletedCallback()); - + unsigned int num = keyswitchManipulator->getNumMatrixManipulators(); keyswitchManipulator->addMatrixManipulator( keyForAnimationPath, "Path", apm ); keyswitchManipulator->selectMatrixManipulator(num); @@ -675,7 +675,7 @@ viewer.setCameraManipulator( keyswitchManipulator.get() ); } - // set up event handlers + // set up event handlers { viewer.addEventHandler( new osgViewer::StatsHandler()); viewer.addEventHandler( new osgViewer::WindowSizeHandler() ); @@ -797,7 +797,7 @@ if (databasePagingOperation.get() && databasePagingOperation->_modelReadyToMerge) { OSG_NOTICE<<"Merging subgraph"<removeChildren(0,group->getNumChildren()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osganimate/osganimate.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osganimate/osganimate.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osganimate/osganimate.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osganimate/osganimate.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -136,9 +136,9 @@ osg::AnimationPath* animationPath = createAnimationPath(center,radius,animationLength); - osg::Group* model = new osg::Group; + osg::ref_ptr model = new osg::Group; - osg::Node* glider = osgDB::readNodeFile("glider.osgt"); + osg::ref_ptr glider = osgDB::readRefNodeFile("glider.osgt"); if (glider) { const osg::BoundingSphere& bs = glider->getBound(); @@ -159,7 +159,7 @@ model->addChild(xform); } - osg::Node* cessna = osgDB::readNodeFile("cessna.osgt"); + osg::ref_ptr cessna = osgDB::readRefNodeFile("cessna.osgt"); if (cessna) { const osg::BoundingSphere& bs = cessna->getBound(); @@ -173,26 +173,26 @@ positioned->addChild(cessna); - osg::MatrixTransform* xform = new osg::MatrixTransform; + osg::ref_ptr xform = new osg::MatrixTransform; xform->setUpdateCallback(new osg::AnimationPathCallback(animationPath,0.0f,2.0)); xform->addChild(positioned); model->addChild(xform); } - return model; + return model.release(); } -osg::Node* createModel(bool overlay, osgSim::OverlayNode::OverlayTechnique technique) +osg::ref_ptr createModel(bool overlay, osgSim::OverlayNode::OverlayTechnique technique) { osg::Vec3 center(0.0f,0.0f,0.0f); float radius = 100.0f; - osg::Group* root = new osg::Group; + osg::ref_ptr root = new osg::Group; float baseHeight = center.z()-radius*0.5; - osg::Node* baseModel = createBase(osg::Vec3(center.x(), center.y(), baseHeight),radius); - osg::Node* movingModel = createMovingModel(center,radius*0.8f); + osg::ref_ptr baseModel = createBase(osg::Vec3(center.x(), center.y(), baseHeight),radius); + osg::ref_ptr movingModel = createMovingModel(center,radius*0.8f); if (overlay) { @@ -232,14 +232,14 @@ osgViewer::Viewer viewer; // load the nodes from the commandline arguments. - osg::Node* model = createModel(overlay, technique); + osg::ref_ptr model = createModel(overlay, technique); if (!model) { return 1; } // tilt the scene so the default eye position is looking down on the model. - osg::MatrixTransform* rootnode = new osg::MatrixTransform; + osg::ref_ptr rootnode = new osg::MatrixTransform; rootnode->setMatrix(osg::Matrix::rotate(osg::inDegrees(30.0f),1.0f,0.0f,0.0f)); rootnode->addChild(model); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osganimationhardware/osganimationhardware.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osganimationhardware/osganimationhardware.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osganimationhardware/osganimationhardware.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osganimationhardware/osganimationhardware.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -1,14 +1,14 @@ -/* -*-c++-*- +/* -*-c++-*- * Copyright (C) 2009 Cedric Pinson * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or + * This library is open source and may be redistributed and/or modified under + * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or * (at your option) any later version. The full license is in LICENSE file * included with this distribution, and on the openscenegraph.org website. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * OpenSceneGraph Public License for more details. */ @@ -110,7 +110,7 @@ osg::notify(osg::INFO) << "set vertex attrib " << ss.str() << std::endl; } - } + } for (int i = 0; i < nbAttribs; i++) { std::stringstream ss; @@ -134,7 +134,7 @@ { bool _hardware; SetupRigGeometry( bool hardware = true) : osg::NodeVisitor(osg::NodeVisitor::TRAVERSE_ALL_CHILDREN), _hardware(hardware) {} - + void apply(osg::Geode& geode) { for (unsigned int i = 0; i < geode.getNumDrawables(); i++) @@ -173,7 +173,7 @@ anim->playAnimation(list[v].get()); v = (v + 1)%list.size(); } - + anim->playAnimation(list[v].get()); SetupRigGeometry switcher(hardware); @@ -196,9 +196,9 @@ while (psr.read("--software")) { hardware = false; } while (psr.read("--number", maxChar)) {} - - osg::ref_ptr root = dynamic_cast(osgDB::readNodeFiles(psr)); - if (!root) + osg::ref_ptr node = osgDB::readRefNodeFiles(psr); + osg::ref_ptr root = dynamic_cast(node.get()); + if (!root) { std::cout << psr.getApplicationName() <<": No data loaded" << std::endl; return 1; @@ -206,7 +206,7 @@ { osgAnimation::AnimationManagerBase* animationManager = dynamic_cast(root->getUpdateCallback()); - if(!animationManager) + if(!animationManager) { osg::notify(osg::FATAL) << "no AnimationManagerBase found, updateCallback need to animate elements" << std::endl; return 1; @@ -218,13 +218,13 @@ // add the state manipulator viewer.addEventHandler( new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet()) ); - + // add the thread model handler viewer.addEventHandler(new osgViewer::ThreadingHandler); // add the window size toggle handler viewer.addEventHandler(new osgViewer::WindowSizeHandler); - + // add the stats handler viewer.addEventHandler(new osgViewer::StatsHandler); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osganimationmorph/osganimationmorph.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osganimationmorph/osganimationmorph.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osganimationmorph/osganimationmorph.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osganimationmorph/osganimationmorph.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -1,14 +1,14 @@ -/* -*-c++-*- +/* -*-c++-*- * Copyright (C) 2008 Cedric Pinson * - * This library is open source and may be redistributed and/or modified under - * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or + * This library is open source and may be redistributed and/or modified under + * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or * (at your option) any later version. The full license is in LICENSE file * included with this distribution, and on the openscenegraph.org website. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * OpenSceneGraph Public License for more details. */ @@ -33,11 +33,11 @@ { osg::ref_ptr _geom; GeometryFinder() : osg::NodeVisitor(osg::NodeVisitor::TRAVERSE_ALL_CHILDREN) {} - void apply(osg::Geode& geode) + void apply(osg::Geode& geode) { if (_geom.valid()) return; - for (unsigned int i = 0; i < geode.getNumDrawables(); i++) + for (unsigned int i = 0; i < geode.getNumDrawables(); i++) { osg::Geometry* geom = dynamic_cast(geode.getDrawable(i)); if (geom) { @@ -50,7 +50,7 @@ osg::ref_ptr getShape(const std::string& name) { - osg::ref_ptr shape0 = osgDB::readNodeFile(name); + osg::ref_ptr shape0 = osgDB::readRefNodeFile(name); if (shape0) { GeometryFinder finder; @@ -104,7 +104,7 @@ osg::Group* scene = new osg::Group; scene->addUpdateCallback(bam); - + osg::Geode* geode = new osg::Geode; geode->addDrawable(morph); geode->addUpdateCallback(new osgAnimation::UpdateMorph("MorphNodeCallback")); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osganimationtimeline/osganimationtimeline.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osganimationtimeline/osganimationtimeline.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osganimationtimeline/osganimationtimeline.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osganimationtimeline/osganimationtimeline.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -163,7 +163,8 @@ file = psr[1]; // replace the manager - osg::Group* root = dynamic_cast(osgDB::readNodeFile(file)); + osg::ref_ptr loadedmodel = osgDB::readRefNodeFile(file); + osg::Group* root = dynamic_cast(loadedmodel.get()); if (!root) { osg::notify(osg::FATAL) << "can't read file " << file << std::endl; return 1; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osganimationviewer/AnimtkViewer.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osganimationviewer/AnimtkViewer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osganimationviewer/AnimtkViewer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osganimationviewer/AnimtkViewer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -127,7 +127,8 @@ osgViewer::Viewer viewer(arguments); osg::ref_ptr group = new osg::Group(); - osg::Group* node = dynamic_cast(osgDB::readNodeFiles(arguments)); //dynamic_cast(osgDB::readNodeFile(psr[1])); + osg::ref_ptr loadedmodel = osgDB::readRefNodeFiles(arguments); + osg::Group* node = dynamic_cast(loadedmodel.get()); if(!node) { std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgatomiccounter/osgatomiccounter.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgatomiccounter/osgatomiccounter.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgatomiccounter/osgatomiccounter.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgatomiccounter/osgatomiccounter.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -165,7 +165,7 @@ viewer.addEventHandler(new osgViewer::ScreenCaptureHandler); // load the data - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); if (!loadedModel) { osg::Geometry * quad = osg::createTexturedQuadGeometry(osg::Vec3f(-2.0f, 0.0f, -2.0f), diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgautocapture/osgautocapture.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgautocapture/osgautocapture.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgautocapture/osgautocapture.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgautocapture/osgautocapture.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -28,7 +28,7 @@ #include #include #include - + #include #include @@ -41,7 +41,7 @@ osg::NodeVisitor(osg::NodeVisitor::TRAVERSE_ALL_CHILDREN), _foundNode(0) {} - + void apply(osg::Node& node) { T* result = dynamic_cast(&node); @@ -50,7 +50,7 @@ else traverse(node); } - + T* _foundNode; }; @@ -62,21 +62,21 @@ FindTopMostNodeOfTypeVisitor fnotv; node->accept(fnotv); - + return fnotv._foundNode; } /** Capture the frame buffer and write image to disk*/ class WindowCaptureCallback : public osg::Camera::DrawCallback { -public: +public: WindowCaptureCallback(GLenum readBuffer, const std::string& name): _readBuffer(readBuffer), _fileName(name) { _image = new osg::Image; } - + virtual void operator () (osg::RenderInfo& renderInfo) const { #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) @@ -93,9 +93,9 @@ if (gc->getTraits()->alpha) pixelFormat = GL_RGBA; - else + else pixelFormat = GL_RGB; - + #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) if (pixelFormat == GL_RGB) { @@ -118,7 +118,7 @@ _image->readPixels(0, 0, width, height, pixelFormat, GL_UNSIGNED_BYTE); } - + if (!_fileName.empty()) { std::cout << "Writing to: " << _fileName << std::endl; @@ -126,7 +126,7 @@ } } -protected: +protected: GLenum _readBuffer; std::string _fileName; osg::ref_ptr _image; @@ -138,7 +138,7 @@ class CustomRenderer : public osgViewer::Renderer { public: - CustomRenderer(osg::Camera* camera) + CustomRenderer(osg::Camera* camera) : osgViewer::Renderer(camera), _cullOnly(true) { @@ -162,19 +162,19 @@ { osgUtil::SceneView* sceneView = _sceneView[0].get(); if (!sceneView || _done ) return; - + updateSceneView(sceneView); - + osgViewer::View* view = dynamic_cast(_camera->getView()); if (view) sceneView->setFusionDistance(view->getFusionDistanceMode(), view->getFusionDistanceValue()); sceneView->inheritCullSettings(*(sceneView->getCamera())); sceneView->cull(); } - + bool _cullOnly; }; - + //=============================================================== // MAIN @@ -287,8 +287,8 @@ } // load the data - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); - if (!loadedModel) + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); + if (!loadedModel) { std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; return 1; @@ -309,7 +309,7 @@ { osg::CoordinateSystemNode* csn = findTopMostNodeOfType(loadedModel.get()); if(!csn) return 1; - + // Compute eye point in world coordiantes osg::Vec3d eye; csn->getEllipsoidModel()->convertLatLongHeightToXYZ(lat, lon, alt, eye.x(), eye.y(), eye.z()); @@ -331,11 +331,11 @@ osg::Vec3d up_cross_tangent = up ^ tangent; osg::Matrixd incline_matrix = osg::Matrixd::rotate(incline, up_cross_tangent); osg::Vec3d target = incline_matrix.preMult(tangent); - + // Roll by rotating the up vector around the target vector ... osg::Matrixd roll_matrix = incline_matrix * osg::Matrixd::rotate(roll, target); up = roll_matrix.preMult(up); - + viewer.getCamera()->setViewMatrixAsLookAt(eye, eye+target, up); } else @@ -349,10 +349,10 @@ keyswitchManipulator->addMatrixManipulator( '3', "Drive", new osgGA::DriveManipulator() ); keyswitchManipulator->addMatrixManipulator( '4', "Terrain", new osgGA::TerrainManipulator() ); - viewer.setCameraManipulator( keyswitchManipulator.get() ); + viewer.setCameraManipulator( keyswitchManipulator.get() ); } - + // Optimize DatabasePager for auto-capture osgDB::DatabasePager* pager = viewer.getDatabasePager(); pager->setDoPreCompile(false); @@ -374,9 +374,9 @@ // Initiate the first PagedLOD request viewer.frame(); - + osg::Timer_t beforeLoadTick = osg::Timer::instance()->tick(); - + // Keep updating and culling until full level of detail is reached while(!viewer.done() && pager->getRequestsInProgress()) { @@ -385,14 +385,14 @@ viewer.renderingTraversals(); } // std::cout<tick(); std::cout<<"Load and Compile time = "<delta_s(beforeLoadTick, afterLoadTick)<<" seconds"<setCullOnly(false); - - + + //--- Capture the image!!! --- if (!activeMode) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgbillboard/osgbillboard.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgbillboard/osgbillboard.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgbillboard/osgbillboard.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgbillboard/osgbillboard.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -42,10 +42,10 @@ typedef std::vector< osg::ref_ptr > ImageList; /** create quad at specified position. */ -osg::Drawable* createSquare(const osg::Vec3& corner,const osg::Vec3& width,const osg::Vec3& height, osg::Image* image=NULL) +osg::Drawable* createSquare(const osg::Vec3& corner,const osg::Vec3& width,const osg::Vec3& height, osg::ref_ptr image) { // set up the Geometry. - osg::Geometry* geom = new osg::Geometry; + osg::ref_ptr geom = new osg::Geometry; osg::Vec3Array* coords = new osg::Vec3Array(4); (*coords)[0] = corner; @@ -80,13 +80,13 @@ geom->setStateSet(stateset); } - return geom; + return geom.release(); } osg::Drawable* createAxis(const osg::Vec3& corner,const osg::Vec3& xdir,const osg::Vec3& ydir,const osg::Vec3& zdir) { // set up the Geometry. - osg::Geometry* geom = new osg::Geometry; + osg::ref_ptr geom = new osg::Geometry; osg::Vec3Array* coords = new osg::Vec3Array(6); (*coords)[0] = corner; @@ -121,20 +121,20 @@ stateset->setMode(GL_LIGHTING,osg::StateAttribute::OFF); geom->setStateSet(stateset); - return geom; + return geom.release(); } -osg::Node* createModel() +osg::ref_ptr createModel() { // create the root node which will hold the model. - osg::Group* root = new osg::Group(); + osg::ref_ptr root = new osg::Group(); // add the drawable into a single geode to be shared... osg::Billboard* center = new osg::Billboard(); center->setMode(osg::Billboard::POINT_ROT_EYE); center->addDrawable( - createSquare(osg::Vec3(-0.5f,0.0f,-0.5f),osg::Vec3(1.0f,0.0f,0.0f),osg::Vec3(0.0f,0.0f,1.0f),osgDB::readImageFile("Images/reflect.rgb")), + createSquare(osg::Vec3(-0.5f,0.0f,-0.5f),osg::Vec3(1.0f,0.0f,0.0f),osg::Vec3(0.0f,0.0f,1.0f),osgDB::readRefImageFile("Images/reflect.rgb")), osg::Vec3(0.0f,0.0f,0.0f)); osg::Billboard* x_arrow = new osg::Billboard(); @@ -142,7 +142,7 @@ x_arrow->setAxis(osg::Vec3(1.0f,0.0f,0.0f)); x_arrow->setNormal(osg::Vec3(0.0f,-1.0f,0.0f)); x_arrow->addDrawable( - createSquare(osg::Vec3(-0.5f,0.0f,-0.5f),osg::Vec3(1.0f,0.0f,0.0f),osg::Vec3(0.0f,0.0f,1.0f),osgDB::readImageFile("Cubemap_axis/posx.png")), + createSquare(osg::Vec3(-0.5f,0.0f,-0.5f),osg::Vec3(1.0f,0.0f,0.0f),osg::Vec3(0.0f,0.0f,1.0f),osgDB::readRefImageFile("Cubemap_axis/posx.png")), osg::Vec3(5.0f,0.0f,0.0f)); osg::Billboard* y_arrow = new osg::Billboard(); @@ -150,7 +150,7 @@ y_arrow->setAxis(osg::Vec3(0.0f,1.0f,0.0f)); y_arrow->setNormal(osg::Vec3(1.0f,0.0f,0.0f)); y_arrow->addDrawable( - createSquare(osg::Vec3(0.0f,-0.5f,-0.5f),osg::Vec3(0.0f,1.0f,0.0f),osg::Vec3(0.0f,0.0f,1.0f),osgDB::readImageFile("Cubemap_axis/posy.png")), + createSquare(osg::Vec3(0.0f,-0.5f,-0.5f),osg::Vec3(0.0f,1.0f,0.0f),osg::Vec3(0.0f,0.0f,1.0f),osgDB::readRefImageFile("Cubemap_axis/posy.png")), osg::Vec3(0.0f,5.0f,0.0f)); osg::Billboard* z_arrow = new osg::Billboard(); @@ -158,7 +158,7 @@ z_arrow->setAxis(osg::Vec3(0.0f,0.0f,1.0f)); z_arrow->setNormal(osg::Vec3(0.0f,-1.0f,0.0f)); z_arrow->addDrawable( - createSquare(osg::Vec3(-0.5f,0.0f,-0.5f),osg::Vec3(1.0f,0.0f,0.0f),osg::Vec3(0.0f,0.0f,1.0f),osgDB::readImageFile("Cubemap_axis/posz.png")), + createSquare(osg::Vec3(-0.5f,0.0f,-0.5f),osg::Vec3(1.0f,0.0f,0.0f),osg::Vec3(0.0f,0.0f,1.0f),osgDB::readRefImageFile("Cubemap_axis/posz.png")), osg::Vec3(0.0f,0.0f,5.0f)); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgblenddrawbuffers/osgblenddrawbuffers.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgblenddrawbuffers/osgblenddrawbuffers.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgblenddrawbuffers/osgblenddrawbuffers.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgblenddrawbuffers/osgblenddrawbuffers.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -71,9 +71,17 @@ bool useGlobalBlending = false; if ( arguments.read("--no-draw-buffers") ) useGlobalBlending = true; + + osg::ref_ptr cessna = osgDB::readRefNodeFile("cessna.osgt"); + if (!cessna) + { + OSG_NOTICE<<"Cannot not find model 'cessna.osg' to render"<addChild( osgDB::readNodeFile("cessna.osgt") ); + osg::ref_ptr mrtCam = createMRTCamera( textures ); + mrtCam->addChild( cessna ); // Create shader program to be used const char* mrtFragmentCode = { @@ -87,8 +95,8 @@ osg::ref_ptr program = new osg::Program; program->addShader( new osg::Shader(osg::Shader::FRAGMENT, mrtFragmentCode) ); - osg::StateSet* ss = mrtCam->getOrCreateStateSet(); - ss->setAttributeAndModes( program.get() ); + osg::ref_ptr ss = mrtCam->getOrCreateStateSet(); + ss->setAttributeAndModes( program ); // Apply blending to the original scene in MRT if ( !useGlobalBlending ) @@ -103,8 +111,8 @@ // Accept different blend/colormask attributes on multiple render targets osg::ref_ptr blend0 = new osg::BlendFunci(0, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); osg::ref_ptr colormask3 = new osg::ColorMaski(3, false, true, false, true); - ss->setAttribute( blend0.get() ); - ss->setAttributeAndModes( colormask3.get() ); + ss->setAttribute( blend0 ); + ss->setAttributeAndModes( colormask3 ); } else { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgblendequation/osgblendequation.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgblendequation/osgblendequation.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgblendequation/osgblendequation.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgblendequation/osgblendequation.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -139,10 +139,10 @@ osgViewer::Viewer viewer; // load the nodes from the commandline arguments. - osg::Node* loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); // if not loaded assume no arguments passed in, try use default mode instead. - if (!loadedModel) loadedModel = osgDB::readNodeFile("cessnafire.osgt"); + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("cessnafire.osgt"); if (!loadedModel) { @@ -150,11 +150,11 @@ return 1; } - osg::Group* root = new osg::Group; + osg::ref_ptr root = new osg::Group; root->addChild(loadedModel); - osg::StateSet* stateset = new osg::StateSet; + osg::ref_ptr stateset = new osg::StateSet; stateset->setDataVariance(osg::Object::DYNAMIC); osg::BlendEquation* blendEquation = new osg::BlendEquation(osg::BlendEquation::FUNC_ADD); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgcallback/osgcallback.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgcallback/osgcallback.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgcallback/osgcallback.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgcallback/osgcallback.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -239,10 +239,10 @@ } else { - rootnode = osgDB::readNodeFiles(arguments); + rootnode = osgDB::readRefNodeFiles(arguments); // if not loaded assume no arguments passed in, try use default mode instead. - if (!rootnode) rootnode = osgDB::readNodeFile("cow.osgt"); + if (!rootnode) rootnode = osgDB::readRefNodeFile("cow.osgt"); if (!rootnode) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgcamera/osgcamera.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgcamera/osgcamera.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgcamera/osgcamera.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgcamera/osgcamera.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -25,50 +25,50 @@ #include #include -class ModelHandler : public osgGA::GUIEventHandler +class ModelHandler : public osgGA::GUIEventHandler { -public: +public: ModelHandler(): _position(0) {} - + typedef std::vector Filenames; Filenames _filenames; unsigned int _position; - + void add(const std::string& filename) { _filenames.push_back(filename); } - + bool handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa) { osgViewer::Viewer* viewer = dynamic_cast(&aa); if (!viewer) return false; - + if (_filenames.empty()) return false; - + switch(ea.getEventType()) { case(osgGA::GUIEventAdapter::KEYUP): { if (ea.getKey()=='l') - { - osg::ref_ptr model = osgDB::readNodeFile( _filenames[_position] ); + { + osg::ref_ptr model = osgDB::readRefNodeFile( _filenames[_position] ); ++_position; if (_position>=_filenames.size()) _position = 0; - + if (model.valid()) { viewer->setSceneData(model.get()); } - + return true; } } default: break; } - + return false; } - + bool _done; }; @@ -76,12 +76,12 @@ void singleWindowMultipleCameras(osgViewer::Viewer& viewer) { osg::GraphicsContext::WindowingSystemInterface* wsi = osg::GraphicsContext::getWindowingSystemInterface(); - if (!wsi) + if (!wsi) { osg::notify(osg::NOTICE)<<"Error, no WindowSystemInterface available, cannot create windows."<getScreenResolution(osg::GraphicsContext::ScreenIdentifier(0), width, height); @@ -127,12 +127,12 @@ void multipleWindowMultipleCameras(osgViewer::Viewer& viewer, bool multipleScreens) { osg::GraphicsContext::WindowingSystemInterface* wsi = osg::GraphicsContext::getWindowingSystemInterface(); - if (!wsi) + if (!wsi) { osg::notify(osg::NOTICE)<<"Error, no WindowSystemInterface available, cannot create windows."<getScreenResolution(osg::GraphicsContext::ScreenIdentifier(0), width, height); @@ -198,7 +198,7 @@ // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - if (argc<2) + if (argc<2) { std::cout << argv[0] <<": requires filename argument." << std::endl; return 1; @@ -214,7 +214,7 @@ osg::ref_ptr model; if (sharedModel) { - model = osgDB::readNodeFiles(arguments); + model = osgDB::readRefNodeFiles(arguments); if (!model) return 0; if (enableVBO) @@ -242,7 +242,7 @@ if (sharedModel) viewer.setSceneData(model.get()); else { - osg::ref_ptr node = osgDB::readNodeFiles(arguments); + osg::ref_ptr node = osgDB::readRefNodeFiles(arguments); if (!node) return 0; if (enableVBO) @@ -268,19 +268,19 @@ while (arguments.read("-p",pathfile)) { apm = new osgGA::AnimationPathManipulator(pathfile); - if (!apm.valid() || !(apm->valid()) ) + if (!apm.valid() || !(apm->valid()) ) { apm = 0; } } osgViewer::Viewer viewer(arguments); - + while (arguments.read("-s")) { viewer.setThreadingModel(osgViewer::Viewer::SingleThreaded); } while (arguments.read("-g")) { viewer.setThreadingModel(osgViewer::Viewer::CullDrawThreadPerContext); } while (arguments.read("-d")) { viewer.setThreadingModel(osgViewer::Viewer::DrawThreadPerContext); } while (arguments.read("-c")) { viewer.setThreadingModel(osgViewer::Viewer::CullThreadPerCameraDrawThreadPerContext); } - + bool limitNumberOfFrames = false; unsigned int maxFrames = 10; while (arguments.read("--run-till-frame-number",maxFrames)) { limitNumberOfFrames = true; } @@ -292,7 +292,7 @@ if (apm.valid()) viewer.setCameraManipulator(apm.get()); else viewer.setCameraManipulator( new osgGA::TrackballManipulator() ); - + viewer.addEventHandler(new osgViewer::StatsHandler); viewer.addEventHandler(new osgViewer::ThreadingHandler); @@ -300,7 +300,7 @@ while (arguments.read("--config", configfile)) { osg::notify(osg::NOTICE)<<"Trying to read config file "< object = osgDB::readObjectFile(configfile); + osg::ref_ptr object = osgDB::readRefObjectFile(configfile); osgViewer::View* view = dynamic_cast(object.get()); if (view) { @@ -329,19 +329,19 @@ else { // load the scene. - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); - if (!loadedModel) loadedModel = osgDB::readNodeFile("cow.osgt"); + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("cow.osgt"); - if (!loadedModel) + if (!loadedModel) { std::cout << argv[0] <<": No data loaded." << std::endl; return 1; } - viewer.setSceneData(loadedModel.get()); + viewer.setSceneData(loadedModel); } - + viewer.realize(); unsigned int numFrames = 0; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgcatch/osgcatch.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgcatch/osgcatch.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgcatch/osgcatch.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgcatch/osgcatch.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -55,11 +55,11 @@ { public: Character(); - + void setCharacter(const std::string& filename, const std::string& name, const osg::Vec3& orgin, const osg::Vec3& width, const osg::Vec3& catchPos, float positionRatio); - + void setLives(const std::string& filename, const osg::Vec3& orgin, const osg::Vec3& delta, unsigned int numLives); - + void setCatches(const std::string& filename, const osg::Vec3& orgin, const osg::Vec3& delta, unsigned int numLives); void moveLeft(); @@ -71,7 +71,7 @@ void resetCatches(); bool addCatch(); - + bool looseLife(); osg::Vec3 getCurrentCenterOfBasket() const { return _character->getPosition()+_centerBasket; } @@ -91,12 +91,12 @@ unsigned int _numCatches; osg::ref_ptr _catchSwitch; - + osg::ref_ptr _objectsGroup; - + osg::Vec3 _centerBasket; float _radiusBasket; - + }; Character::Character(): @@ -117,7 +117,7 @@ float _characterSize = _width.length()*0.2f; - osg::Image* image = osgDB::readImageFile(filename); + osg::ref_ptr image = osgDB::readRefImageFile(filename); if (image) { osg::Vec3 pos(-0.5f*_characterSize,0.0f,0.0f); @@ -136,14 +136,14 @@ _character = new osg::PositionAttitudeTransform; _character->setName(name); _character->addChild(geode); - + moveTo(positionRatio); _centerBasket = width*catchPos.x() + height*catchPos.y() + pos; _radiusBasket = width.length()*catchPos.z(); } - + } void Character::setLives(const std::string& filename, const osg::Vec3& origin, const osg::Vec3& delta, unsigned int numLives) @@ -153,7 +153,7 @@ _numLives = numLives; _livesSwitch = new osg::Switch; - osg::Image* image = osgDB::readImageFile(filename); + osg::ref_ptr image = osgDB::readRefImageFile(filename); if (image) { osg::StateSet* stateset = _livesSwitch->getOrCreateStateSet(); @@ -186,7 +186,7 @@ _numCatches = 0; _catchSwitch = new osg::Switch; - osg::Image* image = osgDB::readImageFile(filename); + osg::ref_ptr image = osgDB::readRefImageFile(filename); if (image) { osg::StateSet* stateset = _catchSwitch->getOrCreateStateSet(); @@ -249,20 +249,20 @@ bool Character::addCatch() { if (!_catchSwitch || _numCatches>=_catchSwitch->getNumChildren()) return false; - + _catchSwitch->setValue(_numCatches,true); ++_numCatches; - + return true; } bool Character::looseLife() { if (!_livesSwitch || _numLives==0) return false; - + --_numLives; _livesSwitch->setValue(_numLives,false); - + return (_numLives!=0); } @@ -279,21 +279,21 @@ bool anyInside(const osg::Vec3& lower_left, const osg::Vec3& top_right); bool centerInside(const osg::Vec3& center, float radius); - + void explode(); - + bool dangerous() { return _dangerous; } void stop() { _stopped = true; } - + bool stopped() { return _stopped; } - + void setTimeToRemove(double time) { _timeToRemove=time; } - + double getTimeToRemove() { return _timeToRemove; } - + bool needToRemove(double time) { return _timeToRemove>=0.0 && time>_timeToRemove; } - + osg::ref_ptr _object; osg::Vec3 _velocity; float _mass; @@ -307,7 +307,7 @@ static void setUpCatchablesMap(const FileList& fileList); public: - + // update position and velocity void update(double dt); @@ -317,7 +317,7 @@ _viscosity = v; _viscosityCoefficient = 6 * osg::PI * _viscosity; } - + /// Get the viscosity of the fluid. inline float getFluidViscosity() const { return _viscosity; } @@ -330,17 +330,17 @@ /// Get the density of the fluid. inline float getFluidDensity() const { return _density; } - - + + /// Set the wind vector. inline void setWind(const osg::Vec3& wind) { _wind = wind; } - + /// Get the wind vector. inline const osg::Vec3& getWind() const { return _wind; } - + /// Set the acceleration vector. inline void setAcceleration(const osg::Vec3& v) { _acceleration = v; } - + /// Get the acceleration vector. inline const osg::Vec3& getAcceleration() const { return _acceleration; } @@ -349,22 +349,22 @@ */ inline void setToGravity(float scale = 1.0f) { _acceleration.set(0, 0, -9.81f*scale); } - /// Set the fluid parameters as for air (20°C temperature). + /// Set the fluid parameters as for air (20C temperature). inline void setFluidToAir() { setToGravity(1.0f); setFluidDensity(1.2929f); setFluidViscosity(1.8e-5f); } - - /// Set the fluid parameters as for pure water (20°C temperature). + + /// Set the fluid parameters as for pure water (20C temperature). inline void setFluidToWater() { setToGravity(1.0f); setFluidDensity(1.0f); setFluidViscosity(1.002e-3f); } - + protected: @@ -375,15 +375,15 @@ float _viscosityCoefficient; float _densityCoefficeint; - - + + }; CatchableObject::CatchableObject() { _stopped = false; _dangerous = false; - + _timeToRemove = -1.0; // do not remove. setFluidToAir(); } @@ -395,14 +395,14 @@ ++itr) { const std::string& filename = *itr; - osg::Image* image = osgDB::readImageFile(filename); + osg::ref_ptr image = osgDB::readRefImageFile(filename); if (image) { osg::ref_ptr stateset = new osg::StateSet(); stateset->setTextureAttributeAndModes(0,new osg::Texture2D(image),osg::StateAttribute::ON); stateset->setMode(GL_BLEND,osg::StateAttribute::ON); stateset->setRenderingHint(osg::StateSet::TRANSPARENT_BIN); - + osg::Vec3 width((float)(image->s())/(float)(image->t()),0.0f,0.0); osg::Vec3 height(0.0f,0.0f,1.0f); osg::Vec3 pos = (width+height)*-0.5f; @@ -455,8 +455,8 @@ osg::Vec3 force = _acceleration * (_mass - _density*Volume); // compute force due to friction - osg::Vec3 relative_wind = _velocity-_wind; - force -= relative_wind * Area * (_viscosityCoefficient + _densityCoefficeint*relative_wind.length()); + osg::Vec3 relative_wind = _velocity-_wind; + force -= relative_wind * Area * (_viscosityCoefficient + _densityCoefficeint*relative_wind.length()); // divide force by mass to get acceleration. _velocity += force*(dt/_mass); @@ -466,7 +466,7 @@ bool CatchableObject::anyInside(const osg::Vec3& lower_left, const osg::Vec3& upper_right) { osg::Vec3 pos = _object->getPosition(); - + if (pos.x()+_radius < lower_left.x()) return false; if (pos.x()-_radius > upper_right.x()) return false; if (pos.z()+_radius < lower_left.z()) return false; @@ -513,20 +513,20 @@ public: GameEventHandler(); - + META_Object(osgStereImageApp,GameEventHandler); virtual bool handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter&); - + virtual void getUsage(osg::ApplicationUsage& usage) const; - + osg::Matrix getCameraPosition(); - + void compileGLObjects(osg::State& state) { osgUtil::GLObjectsVisitor compile; compile.setState(&state); - + for(ObjectMap::iterator itr = s_objectMap.begin(); itr != s_objectMap.end(); ++itr) @@ -534,14 +534,14 @@ itr->second->accept(compile); } } - + osg::Node* createScene(); - + void setFOVY(float fovy) { _fovy = fovy; } float getFOVY() const { return _fovy; } - + void createNewCatchable(); - + void clearCatchables() { for(CatchableObjectList::iterator itr=_catchableObjects.begin(); @@ -562,7 +562,7 @@ _catchableObjects.clear(); } - + void resetLevel() { _level = 0; @@ -573,7 +573,7 @@ _levelStartTick = osg::Timer::instance()->tick(); } - + void nextLevel() { ++_level; @@ -596,12 +596,12 @@ void resetGame() { _currentScore = 0; - + updateTextWithScore(); clearCatchables(); resetLevel(); - + for(unsigned int i=0;i<_numberOfPlayers;++i) { _players[i].reset(); @@ -629,12 +629,12 @@ livesPosition = _originBaseLine+osg::Vec3(1000.0f,-0.5f,000.0f); catchesPosition = _originBaseLine+osg::Vec3(1100.0f,-0.5f,0.0f); } - + switch(player) { case PLAYER_GIRL: { - std::string player_one = "Catch/girl.png"; + std::string player_one = "Catch/girl.png"; osg::Vec3 catchPos(0.2, 0.57, 0.34); _players[_numberOfPlayers].setCharacter(player_one,"girl", _originBaseLine + osg::Vec3(0.0f,-1.0f,0.0f), _widthBaseLine, catchPos, 0.5f); @@ -646,7 +646,7 @@ } case PLAYER_BOY: { - std::string player_two = "Catch/boy.png"; + std::string player_two = "Catch/boy.png"; osg::Vec3 catchPos(0.8, 0.57, 0.34); _players[_numberOfPlayers].setCharacter(player_two,"boy", _originBaseLine + osg::Vec3(0.0f,-2.0f,0.0f), _widthBaseLine, catchPos, 0.5f); @@ -656,10 +656,10 @@ ++_numberOfPlayers; break; } - } + } } - - + + typedef std::vector< osg::ref_ptr > TextList; void updateScoreWithCatch() @@ -673,8 +673,8 @@ osg::Timer_t newTick = osg::Timer::instance()->tick(); double timeForLevel = osg::Timer::instance()->delta_s(_levelStartTick, newTick); - // a ten second level gets you 10 points, - // a twenty second levels gets you 5 points. + // a ten second level gets you 10 points, + // a twenty second levels gets you 5 points. _currentScore += static_cast(10000.0f/(timeForLevel*timeForLevel)); updateTextWithScore(); @@ -685,24 +685,24 @@ { std::ostringstream os; os<<"Score: "<<_currentScore; - + std::string textString = os.str(); - + for(TextList::iterator itr = _scoreTextList.begin(); itr != _scoreTextList.end(); ++itr) { (*itr)->setText(textString); } - } - + } + void updateLevelText() { std::ostringstream os; os<<"Level: "<<_level+1; _levelText->setText(os.str()); } - + protected: @@ -715,45 +715,45 @@ osg::Vec3 _originBaseLine; osg::Vec3 _widthBaseLine; float _characterSize; - + float _fovy; unsigned _level; - + float _chanceOfExplodingAtStart; float _initialNumDropsPerSecond; - + osg::ref_ptr _gameSwitch; osg::ref_ptr _gameGroup; osg::ref_ptr _levelSwitch; - + unsigned int _currentIndex; unsigned int _welcomeIndex; unsigned int _lostIndex; unsigned int _wonIndex; unsigned int _gameIndex; - + osg::Timer_t _levelStartTick; unsigned int _currentScore; - + osg::ref_ptr _levelText; TextList _scoreTextList; - + unsigned int _numberOfPlayers; Character _players[2]; typedef std::list< osg::ref_ptr > CatchableObjectList; CatchableObjectList _catchableObjects; - + FileList _backgroundFiles; FileList _benignCatachables; bool _leftKeyPressed; bool _rightKeyPressed; - + osg::ref_ptr _dummyCatchable; - - + + }; @@ -791,11 +791,11 @@ _benignCatachables.push_back("Catch/t.png"); _benignCatachables.push_back("Catch/u.png"); _benignCatachables.push_back("Catch/ball.png"); - + CatchableObject::setUpCatchablesMap(_benignCatachables); - + _currentScore = 0; - + setFOVY(osg::DegreesToRadians(60.0)); } @@ -817,7 +817,7 @@ default: return false; } - + } else if (_currentIndex==_lostIndex) { @@ -834,7 +834,7 @@ default: return false; } - + } else if (_currentIndex==_wonIndex) { @@ -851,7 +851,7 @@ default: return false; } - + } else if (_currentIndex==_gameIndex) { @@ -888,7 +888,7 @@ for(unsigned int i=0;i<_numberOfPlayers;++i) { bool inBasket = ((*itr)->centerInside(_players[i].getCurrentCenterOfBasket(),_players[i].getCurrentRadiusOfBasket())); - + if ((*itr)->dangerous()) { if ((*itr)->anyInside(_players[i].getLowerLeft(),_players[i].getUpperRight()) || inBasket) @@ -912,7 +912,7 @@ { // player has caught a safe object. updateScoreWithCatch(); - + if (!_players[i].addCatch()) { _players[i].resetCatches(); @@ -930,7 +930,7 @@ } } - if (!(*itr)->anyInside(_origin, _origin+_width+_height) || + if (!(*itr)->anyInside(_origin, _origin+_width+_height) || (*itr)->needToRemove(ea.getTime()) || removeEntry) { @@ -968,7 +968,7 @@ float numDropsPerSecond = _initialNumDropsPerSecond * (_level+1); float r = (float)rand()/(float)RAND_MAX; if (r < deltaTime*numDropsPerSecond) - { + { createNewCatchable(); } @@ -1015,7 +1015,7 @@ return false; } } - return false; + return false; } void GameEventHandler::getUsage(osg::ApplicationUsage&) const @@ -1026,9 +1026,9 @@ { osg::Matrix cameraPosition; osg::Vec3 center = _origin+(_width+_height)*0.5f; - + float distance = _height.length()/(2.0f*tanf(_fovy*0.5f)); - + cameraPosition.makeLookAt(center-osg::Vec3(0.0f,distance,0.0f),center,osg::Vec3(0.0f,0.0f,1.0f)); return cameraPosition; } @@ -1036,8 +1036,8 @@ osg::Node* GameEventHandler::createScene() { _gameSwitch = new osg::Switch; - - // create a dummy catchable to load all the particule textures to reduce + + // create a dummy catchable to load all the particule textures to reduce // latency later on.. _dummyCatchable = new CatchableObject; _dummyCatchable->setObject("Catch/a.png","a",osg::Vec3(0.0f,0.0,0.0f),1.0f,osg::Vec3(0.0f,0.0,0.0f)); @@ -1045,10 +1045,10 @@ // set up welcome subgraph { - osg::Geode* geode = new osg::Geode; + osg::ref_ptr geode = new osg::Geode; // set up the background - osg::Image* image = osgDB::readImageFile("Catch/Welcome.jpg"); + osg::ref_ptr image = osgDB::readRefImageFile("Catch/Welcome.jpg"); if (image) { osg::Geometry* geometry = osg::createTexturedQuadGeometry(_origin,_width,_height); @@ -1057,7 +1057,7 @@ geode->addDrawable(geometry); } - + // set up the text osg::Vec3 textPosition = _origin+_width*0.5f+_height*0.8f -osg::Vec3(0.0f,0.1f,0.0f); { @@ -1072,7 +1072,7 @@ geode->addDrawable(text); } - + { textPosition -= _height*0.25f; osgText::Text* text = new osgText::Text; @@ -1121,9 +1121,9 @@ // set up you've lost subgraph { - osg::Geode* geode = new osg::Geode; + osg::ref_ptr geode = new osg::Geode; - osg::Image* image = osgDB::readImageFile("Catch/YouLost.jpg"); + osg::ref_ptr image = osgDB::readRefImageFile("Catch/YouLost.jpg"); if (image) { osg::Geometry* geometry = osg::createTexturedQuadGeometry(_origin,_width,_height); @@ -1132,7 +1132,7 @@ geode->addDrawable(geometry); } - + // set up the text osg::Vec3 textPosition = _origin+_width*0.5f+_height*0.75f -osg::Vec3(0.0f,0.1f,0.0f); { @@ -1147,7 +1147,7 @@ geode->addDrawable(text); } - + { textPosition -= _height*0.25f; osgText::Text* text = new osgText::Text; @@ -1184,9 +1184,9 @@ // set up you've won subgraph { - osg::Geode* geode = new osg::Geode; + osg::ref_ptr geode = new osg::Geode; - osg::Image* image = osgDB::readImageFile("Catch/YouWon.jpg"); + osg::ref_ptr image = osgDB::readRefImageFile("Catch/YouWon.jpg"); if (image) { osg::Geometry* geometry = osg::createTexturedQuadGeometry(_origin,_width,_height); @@ -1195,7 +1195,7 @@ geode->addDrawable(geometry); } - + // set up the text osg::Vec3 textPosition = _origin+_width*0.5f+_height*0.75f -osg::Vec3(0.0f,0.1f,0.0f); { @@ -1210,7 +1210,7 @@ geode->addDrawable(text); } - + { textPosition -= _height*0.25f; osgText::Text* text = new osgText::Text; @@ -1258,7 +1258,7 @@ _gameGroup->addChild(_players[i]._character.get()); _gameGroup->addChild(_players[i]._livesSwitch.get()); _gameGroup->addChild(_players[i]._catchSwitch.get()); - } + } // background { @@ -1269,7 +1269,7 @@ ++itr) { - osg::Image* image = osgDB::readImageFile(*itr); + osg::ref_ptr image = osgDB::readRefImageFile(*itr); if (image) { osg::Geometry* geometry = osg::createTexturedQuadGeometry(_origin,_width,_height); @@ -1305,7 +1305,7 @@ osg::Geode* geode = new osg::Geode; geode->addDrawable(text); _scoreTextList.push_back(text); - + textPosition -= _height*0.05f; _levelText = new osgText::Text; _levelText->setText("Level : 0"); @@ -1317,7 +1317,7 @@ _levelText->setAxisAlignment(osgText::Text::XZ_PLANE); geode->addDrawable(_levelText.get()); - + _gameGroup->addChild(geode); @@ -1325,7 +1325,7 @@ } - + _currentIndex = _welcomeIndex; _gameSwitch->setSingleChildOn(_currentIndex); @@ -1338,7 +1338,7 @@ unsigned int catachableIndex = (unsigned int)((float)_benignCatachables.size()*(float)rand()/(float)RAND_MAX); if (catachableIndex>=_benignCatachables.size()) catachableIndex = _benignCatachables.size()-1; - + const std::string& filename = _benignCatachables[catachableIndex]; float ratio = ((float)rand() / (float)RAND_MAX); @@ -1356,7 +1356,7 @@ float r = (float)rand() / (float)RAND_MAX; if (r < _chanceOfExplodingAtStart) { - catchableObject->explode(); + catchableObject->explode(); } _gameGroup->addChild(catchableObject->_object.get()); @@ -1369,7 +1369,7 @@ osg::Referenced(true), osg::Operation("CompileStateCallback", false), _gameEventHandler(eh) {} - + virtual void operator () (osg::Object* object) { osg::GraphicsContext* context = dynamic_cast(object); @@ -1380,7 +1380,7 @@ _gameEventHandler->compileGLObjects(*(context->getState())); } } - + OpenThreads::Mutex _mutex; GameEventHandler* _gameEventHandler; }; @@ -1390,7 +1390,7 @@ // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - + // set up the usage document, in case we need to print out how to use this program. arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates use node masks to create stereo images."); arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] image_file_left_eye image_file_right_eye"); @@ -1410,8 +1410,8 @@ while (arguments.read("--boy")) seh->addPlayer(GameEventHandler::PLAYER_BOY); while (arguments.read("--girl")) seh->addPlayer(GameEventHandler::PLAYER_GIRL); - - + + // if user request help write it out to cout. if (arguments.read("-h") || arguments.read("--help")) { @@ -1428,8 +1428,8 @@ arguments.writeErrorMessages(std::cout); return 1; } - - + + // enable the image cache so we don't need to keep loading the particle files osgDB::ReaderWriter::Options* options = new osgDB::ReaderWriter::Options; options->setObjectCacheHint(osgDB::ReaderWriter::Options::CACHE_IMAGES); @@ -1454,7 +1454,7 @@ double fovy, aspectRatio, zNear, zFar; viewer.getCamera()->getProjectionMatrixAsPerspective(fovy, aspectRatio, zNear, zFar); - seh->setFOVY(osg::DegreesToRadians(fovy)); + seh->setFOVY(osg::DegreesToRadians(fovy)); // todo for osgViewer - create default set up. viewer.setUpViewAcrossAllScreens(); @@ -1472,7 +1472,7 @@ } // todo for osgViewer - implement warp pointer that can be done relative to different coordinate frames - // viewer.requestWarpPointer(0.5f,0.5f); + // viewer.requestWarpPointer(0.5f,0.5f); while( !viewer.done() ) { @@ -1480,8 +1480,8 @@ // fire off the cull and draw traversals of the scene. viewer.frame(); - + } - + return 0; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgclip/osgclip.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgclip/osgclip.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgclip/osgclip.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgclip/osgclip.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -40,10 +40,9 @@ #include -osg::Node* decorate_with_clip_node(osg::Node* subgraph) +osg::ref_ptr decorate_with_clip_node(const osg::ref_ptr& subgraph) { - osg::Group* rootnode = new osg::Group; - + osg::ref_ptr rootnode = new osg::Group; // create wireframe view of the model so the user can see // what parts are being culled away. @@ -52,7 +51,7 @@ osg::PolygonMode* polymode = new osg::PolygonMode; polymode->setMode(osg::PolygonMode::FRONT_AND_BACK,osg::PolygonMode::LINE); stateset->setAttributeAndModes(polymode,osg::StateAttribute::OVERRIDE|osg::StateAttribute::ON); - + osg::Group* wireframe_subgraph = new osg::Group; wireframe_subgraph->setStateSet(stateset); wireframe_subgraph->addChild(subgraph); @@ -80,7 +79,7 @@ // more complex approach to managing ClipNode, allowing // ClipNode node to be transformed independently from the subgraph // that it is clipping. - + osg::MatrixTransform* transform= new osg::MatrixTransform; osg::NodeCallback* nc = new osg::AnimationPathCallback(subgraph->getBound().center(),osg::Vec3(0.0f,0.0f,1.0f),osg::inDegrees(45.0f)); @@ -117,11 +116,11 @@ osg::ArgumentParser arguments(&argc,argv); // load the nodes from the commandline arguments. - osg::Node* loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); // if not loaded assume no arguments passed in, try use default mode instead. - if (!loadedModel) loadedModel = osgDB::readNodeFile("cow.osgt"); + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("cow.osgt"); if (!loadedModel) @@ -129,16 +128,16 @@ osg::notify(osg::NOTICE)<<"Please specify a filename on the command line"< rootnode = decorate_with_clip_node(loadedModel); + // run optimization over the scene graph osgUtil::Optimizer optimzer; optimzer.optimize(rootnode); - + osgViewer::Viewer viewer; - + // set the scene to render viewer.setSceneData(rootnode); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgcluster/broadcaster.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgcluster/broadcaster.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgcluster/broadcaster.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgcluster/broadcaster.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -45,6 +45,8 @@ #include #elif defined(__CYGWIN__) #include +#elif defined (__GNU__) + #include #elif defined(__sun) #include #include diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgcluster/osgcluster.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgcluster/osgcluster.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgcluster/osgcluster.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgcluster/osgcluster.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -505,7 +505,7 @@ } // load model. - osg::ref_ptr rootnode = osgDB::readNodeFiles(arguments); + osg::ref_ptr rootnode = osgDB::readRefNodeFiles(arguments); // set the scene to render viewer.setSceneData(rootnode.get()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgcluster/receiver.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgcluster/receiver.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgcluster/receiver.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgcluster/receiver.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -122,7 +122,7 @@ return; } -#if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ ) +#if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ ) || defined(__FreeBSD_kernel__) || defined(__GNU__) socklen_t size; #else int size; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgcompositeviewer/osgcompositeviewer.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgcompositeviewer/osgcompositeviewer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgcompositeviewer/osgcompositeviewer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgcompositeviewer/osgcompositeviewer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -133,7 +133,7 @@ osg::ArgumentParser arguments(&argc,argv); // read the scene from the list of file specified commandline args. - osg::ref_ptr scene = osgDB::readNodeFiles(arguments); + osg::ref_ptr scene = osgDB::readRefNodeFiles(arguments); if (!scene) { @@ -149,7 +149,7 @@ { osgViewer::View* view = new osgViewer::View; view->setName("Single view"); - view->setSceneData(osgDB::readNodeFile("fountain.osgt")); + view->setSceneData(osgDB::readRefNodeFile("fountain.osgt")); view->addEventHandler( new osgViewer::StatsHandler ); @@ -283,7 +283,7 @@ view->setName("View three"); viewer.addView(view); - view->setSceneData(osgDB::readNodeFile("cessnafire.osgt")); + view->setSceneData(osgDB::readRefNodeFile("cessnafire.osgt")); view->getCamera()->setName("Cam three"); view->getCamera()->setProjectionMatrixAsPerspective(30.0, double(traits->width) / double(traits->height/2), 1.0, 1000.0); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgcomputeshaders/osgcomputeshaders.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgcomputeshaders/osgcomputeshaders.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgcomputeshaders/osgcomputeshaders.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgcomputeshaders/osgcomputeshaders.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -43,7 +43,7 @@ int main( int argc, char** argv ) { osg::ArgumentParser arguments( &argc, argv ); - + // Create the texture as both the output of compute shader and the input of a normal quad osg::ref_ptr tex2D = new osg::Texture2D; tex2D->setTextureSize( 512, 512 ); @@ -53,23 +53,23 @@ tex2D->setSourceFormat( GL_RED ); tex2D->setSourceType( GL_FLOAT ); tex2D->bindToImageUnit( 0, osg::Texture::WRITE_ONLY ); // So we can use 'image2D' in the compute shader - + // The compute shader can't work with other kinds of shaders // It also requires the work group numbers. Setting them to 0 will disable the compute shader osg::ref_ptr computeProg = new osg::Program; computeProg->setComputeGroups( 512/16, 512/16, 1 ); computeProg->addShader( new osg::Shader(osg::Shader::COMPUTE, computeSrc) ); - + // Create a node for outputting to the texture. // It is OK to have just an empty node here, but seems inbuilt uniforms like osg_FrameTime won't work then. // TODO: maybe we can have a custom drawable which also will implement glMemoryBarrier? - osg::Node* sourceNode = osgDB::readNodeFile("axes.osgt"); + osg::ref_ptr sourceNode = osgDB::readRefNodeFile("axes.osgt"); if ( !sourceNode ) sourceNode = new osg::Node; sourceNode->setDataVariance( osg::Object::DYNAMIC ); sourceNode->getOrCreateStateSet()->setAttributeAndModes( computeProg.get() ); sourceNode->getOrCreateStateSet()->addUniform( new osg::Uniform("targetTex", (int)0) ); sourceNode->getOrCreateStateSet()->setTextureAttributeAndModes( 0, tex2D.get() ); - + // Display the texture on a quad. We will also be able to operate on the data if reading back to CPU side osg::Geometry* geom = osg::createTexturedQuadGeometry( osg::Vec3(), osg::Vec3(1.0f,0.0f,0.0f), osg::Vec3(0.0f,0.0f,1.0f) ); @@ -77,12 +77,12 @@ quad->addDrawable( geom ); quad->getOrCreateStateSet()->setMode( GL_LIGHTING, osg::StateAttribute::OFF ); quad->getOrCreateStateSet()->setTextureAttributeAndModes( 0, tex2D.get() ); - + // Create the scene graph and start the viewer osg::ref_ptr scene = new osg::Group; scene->addChild( sourceNode ); scene->addChild( quad.get() ); - + osgViewer::Viewer viewer; viewer.addEventHandler( new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet()) ); viewer.addEventHandler( new osgViewer::StatsHandler ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgcopy/osgcopy.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgcopy/osgcopy.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgcopy/osgcopy.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgcopy/osgcopy.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -33,12 +33,12 @@ #include -// Customize the CopyOp so that we add our own verbose +// Customize the CopyOp so that we add our own verbose // output of what's being copied. class MyCopyOp : public osg::CopyOp { public: - + inline MyCopyOp(CopyFlags flags=SHALLOW_COPY): osg::CopyOp(flags), _indent(0), @@ -46,11 +46,11 @@ inline void moveIn() const { _indent += _step; } inline void moveOut() const { _indent -= _step; } - inline void writeIndent() const + inline void writeIndent() const { for(int i=0;i<_indent;++i) std::cout << " "; } - + virtual osg::Referenced* operator() (const osg::Referenced* ref) const { writeIndent(); std::cout << "copying Referenced "<(node); } - + protected: - + // must be mutable since CopyOp is passed around as const to // the various clone/copy constructors. mutable std::map _nodeCopyMap; @@ -198,19 +198,19 @@ osgViewer::Viewer viewer; // load the nodes from the commandline arguments. - osg::Node* rootnode = osgDB::readNodeFiles(arguments); + osg::ref_ptr rootnode = osgDB::readRefNodeFiles(arguments); if (!rootnode) { osg::notify(osg::NOTICE)<<"Please specify a model filename on the command line."< mycopy = dynamic_cast(rootnode->clone(osg::CopyOp::DEEP_COPY_ALL)); @@ -219,7 +219,7 @@ // note, we need the dyanmic_cast because MS Visual Studio can't handle covarient // return types, so that clone has return just Object*. bahh hum bug osg::ref_ptr deep_copy = dynamic_cast(rootnode->clone(MyCopyOp(osg::CopyOp::DEEP_COPY_ALL))); - + std::cout << "----------------------------------------------------------------"<(rootnode->clone(osg::CopyOp::DEEP_COPY_NODES | DEEP_COPY_DRAWABLES)); // Which shares state but creates copies of all nodes and drawables (which contain the geometry). - // + // // You may also want to subclass from CopyOp to provide finer grained control of what gets shared (shallow copy) vs // cloned (deep copy). - + // ------------- End of copy specific code ------------------------------------------------------- - + // set the scene to render viewer.setSceneData(rootnode); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgcubemap/osgcubemap.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgcubemap/osgcubemap.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgcubemap/osgcubemap.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgcubemap/osgcubemap.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -95,10 +95,10 @@ osgViewer::Viewer viewer; // load the nodes from the commandline arguments. - osg::Node* rootnode = osgDB::readNodeFiles(arguments); + osg::ref_ptr rootnode = osgDB::readRefNodeFiles(arguments); // if not loaded assume no arguments passed in, try use default mode instead. - if (!rootnode) rootnode = osgDB::readNodeFile("cessna.osgt"); + if (!rootnode) rootnode = osgDB::readRefNodeFile("cessna.osgt"); if (!rootnode) { @@ -107,7 +107,7 @@ } // create specular highlights - create_specular_highlights(rootnode); + create_specular_highlights(rootnode.get()); // run optimization over the scene graph osgUtil::Optimizer optimzer; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgdatabaserevisions/osgdatabaserevisions.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgdatabaserevisions/osgdatabaserevisions.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgdatabaserevisions/osgdatabaserevisions.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgdatabaserevisions/osgdatabaserevisions.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -1,9 +1,9 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield +/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield * - * This application is open source and may be redistributed and/or modified + * This application is open source and may be redistributed and/or modified * freely and without restriction, both in commercial and non commercial applications, * as long as this copyright notice is maintained. - * + * * This application is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -50,7 +50,7 @@ arguments.getApplicationUsage()->write(std::cout, helpType); return 1; } - + // report any errors if they have occurred when parsing the program arguments. if (arguments.errors()) { @@ -81,7 +81,7 @@ while (arguments.read("-p",pathfile)) { osgGA::AnimationPathManipulator* apm = new osgGA::AnimationPathManipulator(pathfile); - if (apm || !apm->valid()) + if (apm || !apm->valid()) { unsigned int num = keyswitchManipulator->getNumMatrixManipulators(); keyswitchManipulator->addMatrixManipulator( keyForAnimationPath, "Path", apm ); @@ -95,13 +95,13 @@ // add the state manipulator viewer.addEventHandler( new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet()) ); - + // add the thread model handler viewer.addEventHandler(new osgViewer::ThreadingHandler); // add the window size toggle handler viewer.addEventHandler(new osgViewer::WindowSizeHandler); - + // add the stats handler viewer.addEventHandler(new osgViewer::StatsHandler); @@ -129,8 +129,8 @@ // load the data - osg::ref_ptr loadedModel = osgDB::readNodeFile(file); - if (!loadedModel) + osg::ref_ptr loadedModel = osgDB::readRefNodeFile(file); + if (!loadedModel) { std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; return 1; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgdelaunay/osgdelaunay.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgdelaunay/osgdelaunay.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgdelaunay/osgdelaunay.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgdelaunay/osgdelaunay.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -224,7 +224,7 @@ osg::StateSet *dstate= gm->getOrCreateStateSet( ); dstate->setMode( GL_LIGHTING, osg::StateAttribute::ON ); - osg::Image* image = osgDB::readImageFile("Images/Brick-Std-Orange.TGA"); + osg::ref_ptr image = osgDB::readRefImageFile("Images/Brick-Std-Orange.TGA"); if (image) { osg::Texture2D* txt = new osg::Texture2D; @@ -354,7 +354,7 @@ osg::Vec3Array *points=new osg::Vec3Array; - osg::Image* image = osgDB::readImageFile("Images/blueFlowers.png"); + osg::ref_ptr image = osgDB::readRefImageFile("Images/blueFlowers.png"); if (image) { osg::Texture2D* texture = new osg::Texture2D; @@ -817,7 +817,7 @@ { osg::ref_ptr gm=new osg::Geometry; // the wall if (texture!="") { - osg::Image* image = osgDB::readImageFile(texture.c_str()); + osg::ref_ptr image = osgDB::readRefImageFile(texture.c_str()); if (image) { osg::Texture2D* txt = new osg::Texture2D; @@ -1005,7 +1005,7 @@ tscx->retessellatePolygons(*(edges)); // find all edges if (walltexture!="") { - osg::Image* image = osgDB::readImageFile(walltexture.c_str()); + osg::ref_ptr image = osgDB::readRefImageFile(walltexture.c_str()); if (image) { osg::Texture2D* txt = new osg::Texture2D; @@ -1062,7 +1062,7 @@ gm->setNormalArray(getCanopyNormals(points)); gm->setNormalBinding(deprecated_osg::Geometry::BIND_PER_PRIMITIVE); gm->setTexCoordArray(0,getCanopyTexcoords(points)); - osg::Image* image = osgDB::readImageFile(texture); + osg::ref_ptr image = osgDB::readRefImageFile(texture); if (image) { osg::Texture2D* txt = new osg::Texture2D; @@ -1238,7 +1238,7 @@ if (_midline->size()>0) { osg::ref_ptr locpts=getPoints(points); if (texture!="") { - osg::Image* image = osgDB::readImageFile(texture.c_str()); + osg::ref_ptr image = osgDB::readRefImageFile(texture.c_str()); if (image) { osg::Texture2D* txt = new osg::Texture2D; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgdepthpartition/osgdepthpartition.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgdepthpartition/osgdepthpartition.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgdepthpartition/osgdepthpartition.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgdepthpartition/osgdepthpartition.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -139,7 +139,7 @@ bool needToSetHomePosition = false; // read the scene from the list of file specified commandline args. - osg::ref_ptr scene = osgDB::readNodeFiles(arguments); + osg::ref_ptr scene = osgDB::readRefNodeFiles(arguments); // if one hasn't been loaded create an earth and sun test model. if (!scene) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgdepthpeeling/osgdepthpeeling.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgdepthpeeling/osgdepthpeeling.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgdepthpeeling/osgdepthpeeling.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgdepthpeeling/osgdepthpeeling.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -18,7 +18,7 @@ #include -#include "DePee.h" +#include "DePee.h" /*! Handles keyboard events. @@ -28,7 +28,7 @@ class KeyboardEventHandler : public osgGA::GUIEventHandler { public: - + KeyboardEventHandler(DePee* dePee) { _apc = 0; @@ -41,12 +41,12 @@ _dePee->setSketchy(_sketchy); _dePee->setColored(_colored); } - + virtual bool handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter&) { switch(ea.getEventType()) { - + case(osgGA::GUIEventAdapter::KEYDOWN): { if (ea.getKey()==osgGA::GUIEventAdapter::KEY_Space) @@ -77,7 +77,7 @@ _dePee->setSketchy(_sketchy); return true; } - + else if (ea.getKey() == 'e') { _edgy = !_edgy; @@ -106,13 +106,13 @@ _crayon = !_crayon; _dePee->setCrayon(_crayon); } - + break; } - + default: break; - + } return false; } @@ -139,12 +139,12 @@ class MouseEventHandler : public osgGA::GUIEventHandler { public: - + MouseEventHandler(DePee* dePee) { _dePee = dePee; } - + virtual bool handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter&) { switch(ea.getEventType()) @@ -152,17 +152,17 @@ //mouse case(osgGA::GUIEventAdapter::DRAG): { - rotate(ea.getXnormalized(), ea.getYnormalized()); + rotate(ea.getXnormalized(), ea.getYnormalized()); break; } case(osgGA::GUIEventAdapter::MOVE): - _prevX = ea.getXnormalized(); + _prevX = ea.getXnormalized(); _prevY = ea.getYnormalized(); break; - + default: break; - + } return false; } @@ -175,25 +175,25 @@ void rotate(float x, float y) { osg::Matrix baseMatrix = _modelGroupTransform->getMatrix(); - + baseMatrix.preMultTranslate(_rotCenter); baseMatrix.preMultRotate(osg::Quat((x - _prevX) * 3, osg::Vec3d(0.0, 0.0, 1.0))); baseMatrix.preMultRotate(osg::Quat(-(y - _prevY) * 3, (baseMatrix * osg::Vec3d(1.0, 0.0, 0.0)))); baseMatrix.preMultTranslate(-_rotCenter); - + _modelGroupTransform->setMatrix(baseMatrix); - _prevX = x; + _prevX = x; _prevY = y; }; - + DePee* _dePee; - - float _prevX; + + float _prevX; float _prevY; - + osg::Vec3 _rotCenter; - osg::MatrixTransform* _modelGroupTransform; + osg::MatrixTransform* _modelGroupTransform; }; @@ -202,25 +202,25 @@ { // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - + // set up the usage document, in case we need to print out how to use this program. arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates Depth Peeling"); arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" filename"); - - + + // construct the viewer osgViewer::Viewer viewer(arguments); - + // any option left unread are converted into errors to write out later. arguments.reportRemainingOptionsAsUnrecognized(); - + // report any errors if they have occurred when parsing the program arguments. if (arguments.errors()) { arguments.writeErrorMessages(std::cout); return 1; } - + if (arguments.argc()<=1 || arguments.argc() > 3) { arguments.getApplicationUsage()->write(std::cout,osg::ApplicationUsage::COMMAND_LINE_OPTION); @@ -232,29 +232,29 @@ viewer.getCamera()->setComputeNearFarMode(osg::CullSettings::DO_NOT_COMPUTE_NEAR_FAR); // read the model to do depth peeling with - osg::Node* loadedModel = osgDB::readNodeFile(arguments.argv()[1]); - + osg::ref_ptr loadedModel = osgDB::readRefNodeFile(arguments.argv()[1]); + if (!loadedModel) return 1; - + // create a transform to spin the model. osg::MatrixTransform* modelGroupTransform = new osg::MatrixTransform; osg::Group* modelGroup = new osg::Group; modelGroupTransform->addChild(modelGroup); modelGroup->addChild(loadedModel); - + osg::Group* rootNode = new osg::Group(); - + // add model to the viewer. viewer.setSceneData(rootNode); - + // Depth peel example only works on a single graphics context right now // so open up viewer on single screen to prevent problems viewer.setUpViewOnSingleScreen(0); - + // create the windows and run the threads. viewer.realize(); - + unsigned int width = 1280; unsigned int height = 1280; osgViewer::Viewer::Windows windows; @@ -266,11 +266,11 @@ } - osg::ref_ptr dePee = new DePee(rootNode, - modelGroupTransform, + osg::ref_ptr dePee = new DePee(rootNode, + modelGroupTransform, width, height); - + //create event handlers KeyboardEventHandler* keyboardEventHandler = new KeyboardEventHandler(dePee.get()); MouseEventHandler* mouseEventHandler = new MouseEventHandler(dePee.get()); @@ -278,7 +278,7 @@ viewer.addEventHandler(mouseEventHandler); //viewer.setCameraManipulator(new osgGA::TrackballManipulator); - + osg::StateSet* stateset = modelGroupTransform->getOrCreateStateSet(); stateset->setMode(GL_BLEND, osg::StateAttribute::OFF); @@ -287,15 +287,15 @@ osg::AnimationPathCallback* apc = new osg::AnimationPathCallback(modelGroupTransform->getBound().center(),osg::Vec3(0.0f,0.0f,1.0f),osg::inDegrees(45.0f)); apc->setPause(true); modelGroupTransform->setUpdateCallback(apc); - + keyboardEventHandler->registerAnimationPathCallback(apc); mouseEventHandler->registerModelGroupTransform(modelGroupTransform); - + //setup stuff that is necessary for measuring fps osg::Timer_t current_tick, previous_tick = 1; double* fps = new double; dePee->setFPS(fps); - + while(!viewer.done()) { current_tick = osg::Timer::instance()->tick(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgdistortion/osgdistortion.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgdistortion/osgdistortion.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgdistortion/osgdistortion.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgdistortion/osgdistortion.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -703,10 +703,10 @@ osgViewer::Viewer viewer(arguments); // load the nodes from the commandline arguments. - osg::Node* loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); // if not loaded assume no arguments passed in, try use default mode instead. - if (!loadedModel) loadedModel = osgDB::readNodeFile("cow.osgt"); + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("cow.osgt"); if (!loadedModel) { @@ -731,7 +731,7 @@ } else { - osg::Node* distortionNode = createDistortionSubgraph( options, loadedModel, viewer.getCamera()->getClearColor()); + osg::Node* distortionNode = createDistortionSubgraph( options, loadedModel.get(), viewer.getCamera()->getClearColor()); viewer.setSceneData( distortionNode ); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgdrawinstanced/osgdrawinstanced.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgdrawinstanced/osgdrawinstanced.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgdrawinstanced/osgdrawinstanced.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgdrawinstanced/osgdrawinstanced.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -97,7 +97,7 @@ ss->setAttribute( program.get(), osg::StateAttribute::ON | osg::StateAttribute::PROTECTED ); - osg::ref_ptr< osg::Image> iLogo = osgDB::readImageFile( "Images/osg128.png" ); + osg::ref_ptr< osg::Image> iLogo = osgDB::readRefImageFile( "Images/osg128.png" ); if( !iLogo.valid() ) { osg::notify( osg::ALWAYS ) << "Can't open image file osg128.png" << std::endl; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgfadetext/osgfadetext.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgfadetext/osgfadetext.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgfadetext/osgfadetext.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgfadetext/osgfadetext.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -44,21 +44,21 @@ osg::TessellationHints* hints = new osg::TessellationHints; hints->setDetailRatio(5.0f); - + osg::ShapeDrawable* sd = new osg::ShapeDrawable(new osg::Sphere(osg::Vec3(0.0,0.0,0.0), osg::WGS_84_RADIUS_POLAR), hints); - + osg::Geode* geode = new osg::Geode; geode->addDrawable(sd); - + std::string filename = osgDB::findDataFile("Images/land_shallow_topo_2048.jpg"); - geode->getOrCreateStateSet()->setTextureAttributeAndModes(0, new osg::Texture2D(osgDB::readImageFile(filename))); - + geode->getOrCreateStateSet()->setTextureAttributeAndModes(0, new osg::Texture2D(osgDB::readRefImageFile(filename))); + osg::CoordinateSystemNode* csn = new osg::CoordinateSystemNode; csn->setEllipsoidModel(new osg::EllipsoidModel()); csn->addChild(geode); - + return csn; - + } osgText::Text* createText(osg::EllipsoidModel* ellipsoid, double latitude, double longitude, double height, const std::string& str) @@ -78,7 +78,7 @@ text->setCharacterSize(300000.0f); text->setCharacterSizeMode(osgText::Text::OBJECT_COORDS_WITH_MAXIMUM_SCREEN_SIZE_CAPPED_BY_FONT_HEIGHT); text->setAutoRotateToScreen(true); - + return text; } @@ -87,10 +87,10 @@ osg::Group* group = new osg::Group; group->getOrCreateStateSet()->setMode(GL_DEPTH_TEST,osg::StateAttribute::OFF); - + osg::Geode* geode = new osg::Geode; group->addChild(geode); - + std::vector textList; textList.push_back("Town"); textList.push_back("City"); @@ -99,7 +99,7 @@ textList.push_back("Mountain"); textList.push_back("Road"); textList.push_back("Lake"); - + unsigned int numLat = 15; unsigned int numLong = 20; double latitude = 0.0; @@ -118,7 +118,7 @@ } return group; -} +} int main(int, char**) @@ -128,10 +128,10 @@ viewer.getCamera()->setComputeNearFarMode(osg::CullSettings::COMPUTE_NEAR_FAR_USING_PRIMITIVES); viewer.getCamera()->setNearFarRatio(0.00001f); - + // read the scene from the list of file specified commandline args. osg::ref_ptr root = createEarth(); - + if (!root) return 0; // add a viewport to the viewer and attach the scene graph. @@ -142,7 +142,7 @@ { // add fade text around the globe csn->addChild(createFadeText(csn->getEllipsoidModel())); - } + } viewer.setCameraManipulator(new osgGA::TerrainManipulator); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgfont/osgfont.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgfont/osgfont.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgfont/osgfont.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgfont/osgfont.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -62,7 +62,7 @@ static osg::Vec3 pos(10.0f, 10.0f, 0.0f); osgText::Text* label = new osgText::Text(); - osgText::Font* font = osgText::readFontFile(f); + osg::ref_ptr font = osgText::readRefFontFile(f); label->setFont(font); label->setCharacterSize(size); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgforest/osgforest.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgforest/osgforest.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgforest/osgforest.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgforest/osgforest.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -388,7 +388,7 @@ // --------------------------------------- osg::StateSet* stateset = new osg::StateSet(); - osg::Image* image = osgDB::readImageFile("Images/lz.rgb"); + osg::ref_ptr image = osgDB::readRefImageFile("Images/lz.rgb"); if (image) { osg::Texture2D* texture = new osg::Texture2D; @@ -1182,7 +1182,7 @@ osg::Texture2D *tex = new osg::Texture2D; tex->setWrap( osg::Texture2D::WRAP_S, osg::Texture2D::CLAMP ); tex->setWrap( osg::Texture2D::WRAP_T, osg::Texture2D::CLAMP ); - tex->setImage(osgDB::readImageFile("Images/tree0.rgba")); + tex->setImage(osgDB::readRefImageFile("Images/tree0.rgba")); osg::StateSet *dstate = new osg::StateSet; { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgfpdepth/osgfpdepth.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgfpdepth/osgfpdepth.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgfpdepth/osgfpdepth.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgfpdepth/osgfpdepth.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -963,7 +963,7 @@ arguments.getApplicationUsage()->write(std::cout,osg::ApplicationUsage::COMMAND_LINE_OPTION); return 1; } - ref_ptr loadedModel = osgDB::readNodeFiles(arguments); + ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); if (!loadedModel) { cerr << "couldn't load " << argv[1] << "\n"; return 1; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgfxbrowser/osgfxbrowser.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgfxbrowser/osgfxbrowser.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgfxbrowser/osgfxbrowser.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgfxbrowser/osgfxbrowser.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -127,7 +127,7 @@ for (osgFX::Registry::EffectMap::const_iterator i=emap.begin(); i!=emap.end(); ++i) { std::cout << "INFO: \t" << i->first << "\n"; osg::ref_ptr effect = static_cast(i->second->cloneType()); - _effects.push_back(effect.get()); + _effects.push_back(effect.get()); } std::cout << "INFO: " << emap.size() << " effect(s) ready.\n"; @@ -144,9 +144,9 @@ inline void setScene(osg::Node* node) { _scene = node; } inline bool getEffectsEnabled() const { return _fxen; } - inline void setEffectsEnabled(bool v) - { - _fxen = v; + inline void setEffectsEnabled(bool v) + { + _fxen = v; if (getSelectedEffect()) { getSelectedEffect()->setEnabled(_fxen); } @@ -156,7 +156,7 @@ inline void setEffectIndex(int i) { if (i >= static_cast(_effects.size())) i = 0; - if (i < 0) i = static_cast(_effects.size()-1); + if (i < 0) i = static_cast(_effects.size()-1); _selected_fx = i; rebuild(); } @@ -174,11 +174,11 @@ { float zPos = -0.1; // note from Robert, was 0.1f, but now must be -0.1f to keep text visible??#!? due // to some other change in the OSG not tracked down yet... - - osg::ref_ptr arial = osgText::readFontFile("fonts/arial.ttf"); + + osg::ref_ptr arial = osgText::readRefFontFile("fonts/arial.ttf"); osg::ref_ptr hints = new osgText::Text; - hints->setFont(arial.get()); + hints->setFont(arial); hints->setColor(_hints_color); hints->setAlignment(osgText::Text::CENTER_BOTTOM); hints->setCharacterSize(13); @@ -195,7 +195,7 @@ if (!author_name.empty()) { effect_description = author_name = "AUTHOR: " + std::string(_effects[_selected_fx]->effectAuthor()) + std::string("\n\n"); } - effect_description += "DESCRIPTION:\n" + std::string(_effects[_selected_fx]->effectDescription()); + effect_description += "DESCRIPTION:\n" + std::string(_effects[_selected_fx]->effectDescription()); if (_scene.valid() && _root.valid()) { _root->removeChildren(0, _root->getNumChildren()); @@ -268,7 +268,7 @@ osg::ref_ptr effect_panel = new EffectPanel; effect_panel->setCaption("osgFX Effect Browser"); - effect_panel->setRect(osgfxbrowser::Rect(20, 20, 1000, 280)); + effect_panel->setRect(osgfxbrowser::Rect(20, 20, 1000, 280)); hud->addChild(effect_panel.get()); @@ -325,7 +325,7 @@ unsigned int clearMask = viewer.getCamera()->getClearMask(); viewer.getCamera()->setClearMask(clearMask | GL_STENCIL_BUFFER_BIT); viewer.getCamera()->setClearStencil(0); - + // any option left unread are converted into errors to write out later. arguments.reportRemainingOptionsAsUnrecognized(); @@ -336,11 +336,11 @@ } // read the scene from the list of file specified commandline args. - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); // if not loaded assume no arguments passed in, try use default mode instead. - if (!loadedModel) loadedModel = osgDB::readNodeFile("dumptruck.osgt"); - + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("dumptruck.osgt"); + if (!loadedModel) { std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osggameoflife/osggameoflife.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osggameoflife/osggameoflife.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osggameoflife/osggameoflife.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osggameoflife/osggameoflife.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -117,14 +117,14 @@ } // load the image - osg::ref_ptr startIm = osgDB::readImageFile(startName); + osg::ref_ptr startIm = osgDB::readRefImageFile(startName); if (!startIm) { std::cout << "Could not load start image.\n"; return(1); } - osg::Node* scene = createScene(startIm.get()); + osg::ref_ptr scene = createScene(startIm.get()); // construct the viewer. osgViewer::Viewer viewer; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osggeometry/osggeometry.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osggeometry/osggeometry.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osggeometry/osggeometry.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osggeometry/osggeometry.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -550,7 +550,7 @@ { // we'll create a texture mapped quad to sit behind the Geometry - osg::Image* image = osgDB::readImageFile("Images/primitives.gif"); + osg::ref_ptr image = osgDB::readRefImageFile("Images/primitives.gif"); if (!image) return NULL; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osggpx/osggpx.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osggpx/osggpx.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osggpx/osggpx.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osggpx/osggpx.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -434,8 +434,8 @@ osg::ref_ptr group = new osg::Group; - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); - if (loadedModel.valid()) group->addChild(loadedModel.get()); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); + if (loadedModel.valid()) group->addChild(loadedModel); for(Tracks::iterator itr = tracks.begin(); itr != tracks.end(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osggraphicscost/osggraphicscost.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osggraphicscost/osggraphicscost.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osggraphicscost/osggraphicscost.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osggraphicscost/osggraphicscost.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -52,12 +52,12 @@ osgViewer::Viewer viewer(arguments); - osg::ref_ptr node = osgDB::readNodeFiles(arguments); + osg::ref_ptr node = osgDB::readRefNodeFiles(arguments); if (!node) return 0; osg::ref_ptr gce = new osg::GraphicsCostEstimator; - viewer.setSceneData(node.get()); + viewer.setSceneData(node); viewer.realize(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osghangglide/base.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osghangglide/base.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osghangglide/base.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osghangglide/base.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -67,7 +67,7 @@ Texture2D *tex = new Texture2D; - tex->setImage(osgDB::readImageFile("Images/water.rgb")); + tex->setImage(osgDB::readRefImageFile("Images/water.rgb")); tex->setWrap( Texture2D::WRAP_S, Texture2D::REPEAT ); tex->setWrap( Texture2D::WRAP_T, Texture2D::REPEAT ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osghangglide/sky.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osghangglide/sky.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osghangglide/sky.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osghangglide/sky.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -112,7 +112,7 @@ Texture2D *tex = new Texture2D; - tex->setImage(osgDB::readImageFile("Images/white.rgb")); + tex->setImage(osgDB::readRefImageFile("Images/white.rgb")); StateSet *dstate = new StateSet; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osghangglide/tank.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osghangglide/tank.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osghangglide/tank.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osghangglide/tank.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -161,7 +161,7 @@ for( i = 0; i < c; i++ ) conv( vc[i], mat, vc[i] ); - + gset->addPrimitiveSet(new DrawArrays(PrimitiveSet::TRIANGLE_FAN,prev_c,c-prev_c)); @@ -171,7 +171,7 @@ tex->setWrap( Texture2D::WRAP_S, Texture2D::REPEAT ); tex->setWrap( Texture2D::WRAP_T, Texture2D::REPEAT ); - tex->setImage(osgDB::readImageFile("Images/tank.rgb")); + tex->setImage(osgDB::readRefImageFile("Images/tank.rgb")); StateSet *dstate = new StateSet; dstate->setTextureAttributeAndModes(0, tex, StateAttribute::ON ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osghangglide/terrain.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osghangglide/terrain.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osghangglide/terrain.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osghangglide/terrain.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -131,7 +131,7 @@ Texture2D *tex = new Texture2D; - tex->setImage(osgDB::readImageFile("Images/lz.rgb")); + tex->setImage(osgDB::readRefImageFile("Images/lz.rgb")); StateSet *dstate = new StateSet; dstate->setMode( GL_LIGHTING, StateAttribute::OFF ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osghangglide/trees.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osghangglide/trees.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osghangglide/trees.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osghangglide/trees.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -234,7 +234,7 @@ struct _tree *t; Texture2D *tex = new Texture2D; - tex->setImage(osgDB::readImageFile("Images/tree0.rgba")); + tex->setImage(osgDB::readRefImageFile("Images/tree0.rgba")); StateSet *dstate = new StateSet; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osghud/osghud.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osghud/osghud.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osghud/osghud.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osghud/osghud.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -248,7 +248,7 @@ { osgViewer::View* view = dynamic_cast(&aa); osg::Node* node = view ? view->getSceneData() : 0; - if (node) + if (node) { osgDB::writeNodeFile(*node, "hud.osgt"); osgDB::writeNodeFile(*node, "hud.osgb"); @@ -284,10 +284,10 @@ // read the scene from the list of file specified commandline args. - osg::ref_ptr scene = osgDB::readNodeFiles(arguments); + osg::ref_ptr scene = osgDB::readRefNodeFiles(arguments); // if not loaded assume no arguments passed in, try use default model instead. - if (!scene) scene = osgDB::readNodeFile("dumptruck.osgt"); + if (!scene) scene = osgDB::readRefNodeFile("dumptruck.osgt"); if (!scene) @@ -320,7 +320,7 @@ viewer.addSlave(hudCamera, false); // set the scene to render - viewer.setSceneData(scene.get()); + viewer.setSceneData(scene); return viewer.run(); @@ -334,7 +334,7 @@ osgViewer::View* view = new osgViewer::View; viewer.addView(view); - view->setSceneData(scene.get()); + view->setSceneData(scene); view->setUpViewAcrossAllScreens();; view->setCameraManipulator(new osgGA::TrackballManipulator); @@ -375,11 +375,11 @@ osg::ref_ptr group = new osg::Group; // add the HUD subgraph. - if (scene.valid()) group->addChild(scene.get()); + if (scene.valid()) group->addChild(scene); group->addChild(createHUD()); // set the scene to render - viewer.setSceneData(group.get()); + viewer.setSceneData(group); return viewer.run(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgimagesequence/osgimagesequence.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgimagesequence/osgimagesequence.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgimagesequence/osgimagesequence.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgimagesequence/osgimagesequence.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -48,7 +48,7 @@ { const std::string& directory = arguments[i]; osgDB::DirectoryContents dc = osgDB::getSortedDirectoryContents(directory); - + for(osgDB::DirectoryContents::iterator itr = dc.begin(); itr != dc.end(); ++itr) { std::string full_file_name = directory + "/" + (*itr); @@ -76,28 +76,28 @@ osg::ref_ptr imageSequence = new osg::ImageSequence; bool preLoad = true; - + while (arguments.read("--page-and-discard")) { imageSequence->setMode(osg::ImageSequence::PAGE_AND_DISCARD_USED_IMAGES); preLoad = false; } - + while (arguments.read("--page-and-retain")) { imageSequence->setMode(osg::ImageSequence::PAGE_AND_RETAIN_IMAGES); preLoad = false; } - + while (arguments.read("--preload")) { imageSequence->setMode(osg::ImageSequence::PRE_LOAD_ALL_IMAGES); preLoad = true; } - + double length = -1.0; while (arguments.read("--length",length)) {} - + double fps = 30.0; while (arguments.read("--fps",fps)) {} @@ -111,7 +111,7 @@ const std::string& filename = *itr; if (preLoad) { - osg::ref_ptr image = osgDB::readImageFile(filename); + osg::ref_ptr image = osgDB::readRefImageFile(filename); if (image.valid()) { imageSequence->addImage(image.get()); @@ -123,7 +123,7 @@ } } - + if (length>0.0) { imageSequence->setLength(length); @@ -144,14 +144,14 @@ { imageSequence->setLength(4.0); } - imageSequence->addImage(osgDB::readImageFile("Cubemap_axis/posx.png")); - imageSequence->addImage(osgDB::readImageFile("Cubemap_axis/negx.png")); - imageSequence->addImage(osgDB::readImageFile("Cubemap_axis/posy.png")); - imageSequence->addImage(osgDB::readImageFile("Cubemap_axis/negy.png")); - imageSequence->addImage(osgDB::readImageFile("Cubemap_axis/posz.png")); - imageSequence->addImage(osgDB::readImageFile("Cubemap_axis/negz.png")); + imageSequence->addImage(osgDB::readRefImageFile("Cubemap_axis/posx.png")); + imageSequence->addImage(osgDB::readRefImageFile("Cubemap_axis/negx.png")); + imageSequence->addImage(osgDB::readRefImageFile("Cubemap_axis/posy.png")); + imageSequence->addImage(osgDB::readRefImageFile("Cubemap_axis/negy.png")); + imageSequence->addImage(osgDB::readRefImageFile("Cubemap_axis/posz.png")); + imageSequence->addImage(osgDB::readRefImageFile("Cubemap_axis/negz.png")); } - + // start the image sequence playing imageSequence->play(); @@ -163,7 +163,7 @@ texture->setResizeNonPowerOfTwoHint(false); texture->setImage(imageSequence.get()); //texture->setTextureSize(512,512); -#else +#else osg::TextureRectangle* texture = new osg::TextureRectangle; texture->setFilter(osg::Texture::MIN_FILTER,osg::Texture::LINEAR); texture->setFilter(osg::Texture::MAG_FILTER,osg::Texture::LINEAR); @@ -183,12 +183,12 @@ osg::Node* createModel(osg::ArgumentParser& arguments) { - // create the geometry of the model, just a simple 2d quad right now. + // create the geometry of the model, just a simple 2d quad right now. osg::Geode* geode = new osg::Geode; geode->addDrawable(osg::createTexturedQuadGeometry(osg::Vec3(0.0f,0.0f,0.0), osg::Vec3(1.0f,0.0f,0.0), osg::Vec3(0.0f,0.0f,1.0f))); geode->setStateSet(createState(arguments)); - + return geode; } @@ -200,10 +200,10 @@ public: MovieEventHandler():_playToggle(true),_trackMouse(false) {} - + void setMouseTracking(bool track) { _trackMouse = track; } bool getMouseTracking() const { return _trackMouse; } - + void set(osg::Node* node); void setTrackMouse(bool tm) @@ -233,20 +233,20 @@ bool getTrackMouse() const { return _trackMouse; } virtual bool handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter& aa, osg::Object*, osg::NodeVisitor* nv); - + virtual void getUsage(osg::ApplicationUsage& usage) const; typedef std::vector< osg::observer_ptr > ImageStreamList; - + struct ImageStreamPlaybackSpeedData { double fps; unsigned char* lastData; double timeStamp, lastOutput; - + ImageStreamPlaybackSpeedData() : fps(0), lastData(NULL), timeStamp(0), lastOutput(0) {} - + }; - + typedef std::vector< ImageStreamPlaybackSpeedData > ImageStreamPlayBackSpeedList; protected: @@ -258,7 +258,7 @@ public: FindImageStreamsVisitor(ImageStreamList& imageStreamList): _imageStreamList(imageStreamList) {} - + virtual void apply(osg::Geode& geode) { apply(geode.getStateSet()); @@ -267,7 +267,7 @@ { apply(geode.getDrawable(i)->getStateSet()); } - + traverse(geode); } @@ -276,11 +276,11 @@ apply(node.getStateSet()); traverse(node); } - + inline void apply(osg::StateSet* stateset) { if (!stateset) return; - + osg::StateAttribute* attr = stateset->getTextureAttribute(0,osg::StateAttribute::TEXTURE); if (attr) { @@ -291,20 +291,20 @@ if (textureRec) apply(dynamic_cast(textureRec->getImage())); } } - + inline void apply(osg::ImageStream* imagestream) { if (imagestream) { - _imageStreamList.push_back(imagestream); + _imageStreamList.push_back(imagestream); s_imageStream = imagestream; } } - + ImageStreamList& _imageStreamList; - + protected: - + FindImageStreamsVisitor& operator = (const FindImageStreamsVisitor&) { return *this; } }; @@ -313,7 +313,7 @@ bool _trackMouse; ImageStreamList _imageStreamList; ImageStreamPlayBackSpeedList _imageStreamPlayBackSpeedList; - + }; @@ -338,7 +338,7 @@ { double t = ea.getTime(); bool printed(false); - + ImageStreamPlayBackSpeedList::iterator fps_itr = _imageStreamPlayBackSpeedList.begin(); for(ImageStreamList::iterator itr=_imageStreamList.begin(); itr!=_imageStreamList.end(); @@ -351,17 +351,17 @@ data.lastData = (*itr)->data(); data.fps = (*fps_itr).fps * 0.8 + 0.2 * (1/dt); data.timeStamp = t; - + if (t-data.lastOutput > 1) { std::cout << data.fps << " "; data.lastOutput = t; printed = true; } - + } } - if (printed) + if (printed) std::cout << std::endl; } break; @@ -380,7 +380,7 @@ } return false; } - + case(osgGA::GUIEventAdapter::KEYDOWN): { if (ea.getKey()=='p') @@ -434,11 +434,11 @@ } return true; } - else if (ea.getKey() == 'i') + else if (ea.getKey() == 'i') { setTrackMouse(!_trackMouse); - - + + } return false; } @@ -479,7 +479,7 @@ meh->set( viewer.getSceneData() ); if (arguments.read("--track-mouse")) meh->setTrackMouse(true); - + viewer.addEventHandler( meh ); viewer.addEventHandler( new osgViewer::StatsHandler()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgimpostor/osgimpostor.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgimpostor/osgimpostor.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgimpostor/osgimpostor.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgimpostor/osgimpostor.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -244,7 +244,7 @@ // load the nodes from the commandline arguments. - osg::ref_ptr model = osgDB::readNodeFiles(arguments); + osg::ref_ptr model = osgDB::readRefNodeFiles(arguments); if (model) { // the osgSim::InsertImpostorsVisitor used lower down to insert impostors @@ -280,7 +280,7 @@ // on it right now as it requires a getRoots() method to be added to // osg::Node, and we're about to make a release so no new features! osg::ref_ptr rootnode = new osg::Group; - rootnode->addChild(model.get()); + rootnode->addChild(model); // now insert impostors in the model using the InsertImpostorsVisitor. @@ -304,7 +304,7 @@ } // add model to viewer. - viewer.setSceneData(model.get()); + viewer.setSceneData(model); return viewer.run(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgintersection/osgintersection.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgintersection/osgintersection.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgintersection/osgintersection.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgintersection/osgintersection.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -38,7 +38,7 @@ { virtual osg::Node* readNodeFile(const std::string& filename) { - return osgDB::readNodeFile(filename); + return osgDB::readRefNodeFile(filename).release(); } }; @@ -47,37 +47,37 @@ { // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - - osg::ref_ptr scene = osgDB::readNodeFiles(arguments); - - if (!scene) + + osg::ref_ptr scene = osgDB::readRefNodeFiles(arguments); + + if (!scene) { std::cout<<"No model loaded, please specify a valid model on the command line."<getBound(); bool useIntersectorGroup = true; bool useLineOfSight = true; - + //osg::CoordinateSystemNode* csn = dynamic_cast(scene.get()); //osg::EllipsoidModel* em = csn ? csn->getEllipsoidModel() : 0; if (useLineOfSight) { - + osg::Vec3d start = bs.center() + osg::Vec3d(0.0,bs.radius(),0.0); osg::Vec3d end = bs.center() - osg::Vec3d(0.0, bs.radius(),0.0); osg::Vec3d deltaRow( 0.0, 0.0, bs.radius()*0.01); osg::Vec3d deltaColumn( bs.radius()*0.01, 0.0, 0.0); osgSim::LineOfSight los; - + #if 1 unsigned int numRows = 20; unsigned int numColumns = 20; @@ -118,7 +118,7 @@ } } } - + { // now do a second traversal to test performance of cache. osg::Timer_t startTick = osg::Timer::instance()->tick(); @@ -173,7 +173,7 @@ else if (useIntersectorGroup) { osg::Timer_t startTick = osg::Timer::instance()->tick(); - + osg::Vec3d start = bs.center() + osg::Vec3d(0.0,bs.radius(),0.0); osg::Vec3d end = bs.center();// - osg::Vec3d(0.0, bs.radius(),0.0); osg::Vec3d deltaRow( 0.0, 0.0, bs.radius()*0.01); @@ -194,7 +194,7 @@ } } - + osgUtil::IntersectionVisitor intersectVisitor( intersectorGroup.get(), new MyReadCallback ); scene->accept(intersectVisitor); @@ -229,7 +229,7 @@ } } } - + } } @@ -272,6 +272,6 @@ } } } - + return 0; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgkdtree/osgkdtree.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgkdtree/osgkdtree.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgkdtree/osgkdtree.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgkdtree/osgkdtree.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -16,7 +16,7 @@ * THE SOFTWARE. */ - + #include #include @@ -47,24 +47,24 @@ { // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - + int maxNumLevels = 16; int targetNumIndicesPerLeaf = 16; while (arguments.read("--max", maxNumLevels)) {} while (arguments.read("--leaf", targetNumIndicesPerLeaf)) {} - + osgDB::Registry::instance()->setBuildKdTreesHint(osgDB::ReaderWriter::Options::BUILD_KDTREES); - - osg::ref_ptr scene = osgDB::readNodeFiles(arguments); - - if (!scene) + + osg::ref_ptr scene = osgDB::readRefNodeFiles(arguments); + + if (!scene) { std::cout<<"No model loaded, please specify a valid model on the command line."< loadedModel; // load the scene. - if (argc>1) loadedModel = osgDB::readNodeFile(argv[1]); + if (argc>1) loadedModel = osgDB::readRefNodeFile(argv[1]); // if not loaded assume no arguments passed in, try use default mode instead. - if (!loadedModel) loadedModel = osgDB::readNodeFile("dumptruck.osgt"); + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("dumptruck.osgt"); if (!loadedModel) { @@ -374,7 +374,7 @@ osgViewer::Viewer viewer; viewer.getCamera()->setGraphicsContext(gc.get()); viewer.getCamera()->setViewport(0,0,800,600); - viewer.setSceneData(loadedModel.get()); + viewer.setSceneData(loadedModel); // create a tracball manipulator to move the camera around in response to keyboard/mouse events viewer.setCameraManipulator( new osgGA::TrackballManipulator ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgkeystone/osgkeystone.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgkeystone/osgkeystone.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgkeystone/osgkeystone.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgkeystone/osgkeystone.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -38,14 +38,14 @@ int main( int argc, char **argv ) { osg::ArgumentParser arguments(&argc,argv); - + // initialize the viewer. osgViewer::Viewer viewer(arguments); - + osg::DisplaySettings* ds = viewer.getDisplaySettings() ? viewer.getDisplaySettings() : osg::DisplaySettings::instance().get(); ds->readCommandLine(arguments); - osg::ref_ptr model = osgDB::readNodeFiles(arguments); + osg::ref_ptr model = osgDB::readRefNodeFiles(arguments); if (!model) { @@ -57,8 +57,8 @@ OSG_NOTICE<<"Stereo "<getStereo()<getStereoMode()<getOrCreateStateSet()) ); @@ -77,7 +77,7 @@ } ds->setKeystoneHint(true); - + if (!ds->getKeystoneFileNames().empty()) { for(osg::DisplaySettings::Objects::iterator itr = ds->getKeystones().begin(); @@ -85,19 +85,19 @@ ++itr) { osgViewer::Keystone* keystone = dynamic_cast(itr->get()); - if (keystone) + if (keystone) { std::string filename; keystone->getUserValue("filename",filename); OSG_NOTICE<<"Loaded keystone "<getKeystones().push_back(keystone); } } } - + viewer.apply(new osgViewer::SingleScreen(0)); - + viewer.realize(); while(!viewer.done()) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osglauncher/osglauncher.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osglauncher/osglauncher.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osglauncher/osglauncher.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osglauncher/osglauncher.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -53,23 +53,23 @@ // class to handle events with a pick class PickHandler : public osgGA::GUIEventHandler { -public: +public: PickHandler(osgViewer::Viewer* viewer,osgText::Text* updateText): _viewer(viewer), _updateText(updateText) {} - + ~PickHandler() {} - + bool handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter& us); std::string pick(const osgGA::GUIEventAdapter& event); - + void highlight(const std::string& name) { if (_updateText.get()) _updateText->setText(name); } - + protected: osgViewer::Viewer* _viewer; @@ -133,14 +133,14 @@ osg::MatrixTransform* modelview_abs = new osg::MatrixTransform; modelview_abs->setReferenceFrame(osg::Transform::ABSOLUTE_RF); modelview_abs->setMatrix(osg::Matrix::identity()); - + osg::Projection* projection = new osg::Projection; projection->setMatrix(osg::Matrix::ortho2D(0,1280,0,1024)); projection->addChild(modelview_abs); - - + + std::string timesFont("fonts/times.ttf"); - + // turn lighting off for the text and disable depth test to ensure its always ontop. osg::Vec3 position(50.0f,510.0f,0.0f); osg::Vec3 delta(0.0f,-60.0f,0.0f); @@ -153,16 +153,16 @@ geode->setName("The text label"); geode->addDrawable( updateText ); modelview_abs->addChild(geode); - + updateText->setCharacterSize(20.0f); updateText->setFont(timesFont); updateText->setColor(osg::Vec4(1.0f,1.0f,0.0f,1.0f)); updateText->setText(""); updateText->setPosition(position); - + position += delta; - } - + } + return projection; } // end create HUDf @@ -179,13 +179,13 @@ std::string app; public: Xample(std::string image, std::string prog) - { + { texture = image; app = prog; osg::notify(osg::INFO) << "New Xample!" << std::endl; }; ~Xample() { }; - + std::string getTexture() { return texture; @@ -225,11 +225,11 @@ if(!xapp.compare(x.getApp())) { osg::notify(osg::INFO) << "app found!" << std::endl; - + const char* cxapp = xapp.c_str(); - + osg::notify(osg::INFO) << "char* = " << cxapp <getOrCreateStateSet(); // load texture.jpg as an image - osg::Image* imgTexture = osgDB::readImageFile( texture ); - + osg::ref_ptr imgTexture = osgDB::readRefImageFile( texture ); + // if the image is successfully loaded if (imgTexture) { @@ -338,11 +338,11 @@ { osg::PositionAttitudeTransform* tmpTrans = new osg::PositionAttitudeTransform(); tmpTrans->addChild( object ); - + tmpTrans->setPosition( position ); tmpTrans->setScale( scale ); tmpTrans->setPivotPoint( pivot ); - + return tmpTrans; } @@ -352,7 +352,7 @@ osg::notify(osg::INFO) << name << std::endl; osg::notify(osg::INFO) << "center = " << currentBound.center() << std::endl; osg::notify(osg::INFO) << "radius = " << currentBound.radius() << std::endl; - + // return currentBound.radius(); } @@ -361,7 +361,7 @@ { osg::Group* xGroup = new osg::Group(); - + // positioning and sizes float defaultRadius = 0.8f; @@ -375,20 +375,20 @@ float xjump = (2*bs); float zjump = xjump; osg::Vec3 vScale( 0.5f, 0.5f, 0.5f ); - osg::Vec3 vPivot( 0.0f, 0.0f, 0.0f ); + osg::Vec3 vPivot( 0.0f, 0.0f, 0.0f ); // run through Xampleliste int z = 1; for (OP i = Xamplelist.begin() ; i != Xamplelist.end() ; ++i, ++z) { Xample& x = *i; - + osg::Node* tmpCube = createTexturedCube(defaultRadius, defaultPos, x.getTexture(), x.getApp()); printBoundings(tmpCube, x.getApp()); osg::Vec3 vPosition( xnext, 0.0f, znext ); osg::PositionAttitudeTransform* transX = getPATransformation(tmpCube, vPosition, vScale, vPivot); xGroup->addChild( transX ); - + // line feed if(z < itemsInLine) xnext += xjump; @@ -398,8 +398,8 @@ znext -= zjump; z = 0; } - } // end run through list - + } // end run through list + return xGroup; } // end setupGraph @@ -414,7 +414,7 @@ { readConfFile(argv[1]); // read ConfigFile 1 } - + // construct the viewer. osgViewer::Viewer viewer; @@ -428,9 +428,9 @@ root->addChild( setupGraph() ); - // add the HUD subgraph. + // add the HUD subgraph. root->addChild(createHUD(updateText.get())); - + // add model to viewer. viewer.setSceneData( root ); @@ -438,13 +438,13 @@ lookAt.makeLookAt(osg::Vec3(0.0f, -4.0f, 0.0f), centerScope, osg::Vec3(0.0f, 0.0f, 1.0f)); viewer.getCamera()->setViewMatrix(lookAt); - + viewer.realize(); while( !viewer.done() ) { // fire off the cull and draw traversals of the scene. - viewer.frame(); + viewer.frame(); } return 0; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osglight/osglight.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osglight/osglight.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osglight/osglight.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osglight/osglight.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -226,7 +226,7 @@ } -osg::Node* createRoom(osg::Node* loadedModel) +osg::ref_ptr createRoom(const osg::ref_ptr& loadedModel) { // default scale for this model. osg::BoundingSphere bs(osg::Vec3(0.0f,0.0f,0.0f),1.0f); @@ -323,20 +323,20 @@ osgViewer::Viewer viewer; // load the nodes from the commandline arguments. - osg::Node* loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); // if not loaded assume no arguments passed in, try use default mode instead. - if (!loadedModel) loadedModel = osgDB::readNodeFile("glider.osgt"); + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("glider.osgt"); // create a room made of foor walls, a floor, a roof, and swinging light fitting. - osg::Node* rootnode = createRoom(loadedModel); + osg::ref_ptr rootnode = createRoom(loadedModel); // run optimization over the scene graph osgUtil::Optimizer optimzer; optimzer.optimize(rootnode); // add a viewport to the viewer and attach the scene graph. - viewer.setSceneData( rootnode ); + viewer.setSceneData(rootnode); // create the windows and run the threads. diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osglightpoint/osglightpoint.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osglightpoint/osglightpoint.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osglightpoint/osglightpoint.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osglightpoint/osglightpoint.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -47,12 +47,12 @@ lpn.addLightPoint(start); return; } - + float rend = 0.0f; float rdelta = 1.0f/((float)noSteps-1.0f); - + lpn.getLightPointList().reserve(noSteps); - + for(unsigned int i=0;isetDataVariance(osg::Object::STATIC); transform->setMatrix(osg::Matrix::scale(0.1,0.1,0.1)); @@ -100,7 +100,7 @@ // bs->addPulse(0.5,osg::Vec4(0.0f,0.0f,0.0f,0.0f)); // off // bs->addPulse(1.0,osg::Vec4(1.0f,1.0f,1.0f,1.0f)); // bs->addPulse(0.5,osg::Vec4(0.0f,0.0f,0.0f,0.0f)); // off - + // osgSim::Sector* sector = new osgSim::ConeSector(osg::Vec3(0.0f,0.0f,1.0f),osg::inDegrees(45.0),osg::inDegrees(45.0)); // osgSim::Sector* sector = new osgSim::ElevationSector(-osg::inDegrees(45.0),osg::inDegrees(45.0),osg::inDegrees(45.0)); @@ -113,7 +113,7 @@ { // osgSim::BlinkSequence* local_bs = new osgSim::BlinkSequence(*bs); -// local_bs->setSequenceGroup(new osgSim::BlinkSequence::SequenceGroup((double)i*0.1)); +// local_bs->setSequenceGroup(new osgSim::BlinkSequence::SequenceGroup((double)i*0.1)); // start._blinkSequence = local_bs; // start._sector = sector; @@ -129,7 +129,7 @@ // Set point sprite texture in LightPointNode StateSet. osg::Texture2D *tex = new osg::Texture2D(); - tex->setImage(osgDB::readImageFile("Images/particle.rgb")); + tex->setImage(osgDB::readRefImageFile("Images/particle.rgb")); set->setTextureAttributeAndModes(0, tex, osg::StateAttribute::ON); } @@ -140,17 +140,17 @@ // addToLightPointNode(*lpn,start,end,noStepsX); - + start._position += start_delta; end._position += end_delta; - - transform->addChild(lpn); + + transform->addChild(lpn); } - + osg::Group* group = new osg::Group; group->addChild(transform); - - + + return group; } @@ -232,16 +232,16 @@ osg::Group* rootnode = new osg::Group; // load the nodes from the commandline arguments. - rootnode->addChild(osgDB::readNodeFiles(arguments)); + rootnode->addChild(osgDB::readRefNodeFiles(arguments)); rootnode->addChild(createLightPointsDatabase()); rootnode->addChild(CreateBlinkSequenceLightNode()); - + // run optimization over the scene graph osgUtil::Optimizer optimzer; optimzer.optimize(rootnode); - + // add a viewport to the viewer and attach the scene graph. viewer.setSceneData( rootnode ); - + return viewer.run(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osglogicop/osglogicop.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osglogicop/osglogicop.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osglogicop/osglogicop.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osglogicop/osglogicop.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -32,7 +32,7 @@ const int _ops_nb=16; const osg::LogicOp::Opcode _operations[_ops_nb]= -{ +{ osg::LogicOp::CLEAR, osg::LogicOp::SET, osg::LogicOp::COPY, @@ -52,7 +52,7 @@ }; const char* _ops_name[_ops_nb]= -{ +{ "osg::LogicOp::CLEAR", "osg::LogicOp::SET", "osg::LogicOp::COPY", @@ -142,22 +142,22 @@ osg::ArgumentParser arguments(&argc,argv); // load the nodes from the commandline arguments. - osg::Node* loadedModel = osgDB::readNodeFiles(arguments); - + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); + // if not loaded assume no arguments passed in, try use default mode instead. - if (!loadedModel) loadedModel = osgDB::readNodeFile("glider.osgt"); - + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("glider.osgt"); + if (!loadedModel) { osg::notify(osg::NOTICE)<<"Please specify model filename on the command line."< root = new osg::Group; root->addChild(loadedModel); - - osg::StateSet* stateset = new osg::StateSet; - osg::LogicOp* logicOp = new osg::LogicOp(osg::LogicOp::OR_INVERTED); + + osg::ref_ptr stateset = new osg::StateSet; + osg::ref_ptr logicOp = new osg::LogicOp(osg::LogicOp::OR_INVERTED); stateset->setAttributeAndModes(logicOp,osg::StateAttribute::OVERRIDE|osg::StateAttribute::ON); @@ -170,14 +170,14 @@ // construct the viewer. osgViewer::Viewer viewer; - viewer.addEventHandler(new TechniqueEventHandler(logicOp)); - + viewer.addEventHandler(new TechniqueEventHandler(logicOp.get())); + // run optimization over the scene graph osgUtil::Optimizer optimzer; optimzer.optimize(root); - + // add a viewport to the viewer and attach the scene graph. viewer.setSceneData( root ); - + return viewer.run(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osglogo/osglogo.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osglogo/osglogo.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osglogo/osglogo.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osglogo/osglogo.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -234,7 +234,7 @@ osg::MatrixTransform* xform = new osg::MatrixTransform; xform->setUpdateCallback(new osg::AnimationPathCallback(bb.center(),osg::Vec3(0.0f,0.0f,1.0f),osg::inDegrees(10.0f))); - osg::Node* bluemarble = filename.empty() ? 0 : osgDB::readNodeFile(filename.c_str()); + osg::ref_ptr bluemarble = filename.empty() ? 0 : osgDB::readRefNodeFile(filename.c_str()); if (bluemarble) { const osg::BoundingSphere& bs = bluemarble->getBound(); @@ -252,7 +252,7 @@ osg::StateSet* stateset = geode->getOrCreateStateSet(); - osg::Image* image = osgDB::readImageFile("Images/land_shallow_topo_2048.jpg"); + osg::ref_ptr image = osgDB::readRefImageFile("Images/land_shallow_topo_2048.jpg"); if (image) { osg::Texture2D* texture = new osg::Texture2D; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgmanipulator/osgmanipulator.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgmanipulator/osgmanipulator.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgmanipulator/osgmanipulator.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgmanipulator/osgmanipulator.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -453,7 +453,7 @@ osg::Timer_t start_tick = osg::Timer::instance()->tick(); // read the scene from the list of file specified command line args. - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); // if no model has been successfully loaded report failure. bool tragger2Scene(true); @@ -481,14 +481,14 @@ // optimize the scene graph, remove redundant nodes and state etc. osgUtil::Optimizer optimizer; - optimizer.optimize(loadedModel.get()); + optimizer.optimize(loadedModel); // pass the loaded scene graph to the viewer. if ( tragger2Scene ) { viewer.setSceneData(addDraggerToScene(loadedModel.get(), dragger_name, fixedSizeInScreen)); } else { - viewer.setSceneData(loadedModel.get()); + viewer.setSceneData(loadedModel); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgmotionblur/osgmotionblur.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgmotionblur/osgmotionblur.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgmotionblur/osgmotionblur.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgmotionblur/osgmotionblur.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -37,7 +37,7 @@ { osg::GraphicsContext* gc = dynamic_cast(object); if (!gc) return; - + double t = gc->getState()->getFrameStamp()->getSimulationTime(); if (!cleared_) @@ -73,14 +73,14 @@ // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - + // set up the usage document, in case we need to print out how to use this program. arguments.getApplicationUsage()->setApplicationName(arguments.getApplicationName()); arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is an OpenSceneGraph example that shows how to use the accumulation buffer to achieve a simple motion blur effect."); arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] filename ..."); arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information"); arguments.getApplicationUsage()->addCommandLineOption("-P or --persistence","Set the motion blur persistence time"); - + // construct the viewer. osgViewer::Viewer viewer; @@ -96,13 +96,13 @@ arguments.read("-P", persistence) || arguments.read("--persistence", persistence); // read the scene from the list of file specified commandline args. - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); - + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); + // if not loaded assume no arguments passed in, try use default mode instead. - if (!loadedModel) loadedModel = osgDB::readNodeFile("cow.osgt"); + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("cow.osgt"); // if no model has been successfully loaded report failure. - if (!loadedModel) + if (!loadedModel) { std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; return 1; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgmovie/osgmovie.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgmovie/osgmovie.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgmovie/osgmovie.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgmovie/osgmovie.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -469,23 +469,46 @@ { //useTextureRectangle = false; + static const char *shaderSourceTextureVertex = { + "#ifdef GL_ES\n" + " precision highp float;\n" + " precision highp int;\n" + "#endif\n" + "varying vec4 texcoord;\n" + "void main(void)\n" + "{\n" + " texcoord = gl_MultiTexCoord0; \n" + " gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n" + "}\n" + }; + static const char *shaderSourceTextureRec = { + "#ifdef GL_ES\n" + " precision highp float;\n" + " precision highp int;\n" + "#endif\n" "uniform vec4 cutoff_color;\n" "uniform samplerRect movie_texture;\n" + "varying vec4 texcoord;\n" "void main(void)\n" "{\n" - " vec4 texture_color = textureRect(movie_texture, gl_TexCoord[0].st); \n" + " vec4 texture_color = textureRect(movie_texture, texcoord.st); \n" " if (all(lessThanEqual(texture_color,cutoff_color))) discard; \n" " gl_FragColor = texture_color;\n" "}\n" }; static const char *shaderSourceTexture2D = { + "#ifdef GL_ES\n" + " precision highp float;\n" + " precision highp int;\n" + "#endif\n" "uniform vec4 cutoff_color;\n" "uniform sampler2D movie_texture;\n" + "varying vec4 texcoord;\n" "void main(void)\n" "{\n" - " vec4 texture_color = texture2D(movie_texture, gl_TexCoord[0].st); \n" + " vec4 texture_color = texture2D(movie_texture, texcoord.st); \n" " if (all(lessThanEqual(texture_color,cutoff_color))) discard; \n" " gl_FragColor = texture_color;\n" "}\n" @@ -493,6 +516,9 @@ osg::Program* program = new osg::Program; + + program->addShader(new osg::Shader(osg::Shader::VERTEX, shaderSourceTextureVertex)); + program->addShader(new osg::Shader(osg::Shader::FRAGMENT, useTextureRectangle ? shaderSourceTextureRec : shaderSourceTexture2D)); @@ -520,8 +546,8 @@ { if (arguments.isString(i)) { - osg::Image* image = osgDB::readImageFile(arguments[i]); - osg::ImageStream* imagestream = dynamic_cast(image); + osg::ref_ptr image = osgDB::readRefImageFile(arguments[i]); + osg::ImageStream* imagestream = dynamic_cast(image.get()); if (imagestream) { osg::ImageStream::AudioStreams& audioStreams = imagestream->getAudioStreams(); @@ -550,7 +576,7 @@ float width = image->s() * image->getPixelAspectRatio(); float height = image->t(); - osg::ref_ptr drawable = myCreateTexturedQuadGeometry(pos, width, height,image, useTextureRectangle, xyPlane, flip); + osg::ref_ptr drawable = myCreateTexturedQuadGeometry(pos, width, height, image.get(), useTextureRectangle, xyPlane, flip); if (image->isImageTranslucent()) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgmultiplemovies/osgmultiplemovies.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgmultiplemovies/osgmultiplemovies.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgmultiplemovies/osgmultiplemovies.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgmultiplemovies/osgmultiplemovies.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -362,7 +362,7 @@ static osg::Node* readImageStream(const std::string& file_name, osg::Vec3& p, float desired_height, osgDB::Options* options) { - osg::ref_ptr obj = osgDB::readObjectFile(file_name, options); + osg::ref_ptr obj = osgDB::readRefObjectFile(file_name, options); osg::ref_ptr tex = dynamic_cast(obj.get()); osg::Geometry* geo(NULL); float w(0); @@ -374,7 +374,7 @@ // try readImageFile if readObjectFile failed if (!img_stream) { - img_stream = dynamic_cast(osgDB::readImageFile(file_name, options)); + img_stream = osgDB::readRefFile(file_name, options); } if (img_stream) @@ -531,7 +531,9 @@ if (!tex) { osg::ref_ptr stream = dynamic_cast(obj.get()); if (!stream) - stream = dynamic_cast(osgDB::readImageFile(_files[_currentFile], _options.get())); + { + stream = osgDB::readRefFile(_files[_currentFile], _options.get()); + } if (stream) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgmultitexture/osgmultitexture.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgmultitexture/osgmultitexture.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgmultitexture/osgmultitexture.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgmultitexture/osgmultitexture.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -44,10 +44,10 @@ osgViewer::Viewer viewer; // load the nodes from the commandline arguments. - osg::Node* rootnode = osgDB::readNodeFiles(arguments); + osg::ref_ptr rootnode = osgDB::readRefNodeFiles(arguments); // if not loaded assume no arguments passed in, try use default mode instead. - if (!rootnode) rootnode = osgDB::readNodeFile("cessnafire.osgt"); + if (!rootnode) rootnode = osgDB::readRefNodeFile("cessnafire.osgt"); if (!rootnode) { @@ -55,7 +55,7 @@ return 1; } - osg::Image* image = osgDB::readImageFile("Images/reflect.rgb"); + osg::ref_ptr image = osgDB::readRefImageFile("Images/reflect.rgb"); if (image) { osg::Texture2D* texture = new osg::Texture2D; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgmultitexturecontrol/osgmultitexturecontrol.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgmultitexturecontrol/osgmultitexturecontrol.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgmultitexturecontrol/osgmultitexturecontrol.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgmultitexturecontrol/osgmultitexturecontrol.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -55,7 +55,7 @@ osg::NodeVisitor(osg::NodeVisitor::TRAVERSE_ALL_CHILDREN), _foundNode(0) {} - + void apply(osg::Node& node) { T* result = dynamic_cast(&node); @@ -68,18 +68,18 @@ traverse(node); } } - + T* _foundNode; }; -template -T* findTopMostNodeOfType(osg::Node* node) +template +T* findTopMostNodeOfType(R node) { if (!node) return 0; FindTopMostNodeOfTypeVisitor fnotv; node->accept(fnotv); - + return fnotv._foundNode; } @@ -87,7 +87,7 @@ class ElevationLayerBlendingCallback : public osg::NodeCallback { public: - + typedef std::vector Elevations; ElevationLayerBlendingCallback(osgFX::MultiTextureControl* mtc, const Elevations& elevations, float animationTime=4.0f): @@ -97,7 +97,7 @@ _currentElevation(0.0), _mtc(mtc), _elevations(elevations) {} - + /** Callback method called by the NodeVisitor when visiting a node.*/ virtual void operator()(osg::Node* node, osg::NodeVisitor* nv) { @@ -118,7 +118,7 @@ unsigned int index = _mtc->getNumTextureWeights()-1; for(unsigned int i=0; i<_elevations.size(); ++i) { - if (_currentElevation>_elevations[i]) + if (_currentElevation>_elevations[i]) { index = i; break; @@ -153,7 +153,7 @@ _currentElevation = nv->getViewPoint().z(); osg::CoordinateSystemNode* csn = dynamic_cast(node); - if (csn) + if (csn) { osg::EllipsoidModel* em = csn->getEllipsoidModel(); if (em) @@ -175,7 +175,7 @@ double _previousTime; float _animationTime; double _currentElevation; - + osg::observer_ptr _mtc; Elevations _elevations; }; @@ -183,17 +183,17 @@ // class to handle events with a pick class TerrainHandler : public osgGA::GUIEventHandler { -public: +public: TerrainHandler(osgTerrain::Terrain* terrain): _terrain(terrain) {} - + bool handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter& aa) { switch(ea.getEventType()) { case(osgGA::GUIEventAdapter::KEYDOWN): - { + { if (ea.getKey()=='r') { _terrain->setSampleRatio(_terrain->getSampleRatio()*0.5); @@ -220,12 +220,12 @@ } return false; - } + } default: return false; } } - + protected: ~TerrainHandler() {} @@ -240,7 +240,7 @@ arguments.getApplicationUsage()->addCommandLineOption("-v","Set the terrain vertical scale."); arguments.getApplicationUsage()->addCommandLineOption("-r","Set the terrain sample ratio."); arguments.getApplicationUsage()->addCommandLineOption("--login ","Provide authentication information for http file access."); - + // construct the viewer. osgViewer::Viewer viewer(arguments); @@ -262,7 +262,7 @@ // obtain the vertical scale float verticalScale = 1.0f; while(arguments.read("-v",verticalScale)) {} - + // obtain the sample ratio float sampleRatio = 1.0f; while(arguments.read("-r",sampleRatio)) {} @@ -322,7 +322,7 @@ while (arguments.read("-p",pathfile)) { osgGA::AnimationPathManipulator* apm = new osgGA::AnimationPathManipulator(pathfile); - if (apm || !apm->valid()) + if (apm || !apm->valid()) { num = keyswitchManipulator->getNumMatrixManipulators(); keyswitchManipulator->addMatrixManipulator( keyForAnimationPath, "Path", apm ); @@ -338,7 +338,7 @@ // set up the scene graph { // load the nodes from the commandline arguments. - osg::Node* rootnode = osgDB::readNodeFiles(arguments); + osg::ref_ptr rootnode = osgDB::readRefNodeFiles(arguments); if (!rootnode) { @@ -410,7 +410,7 @@ // add a viewport to the viewer and attach the scene graph. viewer.setSceneData( rootnode ); } - + // create the windows and run the threads. diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgmultitouch/osgmultitouch.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgmultitouch/osgmultitouch.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgmultitouch/osgmultitouch.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgmultitouch/osgmultitouch.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -52,7 +52,7 @@ // set the projection matrix camera->setProjectionMatrix(osg::Matrix::ortho2D(0,w,0,h)); - // set the view matrix + // set the view matrix camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF); camera->setViewMatrix(osg::Matrix::identity()); @@ -64,7 +64,7 @@ // we don't want the camera to grab event focus from the viewers main camera(s). camera->setAllowEventFocus(false); - + // add to this camera a subgraph to render @@ -87,7 +87,7 @@ text->setFont(timesFont); text->setPosition(position); text->setText("A simple multi-touch-example\n1 touch = rotate, \n2 touches = drag + scale, \n3 touches = home"); - } + } camera->addChild(geode); } @@ -106,49 +106,49 @@ { createTouchRepresentations(parent_group, 10); } - + private: - void createTouchRepresentations(osg::Group* parent_group, unsigned int num_objects) + void createTouchRepresentations(osg::Group* parent_group, unsigned int num_objects) { // create some geometry which is shown for every touch-point - for(unsigned int i = 0; i != num_objects; ++i) + for(unsigned int i = 0; i != num_objects; ++i) { std::ostringstream ss; - + osg::Geode* geode = new osg::Geode(); - + osg::ShapeDrawable* drawable = new osg::ShapeDrawable(new osg::Box(osg::Vec3(0,0,0), 100)); drawable->setColor(osg::Vec4(0.5, 0.5, 0.5,1)); geode->addDrawable(drawable); - + ss << "Touch " << i; - + osgText::Text* text = new osgText::Text; geode->addDrawable( text ); drawable->setDataVariance(osg::Object::DYNAMIC); _drawables.push_back(drawable); - - + + text->setFont("fonts/arial.ttf"); text->setPosition(osg::Vec3(110,0,0)); text->setText(ss.str()); _texts.push_back(text); text->setDataVariance(osg::Object::DYNAMIC); - - - + + + osg::MatrixTransform* mat = new osg::MatrixTransform(); mat->addChild(geode); mat->setNodeMask(0x0); - + _mats.push_back(mat); - + parent_group->addChild(mat); - } - + } + parent_group->getOrCreateStateSet()->setMode(GL_LIGHTING, osg::StateAttribute::OFF); } - + virtual bool handle (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &aa, osg::Object *, osg::NodeVisitor *) { if (ea.getEventType() != osgGA::GUIEventAdapter::FRAME) { @@ -162,7 +162,7 @@ } std::cout << std::endl; } - + switch(ea.getEventType()) { case osgGA::GUIEventAdapter::FRAME: @@ -171,7 +171,7 @@ _cleanupOnNextFrame = false; } break; - + case osgGA::GUIEventAdapter::PUSH: case osgGA::GUIEventAdapter::DRAG: case osgGA::GUIEventAdapter::RELEASE: @@ -179,74 +179,74 @@ // is this a multi-touch event? if (!ea.isMultiTouchEvent()) return false; - + unsigned int j(0); - + // iterate over all touch-points and update the geometry unsigned num_touch_ended(0); - + for(osgGA::GUIEventAdapter::TouchData::iterator i = ea.getTouchData()->begin(); i != ea.getTouchData()->end(); ++i, ++j) { const osgGA::GUIEventAdapter::TouchData::TouchPoint& tp = (*i); float x = ea.getTouchPointNormalizedX(j); float y = ea.getTouchPointNormalizedY(j); - + // std::cout << j << ": " << tp.x << "/" << tp.y <<" "<< x << " " << y << " " << _w << " " << _h << std::endl; - + _mats[j]->setMatrix(osg::Matrix::translate((1+x) * 0.5 * _w, (1+y) * 0.5 * _h, 0)); _mats[j]->setNodeMask(0xffff); - + std::ostringstream ss; ss << "Touch " << tp.id; _texts[j]->setText(ss.str()); - - switch (tp.phase) + + switch (tp.phase) { case osgGA::GUIEventAdapter::TOUCH_BEGAN: _drawables[j]->setColor(osg::Vec4(0,1,0,1)); break; - + case osgGA::GUIEventAdapter::TOUCH_MOVED: _drawables[j]->setColor(osg::Vec4(1,1,1,1)); break; - + case osgGA::GUIEventAdapter::TOUCH_ENDED: _drawables[j]->setColor(osg::Vec4(1,0,0,1)); ++num_touch_ended; break; - + case osgGA::GUIEventAdapter::TOUCH_STATIONERY: _drawables[j]->setColor(osg::Vec4(0.8,0.8,0.8,1)); break; - + default: break; } } - + // hide unused geometry cleanup(j); - + //check if all touches ended if ((ea.getTouchData()->getNumTouchPoints() > 0) && (ea.getTouchData()->getNumTouchPoints() == num_touch_ended)) { _cleanupOnNextFrame = true; } - + // reposition mouse-pointer aa.requestWarpPointer((ea.getWindowX() + ea.getWindowWidth()) / 2.0, (ea.getWindowY() + ea.getWindowHeight()) / 2.0); } break; - + default: break; } - + return false; } - - void cleanup(unsigned int j) + + void cleanup(unsigned int j) { for(unsigned k = j; k < _mats.size(); ++k) { _mats[k]->setNodeMask(0x0); @@ -257,7 +257,7 @@ std::vector _mats; std::vector _texts; bool _cleanupOnNextFrame; - + float _w, _h; }; @@ -267,7 +267,7 @@ { // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - + unsigned int helpType = 0; if ((helpType = arguments.readHelpType())) @@ -284,12 +284,12 @@ } // read the scene from the list of file specified commandline args. - osg::ref_ptr scene = osgDB::readNodeFiles(arguments); - + osg::ref_ptr scene = osgDB::readRefNodeFiles(arguments); + // if not loaded assume no arguments passed in, try use default model instead. - if (!scene) scene = osgDB::readNodeFile("dumptruck.osgt"); - - if (!scene) + if (!scene) scene = osgDB::readRefNodeFile("dumptruck.osgt"); + + if (!scene) { osg::Geode* geode = new osg::Geode(); osg::ShapeDrawable* drawable = new osg::ShapeDrawable(new osg::Box(osg::Vec3(0,0,0), 100)); @@ -301,43 +301,43 @@ // construct the viewer. osgViewer::Viewer viewer(arguments); - - + + //opening devices std::string device; while(arguments.read("--device", device)) { - osg::ref_ptr dev = osgDB::readFile(device); + osg::ref_ptr dev = osgDB::readRefFile(device); if (dev.valid()) { - viewer.addDevice(dev.get()); + viewer.addDevice(dev); } } - - + + osg::ref_ptr group = new osg::Group; - // add the HUD subgraph. - if (scene.valid()) group->addChild(scene.get()); - + // add the HUD subgraph. + if (scene) group->addChild(scene); + viewer.setCameraManipulator(new osgGA::MultiTouchTrackballManipulator()); viewer.realize(); - + osg::GraphicsContext* gc = viewer.getCamera()->getGraphicsContext(); - + #ifdef __APPLE__ // as multitouch is disabled by default, enable it now osgViewer::GraphicsWindowCocoa* win = dynamic_cast(gc); if (win) win->setMultiTouchEnabled(true); #endif - + std::cout << "creating hud with " << gc->getTraits()->width << "x" << gc->getTraits()->height << std::endl; osg::Camera* hud_camera = createHUD(gc->getTraits()->width, gc->getTraits()->height); - - + + viewer.addEventHandler(new TestMultiTouchEventHandler(hud_camera, gc->getTraits()->width, gc->getTraits()->height)); - - + + group->addChild(hud_camera); // set the scene to render @@ -345,5 +345,5 @@ return viewer.run(); - + } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgmultiviewpaging/osgmultiviewpaging.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgmultiviewpaging/osgmultiviewpaging.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgmultiviewpaging/osgmultiviewpaging.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgmultiviewpaging/osgmultiviewpaging.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -64,11 +64,11 @@ osg::ArgumentParser arguments(&argc,argv); // read the scene from the list of file specified commandline args. - osg::ref_ptr scene = osgDB::readNodeFiles(arguments); + osg::ref_ptr scene = osgDB::readRefNodeFiles(arguments); if (!scene) { - scene = osgDB::readNodeFile("http://www.openscenegraph.org/data/earth_bayarea/earth.ive"); + scene = osgDB::readRefNodeFile("http://www.openscenegraph.org/data/earth_bayarea/earth.ive"); } if (!scene) @@ -123,7 +123,7 @@ view->setName("View one"); viewer.addView(view); - view->setSceneData(scene.get()); + view->setSceneData(scene); view->getCamera()->setName("Cam one"); view->getCamera()->setViewport(new osg::Viewport(0,0, traits->width/2, traits->height/2)); view->getCamera()->setGraphicsContext(gc.get()); @@ -148,7 +148,7 @@ view->setName("View two"); viewer.addView(view); - view->setSceneData(scene.get()); + view->setSceneData(scene); view->getCamera()->setName("Cam two"); view->getCamera()->setViewport(new osg::Viewport(traits->width/2,0, traits->width/2, traits->height/2)); view->getCamera()->setGraphicsContext(gc.get()); @@ -162,7 +162,7 @@ view->setName("View three"); viewer.addView(view); - view->setSceneData(scene.get()); + view->setSceneData(scene); view->getCamera()->setName("Cam three"); view->getCamera()->setProjectionMatrixAsPerspective(30.0, double(traits->width) / double(traits->height/2), 1.0, 1000.0); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgoccluder/osgoccluder.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgoccluder/osgoccluder.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgoccluder/osgoccluder.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgoccluder/osgoccluder.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -311,10 +311,10 @@ } // load the nodes from the commandline arguments. - osg::Node* loadedmodel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedmodel = osgDB::readRefNodeFiles(arguments); // if not loaded assume no arguments passed in, try using default mode instead. - if (!loadedmodel) loadedmodel = osgDB::readNodeFile("glider.osgt"); + if (!loadedmodel) loadedmodel = osgDB::readRefNodeFile("glider.osgt"); if (!loadedmodel) { @@ -336,12 +336,12 @@ } else { - rootnode = createOccludersAroundModel(loadedmodel); + rootnode = createOccludersAroundModel(loadedmodel.get()); } // add a viewport to the viewer and attach the scene graph. - viewer.setSceneData( rootnode.get() ); + viewer.setSceneData( rootnode ); return viewer.run(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgocclusionquery/osgocclusionquery.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgocclusionquery/osgocclusionquery.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgocclusionquery/osgocclusionquery.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgocclusionquery/osgocclusionquery.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -749,8 +749,8 @@ if (arguments.argc()>1) { - root = osgDB::readNodeFiles( arguments ); - if (root.valid()) + root = osgDB::readRefNodeFiles( arguments ); + if (root) { // Run a NodeVisitor to insert OcclusionQueryNodes in the scene graph. OcclusionQueryVisitor oqv; @@ -787,10 +787,10 @@ if (optimize) { osgUtil::Optimizer optimizer; - optimizer.optimize( root.get() ); + optimizer.optimize( root ); } - viewer.setSceneData( root.get() ); + viewer.setSceneData( root ); KeyHandler* kh = new KeyHandler( *root ); viewer.addEventHandler( kh ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgoit/osgoit.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgoit/osgoit.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgoit/osgoit.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgoit/osgoit.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -55,23 +55,23 @@ osg::DisplaySettings* displaySettings = new osg::DisplaySettings; viewer.setDisplaySettings(displaySettings); - + // Add the stats handler viewer.addEventHandler(new osgViewer::StatsHandler); - + // add the help handler viewer.addEventHandler(new osgViewer::HelpHandler(arguments.getApplicationUsage())); // any option left unread are converted into errors to write out later. arguments.reportRemainingOptionsAsUnrecognized(); - + // read the dump truck, we will need it twice - osg::ref_ptr dt = osgDB::readNodeFile("dumptruck.osg"); + osg::ref_ptr dt = osgDB::readRefNodeFile("dumptruck.osg"); // display a solid version of the dump truck osg::ref_ptr solidModel = new osg::PositionAttitudeTransform; solidModel->setPosition(osg::Vec3f(7.0f, -2.0f, 7.0f)); - solidModel->addChild(dt.get()); + solidModel->addChild(dt); // generate the 3D heatmap surface to display osg::ref_ptr hm = new Heatmap(30, 30, 10, 30, 30, 1.0, 0.25); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgoscdevice/osgoscdevice.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgoscdevice/osgoscdevice.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgoscdevice/osgoscdevice.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgoscdevice/osgoscdevice.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -200,7 +200,7 @@ bool UserEventHandler::handle(osgGA::Event* event, osg::Object* object, osg::NodeVisitor* nv) { - + OSG_ALWAYS << "handle user-event: " << event->getName() << std::endl; if (event->getName() == "/pick-result") @@ -215,7 +215,7 @@ ss << "x: " << y << " y: " << y << std::endl; _text->setText(ss.str()); - + return true; } else if(event->getName() == "/osgga") @@ -231,7 +231,7 @@ if (win) win->setWindowRectangle(rect[2] + 10 + rect[0], rect[1], rect[2], rect[3]); } - + return true; } else { @@ -251,7 +251,7 @@ } return true; } - + return false; } @@ -377,8 +377,8 @@ std::ostringstream ss ; ss << host << ":" << port << ".sender.osc"; - _device = osgDB::readFile(ss.str()); - + _device = osgDB::readRefFile(ss.str()); + osgGA::EventVisitor* ev = dynamic_cast(nv); osgViewer::View* view = ev ? dynamic_cast(ev->getActionAdapter()) : NULL; if (view) @@ -403,14 +403,14 @@ // read the scene from the list of file specified commandline args. - osg::ref_ptr scene = osgDB::readNodeFiles(arguments); + osg::ref_ptr scene = osgDB::readRefNodeFiles(arguments); if (!scene) { osg::Geode* geode = new osg::Geode(); osg::ShapeDrawable* drawable = new osg::ShapeDrawable(new osg::Box()); geode->addDrawable(drawable); - + scene = geode; } @@ -463,15 +463,15 @@ view->addEventHandler( new osgViewer::StatsHandler ); view->addEventHandler( new UserEventHandler(text) ); - osg::ref_ptr device = osgDB::readFile("0.0.0.0:9000.receiver.osc"); + osg::ref_ptr device = osgDB::readRefFile("0.0.0.0:9000.receiver.osc"); if (device.valid() && (device->getCapabilities() & osgGA::Device::RECEIVE_EVENTS)) { - view->addDevice(device.get()); + view->addDevice(device); // add a zeroconf device, advertising the osc-device if(use_zeroconf) { - osgGA::Device* zeroconf_device = osgDB::readFile("_osc._udp:9000.advertise.zeroconf"); + osg::ref_ptr zeroconf_device = osgDB::readRefFile("_osc._udp:9000.advertise.zeroconf"); if (zeroconf_device) { view->addDevice(zeroconf_device); @@ -496,8 +496,8 @@ traits->windowName = "Sender / view one"; osg::ref_ptr gc = osg::GraphicsContext::createGraphicsContext(traits.get()); - - + + #ifdef __APPLE__ // as multitouch is disabled by default, enable it now osgViewer::GraphicsWindowCocoa* win = dynamic_cast(gc.get()); @@ -527,7 +527,7 @@ if (use_zeroconf) { - osgGA::Device* zeroconf_device = osgDB::readFile("_osc._udp.discover.zeroconf"); + osg::ref_ptr zeroconf_device = osgDB::readRefFile("_osc._udp.discover.zeroconf"); if(zeroconf_device) { view->addDevice(zeroconf_device); view->getEventHandlers().push_front(new OscServiceDiscoveredEventHandler()); @@ -536,7 +536,7 @@ } else { - osg::ref_ptr device = osgDB::readFile("localhost:9000.sender.osc"); + osg::ref_ptr device = osgDB::readRefFile("localhost:9000.sender.osc"); if (device.valid() && (device->getCapabilities() & osgGA::Device::SEND_EVENTS)) { // add as first event handler, so it gets ALL events ... diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgoutline/osgoutline.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgoutline/osgoutline.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgoutline/osgoutline.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgoutline/osgoutline.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -25,7 +25,7 @@ // load outlined object std::string modelFilename = arguments.argc() > 1 ? arguments[1] : "dumptruck.osgt"; - osg::ref_ptr outlineModel = osgDB::readNodeFile(modelFilename); + osg::ref_ptr outlineModel = osgDB::readRefNodeFile(modelFilename); if (!outlineModel) { osg::notify(osg::FATAL) << "Unable to load model '" << modelFilename << "'\n"; @@ -38,18 +38,18 @@ { // create outline effect osg::ref_ptr outline = new osgFX::Outline; - root->addChild(outline.get()); + root->addChild(outline); outline->setWidth(8); outline->setColor(osg::Vec4(1,1,0,1)); - outline->addChild(outlineModel.get()); + outline->addChild(outlineModel); } if (testOcclusion) { // load occluder std::string occludedModelFilename = "cow.osgt"; - osg::ref_ptr occludedModel = osgDB::readNodeFile(occludedModelFilename); + osg::ref_ptr occludedModel = osgDB::readRefNodeFile(occludedModelFilename); if (!occludedModel) { osg::notify(osg::FATAL) << "Unable to load model '" << occludedModelFilename << "'\n"; @@ -63,14 +63,14 @@ // occluder behind outlined model osg::ref_ptr modelTransform0 = new osg::PositionAttitudeTransform; modelTransform0->setPosition(bsphere.center() + occluderOffset); - modelTransform0->addChild(occludedModel.get()); - root->addChild(modelTransform0.get()); + modelTransform0->addChild(occludedModel); + root->addChild(modelTransform0); // occluder in front of outlined model osg::ref_ptr modelTransform1 = new osg::PositionAttitudeTransform; modelTransform1->setPosition(bsphere.center() - occluderOffset); - modelTransform1->addChild(occludedModel.get()); - root->addChild(modelTransform1.get()); + modelTransform1->addChild(occludedModel); + root->addChild(modelTransform1); } // must have stencil buffer... @@ -78,7 +78,7 @@ // construct the viewer osgViewer::Viewer viewer; - viewer.setSceneData(root.get()); + viewer.setSceneData(root); // must clear stencil buffer... unsigned int clearMask = viewer.getCamera()->getClearMask(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgpagedlod/osgpagedlod.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgpagedlod/osgpagedlod.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgpagedlod/osgpagedlod.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgpagedlod/osgpagedlod.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -43,17 +43,17 @@ _count(0) { } - + virtual void apply(osg::Node& node) { std::ostringstream os; os << node.className() << "_"<<_count++; node.setName(os.str()); - + traverse(node); - } - + } + unsigned int _count; }; @@ -64,7 +64,7 @@ osg::NodeVisitor(osg::NodeVisitor::TRAVERSE_ALL_CHILDREN) { } - + virtual void apply(osg::PagedLOD& plod) { std::cout<<"PagedLOD "< lod = const_cast(itr->get()); - + if (lod->getNumParents()==0) { osg::notify(osg::NOTICE)<<"Warning can't operator on root node."<getRangeList(); typedef std::multimap< osg::LOD::MinMaxPair , unsigned int > MinMaxPairMap; MinMaxPairMap rangeMap; @@ -166,7 +166,7 @@ { rangeMap.insert(std::multimap< osg::LOD::MinMaxPair , unsigned int >::value_type(*ritr, pos)); } - + pos = 0; for(MinMaxPairMap::reverse_iterator mitr = rangeMap.rbegin(); mitr != rangeMap.rend(); @@ -181,11 +181,11 @@ std::string filename = _basename; std::ostringstream os; os << _basename << "_"<addChild(lod->getChild(mitr->second), mitr->first.first, mitr->first.second, os.str()); } } - + osg::Node::ParentList parents = lod->getParents(); for(osg::Node::ParentList::iterator pitr=parents.begin(); pitr!=parents.end(); @@ -195,12 +195,12 @@ } plod->setCenter(plod->getBound().center()); - + } } - + typedef std::set< osg::ref_ptr > LODSet; LODSet _lodSet; std::string _basename; @@ -214,7 +214,7 @@ // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - + // set up the usage document, in case we need to print out how to use this program. arguments.getApplicationUsage()->setApplicationName(arguments.getApplicationName()); arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" creates a hierarchy of files for paging which can be later loaded by viewers."); @@ -232,8 +232,8 @@ std::string outputfile("output.ive"); while (arguments.read("-o",outputfile)) {} - - + + bool makeAllChildrenPaged = false; while (arguments.read("--makeAllChildrenPaged")) { makeAllChildrenPaged = true; } @@ -246,7 +246,7 @@ arguments.writeErrorMessages(std::cout); return 1; } - + // if (arguments.argc()<=1) // { // arguments.getApplicationUsage()->write(std::cout,osg::ApplicationUsage::COMMAND_LINE_OPTION); @@ -254,21 +254,21 @@ // } - osg::ref_ptr model = osgDB::readNodeFiles(arguments); - + osg::ref_ptr model = osgDB::readRefNodeFiles(arguments); + if (!model) { osg::notify(osg::NOTICE)<<"No model loaded."<accept(converter); converter.convert(); - + NameVistor nameNodes; model->accept(nameNodes); @@ -278,7 +278,7 @@ if (model.valid()) { osgDB::writeNodeFile(*model,outputfile); - + WriteOutPagedLODSubgraphsVistor woplsv; model->accept(woplsv); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgparametric/osgparametric.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgparametric/osgparametric.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgparametric/osgparametric.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgparametric/osgparametric.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -40,7 +40,7 @@ /////////////////////////////////////////////////////////////////// // vertex shader using just Vec4 coefficients -char vertexShaderSource_simple[] = +char vertexShaderSource_simple[] = "uniform vec4 coeff; \n" "\n" "void main(void) \n" @@ -52,11 +52,11 @@ " gl_Vertex.y*coeff[2] + gl_Vertex.y*gl_Vertex.y* coeff[3]; \n" " gl_Position = gl_ModelViewProjectionMatrix * vert;\n" "}\n"; - - + + ////////////////////////////////////////////////////////////////// // vertex shader using full Matrix4 coefficients -char vertexShaderSource_matrix[] = +char vertexShaderSource_matrix[] = "uniform vec4 origin; \n" "uniform mat4 coeffMatrix; \n" "\n" @@ -70,7 +70,7 @@ ////////////////////////////////////////////////////////////////// // vertex shader using texture read -char vertexShaderSource_texture[] = +char vertexShaderSource_texture[] = "uniform sampler2D vertexTexture; \n" "\n" "void main(void) \n" @@ -86,7 +86,7 @@ ////////////////////////////////////////////////////////////////// // fragment shader // -char fragmentShaderSource[] = +char fragmentShaderSource[] = "uniform sampler2D baseTexture; \n" "\n" "void main(void) \n" @@ -109,17 +109,17 @@ osg::Node* createModel(const std::string& shader, const std::string& textureFileName, const std::string& terrainFileName, bool dynamic, bool useVBO) { osg::Geode* geode = new osg::Geode; - + osg::Geometry* geom = new osg::Geometry; geode->addDrawable(geom); - + // dimensions for ~one million triangles :-) unsigned int num_x = 708; unsigned int num_y = 708; // set up state { - + osg::StateSet* stateset = geom->getOrCreateStateSet(); osg::Program* program = new osg::Program; @@ -131,7 +131,7 @@ program->addShader(vertex_shader); osg::Uniform* coeff = new osg::Uniform("coeff",osg::Vec4(1.0,-1.0f,-1.0f,1.0f)); - + stateset->addUniform(coeff); if (dynamic) @@ -140,7 +140,7 @@ coeff->setDataVariance(osg::Object::DYNAMIC); stateset->setDataVariance(osg::Object::DYNAMIC); } - + } else if (shader=="matrix") { @@ -163,7 +163,7 @@ osg::Shader* vertex_shader = new osg::Shader(osg::Shader::VERTEX, vertexShaderSource_texture); program->addShader(vertex_shader); - osg::Image* image = 0; + osg::ref_ptr image; if (terrainFileName.empty()) { @@ -184,7 +184,7 @@ } else { - image = osgDB::readImageFile(terrainFileName); + image = osgDB::readRefImageFile(terrainFileName); num_x = image->s(); num_y = image->t(); @@ -206,7 +206,7 @@ osg::Shader* fragment_shader = new osg::Shader(osg::Shader::FRAGMENT, fragmentShaderSource); program->addShader(fragment_shader); - osg::Texture2D* texture = new osg::Texture2D(osgDB::readImageFile(textureFileName)); + osg::Texture2D* texture = new osg::Texture2D(osgDB::readRefImageFile(textureFileName)); stateset->setTextureAttributeAndModes(0,texture); osg::Uniform* baseTextureSampler = new osg::Uniform("baseTexture",0); @@ -218,11 +218,11 @@ // set up geometry data. osg::Vec3Array* vertices = new osg::Vec3Array( num_x * num_y ); - + float dx = 1.0f/(float)(num_x-1); float dy = 1.0f/(float)(num_y-1); osg::Vec3 row(0.0f,0.0f,0.0); - + unsigned int vert_no = 0; unsigned int iy; for(iy=0; iysetVertexBufferObject(vbo); - + osg::ElementBufferObject* ebo = useVBO ? new osg::ElementBufferObject : 0; for(iy=0; iyaddPrimitiveSet(elements); - + geom->addPrimitiveSet(elements); + if (ebo) elements->setElementBufferObject(ebo); } - + geom->setUseVertexBufferObjects(useVBO); return geode; @@ -272,7 +272,7 @@ arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrate support for ARB_vertex_program."); arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] filename ..."); arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information"); - + // construct the viewer. osgViewer::Viewer viewer; @@ -281,7 +281,7 @@ std::string shader("simple"); while(arguments.read("-s",shader)) {} - + std::string textureFileName("Images/lz.rgb"); while(arguments.read("-t",textureFileName)) {} @@ -300,14 +300,14 @@ arguments.getApplicationUsage()->write(std::cout); return 1; } - + // load the nodes from the commandline arguments. osg::Node* model = createModel(shader,textureFileName,terrainFileName, dynamic, vbo); if (!model) { return 1; } - + viewer.setSceneData(model); return viewer.run(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgparticleeffects/osgparticleeffects.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgparticleeffects/osgparticleeffects.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgparticleeffects/osgparticleeffects.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgparticleeffects/osgparticleeffects.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -77,9 +77,9 @@ osg::AnimationPath* animationPath = createAnimationPath(center,radius,animationLength); - osg::Group* model = new osg::Group; + osg::ref_ptr model = new osg::Group; - osg::Node* glider = osgDB::readNodeFile("glider.osgt"); + osg::ref_ptr glider = osgDB::readRefNodeFile("glider.osgt"); if (glider) { const osg::BoundingSphere& bs = glider->getBound(); @@ -102,7 +102,7 @@ model->addChild(xform); } - osg::Node* cessna = osgDB::readNodeFile("cessna.osgt"); + osg::ref_ptr cessna = osgDB::readRefNodeFile("cessna.osgt"); if (cessna) { const osg::BoundingSphere& bs = cessna->getBound(); @@ -126,7 +126,7 @@ model->addChild(xform); } - return model; + return model.release(); } @@ -162,8 +162,8 @@ osg::Geode* terrainGeode = new osg::Geode; // create terrain { - osg::StateSet* stateset = new osg::StateSet(); - osg::Image* image = osgDB::readImageFile("Images/lz.rgb"); + osg::ref_ptr stateset = new osg::StateSet(); + osg::ref_ptr image = osgDB::readRefImageFile("Images/lz.rgb"); if (image) { osg::Texture2D* texture = new osg::Texture2D; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgphotoalbum/ImageReaderWriter.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgphotoalbum/ImageReaderWriter.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgphotoalbum/ImageReaderWriter.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgphotoalbum/ImageReaderWriter.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -75,21 +75,20 @@ return myReference; } -osg::Image* ImageReaderWriter::readImage_Archive(DataReference& dr, float& s,float& t) +osg::ref_ptr ImageReaderWriter::readImage_Archive(DataReference& dr, float& s,float& t) { for(PhotoArchiveList::iterator itr=_photoArchiveList.begin(); itr!=_photoArchiveList.end(); ++itr) { - osg::Image* image = (*itr)->readImage(dr._fileName,dr._resolutionX,dr._resolutionY,s,t); + osg::ref_ptr image = (*itr)->readImage(dr._fileName,dr._resolutionX,dr._resolutionY,s,t); if (image) return image; } return 0; } -osg::Image* ImageReaderWriter::readImage_DynamicSampling(DataReference& dr, float& s,float& t) +osg::ref_ptr ImageReaderWriter::readImage_DynamicSampling(DataReference& dr, float& s,float& t) { - // record previous options. osg::ref_ptr previousOptions = osgDB::Registry::instance()->getOptions(); @@ -99,7 +98,7 @@ osgDB::Registry::instance()->setOptions(options.get()); - osg::Image* image = osgDB::readImageFile(dr._fileName); + osg::ref_ptr image = osgDB::readRefImageFile(dr._fileName); // restore previous options. osgDB::Registry::instance()->setOptions(previousOptions.get()); @@ -119,7 +118,7 @@ DataReference& dr = itr->second; - osg::Image* image = 0; + osg::ref_ptr image; float s=1.0f,t=1.0f; // try to load photo from any loaded PhotoArchives diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgphotoalbum/ImageReaderWriter.h openscenegraph-3.4-3.4.1+dfsg1/examples/osgphotoalbum/ImageReaderWriter.h --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgphotoalbum/ImageReaderWriter.h 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgphotoalbum/ImageReaderWriter.h 2017-08-28 16:50:49.000000000 +0000 @@ -1,4 +1,4 @@ -/* -*-c++-*- +/* -*-c++-*- * * OpenSceneGraph example, osgphotoalbum. * @@ -30,14 +30,14 @@ #include "PhotoArchive.h" -#define SERIALIZER() OpenThreads::ScopedLock lock(_serializerMutex) +#define SERIALIZER() OpenThreads::ScopedLock lock(_serializerMutex) class ImageReaderWriter : public osgDB::ReaderWriter { public: - + ImageReaderWriter(); - + virtual const char* className() const { return "ImageReader"; } void addPhotoArchive(PhotoArchive* archive) { _photoArchiveList.push_back(archive); } @@ -54,7 +54,7 @@ return const_cast(this)->local_readNode(fileName, options); } - + protected: std::string local_insertReference(const std::string& fileName, unsigned int res, float width, float height, bool backPage); @@ -73,16 +73,16 @@ unsigned int _resolutionX; unsigned int _resolutionY; osg::Vec3 _center; - osg::Vec3 _maximumWidth; + osg::Vec3 _maximumWidth; osg::Vec3 _maximumHeight; - unsigned int _numPointsAcross; + unsigned int _numPointsAcross; unsigned int _numPointsUp; bool _backPage; }; - - osg::Image* readImage_Archive(DataReference& dr, float& s,float& t); - - osg::Image* readImage_DynamicSampling(DataReference& dr, float& s,float& t); + + osg::ref_ptr readImage_Archive(DataReference& dr, float& s,float& t); + + osg::ref_ptr readImage_DynamicSampling(DataReference& dr, float& s,float& t); typedef std::map< std::string,DataReference > DataReferenceMap; typedef std::vector< osg::ref_ptr > PhotoArchiveList; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgphotoalbum/PhotoArchive.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgphotoalbum/PhotoArchive.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgphotoalbum/PhotoArchive.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgphotoalbum/PhotoArchive.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -38,7 +38,7 @@ bool PhotoArchive::readPhotoIndex(const std::string& filename) { osgDB::ifstream in(filename.c_str()); - + char* fileIndentifier = new char [FILE_IDENTIFER.size()]; in.read(fileIndentifier,FILE_IDENTIFER.size()); if (FILE_IDENTIFER!=fileIndentifier) @@ -47,17 +47,17 @@ return false; } delete [] fileIndentifier; - + unsigned int numPhotos; in.read((char*)&numPhotos,sizeof(numPhotos)); _photoIndex.resize(numPhotos); in.read((char*)&_photoIndex.front(),sizeof(PhotoHeader)*numPhotos); - + // success record filename. _archiveFileName = filename; - + return true; } @@ -69,10 +69,10 @@ { filenameList.push_back(std::string(itr->filename)); } - + } -osg::Image* PhotoArchive::readImage(const std::string& filename, +osg::ref_ptr PhotoArchive::readImage(const std::string& filename, unsigned int target_s, unsigned target_t, float& original_s, float& original_t) { @@ -83,56 +83,56 @@ if (filename==itr->filename) { const PhotoHeader& photoHeader = *itr; - + if (target_s <= photoHeader.thumbnail_s && target_t <= photoHeader.thumbnail_t && photoHeader.thumbnail_position != 0) { osgDB::ifstream in(_archiveFileName.c_str(),std::ios::in | std::ios::binary); - + // find image in.seekg(photoHeader.thumbnail_position); - + // read image header ImageHeader imageHeader; in.read((char*)&imageHeader,sizeof(ImageHeader)); unsigned char* data = new unsigned char[imageHeader.size]; in.read((char*)data,imageHeader.size); - - osg::Image* image = new osg::Image; + + osg::ref_ptr image = new osg::Image; image->setImage(photoHeader.thumbnail_s,photoHeader.thumbnail_t,1, imageHeader.pixelFormat,imageHeader.pixelFormat,imageHeader.type, data,osg::Image::USE_NEW_DELETE); - + original_s = photoHeader.original_s; original_t = photoHeader.original_t; - + return image; } - + if (photoHeader.fullsize_s && photoHeader.fullsize_t && photoHeader.fullsize_position != 0) { osgDB::ifstream in(_archiveFileName.c_str(),std::ios::in | std::ios::binary); - + // find image in.seekg(photoHeader.fullsize_position); - + // read image header ImageHeader imageHeader; in.read((char*)&imageHeader,sizeof(ImageHeader)); unsigned char* data = new unsigned char[imageHeader.size]; in.read((char*)data,imageHeader.size); - - osg::Image* image = new osg::Image; + + osg::ref_ptr image = new osg::Image; image->setImage(photoHeader.fullsize_s,photoHeader.fullsize_t,1, imageHeader.pixelFormat,imageHeader.pixelFormat,imageHeader.type, data,osg::Image::USE_NEW_DELETE); - + original_s = photoHeader.original_s; original_t = photoHeader.original_t; - + return image; } @@ -152,21 +152,21 @@ ++fitr) { PhotoHeader header; - + // set name strncpy(header.filename,fitr->c_str(),255); header.filename[255]=0; - + header.thumbnail_s = thumbnailSize; header.thumbnail_t = thumbnailSize; header.thumbnail_position = 0; - + header.fullsize_s = thumbnailSize; header.fullsize_t = thumbnailSize; header.fullsize_position = 0; photoIndex.push_back(header); - + } std::cout<<"Building photo archive containing "< image = osgDB::readImageFile(photoHeader.filename); - + + osg::ref_ptr image = osgDB::readRefImageFile(photoHeader.filename); + std::cout<<"done."<< std::endl; - + photoHeader.original_s = image->s(); photoHeader.original_t = image->t(); @@ -207,7 +207,7 @@ std::cout<<" creating thumbnail image..."; // first need to rescale image to the require thumbnail size - unsigned int newTotalSize = + unsigned int newTotalSize = image->computeRowWidthInBytes(thumbnailSize,image->getPixelFormat(),image->getDataType(),image->getPacking())* thumbnailSize; @@ -241,7 +241,7 @@ osg::notify(osg::WARN) << "Error scaleImage() did not succeed : errorString = "<computeRowWidthInBytes(photoHeader.fullsize_s,image->getPixelFormat(),image->getDataType(),image->getPacking())* photoHeader.fullsize_t; @@ -326,7 +326,7 @@ std::cout<<"done."<< std::endl; } - + } // rewrite photo index now it has the correct sizes set diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgphotoalbum/PhotoArchive.h openscenegraph-3.4-3.4.1+dfsg1/examples/osgphotoalbum/PhotoArchive.h --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgphotoalbum/PhotoArchive.h 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgphotoalbum/PhotoArchive.h 2017-08-28 16:50:49.000000000 +0000 @@ -1,4 +1,4 @@ -/* -*-c++-*- +/* -*-c++-*- * * OpenSceneGraph example, osgphotoalbum. * @@ -35,19 +35,19 @@ } typedef std::vector FileNameList; - + bool empty() { return _photoIndex.empty(); } void getImageFileNameList(FileNameList& filenameList); - + static void buildArchive(const std::string& filename, const FileNameList& imageList, unsigned int thumbnailSize=256, unsigned int maximumSize=1024, bool compressed=true); - osg::Image* readImage(const std::string& filename, + osg::ref_ptr readImage(const std::string& filename, unsigned int target_s, unsigned target_t, float& original_s, float& original_t); - - - + + + protected: PhotoArchive(const std::string& filename); @@ -55,7 +55,7 @@ virtual ~PhotoArchive() {} bool readPhotoIndex(const std::string& filename); - + struct PhotoHeader { PhotoHeader(): @@ -70,7 +70,7 @@ { filename[0]='\0'; } - + char filename[256]; unsigned int original_s; unsigned int original_t; @@ -84,7 +84,7 @@ unsigned int fullsize_position; }; - + struct ImageHeader { ImageHeader(): @@ -94,7 +94,7 @@ pixelFormat(0), type(0), size(0) {} - + unsigned int s; unsigned int t; GLint internalTextureformat; @@ -107,7 +107,7 @@ typedef std::vector PhotoIndexList; std::string _archiveFileName; - PhotoIndexList _photoIndex; + PhotoIndexList _photoIndex; }; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgpick/osgpick.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgpick/osgpick.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgpick/osgpick.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgpick/osgpick.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -239,7 +239,7 @@ osg::ArgumentParser arguments(&argc,argv); // read the scene from the list of file specified commandline args. - osg::ref_ptr scene = osgDB::readNodeFiles(arguments); + osg::ref_ptr scene = osgDB::readRefNodeFiles(arguments); if (!scene && arguments.read("--relative-camera-scene")) { @@ -271,7 +271,7 @@ } // if not loaded assume no arguments passed in, try use default mode instead. - if (!scene) scene = osgDB::readNodeFile("fountain.osgt"); + if (!scene) scene = osgDB::readRefNodeFile("fountain.osgt"); osg::ref_ptr group = dynamic_cast(scene.get()); if (!group) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgplanets/osgplanets.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgplanets/osgplanets.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgplanets/osgplanets.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgplanets/osgplanets.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -366,7 +366,7 @@ if( !textureName.empty() ) { - osg::Image* image = osgDB::readImageFile( textureName ); + osg::ref_ptr image = osgDB::readRefImageFile( textureName ); if ( image ) { sSpaceSphere->getOrCreateStateSet()->setTextureAttributeAndModes( 0, new osg::Texture2D( image ), osg::StateAttribute::ON ); @@ -467,7 +467,7 @@ if( !textureName.empty() ) { - osg::Image* image = osgDB::readImageFile( textureName ); + osg::ref_ptr image = osgDB::readRefImageFile( textureName ); if ( image ) { osg::Texture2D* tex2d = new osg::Texture2D( image ); @@ -493,7 +493,7 @@ if( !textureName2.empty() ) { - osg::Image* image = osgDB::readImageFile( textureName2 ); + osg::ref_ptr image = osgDB::readRefImageFile( textureName2 ); if ( image ) { osg::StateSet* stateset = geodePlanet->getOrCreateStateSet(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgpoints/osgpoints.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgpoints/osgpoints.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgpoints/osgpoints.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgpoints/osgpoints.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -31,7 +31,7 @@ class KeyboardEventHandler : public osgGA::GUIEventHandler { public: - + KeyboardEventHandler(osg::StateSet* stateset): _stateset(stateset) { @@ -39,7 +39,7 @@ _point->setDistanceAttenuation(osg::Vec3(0.0,0.0000,0.05f)); _stateset->setAttribute(_point.get()); } - + virtual bool handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter&) { switch(ea.getEventType()) @@ -73,13 +73,13 @@ } return false; } - - + + float getPointSize() const { return _point->getSize(); } - + void setPointSize(float psize) { if (psize>0.0) @@ -98,10 +98,10 @@ { _point->setDistanceAttenuation(_point->getDistanceAttenuation()*scale); } - + osg::ref_ptr _stateset; osg::ref_ptr _point; - + }; int main( int argc, char **argv ) @@ -109,7 +109,7 @@ // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - + // set up the usage document, in case we need to print out how to use this program. arguments.getApplicationUsage()->setApplicationName(arguments.getApplicationName()); arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" example provides an interactive viewer for visualising point clouds.."); @@ -131,7 +131,7 @@ arguments.getApplicationUsage()->write(std::cout); return 1; } - + bool usePointSprites = false; while (arguments.read("--sprites")) { usePointSprites = true; }; @@ -145,10 +145,10 @@ } // read the scene from the list of file specified commandline args. - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); // if no model has been successfully loaded report failure. - if (!loadedModel) + if (!loadedModel) { std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; return 1; @@ -161,10 +161,10 @@ // set the scene to render viewer.setSceneData(loadedModel.get()); - + osg::StateSet* stateset = loadedModel->getOrCreateStateSet(); - if (usePointSprites) + if (usePointSprites) { /// Setup cool blending osg::BlendFunc *fn = new osg::BlendFunc(); @@ -176,7 +176,7 @@ /// The texture for the sprites osg::Texture2D *tex = new osg::Texture2D(); - tex->setImage(osgDB::readImageFile("Images/particle.rgb")); + tex->setImage(osgDB::readRefImageFile("Images/particle.rgb")); stateset->setTextureAttributeAndModes(0, tex, osg::StateAttribute::ON); } @@ -187,7 +187,7 @@ osg::PolygonMode::FRONT_AND_BACK, osg::PolygonMode::POINT ); stateset->setAttributeAndModes( pm, osg::StateAttribute::ON | osg::StateAttribute::OVERRIDE); } - + // register the handler for modifying the point size viewer.addEventHandler(new KeyboardEventHandler(viewer.getCamera()->getOrCreateStateSet())); @@ -196,10 +196,10 @@ if (shader) { osg::StateSet* stateset = loadedModel->getOrCreateStateSet(); - + /////////////////////////////////////////////////////////////////// // vertex shader using just Vec4 coefficients - char vertexShaderSource[] = + char vertexShaderSource[] = "void main(void) \n" "{ \n" "\n" @@ -218,7 +218,7 @@ ////////////////////////////////////////////////////////////////// // fragment shader // - char fragmentShaderSource[] = + char fragmentShaderSource[] = "void main(void) \n" "{ \n" " gl_FragColor = gl_Color; \n" diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgpointsprite/osgpointsprite.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgpointsprite/osgpointsprite.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgpointsprite/osgpointsprite.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgpointsprite/osgpointsprite.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -86,7 +86,7 @@ /// The texture for the sprites osg::Texture2D *tex = new osg::Texture2D(); - tex->setImage(osgDB::readImageFile("Images/particle.rgb")); + tex->setImage(osgDB::readRefImageFile("Images/particle.rgb")); set->setTextureAttributeAndModes(0, tex, osg::StateAttribute::ON); return set; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgposter/osgposter.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgposter/osgposter.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgposter/osgposter.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgposter/osgposter.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -38,14 +38,14 @@ : osg::NodeVisitor(osg::NodeVisitor::TRAVERSE_ALL_CHILDREN), _foundNode(0) {} - + void apply( osg::Node& node ) { T* result = dynamic_cast( &node ); if ( result ) _foundNode = result; else traverse( node ); } - + T* _foundNode; }; @@ -53,7 +53,7 @@ T* findTopMostNodeOfType( osg::Node* node ) { if ( !node ) return 0; - + FindTopMostNodeOfTypeVisitor fnotv; node->accept( fnotv ); return fnotv._foundNode; @@ -75,31 +75,31 @@ { osg::CoordinateSystemNode* csn = findTopMostNodeOfType(scene); if ( !csn ) return; - + // Compute eye point in world coordiantes osg::Vec3d eye; csn->getEllipsoidModel()->convertLatLongHeightToXYZ( latLongHeight.x(), latLongHeight.y(), latLongHeight.z(), eye.x(), eye.y(), eye.z() ); - + // Build matrix for computing target vector osg::Matrixd target_matrix = osg::Matrixd::rotate( -hpr.x(), osg::Vec3d(1,0,0), -latLongHeight.x(), osg::Vec3d(0,1,0), latLongHeight.y(), osg::Vec3d(0,0,1) ); - + // Compute tangent vector osg::Vec3d tangent = target_matrix.preMult( osg::Vec3d(0,0,1) ); - + // Compute non-inclined, non-rolled up vector osg::Vec3d up( eye ); up.normalize(); - + // Incline by rotating the target- and up vector around the tangent/up-vector // cross-product osg::Vec3d up_cross_tangent = up ^ tangent; osg::Matrixd incline_matrix = osg::Matrixd::rotate( hpr.y(), up_cross_tangent ); osg::Vec3d target = incline_matrix.preMult( tangent ); - + // Roll by rotating the up vector around the target vector osg::Matrixd roll_matrix = incline_matrix * osg::Matrixd::rotate( hpr.z(), target ); up = roll_matrix.preMult( up ); @@ -114,7 +114,7 @@ : osgViewer::Renderer(camera), _cullOnly(true) { } - + void setCullOnly(bool on) { _cullOnly = on; } virtual void operator ()( osg::GraphicsContext* ) @@ -125,22 +125,22 @@ else cull_draw(); } } - + virtual void cull() { osgUtil::SceneView* sceneView = _sceneView[0].get(); if ( !sceneView || _done || _graphicsThreadDoesCull ) return; - + updateSceneView( sceneView ); - + osgViewer::View* view = dynamic_cast( _camera->getView() ); if ( view ) sceneView->setFusionDistance( view->getFusionDistanceMode(), view->getFusionDistanceValue() ); sceneView->inheritCullSettings( *(sceneView->getCamera()) ); sceneView->cull(); } - + bool _cullOnly; }; @@ -150,12 +150,12 @@ public: PrintPosterHandler( PosterPrinter* printer ) : _printer(printer), _started(false) {} - + bool handle( const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa ) { osgViewer::View* view = dynamic_cast( &aa ); if ( !view ) return false; - + switch( ea.getEventType() ) { case osgGA::GUIEventAdapter::FRAME: @@ -165,7 +165,7 @@ if ( view->getDatabasePager()->getRequestsInProgress() ) break; } - + if ( _printer.valid() ) { _printer->frame( view->getFrameStamp(), view->getSceneData() ); @@ -183,7 +183,7 @@ } } break; - + case osgGA::GUIEventAdapter::KEYDOWN: if ( ea.getKey()=='p' || ea.getKey()=='P' ) { @@ -196,14 +196,14 @@ root->setValue( 0, false ); root->setValue( 1, true ); } - + _printer->init( view->getCamera() ); _started = true; } return true; } break; - + default: break; } @@ -241,13 +241,13 @@ usage->addCommandLineOption( "--camera-eye ", "Set eye position in inactive mode." ); usage->addCommandLineOption( "--camera-latlongheight ", "Set eye position on earth in inactive mode." ); usage->addCommandLineOption( "--camera-hpr

", "Set eye rotation in inactive mode." ); - + if ( arguments.read("-h") || arguments.read("--help") ) { usage->write( std::cout ); return 1; } - + // Poster arguments bool activeMode = true; bool outputPoster = true; @@ -257,7 +257,7 @@ std::string posterName = "poster.bmp", extName = "bmp"; osg::Vec4 bgColor(0.2f, 0.2f, 0.6f, 1.0f); osg::Camera::RenderTargetImplementation renderImplementation = osg::Camera::FRAME_BUFFER_OBJECT; - + while ( arguments.read("--inactive") ) { activeMode = false; } while ( arguments.read("--color", bgColor.r(), bgColor.g(), bgColor.b()) ) {} while ( arguments.read("--tilesize", tileWidth, tileHeight) ) {} @@ -272,7 +272,7 @@ while ( arguments.read("--use-pbuffer")) { renderImplementation = osg::Camera::PIXEL_BUFFER; } while ( arguments.read("--use-pbuffer-rtt")) { renderImplementation = osg::Camera::PIXEL_BUFFER_RTT; } while ( arguments.read("--use-fb")) { renderImplementation = osg::Camera::FRAME_BUFFER; } - + // Camera settings for inactive screenshot bool useLatLongHeight = true; osg::Vec3d eye; @@ -296,16 +296,16 @@ hpr.y() = osg::DegreesToRadians( hpr.y() ); hpr.z() = osg::DegreesToRadians( hpr.z() ); } - + // Construct scene graph - osg::Node* scene = osgDB::readNodeFiles( arguments ); - if ( !scene ) scene = osgDB::readNodeFile( "cow.osgt" ); + osg::ref_ptr scene = osgDB::readRefNodeFiles( arguments ); + if ( !scene ) scene = osgDB::readRefNodeFile( "cow.osgt" ); if ( !scene ) { std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; return 1; } - + // Create camera for rendering tiles offscreen. FrameBuffer is recommended because it requires less memory. osg::ref_ptr camera = new osg::Camera; camera->setClearColor( bgColor ); @@ -315,13 +315,13 @@ camera->setRenderTargetImplementation( renderImplementation ); camera->setViewport( 0, 0, tileWidth, tileHeight ); camera->addChild( scene ); - + // Set the printer osg::ref_ptr printer = new PosterPrinter; printer->setTileSize( tileWidth, tileHeight ); printer->setPosterSize( posterWidth, posterHeight ); printer->setCamera( camera.get() ); - + osg::ref_ptr posterImage = 0; if ( outputPoster ) { @@ -330,7 +330,7 @@ printer->setFinalPoster( posterImage.get() ); printer->setOutputPosterName( posterName ); } - + #if 0 // While recording sub-images of the poster, the scene will always be traversed twice, from its two // parent node: root and camera. Sometimes this may not be so comfortable. @@ -345,11 +345,11 @@ root->addChild( scene ); root->addChild( camera.get() ); #endif - + osgViewer::Viewer viewer; viewer.setSceneData( root.get() ); viewer.getDatabasePager()->setDoPreCompile( false ); - + if ( renderImplementation==osg::Camera::FRAME_BUFFER ) { // FRAME_BUFFER requires the window resolution equal or greater than the to-be-copied size @@ -360,7 +360,7 @@ // We want to see the console output, so just render in a window viewer.setUpViewInWindow( 100, 100, 800, 600 ); } - + if ( activeMode ) { viewer.addEventHandler( new PrintPosterHandler(printer.get()) ); @@ -373,21 +373,21 @@ { osg::Camera* camera = viewer.getCamera(); if ( !useLatLongHeight ) computeViewMatrix( camera, eye, hpr ); - else computeViewMatrixOnEarth( camera, scene, latLongHeight, hpr ); - + else computeViewMatrixOnEarth( camera, scene.get(), latLongHeight, hpr ); + osg::ref_ptr renderer = new CustomRenderer( camera ); camera->setRenderer( renderer.get() ); viewer.setThreadingModel( osgViewer::Viewer::SingleThreaded ); - + // Realize and initiate the first PagedLOD request viewer.realize(); viewer.frame(); - + printer->init( camera ); while ( !printer->done() ) { viewer.advance(); - + // Keep updating and culling until full level of detail is reached renderer->setCullOnly( true ); while ( viewer.getDatabasePager()->getRequestsInProgress() ) @@ -395,7 +395,7 @@ viewer.updateTraversal(); viewer.renderingTraversals(); } - + renderer->setCullOnly( false ); printer->frame( viewer.getFrameStamp(), viewer.getSceneData() ); viewer.renderingTraversals(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgposter/PosterPrinter.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgposter/PosterPrinter.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgposter/PosterPrinter.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgposter/PosterPrinter.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -11,7 +11,7 @@ { virtual osg::Node* readNodeFile( const std::string& filename ) { - return osgDB::readNodeFile( filename ); + return osgDB::readRefNodeFile( filename ).release(); } }; static osg::ref_ptr g_pagedLoadingCallback = new PagedLoadingCallback; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgprecipitation/osgprecipitation.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgprecipitation/osgprecipitation.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgprecipitation/osgprecipitation.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgprecipitation/osgprecipitation.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -49,7 +49,7 @@ virtual void operator()(osg::Node* node, osg::NodeVisitor* nv) { osgParticle::PrecipitationEffect* pe = dynamic_cast(node); - + float value = sin(nv->getFrameStamp()->getSimulationTime()); if (value<-0.5) { @@ -59,7 +59,7 @@ { pe->rain(0.5); } - + traverse(node, nv); } }; @@ -70,7 +70,7 @@ // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - + // set up the usage document, in case we need to print out how to use this program. arguments.getApplicationUsage()->setApplicationName(arguments.getApplicationName()); arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" example provides an interactive viewer for visualising point clouds.."); @@ -89,7 +89,7 @@ arguments.getApplicationUsage()->addCommandLineOption("--fogDensity ","Set the fog density"); arguments.getApplicationUsage()->addCommandLineOption("--fogColour ","Set fog colour."); arguments.getApplicationUsage()->addCommandLineOption("-useFarLineSegments","Switch on the use of line segments"); - + // construct the viewer. osgViewer::Viewer viewer; @@ -108,7 +108,7 @@ while (arguments.read("-p",pathfile)) { osgGA::AnimationPathManipulator* apm = new osgGA::AnimationPathManipulator(pathfile); - if (apm || !apm->valid()) + if (apm || !apm->valid()) { unsigned int num = keyswitchManipulator->getNumMatrixManipulators(); keyswitchManipulator->addMatrixManipulator( keyForAnimationPath, "Path", apm ); @@ -135,7 +135,7 @@ osg::Vec3 wind; while (arguments.read("--wind", wind.x(), wind.y(), wind.z())) precipitationEffect->setWind(wind); - + while (arguments.read("--particleSpeed", value)) precipitationEffect->setParticleSpeed(value); while (arguments.read("--nearTransition", value )) precipitationEffect->setNearTransition(value); @@ -144,7 +144,7 @@ while (arguments.read("--particleDensity", value )) precipitationEffect->setMaximumParticleDensity(value); osg::Vec3 cellSize; - while (arguments.read("--cellSize", cellSize.x(), cellSize.y(), cellSize.z())) precipitationEffect->setCellSize(cellSize); + while (arguments.read("--cellSize", cellSize.x(), cellSize.y(), cellSize.z())) precipitationEffect->setCellSize(cellSize); double clipDistance = 0.0; while (arguments.read("--clip",clipDistance)) {} @@ -160,10 +160,10 @@ while (arguments.read("--fogDensity", value )) precipitationEffect->getFog()->setDensity(value); while (arguments.read("--fogColor", color.r(), color.g(), color.b(), color.a() )) precipitationEffect->getFog()->setColor(color); while (arguments.read("--fogColour", color.r(), color.g(), color.b(), color.a() )) precipitationEffect->getFog()->setColor(color); - + while (arguments.read("--useFarLineSegments")) { precipitationEffect->setUseFarLineSegments(true); } - + viewer.getCamera()->setClearColor( precipitationEffect->getFog()->getColor() ); @@ -173,21 +173,21 @@ arguments.getApplicationUsage()->write(std::cout); return 1; } - + // read the scene from the list of file specified commandline args. - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); - if (!loadedModel) + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); + if (!loadedModel) { std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; return 1; } - + // precipitationEffect->setUpdateCallback(new MyGustCallback); - + osg::ref_ptr group = new osg::Group; - + if (clipDistance!=0.0) - { + { osg::ref_ptr clipNode = new osg::ClipNode; clipNode->addClipPlane( new osg::ClipPlane( 0 ) ); clipNode->getClipPlane(0)->setClipPlane( 0.0, 0.0, -1.0, -clipDistance ); @@ -200,12 +200,12 @@ { group->addChild(precipitationEffect.get()); } - + group->addChild(loadedModel.get()); loadedModel->getOrCreateStateSet()->setAttributeAndModes(precipitationEffect->getFog()); - - // create the light + + // create the light osg::LightSource* lightSource = new osg::LightSource; group->addChild(lightSource); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgprerender/osgprerender.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgprerender/osgprerender.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgprerender/osgprerender.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgprerender/osgprerender.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -463,10 +463,10 @@ // load the nodes from the commandline arguments. - osg::Node* loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); // if not loaded assume no arguments passed in, try use default mode instead. - if (!loadedModel) loadedModel = osgDB::readNodeFile("cessna.osgt"); + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("cessna.osgt"); if (!loadedModel) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgreflect/osgreflect.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgreflect/osgreflect.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgreflect/osgreflect.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgreflect/osgreflect.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -63,7 +63,7 @@ dstate->setMode(GL_CULL_FACE,osg::StateAttribute::OFF|osg::StateAttribute::PROTECTED); // set up the texture. - osg::Image* image = osgDB::readImageFile(filename.c_str()); + osg::ref_ptr image = osgDB::readRefImageFile(filename.c_str()); if (image) { osg::Texture2D* texture = new osg::Texture2D; @@ -335,10 +335,10 @@ osgViewer::Viewer viewer; // read the scene from the list of file specified commandline args. - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); // if not loaded assume no arguments passed in, try use default mode instead. - if (!loadedModel) loadedModel = osgDB::readNodeFile("cessna.osgt"); + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("cessna.osgt"); // if no model has been successfully loaded report failure. if (!loadedModel) @@ -350,11 +350,11 @@ // optimize the scene graph, remove redundant nodes and state etc. osgUtil::Optimizer optimizer; - optimizer.optimize(loadedModel.get()); + optimizer.optimize(loadedModel); // add a transform with a callback to animate the loaded model. osg::ref_ptr loadedModelTransform = new osg::MatrixTransform; - loadedModelTransform->addChild(loadedModel.get()); + loadedModelTransform->addChild(loadedModel); osg::ref_ptr nc = new osg::AnimationPathCallback(loadedModelTransform->getBound().center(),osg::Vec3(0.0f,0.0f,1.0f),osg::inDegrees(45.0f)); loadedModelTransform->setUpdateCallback(nc.get()); @@ -364,7 +364,7 @@ osg::ref_ptr rootNode = createMirroredScene(loadedModelTransform.get()); // set the scene to render - viewer.setSceneData(rootNode.get()); + viewer.setSceneData(rootNode); // hint to tell viewer to request stencil buffer when setting up windows osg::DisplaySettings::instance()->setMinimumNumStencilBits(8); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgscreencapture/osgscreencapture.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgscreencapture/osgscreencapture.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgscreencapture/osgscreencapture.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgscreencapture/osgscreencapture.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -726,7 +726,7 @@ } // load the data - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); if (!loadedModel) { std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; @@ -746,9 +746,9 @@ // optimize the scene graph, remove redundant nodes and state etc. osgUtil::Optimizer optimizer; - optimizer.optimize(loadedModel.get()); + optimizer.optimize(loadedModel); - viewer.setSceneData( loadedModel.get() ); + viewer.setSceneData(loadedModel); if (pbuffer.valid()) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgscribe/osgscribe.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgscribe/osgscribe.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgscribe/osgscribe.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgscribe/osgscribe.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -40,55 +40,55 @@ osgViewer::Viewer viewer; // load the nodes from the commandline arguments. - osg::Node* loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); // if not loaded assume no arguments passed in, try use default mode instead. - if (!loadedModel) loadedModel = osgDB::readNodeFile("cow.osgt"); - + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("cow.osgt"); + if (!loadedModel) { osg::notify(osg::NOTICE)<<"Please specify a model filename on the command line."< rootnode = new osg::Group; + + osg::ref_ptr decorator = new osg::Group; + rootnode->addChild(loadedModel); - - + + rootnode->addChild(decorator); - - decorator->addChild(loadedModel); + + decorator->addChild(loadedModel); // set up the state so that the underlying color is not seen through // and that the drawing mode is changed to wireframe, and a polygon offset - // is added to ensure that we see the wireframe itself, and turn off + // is added to ensure that we see the wireframe itself, and turn off // so texturing too. - osg::StateSet* stateset = new osg::StateSet; - osg::PolygonOffset* polyoffset = new osg::PolygonOffset; + osg::ref_ptr stateset = new osg::StateSet; + osg::ref_ptr polyoffset = new osg::PolygonOffset; polyoffset->setFactor(-1.0f); polyoffset->setUnits(-1.0f); - osg::PolygonMode* polymode = new osg::PolygonMode; + osg::ref_ptr polymode = new osg::PolygonMode; polymode->setMode(osg::PolygonMode::FRONT_AND_BACK,osg::PolygonMode::LINE); stateset->setAttributeAndModes(polyoffset,osg::StateAttribute::OVERRIDE|osg::StateAttribute::ON); stateset->setAttributeAndModes(polymode,osg::StateAttribute::OVERRIDE|osg::StateAttribute::ON); #if 1 - osg::Material* material = new osg::Material; + osg::ref_ptr material = new osg::Material; stateset->setAttributeAndModes(material,osg::StateAttribute::OVERRIDE|osg::StateAttribute::ON); stateset->setMode(GL_LIGHTING,osg::StateAttribute::OVERRIDE|osg::StateAttribute::OFF); #else // version which sets the color of the wireframe. osg::Material* material = new osg::Material; material->setColorMode(osg::Material::OFF); // switch glColor usage off - // turn all lighting off + // turn all lighting off material->setAmbient(osg::Material::FRONT_AND_BACK, osg::Vec4(0.0,0.0f,0.0f,1.0f)); material->setDiffuse(osg::Material::FRONT_AND_BACK, osg::Vec4(0.0,0.0f,0.0f,1.0f)); material->setSpecular(osg::Material::FRONT_AND_BACK, osg::Vec4(0.0,0.0f,0.0f,1.0f)); @@ -99,21 +99,21 @@ #endif stateset->setTextureMode(0,GL_TEXTURE_2D,osg::StateAttribute::OVERRIDE|osg::StateAttribute::OFF); - + // osg::LineStipple* linestipple = new osg::LineStipple; // linestipple->setFactor(1); // linestipple->setPattern(0xf0f0); // stateset->setAttributeAndModes(linestipple,osg::StateAttribute::OVERRIDE_ON); - + decorator->setStateSet(stateset); - - + + // run optimization over the scene graph osgUtil::Optimizer optimzer; optimzer.optimize(rootnode); - + // add a viewport to the viewer and attach the scene graph. viewer.setSceneData( rootnode ); - + return viewer.run(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgsequence/osgsequence.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgsequence/osgsequence.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgsequence/osgsequence.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgsequence/osgsequence.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -124,7 +124,7 @@ typedef std::vector Filenames; Filenames filenames; - + if (arguments.argc() > 1) { for (int i = 1; i < arguments.argc(); ++i) @@ -139,17 +139,17 @@ filenames.push_back("cessna.osgt"); filenames.push_back("glider.osgt"); } - + for(Filenames::iterator itr = filenames.begin(); itr != filenames.end(); - ++itr) + ++itr) { // load model - osg::Node* node = osgDB::readNodeFile(*itr); + osg::ref_ptr node = osgDB::readRefNodeFile(*itr); if (node) { - seq->addChild(createScaledNode(node, 100.0f)); + seq->addChild(createScaledNode(node.get(), 100.0f)); seq->setTime(seq->getNumChildren()-1, 1.0f); } } @@ -231,7 +231,7 @@ { // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - + // construct the viewer. osgViewer::Viewer viewer; // root diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgshadercomposition/oldshadercomposition.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgshadercomposition/oldshadercomposition.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgshadercomposition/oldshadercomposition.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgshadercomposition/oldshadercomposition.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -22,7 +22,7 @@ osg::Node* createOldShaderCompositionScene(osg::ArgumentParser& arguments) { - osg::Node* node = osgDB::readNodeFiles(arguments); + osg::ref_ptr node = osgDB::readRefNodeFiles(arguments); if (!node) return 0; osg::Group* group = new osg::Group; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgshadercomposition/osgshadercomposition.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgshadercomposition/osgshadercomposition.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgshadercomposition/osgshadercomposition.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgshadercomposition/osgshadercomposition.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -25,7 +25,7 @@ osg::Node* createNewShaderCompositionScene(osg::ArgumentParser& arguments) { - osg::ref_ptr node = osgDB::readNodeFiles(arguments); + osg::ref_ptr node = osgDB::readRefNodeFiles(arguments); if (!node) return 0; osg::ref_ptr group = new osg::Group; @@ -34,21 +34,21 @@ osg::ref_ptr program = new osg::Program; stateset->setAttribute(program.get()); - osg::ref_ptr lighting_shader = osgDB::readShaderFile("shaders/lighting.vert"); + osg::ref_ptr lighting_shader = osgDB::readRefShaderFile("shaders/lighting.vert"); if (lighting_shader.valid()) { program->addShader(lighting_shader.get()); OSG_NOTICE<<"Adding lighting shader"< vertex_shader = osgDB::readShaderFile("shaders/osgshadercomposition.vert"); + osg::ref_ptr vertex_shader = osgDB::readRefShaderFile("shaders/osgshadercomposition.vert"); if (vertex_shader.valid()) { program->addShader(vertex_shader.get()); OSG_NOTICE<<"Adding vertex shader"< fragment_shader = osgDB::readShaderFile("shaders/osgshadercomposition.frag"); + osg::ref_ptr fragment_shader = osgDB::readRefShaderFile("shaders/osgshadercomposition.frag"); if (fragment_shader.valid()) { program->addShader(fragment_shader.get()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgshadergen/osgshadergen.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgshadergen/osgshadergen.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgshadergen/osgshadergen.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgshadergen/osgshadergen.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -1,9 +1,9 @@ -/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield +/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield * - * This application is open source and may be redistributed and/or modified + * This application is open source and may be redistributed and/or modified * freely and without restriction, both in commercial and non commercial applications, * as long as this copyright notice is maintained. - * + * * This application is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -70,14 +70,14 @@ arguments.getApplicationUsage()->write(std::cout, helpType); return 1; } - + // report any errors if they have occurred when parsing the program arguments. if (arguments.errors()) { arguments.writeErrorMessages(std::cout); return 1; } - + if (arguments.argc()<=1) { arguments.getApplicationUsage()->write(std::cout,osg::ApplicationUsage::COMMAND_LINE_OPTION); @@ -98,7 +98,7 @@ while (arguments.read("-p",pathfile)) { osgGA::AnimationPathManipulator* apm = new osgGA::AnimationPathManipulator(pathfile); - if (apm || !apm->valid()) + if (apm || !apm->valid()) { unsigned int num = keyswitchManipulator->getNumMatrixManipulators(); keyswitchManipulator->addMatrixManipulator( keyForAnimationPath, "Path", apm ); @@ -112,13 +112,13 @@ // add the state manipulator viewer.addEventHandler( new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet()) ); - + // add the thread model handler viewer.addEventHandler(new osgViewer::ThreadingHandler); // add the window size toggle handler viewer.addEventHandler(new osgViewer::WindowSizeHandler); - + // add the stats handler viewer.addEventHandler(new osgViewer::StatsHandler); @@ -133,7 +133,7 @@ // add the screen capture handler viewer.addEventHandler(new osgViewer::ScreenCaptureHandler); - + // Register shader generator callback ShaderGenReadFileCallback *readFileCallback = new ShaderGenReadFileCallback; // All read nodes will inherit root state set. @@ -141,8 +141,8 @@ osgDB::Registry::instance()->setReadFileCallback(readFileCallback); // load the data - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); - if (!loadedModel) + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); + if (!loadedModel) { std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; return 1; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgshaderterrain/osgshaderterrain.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgshaderterrain/osgshaderterrain.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgshaderterrain/osgshaderterrain.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgshaderterrain/osgshaderterrain.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -121,7 +121,7 @@ stateset->setTextureAttributeAndModes(0,terrainTexture,osg::StateAttribute::ON); - osg::Image* image = osgDB::readImageFile("Images/lz.rgb"); + osg::ref_ptr image = osgDB::readRefImageFile("Images/lz.rgb"); if (image) { osg::Texture2D* texture = new osg::Texture2D; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgshadow/osgshadow.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgshadow/osgshadow.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgshadow/osgshadow.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgshadow/osgshadow.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -390,7 +390,7 @@ // set up the texture of the base. osg::StateSet* stateset = new osg::StateSet(); - osg::Image* image = osgDB::readImageFile("Images/lz.rgb"); + osg::ref_ptr image = osgDB::readRefImageFile("Images/lz.rgb"); if (image) { osg::Texture2D* texture = new osg::Texture2D; @@ -451,7 +451,7 @@ osg::Group* model = new osg::Group; - osg::Node* cessna = osgDB::readNodeFile("cessna.osgt"); + osg::ref_ptr cessna = osgDB::readRefNodeFile("cessna.osgt"); if (cessna) { const osg::BoundingSphere& bs = cessna->getBound(); @@ -571,7 +571,7 @@ if (withBaseTexture) { - scene->getOrCreateStateSet()->setTextureAttributeAndModes( 0, new osg::Texture2D(osgDB::readImageFile("Images/lz.rgb")), osg::StateAttribute::ON); + scene->getOrCreateStateSet()->setTextureAttributeAndModes( 0, new osg::Texture2D(osgDB::readRefImageFile("Images/lz.rgb")), osg::StateAttribute::ON); } return scene; @@ -626,13 +626,13 @@ { // Set the ground (only receives shadow) osg::ref_ptr groundNode = new osg::MatrixTransform; - groundNode->addChild( osgDB::readNodeFile("lz.osg") ); + groundNode->addChild( osgDB::readRefNodeFile("lz.osg") ); groundNode->setMatrix( osg::Matrix::translate(200.0f, 200.0f,-200.0f) ); groundNode->setNodeMask( ReceivesShadowTraversalMask ); // Set the cessna (only casts shadow) osg::ref_ptr cessnaNode = new osg::MatrixTransform; - cessnaNode->addChild( osgDB::readNodeFile("cessna.osg.0,0,90.rot") ); + cessnaNode->addChild( osgDB::readRefNodeFile("cessna.osg.0,0,90.rot") ); cessnaNode->addUpdateCallback( createAnimationPathCallback(50.0f, 6.0f) ); cessnaNode->setNodeMask( CastsShadowTraversalMask ); @@ -1025,7 +1025,7 @@ OSG_INFO<<"shadowedScene->getShadowTechnique()="<getShadowTechnique()< model = osgDB::readNodeFiles(arguments); + osg::ref_ptr model = osgDB::readRefNodeFiles(arguments); if (model.valid()) { model->setNodeMask(CastsShadowTraversalMask | ReceivesShadowTraversalMask); @@ -1061,7 +1061,7 @@ geode->setNodeMask(shadowedScene->getReceivesShadowTraversalMask()); - geode->getOrCreateStateSet()->setTextureAttributeAndModes(0, new osg::Texture2D(osgDB::readImageFile("Images/lz.rgb"))); + geode->getOrCreateStateSet()->setTextureAttributeAndModes(0, new osg::Texture2D(osgDB::readRefImageFile("Images/lz.rgb"))); shadowedScene->addChild(geode); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgshape/osgshape.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgshape/osgshape.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgshape/osgshape.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgshape/osgshape.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -36,13 +36,13 @@ { osg::Geode* geode = new osg::Geode(); - + // --------------------------------------- // Set up a StateSet to texture the objects // --------------------------------------- osg::StateSet* stateset = new osg::StateSet(); - osg::Image* image = osgDB::readImageFile( "Images/lz.rgb" ); + osg::ref_ptr image = osgDB::readRefImageFile( "Images/lz.rgb" ); if (image) { osg::Texture2D* texture = new osg::Texture2D; @@ -50,18 +50,18 @@ texture->setFilter(osg::Texture::MIN_FILTER, osg::Texture::LINEAR); stateset->setTextureAttributeAndModes(0,texture, osg::StateAttribute::ON); } - + stateset->setMode(GL_LIGHTING, osg::StateAttribute::ON); - + geode->setStateSet( stateset ); - + float radius = 0.8f; float height = 1.0f; - + osg::TessellationHints* hints = new osg::TessellationHints; hints->setDetailRatio(0.5f); - + geode->addDrawable(new osg::ShapeDrawable(new osg::Sphere(osg::Vec3(0.0f,0.0f,0.0f),radius),hints)); geode->addDrawable(new osg::ShapeDrawable(new osg::Box(osg::Vec3(2.0f,0.0f,0.0f),2*radius),hints)); geode->addDrawable(new osg::ShapeDrawable(new osg::Cone(osg::Vec3(4.0f,0.0f,0.0f),radius,height),hints)); @@ -72,7 +72,7 @@ grid->allocate(38,39); grid->setXInterval(0.28f); grid->setYInterval(0.28f); - + for(unsigned int r=0;r<39;++r) { for(unsigned int c=0;c<38;++c) @@ -81,7 +81,7 @@ } } geode->addDrawable(new osg::ShapeDrawable(grid)); - + osg::ConvexHull* mesh = new osg::ConvexHull; osg::Vec3Array* vertices = new osg::Vec3Array(4); (*vertices)[0].set(9.0+0.0f,-1.0f+2.0f,-1.0f+0.0f); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgsidebyside/osgsidebyside.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgsidebyside/osgsidebyside.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgsidebyside/osgsidebyside.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgsidebyside/osgsidebyside.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -41,7 +41,7 @@ using namespace osgGA; -class SwitchDOFVisitor : public osg::NodeVisitor, public osgGA::GUIEventHandler +class SwitchDOFVisitor : public osg::NodeVisitor, public osgGA::GUIEventHandler { public: SwitchDOFVisitor(): @@ -52,11 +52,11 @@ SwitchDOFVisitor(const SwitchDOFVisitor& sdfv, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY) {} META_Object(osg, SwitchDOFVisitor) - + virtual void apply(Group& node) { osgSim::MultiSwitch* pMSwitch = dynamic_cast(&node); - + if (pMSwitch) { mSwitches.push_back(pMSwitch); @@ -64,11 +64,11 @@ osg::NodeVisitor::apply(node); } - + virtual void apply(Transform& node) { osgSim::DOFTransform* pDof = dynamic_cast(&node); - + if (pDof) { mDofs.push_back(pDof); @@ -159,12 +159,12 @@ void singleWindowSideBySideCameras(osgViewer::Viewer& viewer) { osg::GraphicsContext::WindowingSystemInterface* wsi = osg::GraphicsContext::getWindowingSystemInterface(); - if (!wsi) + if (!wsi) { osg::notify(osg::NOTICE)<<"Error, no WindowSystemInterface available, cannot create windows."<getScreenResolution(osg::GraphicsContext::ScreenIdentifier(0), width, height); @@ -237,14 +237,14 @@ // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - if (argc<2) + if (argc<2) { std::cout << argv[0] <<": requires filename argument." << std::endl; return 1; } osgViewer::Viewer viewer(arguments); - + std::string outputfile("output.osgt"); while (arguments.read("-o",outputfile)) {} @@ -252,7 +252,7 @@ while (arguments.read("-g")) { viewer.setThreadingModel(osgViewer::Viewer::CullDrawThreadPerContext); } while (arguments.read("-d")) { viewer.setThreadingModel(osgViewer::Viewer::DrawThreadPerContext); } while (arguments.read("-c")) { viewer.setThreadingModel(osgViewer::Viewer::CullThreadPerCameraDrawThreadPerContext); } - + singleWindowSideBySideCameras(viewer); viewer.setCameraManipulator( new osgGA::TrackballManipulator() ); @@ -264,30 +264,26 @@ SwitchDOFVisitor* visit = new SwitchDOFVisitor; viewer.addEventHandler(visit); - - osg::ref_ptr loadedModel; - // load the scene. - loadedModel = osgDB::readNodeFiles(arguments); - if (!loadedModel) + // load the scene. + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); + if (!loadedModel) { std::cout << argv[0] <<": No data loaded." << std::endl; return 1; } osg::Group* group = new osg::Group; - + osg::Group* group1 = new osg::Group; - group1->addChild(loadedModel.get()); + group1->addChild(loadedModel); group1->setNodeMask(1); // Uncomment these lines if you like to compare the loaded model to the resulting model in a merge/diff tool //osgDB::writeNodeFile(*loadedModel.get(), "dummy1.osgt"); - osgDB::writeNodeFile(*loadedModel.get(), outputfile); - osg::ref_ptr convertedModel = osgDB::readNodeFile(outputfile); - - //osgDB::writeNodeFile(*convertedModel.get(), "dummy2.osgt"); + osgDB::writeNodeFile(*loadedModel, outputfile); + osg::ref_ptr convertedModel = osgDB::readRefNodeFile(outputfile); osg::Group* group2 = new osg::Group; group2->addChild(convertedModel.get()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgsimplegl3/osgsimplegl3.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgsimplegl3/osgsimplegl3.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgsimplegl3/osgsimplegl3.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgsimplegl3/osgsimplegl3.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -67,7 +67,7 @@ { osg::ArgumentParser arguments( &argc, argv ); - osg::Node* root = osgDB::readNodeFiles( arguments ); + osg::ref_ptr root = osgDB::readRefNodeFiles( arguments ); if( root == NULL ) { osg::notify( osg::FATAL ) << "Unable to load model from command line." << std::endl; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgsimplifier/osgsimplifier.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgsimplifier/osgsimplifier.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgsimplifier/osgsimplifier.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgsimplifier/osgsimplifier.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -26,10 +26,10 @@ class KeyboardEventHandler : public osgGA::GUIEventHandler { public: - + KeyboardEventHandler(unsigned int& flag) : _flag(flag) {} - + virtual bool handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter&) { switch(ea.getEventType()) @@ -65,7 +65,7 @@ // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - + // set up the usage document, in case we need to print out how to use this program. arguments.getApplicationUsage()->setApplicationName(arguments.getApplicationName()); arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" examples illustrates simplification of triangle meshes."); @@ -73,7 +73,7 @@ arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information"); arguments.getApplicationUsage()->addCommandLineOption("--ratio ","Specify the sample ratio","0.5]"); arguments.getApplicationUsage()->addCommandLineOption("--max-error ","Specify the maximum error","4.0"); - + float sampleRatio = 0.5f; float maxError = 4.0f; @@ -99,18 +99,18 @@ } // read the scene from the list of file specified commandline args. - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); - + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); + // if not loaded assume no arguments passed in, try use default mode instead. - if (!loadedModel) loadedModel = osgDB::readNodeFile("dumptruck.osgt"); - + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("dumptruck.osgt"); + // if no model has been successfully loaded report failure. - if (!loadedModel) + if (!loadedModel) { std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; return 1; } - + //loadedModel->accept(simplifier); unsigned int keyFlag = 0; @@ -133,29 +133,29 @@ { // fire off the cull and draw traversals of the scene. viewer.frame(); - + if (keyFlag == 1 || keyFlag == 2) { if (keyFlag == 1) ratio *= multiplier; if (keyFlag == 2) ratio /= multiplier; if (ratio root = (osg::Node*)loadedModel->clone(osg::CopyOp::DEEP_COPY_ALL); root->accept(simplifier); - + std::cout<<"done"<setDetailRatio(5.0f); - + osg::ShapeDrawable* sd = new osg::ShapeDrawable(new osg::Sphere(osg::Vec3(0.0,0.0,0.0), osg::WGS_84_RADIUS_POLAR), hints); - + osg::Geode* geode = new osg::Geode; geode->addDrawable(sd); - + std::string filename = osgDB::findDataFile("Images/land_shallow_topo_2048.jpg"); - geode->getOrCreateStateSet()->setTextureAttributeAndModes(0, new osg::Texture2D(osgDB::readImageFile(filename))); - + geode->getOrCreateStateSet()->setTextureAttributeAndModes(0, new osg::Texture2D(osgDB::readRefImageFile(filename))); + osg::CoordinateSystemNode* csn = new osg::CoordinateSystemNode; csn->setEllipsoidModel(new osg::EllipsoidModel()); csn->addChild(geode); - + return csn; - + } @@ -104,7 +104,7 @@ { _rotation.makeRotate(osg::DegreesToRadians(90.0),0.0,0.0,1.0); } - + void updateParameters() { _longitude += _speed * ((2.0*osg::PI)/360.0)/20.0; @@ -114,7 +114,7 @@ virtual void operator()(osg::Node* node, osg::NodeVisitor* nv) { updateParameters(); - + osg::NodePath nodePath = nv->getNodePath(); osg::MatrixTransform* mt = nodePath.empty() ? 0 : dynamic_cast(nodePath.back()); @@ -128,7 +128,7 @@ { csn = dynamic_cast(nodePath[i]); } - + if (csn) { @@ -142,22 +142,22 @@ osg::Transform* transform = nodePath[i]->asTransform(); if (transform) transform->computeLocalToWorldMatrix(inheritedMatrix, nv); } - + osg::Matrixd matrix(inheritedMatrix); //osg::Matrixd matrix; ellipsoid->computeLocalToWorldTransformFromLatLongHeight(_latitude,_longitude,_height,matrix); matrix.preMultRotate(_rotation); - + mt->setMatrix(matrix); } - } + } } - + traverse(node,nv); - } - + } + double _latitude; double _longitude; double _height; @@ -172,7 +172,7 @@ FindNamedNodeVisitor(const std::string& name): osg::NodeVisitor(osg::NodeVisitor::TRAVERSE_ALL_CHILDREN), _name(name) {} - + virtual void apply(osg::Node& node) { if (node.getName()==_name) @@ -181,7 +181,7 @@ } traverse(node); } - + typedef std::vector< osg::ref_ptr > NodeList; std::string _name; @@ -193,28 +193,28 @@ { // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - + // set up the usage document, in case we need to print out how to use this program. arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates use of node tracker."); arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()); arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information"); - + // construct the viewer. osgViewer::Viewer viewer(arguments); // add the state manipulator viewer.addEventHandler( new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet()) ); - + // add the thread model handler viewer.addEventHandler(new osgViewer::ThreadingHandler); // add the window size toggle handler viewer.addEventHandler(new osgViewer::WindowSizeHandler); - + // add the stats handler viewer.addEventHandler(new osgViewer::StatsHandler); - + // add the record camera path handler viewer.addEventHandler(new osgViewer::RecordCameraPathHandler); @@ -236,7 +236,7 @@ { osg::Quat local_rotate; local_rotate.makeRotate(osg::DegreesToRadians(vec4[0]),vec4[1],vec4[2],vec4[3]); - + rotation = rotation * local_rotate; } @@ -252,7 +252,7 @@ nc = new osg::AnimationPathCallback(path); } } - + osgGA::NodeTrackerManipulator::TrackerMode trackerMode = osgGA::NodeTrackerManipulator::NODE_CENTER_AND_ROTATION; std::string mode; while (arguments.read("--tracker-mode",mode)) @@ -269,8 +269,8 @@ return 1; } } - - + + osgGA::NodeTrackerManipulator::RotationMode rotationMode = osgGA::NodeTrackerManipulator::TRACKBALL; while (arguments.read("--rotation-mode",mode)) { @@ -287,7 +287,7 @@ bool useOverlay = true; while (arguments.read("--no-overlay") || arguments.read("-n")) useOverlay = false; - + osgSim::OverlayNode::OverlayTechnique technique = osgSim::OverlayNode::OBJECT_DEPENDENT_WITH_ORTHOGRAPHIC_OVERLAY; while (arguments.read("--object")) technique = osgSim::OverlayNode::OBJECT_DEPENDENT_WITH_ORTHOGRAPHIC_OVERLAY; while (arguments.read("--ortho") || arguments.read("--orthographic")) technique = osgSim::OverlayNode::VIEW_DEPENDENT_WITH_ORTHOGRAPHIC_OVERLAY; @@ -295,7 +295,7 @@ unsigned int overlayTextureUnit = 1; while (arguments.read("--unit", overlayTextureUnit)) {} - + std::string pathfile; while (arguments.read("-p",pathfile)) {} @@ -307,15 +307,15 @@ arguments.getApplicationUsage()->write(std::cout); return 1; } - - + + osg::ref_ptr tm; - + std::string overlayFilename; while(arguments.read("--overlay", overlayFilename)) {} // read the scene from the list of file specified commandline args. - osg::ref_ptr root = osgDB::readNodeFiles(arguments); + osg::ref_ptr root = osgDB::readRefNodeFiles(arguments); if (!root) root = createEarth(); @@ -330,8 +330,8 @@ //ConvertLatLon2EllipsoidCoordinates latlon2em; //shapefile->accept(latlon2em); - osg::ref_ptr shapefile = osgDB::readNodeFile(overlayFilename); - + osg::ref_ptr shapefile = osgDB::readRefNodeFile(overlayFilename); + if (!shapefile) { osg::notify(osg::NOTICE)<<"File `"< cessna = osgDB::readRefNodeFile("cessna.osgt"); if (cessna) { double s = 200000.0 / cessna->getBound().radius(); @@ -410,15 +410,15 @@ scaler->addChild(cessna); scaler->setMatrix(osg::Matrixd::scale(s,s,s)*osg::Matrixd::rotate(rotation)); scaler->getOrCreateStateSet()->setMode(GL_RESCALE_NORMAL,osg::StateAttribute::ON); - + if (addFireEffect) - { + { osg::Vec3d center = cessna->getBound().center(); - + osgParticle::FireEffect* fire = new osgParticle::FireEffect(center, 10.0f); scaler->addChild(fire); } - + if (false) { @@ -460,7 +460,7 @@ std::cout<<"Failed to read cessna.osgt"<valid()) + if (apm || !apm->valid()) { unsigned int num = keyswitchManipulator->getNumMatrixManipulators(); keyswitchManipulator->addMatrixManipulator( '5', "Path", apm ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgslice/osgslice.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgslice/osgslice.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgslice/osgslice.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgslice/osgslice.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -54,7 +54,7 @@ _nearFarOffset = _sliceDelta; } _image->allocateImage( _sliceNumber, _sliceNumber,_sliceNumber, GL_RGBA, GL_UNSIGNED_BYTE ); - + } // needs 3D-Texture object osg::Image* _image; @@ -63,7 +63,7 @@ double _nearPlane; double _farPlane; double _nearFarOffset; - + // needs function to do rendering and slicing }; @@ -77,7 +77,7 @@ arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] filename ..."); arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information"); arguments.getApplicationUsage()->addCommandLineOption("-o ","Object to be loaded"); - + if( arguments.read( "-h" ) || arguments.read( "--help" ) ) { std::cout << "Argumentlist:" << std::endl; @@ -85,10 +85,10 @@ std::cout << "\t--slices sets number of slices through the object" << std::endl; std::cout << "\t--near sets start for near clipping plane" << std::endl; std::cout << "\t--far sets start for far clipping plane" << std::endl; - + return 1; } - + std::string outputName("volume_tex.dds"); while( arguments.read( "-o", outputName ) ) { } @@ -101,10 +101,10 @@ while( arguments.read( "--near",nearClip ) ) { } while( arguments.read( "--far", farClip) ) { } - + // load the scene. - osg::ref_ptr loadedModel = osgDB::readNodeFiles( arguments ); - if (!loadedModel) + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles( arguments ); + if (!loadedModel) { std::cout << "No data loaded." << std::endl; return 1; @@ -124,7 +124,7 @@ arguments.writeErrorMessages(std::cout); return 1; } - + osg::ref_ptr traits = new osg::GraphicsContext::Traits; @@ -144,7 +144,7 @@ osg::notify(osg::NOTICE)<<"Error: unable to create graphics window"<realize(); gc->makeCurrent(); @@ -157,25 +157,25 @@ osg::Matrix viewMatrix; // distance from viewport to object's center is set to be 2x bs.radius() viewMatrix.makeLookAt(bs.center()-osg::Vec3(0.0,2.0f*bs.radius(),0.0),bs.center(),osg::Vec3(0.0f,0.0f,1.0f)); - + // turn off autocompution of near and far clipping planes sceneView->setComputeNearFarMode(osgUtil::CullVisitor::DO_NOT_COMPUTE_NEAR_FAR); // set the clear color of the background to make sure that the alpha is 0.0. sceneView->setClearColor(osg::Vec4(0.0f,0.0f,0.0f,0.0f)); - // record the timer tick at the start of rendering. + // record the timer tick at the start of rendering. osg::Timer_t start_tick = osg::Timer::instance()->tick(); - + std::cout << "radius: " << bs.radius() << std::endl; - + unsigned int frameNum = 0; double tmpNear, tmpFar; std::string baseImageName("shot_"); std::string tmpImageName; - + osg::Image* tmpImage = new osg::Image; - + // main loop (note, window toolkits which take control over the main loop will require a window redraw callback containing the code below.) for( unsigned int i = 0 ; i < sp->_sliceNumber && gc->isRealized() ; ++i ) { @@ -183,17 +183,17 @@ osg::ref_ptr frameStamp = new osg::FrameStamp; frameStamp->setReferenceTime(osg::Timer::instance()->delta_s(start_tick,osg::Timer::instance()->tick())); frameStamp->setFrameNumber(frameNum++); - + // pass frame stamp to the SceneView so that the update, cull and draw traversals all use the same FrameStamp sceneView->setFrameStamp(frameStamp.get()); - + // update the viewport dimensions, incase the window has been resized. sceneView->setViewport(0,0,traits->width,traits->height); - - + + // set the view sceneView->setViewMatrix(viewMatrix); - + // set Projection Matrix tmpNear = sp->_nearPlane+i*sp->_sliceDelta; tmpFar = sp->_farPlane+(i*sp->_sliceDelta)+sp->_nearFarOffset; @@ -201,24 +201,24 @@ // do the update traversal the scene graph - such as updating animations sceneView->update(); - + // do the cull traversal, collect all objects in the view frustum into a sorted set of rendering bins sceneView->cull(); - + // draw the rendering bins. sceneView->draw(); - + // Swap Buffers gc->swapBuffers(); - + std::cout << "before readPixels: _r = " << sp->_image->r() << std::endl; - + tmpImage->readPixels(static_cast(sceneView->getViewport()->x()), static_cast(sceneView->getViewport()->y()), static_cast(sceneView->getViewport()->width()), static_cast(sceneView->getViewport()->height()), GL_RGBA,GL_UNSIGNED_BYTE); - + // std::cout << "vor copySubImage: _r = " << sp->_image->r() << std::endl; sp->_image->copySubImage( 0, 0, i, tmpImage ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgspheresegment/osgspheresegment.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgspheresegment/osgspheresegment.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgspheresegment/osgspheresegment.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgspheresegment/osgspheresegment.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -183,7 +183,7 @@ osg::Group* model = new osg::Group; - osg::Node* glider = osgDB::readNodeFile("glider.osgt"); + osg::ref_ptr glider = osgDB::readRefNodeFile("glider.osgt"); if (glider) { const osg::BoundingSphere& bs = glider->getBound(); @@ -236,7 +236,7 @@ model->addChild(xform); } - osg::Node* cessna = osgDB::readNodeFile("cessna.osgt"); + osg::ref_ptr cessna = osgDB::readRefNodeFile("cessna.osgt"); if (cessna) { const osg::BoundingSphere& bs = cessna->getBound(); @@ -361,12 +361,12 @@ { // create terrain - osg::ref_ptr terrainGeode = 0; + osg::ref_ptr terrainGeode; { terrainGeode = new osg::Geode; - osg::StateSet* stateset = new osg::StateSet(); - osg::Image* image = osgDB::readImageFile("Images/lz.rgb"); + osg::ref_ptr stateset = new osg::StateSet(); + osg::ref_ptr image = osgDB::readRefImageFile("Images/lz.rgb"); if (image) { osg::Texture2D* texture = new osg::Texture2D; @@ -385,7 +385,7 @@ osg::Vec3 origin(0.0f,0.0f,0.0f); osg::Vec3 size(1000.0f,1000.0f,250.0f); - osg::Geometry* geometry = new osg::Geometry; + osg::ref_ptr geometry = new osg::Geometry; osg::Vec3Array& v = *(new osg::Vec3Array(numColumns*numRows)); osg::Vec2Array& tc = *(new osg::Vec2Array(numColumns*numRows)); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgspotlight/osgspotlight.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgspotlight/osgspotlight.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgspotlight/osgspotlight.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgspotlight/osgspotlight.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -43,8 +43,8 @@ osg::Image* image = new osg::Image; image->allocateImage(size,size,1, GL_RGBA,GL_UNSIGNED_BYTE); - - + + float mid = (float(size)-1)*0.5f; float div = 2.0f/float(size); for(unsigned int r=0;rsetMode(GL_LIGHT0+lightNum, osg::StateAttribute::ON); osg::Vec4 centerColour(1.0f,1.0f,1.0f,1.0f); - osg::Vec4 ambientColour(0.05f,0.05f,0.05f,1.0f); + osg::Vec4 ambientColour(0.05f,0.05f,0.05f,1.0f); // set up spot light texture osg::Texture2D* texture = new osg::Texture2D(); @@ -84,15 +84,15 @@ texture->setWrap(osg::Texture::WRAP_S,osg::Texture::CLAMP_TO_BORDER); texture->setWrap(osg::Texture::WRAP_T,osg::Texture::CLAMP_TO_BORDER); texture->setWrap(osg::Texture::WRAP_R,osg::Texture::CLAMP_TO_BORDER); - + stateset->setTextureAttributeAndModes(textureUnit, texture, osg::StateAttribute::ON); - + // set up tex gens stateset->setTextureMode(textureUnit, GL_TEXTURE_GEN_S, osg::StateAttribute::ON); stateset->setTextureMode(textureUnit, GL_TEXTURE_GEN_T, osg::StateAttribute::ON); stateset->setTextureMode(textureUnit, GL_TEXTURE_GEN_R, osg::StateAttribute::ON); stateset->setTextureMode(textureUnit, GL_TEXTURE_GEN_Q, osg::StateAttribute::ON); - + return stateset; } @@ -100,7 +100,7 @@ osg::Node* createSpotLightNode(const osg::Vec3& position, const osg::Vec3& direction, float angle, unsigned int lightNum, unsigned int textureUnit) { osg::Group* group = new osg::Group; - + // create light source. osg::LightSource* lightsource = new osg::LightSource; osg::Light* light = lightsource->getLight(); @@ -109,13 +109,13 @@ light->setAmbient(osg::Vec4(0.00f,0.00f,0.05f,1.0f)); light->setDiffuse(osg::Vec4(1.0f,1.0f,1.0f,1.0f)); group->addChild(lightsource); - + // create tex gen. - + osg::Vec3 up(0.0f,0.0f,1.0f); up = (direction ^ up) ^ direction; up.normalize(); - + osg::TexGenNode* texgenNode = new osg::TexGenNode; texgenNode->setTextureUnit(textureUnit); osg::TexGen* texgen = texgenNode->getTexGen(); @@ -125,56 +125,56 @@ osg::Matrixd::translate(1.0,1.0,1.0)* osg::Matrixd::scale(0.5,0.5,0.5)); - + group->addChild(texgenNode); - + return group; - + } osg::AnimationPath* createAnimationPath(const osg::Vec3& center,float radius,double looptime) { - // set up the animation path + // set up the animation path osg::AnimationPath* animationPath = new osg::AnimationPath; animationPath->setLoopMode(osg::AnimationPath::LOOP); - + int numSamples = 40; float yaw = 0.0f; float yaw_delta = 2.0f*osg::PI/((float)numSamples-1.0f); float roll = osg::inDegrees(30.0f); - + double time=0.0f; double time_delta = looptime/(double)numSamples; for(int i=0;iinsert(time,osg::AnimationPath::ControlPoint(position,rotation)); yaw += yaw_delta; time += time_delta; } - return animationPath; + return animationPath; } osg::Node* createBase(const osg::Vec3& center,float radius) { osg::Geode* geode = new osg::Geode; - + // set up the texture of the base. osg::StateSet* stateset = new osg::StateSet(); - osg::Image* image = osgDB::readImageFile("Images/lz.rgb"); + osg::ref_ptr image = osgDB::readRefImageFile("Images/lz.rgb"); if (image) { osg::Texture2D* texture = new osg::Texture2D; texture->setImage(image); stateset->setTextureAttributeAndModes(0,texture,osg::StateAttribute::ON); } - + geode->setStateSet( stateset ); @@ -183,7 +183,7 @@ grid->setOrigin(center+osg::Vec3(-radius,-radius,0.0f)); grid->setXInterval(radius*2.0f/(float)(38-1)); grid->setYInterval(radius*2.0f/(float)(39-1)); - + float minHeight = FLT_MAX; float maxHeight = -FLT_MAX; @@ -198,7 +198,7 @@ if (hsetHeight(c,r,(h+hieghtOffset)*hieghtScale); } } - + geode->addDrawable(new osg::ShapeDrawable(grid)); - + osg::Group* group = new osg::Group; group->addChild(geode); - + return group; } @@ -227,8 +227,8 @@ osg::AnimationPath* animationPath = createAnimationPath(center,radius,animationLength); osg::Group* model = new osg::Group; - - osg::Node* cessna = osgDB::readNodeFile("cessna.osgt"); + + osg::ref_ptr cessna = osgDB::readRefNodeFile("cessna.osgt"); if (cessna) { const osg::BoundingSphere& bs = cessna->getBound(); @@ -239,9 +239,9 @@ positioned->setMatrix(osg::Matrix::translate(-bs.center())* osg::Matrix::scale(size,size,size)* osg::Matrix::rotate(osg::inDegrees(180.0f),0.0f,0.0f,2.0f)); - + positioned->addChild(cessna); - + osg::MatrixTransform* xform = new osg::MatrixTransform; xform->setUpdateCallback(new osg::AnimationPathCallback(animationPath,0.0f,2.0)); xform->addChild(positioned); @@ -250,7 +250,7 @@ model->addChild(xform); } - + return model; } @@ -270,7 +270,7 @@ // combine the models together to create one which has the shadower and the shadowed with the required callback. osg::Group* root = new osg::Group; - + root->setStateSet(createSpotLightDecoratorState(0,1)); root->addChild(shadower); @@ -284,10 +284,10 @@ { // construct the viewer. osgViewer::Viewer viewer; - + // add the spoit light model to the viewer viewer.setSceneData( createModel() ); - + // run the viewer main frame loop. return viewer.run(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgSSBO/osgSSBO.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgSSBO/osgSSBO.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgSSBO/osgSSBO.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgSSBO/osgSSBO.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -311,7 +311,7 @@ //set OSG_FILE_PATH for loading axes.osgt void ComputeNode::addHelperGeometry() { - _helperNode = osgDB::readNodeFile("axes.osgt"); + _helperNode = osgDB::readRefNodeFile("axes.osgt"); if (_helperNode.valid()) { @@ -464,8 +464,8 @@ ss->setMode(GL_LIGHTING, osg::StateAttribute::OFF); //add a label - osgText::Text* text = new osgText::Text; - osgText::Font* font = osgText::readFontFile("fonts/arial.ttf"); + osg::ref_ptr text = new osgText::Text; + osg::ref_ptr font = osgText::readRefFontFile("fonts/arial.ttf"); text->setFont(font); text->setColor(osg::Vec4(1, 1, 1, 1)); text->setCharacterSize(0.1*scale); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgstereoimage/osgstereoimage.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgstereoimage/osgstereoimage.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgstereoimage/osgstereoimage.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgstereoimage/osgstereoimage.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -141,8 +141,8 @@ osg::Group * loadImages(std::string image1, std::string image2, osg::TexMat* texmatLeft, osg::TexMat* texmatRight, float radius, float height, float length) { - osg::ref_ptr imageLeft = osgDB::readImageFile(image1); - osg::ref_ptr imageRight = osgDB::readImageFile(image2); + osg::ref_ptr imageLeft = osgDB::readRefImageFile(image1); + osg::ref_ptr imageRight = osgDB::readRefImageFile(image2); if (imageLeft.valid() && imageRight.valid()) { osg::ImageStream* streamLeft = dynamic_cast(imageLeft.get()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgstereomatch/osgstereomatch.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgstereomatch/osgstereomatch.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgstereomatch/osgstereomatch.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgstereomatch/osgstereomatch.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -175,8 +175,8 @@ } // load the images - osg::ref_ptr leftIm = osgDB::readImageFile(leftName); - osg::ref_ptr rightIm = osgDB::readImageFile(rightName); + osg::ref_ptr leftIm = osgDB::readRefImageFile(leftName); + osg::ref_ptr rightIm = osgDB::readRefImageFile(rightName); osg::Node* scene = createScene(leftIm.get(), rightIm.get(), minDisparity, maxDisparity, windowSize, useSinglePass); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgteapot/osgteapot.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgteapot/osgteapot.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgteapot/osgteapot.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgteapot/osgteapot.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -311,7 +311,7 @@ geode->addDrawable( new Teapot ); // add a reflection map to the teapot. - osg::Image* image = osgDB::readImageFile("Images/reflect.rgb"); + osg::ref_ptr image = osgDB::readRefImageFile("Images/reflect.rgb"); if (image) { osg::Texture2D* texture = new osg::Texture2D; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgterrain/osgterrain.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgterrain/osgterrain.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgterrain/osgterrain.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgterrain/osgterrain.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -343,7 +343,7 @@ while(arguments.read("--db-affinity", cpuNum)) { setDatabaseThreadAffinity = true; } // load the nodes from the commandline arguments. - osg::ref_ptr rootnode = osgDB::readNodeFiles(arguments); + osg::ref_ptr rootnode = osgDB::readRefNodeFiles(arguments); if (!rootnode) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgtessellate/osgtessellate.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgtessellate/osgtessellate.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgtessellate/osgtessellate.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgtessellate/osgtessellate.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -98,7 +98,7 @@ // demonstrate that the Tessellator makes textured tessellations osg::StateSet* stateset = new osg::StateSet(); - osg::Image* image = osgDB::readImageFile("Cubemap_snow/posy.jpg"); + osg::ref_ptr image = osgDB::readRefImageFile("Cubemap_snow/posy.jpg"); if (image) { osg::Texture2D* texture = new osg::Texture2D; @@ -169,7 +169,7 @@ // demonstrate that the Tessellator makes textured tessellations osg::StateSet* stateset = new osg::StateSet(); - osg::Image* image = osgDB::readImageFile("Cubemap_snow/posx.jpg"); + osg::ref_ptr image = osgDB::readRefImageFile("Cubemap_snow/posx.jpg"); if (image) { osg::Texture2D* texture = new osg::Texture2D; @@ -265,7 +265,7 @@ // demonstrate that the Tessellator makes textured tessellations osg::StateSet* stateset = new osg::StateSet(); - osg::Image* image = osgDB::readImageFile("Cubemap_snow/posy.jpg"); + osg::ref_ptr image = osgDB::readRefImageFile("Cubemap_snow/posy.jpg"); if (image) { osg::Texture2D* texture = new osg::Texture2D; @@ -458,7 +458,7 @@ // demonstrate that the Tessellator makes textured tessellations osg::StateSet* stateset = new osg::StateSet(); - osg::Image* image = osgDB::readImageFile("Cubemap_snow/posz.jpg"); + osg::ref_ptr image = osgDB::readRefImageFile("Cubemap_snow/posz.jpg"); if (image) { osg::Texture2D* texture = new osg::Texture2D; @@ -750,7 +750,7 @@ osgViewer::Viewer viewer; // read the scene from the list of file specified commandline args. - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); // if no model has been successfully loaded report failure. if (!loadedModel) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgtext/osgtext.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgtext/osgtext.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgtext/osgtext.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgtext/osgtext.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -75,7 +75,7 @@ osg::Group* rootNode = new osg::Group; - osgText::Font* font = osgText::readFontFile("fonts/arial.ttf"); + osg::ref_ptr font = osgText::readRefFontFile("fonts/arial.ttf"); //osg::setNotifyLevel(osg::INFO); @@ -344,7 +344,7 @@ float spacing = 40.0f; { - osgText::Text* text = new osgText::Text; + osg::ref_ptr text = new osgText::Text; text->setUseVertexBufferObjects(useVBOs); text->setColor(fontColor); text->setPosition(cursor); @@ -358,9 +358,9 @@ } { - osgText::Font* arial = osgText::readFontFile("fonts/arial.ttf"); + osg::ref_ptr arial = osgText::readRefFontFile("fonts/arial.ttf"); - osgText::Text* text = new osgText::Text; + osg::ref_ptr text = new osgText::Text; text->setUseVertexBufferObjects(useVBOs); text->setColor(fontColor); text->setPosition(cursor); @@ -376,9 +376,9 @@ } { - osgText::Font* times = osgText::readFontFile("fonts/times.ttf"); + osg::ref_ptr times = osgText::readRefFontFile("fonts/times.ttf"); - osgText::Text* text = new osgText::Text; + osg::ref_ptr text = new osgText::Text; text->setUseVertexBufferObjects(useVBOs); text->setColor(fontColor); text->setPosition(cursor); @@ -397,9 +397,9 @@ cursor.y() = margin; { - osgText::Font* dirtydoz = osgText::readFontFile("fonts/dirtydoz.ttf"); + osg::ref_ptr dirtydoz = osgText::readRefFontFile("fonts/dirtydoz.ttf"); - osgText::Text* text = new osgText::Text; + osg::ref_ptr text = new osgText::Text; text->setUseVertexBufferObjects(useVBOs); text->setColor(fontColor); text->setPosition(cursor); @@ -415,9 +415,9 @@ } { - osgText::Font* fudd = osgText::readFontFile("fonts/fudd.ttf"); + osg::ref_ptr fudd = osgText::readRefFontFile("fonts/fudd.ttf"); - osgText::Text* text = new osgText::Text; + osg::ref_ptr text = new osgText::Text; text->setUseVertexBufferObjects(useVBOs); text->setColor(fontColor); text->setPosition(cursor); @@ -706,10 +706,10 @@ osg::Vec3 center(0.5f,0.5f,0.5f); float diameter = 1.0f; - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); if (loadedModel.valid()) { - mainGroup->addChild(loadedModel.get()); + mainGroup->addChild(loadedModel); center = loadedModel->getBound().center(); diameter = loadedModel->getBound().radius() * 2.0f; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgtext3D/osgtext3D.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgtext3D/osgtext3D.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgtext3D/osgtext3D.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgtext3D/osgtext3D.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -41,7 +41,7 @@ std::string fontFile("arial.ttf"); while(arguments.read("-f",fontFile)) {} - osg::ref_ptr font = osgText::readFontFile(fontFile); + osg::ref_ptr font = osgText::readRefFontFile(fontFile); if (!font) return 1; OSG_NOTICE<<"Read font "<flatBevel(r); } while(arguments.read("--flat")) { bevel = new osgText::Bevel; bevel->flatBevel(0.25); } while(arguments.read("--bevel-thickness",r)) { if (bevel.valid()) bevel->setBevelThickness(r); } - - - if (bevel.valid()) + + + if (bevel.valid()) { while(arguments.read("--smooth-concave-Junctions") || arguments.read("--scj")) { @@ -72,7 +72,7 @@ } } - + style->setBevel(bevel.get()); // set up outline. @@ -139,12 +139,12 @@ while(arguments.read("--image",imageFilename)) { OSG_NOTICE<<"--image "< image = osgDB::readImageFile(imageFilename); + osg::ref_ptr image = osgDB::readRefImageFile(imageFilename); if (image.valid()) { OSG_NOTICE<<" loaded image "<getOrCreateStateSet(); - stateset->setTextureAttributeAndModes(0, new osg::Texture2D(image.get()), osg::StateAttribute::ON); + stateset->setTextureAttributeAndModes(0, new osg::Texture2D(image), osg::StateAttribute::ON); } } @@ -158,11 +158,11 @@ while(arguments.read("--wall-image",imageFilename)) { - osg::ref_ptr image = osgDB::readImageFile(imageFilename); + osg::ref_ptr image = osgDB::readRefImageFile(imageFilename); if (image.valid()) { osg::StateSet* stateset = text3D->getOrCreateWallStateSet(); - stateset->setTextureAttributeAndModes(0, new osg::Texture2D(image.get()), osg::StateAttribute::ON); + stateset->setTextureAttributeAndModes(0, new osg::Texture2D(image), osg::StateAttribute::ON); } } @@ -176,11 +176,11 @@ while(arguments.read("--back-image",imageFilename)) { - osg::ref_ptr image = osgDB::readImageFile(imageFilename); - if (image.valid()) + osg::ref_ptr image = osgDB::readRefImageFile(imageFilename); + if (image) { osg::StateSet* stateset = text3D->getOrCreateBackStateSet(); - stateset->setTextureAttributeAndModes(0, new osg::Texture2D(image.get()), osg::StateAttribute::ON); + stateset->setTextureAttributeAndModes(0, new osg::Texture2D(image), osg::StateAttribute::ON); } } @@ -190,8 +190,8 @@ } } - - viewer.setSceneData(group.get()); + + viewer.setSceneData(group); #endif diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgtexture1D/osgtexture1D.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgtexture1D/osgtexture1D.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgtexture1D/osgtexture1D.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgtexture1D/osgtexture1D.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -35,11 +35,11 @@ osg::Image* image = new osg::Image; int noPixels = 1024; - + // allocate the image data, noPixels x 1 x 1 with 4 rgba floats - equivalent to a Vec4! image->allocateImage(noPixels,1,1,GL_RGBA,GL_FLOAT); image->setInternalTextureFormat(GL_RGBA); - + typedef std::vector ColorBands; ColorBands colorbands; colorbands.push_back(osg::Vec4(0.0f,0.0,0.0,1.0f)); @@ -55,7 +55,7 @@ float delta = nobands/(float)noPixels; float pos = 0.0f; - // fill in the image data. + // fill in the image data. osg::Vec4* dataPtr = (osg::Vec4*)image->data(); for(int i=0;isetWrap(osg::Texture1D::WRAP_S,osg::Texture1D::MIRROR); texture->setFilter(osg::Texture1D::MIN_FILTER,osg::Texture1D::LINEAR); texture->setImage(image); - + osg::Material* material = new osg::Material; - + osg::StateSet* stateset = new osg::StateSet; - + stateset->setTextureAttribute(0,texture,osg::StateAttribute::OVERRIDE); stateset->setTextureMode(0,GL_TEXTURE_1D,osg::StateAttribute::ON|osg::StateAttribute::OVERRIDE); stateset->setTextureMode(0,GL_TEXTURE_2D,osg::StateAttribute::OFF|osg::StateAttribute::OVERRIDE); stateset->setTextureMode(0,GL_TEXTURE_3D,osg::StateAttribute::OFF|osg::StateAttribute::OVERRIDE); stateset->setTextureMode(0,GL_TEXTURE_GEN_S,osg::StateAttribute::ON|osg::StateAttribute::OVERRIDE); - + stateset->setAttribute(material,osg::StateAttribute::OVERRIDE); - + return stateset; } @@ -94,13 +94,13 @@ { public: AnimateTexGenCallback() {} - + void animateTexGen(osg::TexGenNode* texgenNode,double time) { // here we simply get any existing texgen, and then increment its // plane, pushing the R coordinate through the texture. const double timeInterval = 2.0f; - + static double previousTime = time; static bool state = false; while (time>previousTime+timeInterval) @@ -108,7 +108,7 @@ previousTime+=timeInterval; state = !state; } - + if (state) { texgenNode->getTexGen()->setMode(osg::TexGen::OBJECT_LINEAR); @@ -117,11 +117,11 @@ { texgenNode->getTexGen()->setMode(osg::TexGen::EYE_LINEAR); } - + } virtual void operator()(osg::Node* node, osg::NodeVisitor* nv) - { + { osg::TexGenNode* texgenNode = dynamic_cast(node); if (texgenNode && nv->getFrameStamp()) @@ -131,10 +131,10 @@ } // note, callback is responsible for scenegraph traversal so - // should always include call the traverse(node,nv) to ensure + // should always include call the traverse(node,nv) to ensure // that the rest of callbacks and the scene graph are traversed. traverse(node,nv); - } + } }; @@ -143,23 +143,23 @@ // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); - + // construct the viewer. osgViewer::Viewer viewer; // load the images specified on command line - osg::Node* loadedModel = osgDB::readNodeFiles(arguments); - + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); + // if not loaded assume no arguments passed in, try use default mode instead. - if (!loadedModel) loadedModel = osgDB::readNodeFile("dumptruck.osgt"); - + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("dumptruck.osgt"); + if (!loadedModel) { osg::notify(osg::NOTICE)<getCommandLineUsage()< stateset = create1DTextureStateToDecorate(loadedModel.get()); if (!stateset) { std::cout<<"Error: failed to create 1D texture state."<setStateSet(stateset); - osg:: Group *root = new osg:: Group; + osg::ref_ptr root = new osg:: Group; root -> addChild( loadedModel ); // The contour banded color texture is used in conjunction with TexGenNode diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgtexture2D/osgtexture2D.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgtexture2D/osgtexture2D.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgtexture2D/osgtexture2D.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgtexture2D/osgtexture2D.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -170,7 +170,7 @@ // set up the texture state. osg::Texture2D* texture = new osg::Texture2D; texture->setDataVariance(osg::Object::DYNAMIC); // protect from being optimized away as static state. - texture->setImage(osgDB::readImageFile(filename)); + texture->setImage(osgDB::readRefImageFile(filename)); osg::StateSet* stateset = geom->getOrCreateStateSet(); stateset->setTextureAttributeAndModes(0,texture,osg::StateAttribute::ON); @@ -327,7 +327,7 @@ // set up the texture state. osg::Texture2D* texture = new osg::Texture2D; texture->setDataVariance(osg::Object::DYNAMIC); // protect from being optimized away as static state. - texture->setImage(osgDB::readImageFile(filename)); + texture->setImage(osgDB::readRefImageFile(filename)); osg::StateSet* stateset = geom->getOrCreateStateSet(); stateset->setTextureAttributeAndModes(0,texture,osg::StateAttribute::ON); @@ -485,7 +485,7 @@ osg::Texture2D* texture = new osg::Texture2D; texture->setDataVariance(osg::Object::DYNAMIC); // protect from being optimized away as static state. texture->setBorderColor(osg::Vec4(1.0f,1.0f,1.0f,0.5f)); // only used when wrap is set to CLAMP_TO_BORDER - texture->setImage(osgDB::readImageFile(filename)); + texture->setImage(osgDB::readRefImageFile(filename)); osg::StateSet* stateset = geom->getOrCreateStateSet(); stateset->setTextureAttributeAndModes(0,texture,osg::StateAttribute::ON); @@ -535,7 +535,7 @@ { #if 1 - osg::ref_ptr originalImage = osgDB::readImageFile("Images/dog_left_eye.jpg"); + osg::ref_ptr originalImage = osgDB::readRefImageFile("Images/dog_left_eye.jpg"); osg::ref_ptr subImage = new osg::Image; subImage->setUserData(originalImage.get()); // attach the originalImage as user data to prevent it being deleted. @@ -573,14 +573,14 @@ #endif - _imageList.push_back(subImage.get()); + _imageList.push_back(subImage); #else - _imageList.push_back(osgDB::readImageFile("Images/dog_left_eye.jpg")); + _imageList.push_back(osgDB::readRefImageFile("Images/dog_left_eye.jpg")); #endif _textList.push_back("Subloaded Image 1 - dog_left_eye.jpg"); - _imageList.push_back(osgDB::readImageFile("Images/dog_right_eye.jpg")); + _imageList.push_back(osgDB::readRefImageFile("Images/dog_right_eye.jpg")); _textList.push_back("Subloaded Image 2 - dog_right_eye.jpg"); setValues(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgtexture2DArray/osgtexture2DArray.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgtexture2DArray/osgtexture2DArray.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgtexture2DArray/osgtexture2DArray.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgtexture2DArray/osgtexture2DArray.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -50,10 +50,10 @@ osg::StateSet* createState(osg::ArgumentParser& arguments) { // read 4 2d images - osg::ref_ptr image_0 = osgDB::readImageFile("Images/lz.rgb"); - osg::ref_ptr image_1 = osgDB::readImageFile("Images/reflect.rgb"); - osg::ref_ptr image_2 = osgDB::readImageFile("Images/tank.rgb"); - osg::ref_ptr image_3 = osgDB::readImageFile("Images/skymap.jpg"); + osg::ref_ptr image_0 = osgDB::readRefImageFile("Images/lz.rgb"); + osg::ref_ptr image_1 = osgDB::readRefImageFile("Images/reflect.rgb"); + osg::ref_ptr image_2 = osgDB::readRefImageFile("Images/tank.rgb"); + osg::ref_ptr image_3 = osgDB::readRefImageFile("Images/skymap.jpg"); if (!image_0 || !image_1 || !image_2 || !image_3) { @@ -128,10 +128,10 @@ osg::ref_ptr program = new osg::Program; - osg::ref_ptr vertexShader = osgDB::readShaderFile( osg::Shader::VERTEX, vsFileName) ; + osg::ref_ptr vertexShader = osgDB::readRefShaderFile( osg::Shader::VERTEX, vsFileName) ; if (vertexShader.get()) program->addShader( vertexShader.get() ); - osg::ref_ptr fragmentShader = osgDB::readShaderFile( osg::Shader::FRAGMENT, fsFileName) ; + osg::ref_ptr fragmentShader = osgDB::readRefShaderFile( osg::Shader::FRAGMENT, fsFileName) ; if (fragmentShader.get()) program->addShader( fragmentShader.get() ); // create the StateSet to store the texture data diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgtexture3D/osgtexture3D.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgtexture3D/osgtexture3D.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgtexture3D/osgtexture3D.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgtexture3D/osgtexture3D.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -39,10 +39,10 @@ osg::StateSet* createState() { // read 4 2d images - osg::ref_ptr image_0 = osgDB::readImageFile("Images/lz.rgb"); - osg::ref_ptr image_1 = osgDB::readImageFile("Images/reflect.rgb"); - osg::ref_ptr image_2 = osgDB::readImageFile("Images/tank.rgb"); - osg::ref_ptr image_3 = osgDB::readImageFile("Images/skymap.jpg"); + osg::ref_ptr image_0 = osgDB::readRefImageFile("Images/lz.rgb"); + osg::ref_ptr image_1 = osgDB::readRefImageFile("Images/reflect.rgb"); + osg::ref_ptr image_2 = osgDB::readRefImageFile("Images/tank.rgb"); + osg::ref_ptr image_3 = osgDB::readRefImageFile("Images/skymap.jpg"); if (!image_0 || !image_1 || !image_2 || !image_3) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgtexturecompression/osgtexturecompression.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgtexturecompression/osgtexturecompression.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgtexturecompression/osgtexturecompression.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgtexturecompression/osgtexturecompression.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -40,7 +40,7 @@ // set the projection matrix camera->setProjectionMatrix(osg::Matrix::ortho2D(0,1280,0,1024)); - // set the view matrix + // set the view matrix camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF); camera->setViewMatrix(osg::Matrix::identity()); @@ -80,14 +80,14 @@ return camera; } -osg::Node* creatQuad(const std::string& name, - osg::Image* image, +osg::Node* creatQuad(const std::string& name, + osg::Image* image, osg::Texture::InternalFormatMode formatMode, osg::Texture::FilterMode minFilter) { osg::Group* group = new osg::Group; - + { osg::Geode* geode = new osg::Geode; @@ -104,14 +104,14 @@ texture->setInternalFormatMode(formatMode); texture->setFilter(osg::Texture::MIN_FILTER, minFilter); stateset->setTextureAttributeAndModes(0, texture, osg::StateAttribute::ON); - + group->addChild(geode); } - + { group->addChild(createHUD(name)); } - + return group; } @@ -121,16 +121,16 @@ // construct the viewer. osgViewer::CompositeViewer viewer(arguments); - + if (arguments.argc()<=1) { std::cout<<"Please supply an image filename on the commnand line."< image = osgDB::readImageFile(filename); - + osg::ref_ptr image = osgDB::readRefImageFile(filename); + if (!image) { std::cout<<"Error: unable able to read image from "<height = height; traits->windowDecoration = false; traits->doubleBuffer = true; - + osg::ref_ptr gc = osg::GraphicsContext::createGraphicsContext(traits.get()); if (!gc) { @@ -166,16 +166,16 @@ gc->setClearMask(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); osg::ref_ptr trackball = new osgGA::TrackballManipulator; - + typedef std::vector< osg::ref_ptr > Models; - + Models models; models.push_back(creatQuad("no compression", image.get(), osg::Texture::USE_IMAGE_DATA_FORMAT, osg::Texture::LINEAR)); models.push_back(creatQuad("ARB compression", image.get(), osg::Texture::USE_ARB_COMPRESSION, osg::Texture::LINEAR)); models.push_back(creatQuad("DXT1 compression", image.get(), osg::Texture::USE_S3TC_DXT1_COMPRESSION, osg::Texture::LINEAR)); models.push_back(creatQuad("DXT3 compression", image.get(), osg::Texture::USE_S3TC_DXT3_COMPRESSION, osg::Texture::LINEAR)); models.push_back(creatQuad("DXT5 compression", image.get(), osg::Texture::USE_S3TC_DXT5_COMPRESSION, osg::Texture::LINEAR)); - + int numX = 1; int numY = 1; @@ -203,10 +203,10 @@ for(unsigned int i=0; isetSceneData(models[i].get()); view->getCamera()->setProjectionMatrixAsPerspective(30.0, double(vw) / double(vh), 1.0, 1000.0); - view->getCamera()->setViewport(new osg::Viewport(vx, vy, vw, vh)); + view->getCamera()->setViewport(new osg::Viewport(vx, vy, vw, vh)); view->getCamera()->setGraphicsContext(gc.get()); view->getCamera()->setClearMask(0); view->setCameraManipulator(trackball.get()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgtexturerectangle/osgtexturerectangle.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgtexturerectangle/osgtexturerectangle.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgtexturerectangle/osgtexturerectangle.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgtexturerectangle/osgtexturerectangle.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -146,7 +146,7 @@ geom->setUseDisplayList(false); // load image - osg::Image* img = osgDB::readImageFile(filename); + osg::ref_ptr img = osgDB::readRefImageFile(filename); // setup texture osg::TextureRectangle* texture = new osg::TextureRectangle(img); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgthirdpersonview/osgthirdpersonview.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgthirdpersonview/osgthirdpersonview.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgthirdpersonview/osgthirdpersonview.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgthirdpersonview/osgthirdpersonview.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -140,20 +140,20 @@ // of the view frustum. root->addChild( makeFrustumFromCamera( NULL ) ); - osg::ref_ptr< osg::Node > scene; - scene = osgDB::readNodeFiles( arguments ); + osg::ref_ptr< osg::Node > scene = osgDB::readRefNodeFiles( arguments ); if (!scene) { // User didn't specify anything, or file(s) didn't exist. // Try to load the cow... osg::notify( osg::WARN ) << arguments.getApplicationName() << ": Could not find specified files. Trying \"cow.osgt\" instead." << std::endl; - if ( !(scene = osgDB::readNodeFile( std::string( "cow.osgt" ) ) ) ) + scene = osgDB::readRefNodeFile("cow.osgt"); + if (!scene) { osg::notify( osg::FATAL ) << arguments.getApplicationName() << ": No data loaded." << std::endl; return 1; } } - root->addChild( scene.get() ); + root->addChild( scene ); osgViewer::CompositeViewer viewer( arguments ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgthreadedterrain/osgthreadedterrain.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgthreadedterrain/osgthreadedterrain.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgthreadedterrain/osgthreadedterrain.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgthreadedterrain/osgthreadedterrain.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -66,11 +66,11 @@ virtual bool compileCompleted(osgUtil::IncrementalCompileOperation::CompileSet* compileSet) { if (_block.valid()) _block->completed(); - + // tell IncrementalCompileOperation that it's now safe to remove the compileSet - + osg::notify(osg::NOTICE)<<"compileCompleted("< compileSet = + osg::ref_ptr compileSet = new osgUtil::IncrementalCompileOperation::CompileSet(_loadedModel.get()); compileSet->_compileCompletedCallback = new ReleaseBlockOnCompileCompleted(_block.get()); _incrementalCompileOperation->add(compileSet.get()); } - else + else { if (_block.valid()) _block->completed(); } // osg::notify(osg::NOTICE)<<"done LoadAndCompileOperation "<<_filename< _loadedModel; osg::ref_ptr _incrementalCompileOperation; @@ -135,12 +135,12 @@ _incrementalCompileOperation(ico) { } - - /** Set the OperationQueue that the MasterOperation can use to place tasks like file loading on for other processes to handle.*/ + + /** Set the OperationQueue that the MasterOperation can use to place tasks like file loading on for other processes to handle.*/ void setOperationQueue(osg::OperationQueue* oq) { _operationQueue = oq; } - + osg::OperationQueue* getOperationQueue() { return _operationQueue.get(); } - + bool readMasterFile(Files& files) const { osgDB::ifstream fin(_filename.c_str()); @@ -167,12 +167,12 @@ ++fr; } } - + return readFilename; } return false; } - + bool open(osg::Group* group) { Files files; @@ -181,7 +181,7 @@ itr != files.end(); ++itr) { - osg::Node* model = osgDB::readNodeFile(*itr); + osg::ref_ptr model = osgDB::readRefNodeFile(*itr); if (model) { osg::notify(osg::NOTICE)<<"open: Loaded file "<<*itr< lock(_mutex); for(Files::iterator fitr = files.begin(); @@ -255,7 +255,7 @@ } } } - + #if 0 if (!newFiles.empty() || !removedFiles.empty()) { @@ -270,7 +270,7 @@ typedef std::vector< osg::ref_ptr > GraphicsThreads; GraphicsThreads threads; - + for(unsigned int i=0; i<= osg::GraphicsContext::getMaxContextID(); ++i) { osg::GraphicsContext* gc = osg::GraphicsContext::getCompileContext(i); @@ -283,12 +283,12 @@ // osg::notify(osg::NOTICE)<<"Using OperationQueue"<reset(); - + typedef std::list< osg::ref_ptr > LoadAndCompileList; LoadAndCompileList loadAndCompileList; - + for(Files::iterator nitr = newFiles.begin(); nitr != newFiles.end(); ++nitr) @@ -307,11 +307,11 @@ // osg::notify(osg::NOTICE)<<"Local running of operation"<block(); // osg::notify(osg::NOTICE)<<"done ... Waiting for completion of LoadAndCompile operations"<reset(); for(Files::iterator nitr = newFiles.begin(); nitr != newFiles.end(); ++nitr) { - osg::ref_ptr loadedModel = osgDB::readNodeFile(*nitr); + osg::ref_ptr loadedModel = osgDB::readRefNodeFile(*nitr); if (loadedModel.get()) { @@ -343,7 +343,7 @@ if (_incrementalCompileOperation.valid()) { - osg::ref_ptr compileSet = + osg::ref_ptr compileSet = new osgUtil::IncrementalCompileOperation::CompileSet(loadedModel.get()); compileSet->_compileCompletedCallback = new ReleaseBlockOnCompileCompleted(_endOfLoadBlock.get()); @@ -364,15 +364,15 @@ _endOfLoadBlock->block(); } - + } - + bool requiresBlock = false; - + // pass the locally peppared data to MasterOperations shared data - // so that updated thread can merge these changes with the main scene + // so that updated thread can merge these changes with the main scene // graph. This merge is carried out via the update(..) method. - if (!removedFiles.empty() || !nodesToAdd.empty()) + if (!removedFiles.empty() || !nodesToAdd.empty()) { OpenThreads::ScopedLock lock(_mutex); _nodesToRemove.swap(removedFiles); @@ -392,7 +392,7 @@ } } - + // merge the changes with the main scene graph. void update(osg::Node* scene) { @@ -404,9 +404,9 @@ osg::notify(osg::NOTICE)<<"Error, MasterOperation::update(Node*) can only work with a Group as Viewer::getSceneData()."< lock(_mutex); - + if (!_nodesToRemove.empty() || !_nodesToAdd.empty()) { osg::notify(osg::NOTICE)<<"update().................. "<removeChild(fnmItr->second.get()); _existingFilenameNodeMap.erase(fnmItr); } @@ -430,7 +430,7 @@ _nodesToRemove.clear(); } - + if (!_nodesToAdd.empty()) { for(FilenameNodeMap::iterator itr = _nodesToAdd.begin(); @@ -441,14 +441,14 @@ group->addChild(itr->second.get()); _existingFilenameNodeMap[itr->first] = itr->second; } - + _nodesToAdd.clear(); } _updatesMergedBlock.release(); } - + // add release implementation so that any thread cancellation can // work even when blocks and barriers are used. virtual void release() @@ -460,9 +460,9 @@ if (_endOfLoadBlock.valid()) _endOfLoadBlock.release(); } - + std::string _filename; - + OpenThreads::Mutex _mutex; FilenameNodeMap _existingFilenameNodeMap; Files _nodesToRemove; @@ -472,13 +472,13 @@ osg::ref_ptr _incrementalCompileOperation; osg::ref_ptr _endOfCompilebarrier; osg::ref_ptr _endOfLoadBlock; - + osg::ref_ptr _operationQueue; }; -class FilterHandler : public osgGA::GUIEventHandler +class FilterHandler : public osgGA::GUIEventHandler { -public: +public: FilterHandler(osgTerrain::GeometryTechnique* gt): _gt(gt) {} @@ -550,9 +550,9 @@ -class LayerHandler : public osgGA::GUIEventHandler +class LayerHandler : public osgGA::GUIEventHandler { -public: +public: LayerHandler(osgTerrain::Layer* layer): _layer(layer) {} @@ -612,7 +612,7 @@ while (arguments.read("-p",pathfile)) { osgGA::AnimationPathManipulator* apm = new osgGA::AnimationPathManipulator(pathfile); - if (apm || !apm->valid()) + if (apm || !apm->valid()) { unsigned int num = keyswitchManipulator->getNumMatrixManipulators(); keyswitchManipulator->addMatrixManipulator( keyForAnimationPath, "Path", apm ); @@ -634,7 +634,7 @@ // add the record camera path handler viewer.addEventHandler(new osgViewer::RecordCameraPathHandler); - // attach an IncrementaCompileOperation to allow the master loading + // attach an IncrementaCompileOperation to allow the master loading // to be handled with an incremental compile to avoid frame drops when large objects are added. viewer.setIncrementalCompileOperation(new osgUtil::IncrementalCompileOperation()); @@ -652,7 +652,7 @@ { masterOperation = new MasterOperation(masterFilename, viewer.getIncrementalCompileOperation()); } - + osg::ref_ptr terrainTile = new osgTerrain::TerrainTile; osg::ref_ptr locator = new osgTerrain::Locator; @@ -676,8 +676,8 @@ while(possetTreatBoundariesToValidDataAsDefaultValue(true); } - + else if (arguments.read(pos, "-e",x,y,w,h)) { // define the extents. @@ -710,42 +710,42 @@ { osg::notify(osg::NOTICE)<<"--hf "< hf = osgDB::readHeightFieldFile(filename); + osg::ref_ptr hf = osgDB::readRefHeightFieldFile(filename); if (hf.valid()) { osg::ref_ptr hfl = new osgTerrain::HeightFieldLayer; hfl->setHeightField(hf.get()); - + hfl->setLocator(locator.get()); hfl->setValidDataOperator(validDataOperator.get()); hfl->setMagFilter(filter); - + if (offset!=0.0f || scale!=1.0f) { hfl->transform(offset,scale); } - + terrainTile->setElevationLayer(hfl.get()); - + lastAppliedLayer = hfl.get(); - + osg::notify(osg::NOTICE)<<"created osgTerrain::HeightFieldLayer"< image = osgDB::readImageFile(filename); + osg::ref_ptr image = osgDB::readRefImageFile(filename); if (image.valid()) { osg::ref_ptr imageLayer = new osgTerrain::ImageLayer; @@ -753,14 +753,14 @@ imageLayer->setLocator(locator.get()); imageLayer->setValidDataOperator(validDataOperator.get()); imageLayer->setMagFilter(filter); - + if (offset!=0.0f || scale!=1.0f) { imageLayer->transform(offset,scale); } - + terrainTile->setElevationLayer(imageLayer.get()); - + lastAppliedLayer = imageLayer.get(); osg::notify(osg::NOTICE)<<"created Elevation osgTerrain::ImageLayer"<getColorLayer(layerNum)) { terrainTile->getColorLayer(layerNum)->setMagFilter(filter); } - + } else if (arguments.read(pos, "--tf",minValue, maxValue)) { osg::ref_ptr tf = new osg::TransferFunction1D; - + unsigned int numCells = 6; float delta = (maxValue-minValue)/float(numCells-1); float v = minValue; - + tf->allocate(6); tf->setColor(v, osg::Vec4(1.0,1.0,1.0,1.0)); v += delta; tf->setColor(v, osg::Vec4(1.0,0.0,1.0,1.0)); v += delta; @@ -848,7 +848,7 @@ tf->setColor(v, osg::Vec4(1.0,1.0,0.0,1.0)); v += delta; tf->setColor(v, osg::Vec4(0.0,1.0,1.0,1.0)); v += delta; tf->setColor(v, osg::Vec4(0.0,1.0,0.0,1.0)); - + osg::notify(osg::NOTICE)<<"--tf "<setColorLayer(layerNum, new osgTerrain::ContourLayer(tf.get())); @@ -859,14 +859,14 @@ } } - + osg::ref_ptr scene = new osg::Group; if (terrainTile.valid() && (terrainTile->getElevationLayer() || terrainTile->getColorLayer(0))) { osg::notify(osg::NOTICE)<<"Terrain created"<addChild(terrainTile.get()); osg::ref_ptr geometryTechnique = new osgTerrain::GeometryTechnique; @@ -881,27 +881,27 @@ masterOperation->open(scene.get()); } - + if (scene->getNumChildren()==0) { osg::notify(osg::NOTICE)<<"No model created, please specify terrain or master file on command line."< masterOperationThread; - + typedef std::list< osg::ref_ptr > OperationThreadList; OperationThreadList generalThreadList; - - if (masterOperation.valid()) + + if (masterOperation.valid()) { masterOperationThread = new osg::OperationThread; masterOperationThread->startThread(); - + masterOperationThread->add(masterOperation.get()); // if (numLoadThreads>0) @@ -910,19 +910,19 @@ masterOperation->setOperationQueue(operationQueue.get()); for(unsigned int i=0; i thread = new osg::OperationThread; thread->setOperationQueue(operationQueue.get()); thread->startThread(); generalThreadList.push_back(thread); } } - + viewer.addUpdateOperation(masterOperation.get()); } - + viewer.setThreadingModel(osgViewer::Viewer::SingleThreaded); - + // enable the use of compile contexts and associated threads. // osg::DisplaySettings::instance()->setCompileContextsHint(true); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgtransferfunction/osgtransferfunction.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgtransferfunction/osgtransferfunction.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgtransferfunction/osgtransferfunction.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgtransferfunction/osgtransferfunction.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -512,7 +512,7 @@ return 1; #else - osg::ref_ptr model = osgDB::readNodeFiles(arguments); + osg::ref_ptr model = osgDB::readRefNodeFiles(arguments); #endif typedef std::vector< osg::ref_ptr > Nodes; Nodes nodes; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osguniformbuffer/osguniformbuffer.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osguniformbuffer/osguniformbuffer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osguniformbuffer/osguniformbuffer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osguniformbuffer/osguniformbuffer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -118,18 +118,18 @@ array->dirty(); } }; - + int main(int argc, char** argv) { osg::ArgumentParser arguments(&argc,argv); osgViewer::Viewer viewer(arguments); - + if (arguments.argc() <= 1) { cerr << "Need a scene.\n"; return 1; } - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); if (!loadedModel) { cerr << "couldn't load " << argv[1] << "\n"; return 1; @@ -167,7 +167,7 @@ ref_ptr ubb1 = new UniformBufferBinding(0, ubo.get(), 0, blockSize); ss1->setAttributeAndModes(ubb1.get(), StateAttribute::ON); - + ref_ptr colorArray2 = new FloatArray(&colors2[0], &colors2[sizeof(colors2) / sizeof(GLfloat)]); @@ -193,13 +193,13 @@ group3->setMatrix(mat3); StateSet* ss3 = group3->getOrCreateStateSet(); group3->addChild(loadedModel.get()); - scene->addChild(group3); + scene->addChild(group3); ref_ptr ubb3 = new UniformBufferBinding(0, ubo3.get(), 0, blockSize); ubb3->setUpdateCallback(new UniformBufferCallback); ubb3->setDataVariance(Object::DYNAMIC); ss3->setAttributeAndModes(ubb3.get(), StateAttribute::ON); - + viewer.setSceneData(scene); viewer.realize(); return viewer.run(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgunittests/MultiThreadRead.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgunittests/MultiThreadRead.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgunittests/MultiThreadRead.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgunittests/MultiThreadRead.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -82,7 +82,7 @@ #if VERBOSE std::cout<<"Reading "< node = osgDB::readNodeFile(filename); + osg::ref_ptr node = osgDB::readRefNodeFile(filename); #if VERBOSE if (node.valid()) std::cout<<".. OK"< node = new osg::Group; if (arguments.read("--MyUserDataContainer") || arguments.read("--mydc")) { node->setUserDataContainer(new MyNamespace::MyUserDataContainer); } - + int i = 10; node->setUserValue("Int value",i); @@ -216,18 +216,18 @@ { osgDB::writeNodeFile(*node, "results.osgt"); - osg::ref_ptr from_osgt = osgDB::readNodeFile("results.osgt"); + osg::ref_ptr from_osgt = osgDB::readRefNodeFile("results.osgt"); if (from_osgt.valid()) { OSG_NOTICE< from_osgb = osgDB::readNodeFile("results.osgb"); + osg::ref_ptr from_osgb = osgDB::readRefNodeFile("results.osgb"); if (from_osgb.valid()) { OSG_NOTICE< from_osgx = osgDB::readNodeFile("results.osgx"); + osg::ref_ptr from_osgx = osgDB::readRefNodeFile("results.osgx"); if (from_osgx.valid()) { OSG_NOTICE< loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); if (!loadedModel) { std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; @@ -331,9 +331,9 @@ // optimize the scene graph, remove redundant nodes and state etc. osgUtil::Optimizer optimizer; - optimizer.optimize(loadedModel.get()); + optimizer.optimize(loadedModel); - viewer.setSceneData( loadedModel.get() ); + viewer.setSceneData(loadedModel); viewer.realize(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgvertexattributes/osgvertexattributes.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgvertexattributes/osgvertexattributes.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgvertexattributes/osgvertexattributes.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgvertexattributes/osgvertexattributes.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -98,7 +98,7 @@ #if 1 // replace built in uniform - replaceBuiltInUniform(source, "gl_ModelViewMatrix", "osg_ModeViewMatrix", "uniform mat4 "); + replaceBuiltInUniform(source, "gl_ModelViewMatrix", "osg_ModelViewMatrix", "uniform mat4 "); replaceBuiltInUniform(source, "gl_ModelViewProjectionMatrix", "osg_ModelViewProjectionMatrix", "uniform mat4 "); replaceBuiltInUniform(source, "gl_ProjectionMatrix", "osg_ProjectionMatrix", "uniform mat4 "); #endif @@ -372,7 +372,7 @@ osg::StateSet* stateset = geometry->getOrCreateStateSet(); stateset->setAttribute(program); - osg::Image* image = osgDB::readImageFile("Images/lz.rgb"); + osg::ref_ptr image = osgDB::readRefImageFile("Images/lz.rgb"); osg::Texture2D* texture = new osg::Texture2D(image); texture->setFilter(osg::Texture::MIN_FILTER, osg::Texture::LINEAR); texture->setFilter(osg::Texture::MAG_FILTER, osg::Texture::LINEAR); @@ -415,7 +415,7 @@ while (arguments.read("--vertex-attrib")) { runConvertToVertexAttributes = true; } while (arguments.read("--no-vertex-attrib")) { runConvertToVertexAttributes = false; } - loadedModel = osgDB::readNodeFiles(arguments); + loadedModel = osgDB::readRefNodeFiles(arguments); if (!loadedModel.get()) { osg::notify(osg::NOTICE)<<"No model loaded, please specify a model filename."<imagePosX = osgDB::readRefImageFile(CUBEMAP_FILENAME(posx)); + osg::ref_ptrimageNegX = osgDB::readRefImageFile(CUBEMAP_FILENAME(negx)); + osg::ref_ptrimagePosY = osgDB::readRefImageFile(CUBEMAP_FILENAME(posy)); + osg::ref_ptrimageNegY = osgDB::readRefImageFile(CUBEMAP_FILENAME(negy)); + osg::ref_ptrimagePosZ = osgDB::readRefImageFile(CUBEMAP_FILENAME(posz)); + osg::ref_ptrimageNegZ = osgDB::readRefImageFile(CUBEMAP_FILENAME(negz)); if (imagePosX && imageNegX && imagePosY && imageNegY && imagePosZ && imageNegZ) { @@ -371,7 +371,7 @@ rootnode->addChild(createSkyBox()); // load the nodes from the commandline arguments. - osg::Node* model = osgDB::readNodeFiles(arguments); + osg::ref_ptr model = osgDB::readRefNodeFiles(arguments); if (!model) { const float radius = 1.0f; @@ -388,7 +388,7 @@ osgUtil::SmoothingVisitor smoother; model->accept(smoother); - rootnode->addChild( addRefractStateSet(model) ); + rootnode->addChild( addRefractStateSet(model.get()) ); // add a viewport to the viewer and attach the scene graph. viewer.setSceneData(rootnode); Binary files /tmp/tmpBZj2NA/NWLzmIh_xh/openscenegraph-3.4-3.4.0+dfsg1/examples/osgviewerCocoa/English.lproj/InfoPlist.strings and /tmp/tmpBZj2NA/5Bq9RT3Vdv/openscenegraph-3.4-3.4.1+dfsg1/examples/osgviewerCocoa/English.lproj/InfoPlist.strings differ diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgviewerCocoa/ViewerCocoa.mm openscenegraph-3.4-3.4.1+dfsg1/examples/osgviewerCocoa/ViewerCocoa.mm --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgviewerCocoa/ViewerCocoa.mm 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgviewerCocoa/ViewerCocoa.mm 2017-08-28 16:50:49.000000000 +0000 @@ -173,7 +173,7 @@ NSOpenGLPFADepthSize, (NSOpenGLPixelFormatAttribute)32, // depth buffer size in bits // NSOpenGLPFAColorSize, (NSOpenGLPixelFormatAttribute)24, // Not sure if this helps // NSOpenGLPFAAlphaSize, (NSOpenGLPixelFormatAttribute)8, // Not sure if this helps - (NSOpenGLPixelFormatAttribute)nil + 0 }; return [[[NSOpenGLPixelFormat alloc] initWithAttributes:pixel_attributes] autorelease]; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgviewerGLUT/osgviewerGLUT.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgviewerGLUT/osgviewerGLUT.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgviewerGLUT/osgviewerGLUT.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgviewerGLUT/osgviewerGLUT.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -59,7 +59,7 @@ void reshape( int w, int h ) { // update the window dimensions, in case the window has been resized. - if (window.valid()) + if (window.valid()) { window->resized(window->getTraits()->x, window->getTraits()->y, w, h); window->getEventQueue()->windowResize(window->getTraits()->x, window->getTraits()->y, w, h ); @@ -88,7 +88,7 @@ switch( key ) { case 27: - // clean up the viewer + // clean up the viewer if (viewer.valid()) viewer = 0; glutDestroyWindow(glutGetWindow()); break; @@ -113,7 +113,7 @@ } // load the scene. - osg::ref_ptr loadedModel = osgDB::readNodeFile(argv[1]); + osg::ref_ptr loadedModel = osgDB::readRefNodeFile(argv[1]); if (!loadedModel) { std::cout << argv[0] <<": No data loaded." << std::endl; @@ -139,7 +139,7 @@ viewer->realize(); glutMainLoop(); - + return 0; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgviewerQt/osgviewerQt.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgviewerQt/osgviewerQt.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgviewerQt/osgviewerQt.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgviewerQt/osgviewerQt.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -23,11 +23,11 @@ // disable the default setting of viewer.done() by pressing Escape. setKeyEventSetsDone(0); - QWidget* widget1 = addViewWidget( createGraphicsWindow(0,0,100,100), osgDB::readNodeFile("cow.osgt") ); - QWidget* widget2 = addViewWidget( createGraphicsWindow(0,0,100,100), osgDB::readNodeFile("glider.osgt") ); - QWidget* widget3 = addViewWidget( createGraphicsWindow(0,0,100,100), osgDB::readNodeFile("axes.osgt") ); - QWidget* widget4 = addViewWidget( createGraphicsWindow(0,0,100,100), osgDB::readNodeFile("fountain.osgt") ); - QWidget* popupWidget = addViewWidget( createGraphicsWindow(900,100,320,240,"Popup window",true), osgDB::readNodeFile("dumptruck.osgt") ); + QWidget* widget1 = addViewWidget( createGraphicsWindow(0,0,100,100), osgDB::readRefNodeFile("cow.osgt") ); + QWidget* widget2 = addViewWidget( createGraphicsWindow(0,0,100,100), osgDB::readRefNodeFile("glider.osgt") ); + QWidget* widget3 = addViewWidget( createGraphicsWindow(0,0,100,100), osgDB::readRefNodeFile("axes.osgt") ); + QWidget* widget4 = addViewWidget( createGraphicsWindow(0,0,100,100), osgDB::readRefNodeFile("fountain.osgt") ); + QWidget* popupWidget = addViewWidget( createGraphicsWindow(900,100,320,240,"Popup window",true), osgDB::readRefNodeFile("dumptruck.osgt") ); popupWidget->show(); QGridLayout* grid = new QGridLayout; @@ -41,7 +41,7 @@ _timer.start( 10 ); } - QWidget* addViewWidget( osgQt::GraphicsWindowQt* gw, osg::Node* scene ) + QWidget* addViewWidget( osgQt::GraphicsWindowQt* gw, osg::ref_ptr scene ) { osgViewer::View* view = new osgViewer::View; addView( view ); @@ -110,7 +110,7 @@ if (threadingModel != osgViewer::ViewerBase::SingleThreaded) QApplication::setAttribute(Qt::AA_X11InitThreads); #endif - + QApplication app(argc, argv); ViewerWidget* viewWidget = new ViewerWidget(0, Qt::Widget, threadingModel); viewWidget->setGeometry( 100, 100, 800, 600 ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgviewerSDL/osgviewerSDL.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgviewerSDL/osgviewerSDL.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgviewerSDL/osgviewerSDL.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgviewerSDL/osgviewerSDL.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -78,10 +78,10 @@ exit(1); } atexit(SDL_Quit); - + // load the scene. - osg::ref_ptr loadedModel = osgDB::readNodeFile(argv[1]); + osg::ref_ptr loadedModel = osgDB::readRefNodeFile(argv[1]); if (!loadedModel) { std::cout << argv[0] <<": No data loaded." << std::endl; @@ -111,7 +111,7 @@ SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 5 ); SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, 16 ); SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 ); - + // set up the surface to render to SDL_Surface* screen = SDL_SetVideoMode(windowWidth, windowHeight, bitDepth, SDL_OPENGL | SDL_FULLSCREEN | SDL_RESIZABLE); if ( screen == NULL ) @@ -121,11 +121,11 @@ } SDL_EnableUNICODE(1); - + // If we used 0 to set the fields, query the values so we can pass it to osgViewer windowWidth = screen->w; windowHeight = screen->h; - + osgViewer::Viewer viewer; osg::ref_ptr gw = viewer.setUpViewerAsEmbeddedInWindow(0,0,windowWidth,windowHeight); viewer.setSceneData(loadedModel.get()); @@ -153,7 +153,7 @@ case SDL_KEYUP: if (event.key.keysym.sym==SDLK_ESCAPE) done = true; - if (event.key.keysym.sym=='f') + if (event.key.keysym.sym=='f') { SDL_WM_ToggleFullScreen(screen); gw->resized(0, 0, screen->w, screen->h ); @@ -175,7 +175,7 @@ // Swap Buffers SDL_GL_SwapBuffers(); } - + return 0; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgvirtualprogram/CreateAdvancedHierachy.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgvirtualprogram/CreateAdvancedHierachy.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgvirtualprogram/CreateAdvancedHierachy.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgvirtualprogram/CreateAdvancedHierachy.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -14,7 +14,7 @@ //////////////////////////////////////////////////////////////////////////////// // Example shaders assume: // one texture -// one directional light +// one directional light // front face lighting // color material mode not used (its not supported by GLSL anyway) // diffuse/ambient/emissive/specular factors defined in material structure @@ -50,7 +50,7 @@ " return vec4(r.x / m + 0.5, r.y / m + 0.5, 1.0, 1.0 ); \n" //6 "} \n";//7 -char PerVertexDirectionalLightingVertexShaderSource[] = +char PerVertexDirectionalLightingVertexShaderSource[] = "void lighting( in vec3 position, in vec3 normal ) \n" //1 "{ \n" //2 " float NdotL = dot( normal, normalize(gl_LightSource[0].position.xyz) );\n" //3 @@ -152,7 +152,7 @@ osg::Vec3 center( 0, 0, offset * 0.5 ); osg::Geode * geode = new osg::Geode; - // Make sure no program breaks text outputs + // Make sure no program breaks text outputs geode->getOrCreateStateSet()->setAttribute ( new osg::Program, osg::StateAttribute::ON | osg::StateAttribute::PROTECTED ); @@ -209,16 +209,16 @@ transformRightBottom->setMatrix( osg::Matrix::translate( offset * 0.8,0, -offset * 0.8 ) ); transformRightBottom->addChild( model ); - // Set default VirtualProgram in root StateSet - // With main vertex and main fragment shaders calling + // Set default VirtualProgram in root StateSet + // With main vertex and main fragment shaders calling // lighting and texture functions defined in aditional shaders // Lighting is done per vertex using simple directional light // Texture uses stage 0 TexCoords and TexMap - if( 1 ) + if( 1 ) { // NOTE: - // duplicating the same semantics name in virtual program + // duplicating the same semantics name in virtual program // is only possible if its used for shaders of differing types // here for VERTEX and FRAGMENT @@ -251,35 +251,35 @@ // Override default vertex ligting with pixel lighting shaders // For three bottom models - if( 1 ) + if( 1 ) { AddLabel( transformCenterBottom, "Per Pixel Lighting VP", offset ); VirtualProgram * vp = new VirtualProgram( ); transformCenterBottom->getOrCreateStateSet()->setAttribute( vp ); SetVirtualProgramShader( vp, "lighting",osg::Shader::VERTEX, - "Vertex Shader For Per Pixel Lighting", + "Vertex Shader For Per Pixel Lighting", PerFragmentLightingVertexShaderSource ); SetVirtualProgramShader( vp, "lighting",osg::Shader::FRAGMENT, - "Fragment Shader For Per Pixel Lighting", + "Fragment Shader For Per Pixel Lighting", PerFragmentDirectionalLightingFragmentShaderSource ); } - // Additionaly set bottom left model texture to procedural blue to + // Additionaly set bottom left model texture to procedural blue to // better observe smooth speculars done through per pixel lighting - if( 1 ) + if( 1 ) { AddLabel( transformLeftBottom, "Blue Tex VP", offset ); VirtualProgram * vp = new VirtualProgram( ); transformLeftBottom->getOrCreateStateSet()->setAttribute( vp ); SetVirtualProgramShader( vp, "texture",osg::Shader::FRAGMENT, - "Fragment Shader Procedural Blue Tex", + "Fragment Shader Procedural Blue Tex", ProceduralBlueTextureFragmentShaderSource ); } - // Additionaly change texture mapping to SphereMAp in bottom right model + // Additionaly change texture mapping to SphereMAp in bottom right model if( 1 ) { AddLabel( transformRightBottom, "EnvMap Sphere VP", offset ); @@ -290,13 +290,10 @@ SetVirtualProgramShader( vp, "texture",osg::Shader::VERTEX, "Vertex Texture Sphere Map", SphereMapTextureVertexShaderSource ); - osg::Texture2D * texture = new osg::Texture2D( -// osgDB::readImageFile("Images/reflect.rgb") - osgDB::readImageFile("Images/skymap.jpg") - ); + osg::Texture2D * texture = new osg::Texture2D( osgDB::readRefImageFile("Images/skymap.jpg") ); // Texture is set on stage 1 to not interfere with label text - // The same could be achieved with texture override + // The same could be achieved with texture override // but such approach also turns off label texture ss->setTextureAttributeAndModes( 1, texture, osg::StateAttribute::ON ); ss->addUniform( new osg::Uniform( "baseTexture", 1 ) ); @@ -313,7 +310,7 @@ // Top center model usues osg::Program overriding VirtualProgram in model - if( 1 ) + if( 1 ) { AddLabel( transformCenterTop, "Fixed Vertex + Simple Fragment osg::Program", offset ); osg::Program * program = new osg::Program; @@ -339,8 +336,8 @@ } //////////////////////////////////////////////////////////////////////////////// -// Shders not used in the example but left for fun if anyone wants to play -char LightingVertexShaderSource[] = +// Shders not used in the example but left for fun if anyone wants to play +char LightingVertexShaderSource[] = "// Forward declarations \n" //1 " \n" //2 "void SpotLight( in int i, in vec3 eye, in vec3 position, in vec3 normal, \n" //3 @@ -385,7 +382,7 @@ " gl_BackSecondaryColor = gl_FrontSecondaryColor; \n" //42 "} \n";//43 -char SpotLightShaderSource[] = +char SpotLightShaderSource[] = "void SpotLight(in int i, \n" //1 " in vec3 eye, \n" //2 " in vec3 position, \n" //3 @@ -444,7 +441,7 @@ " specular += gl_LightSource[i].specular * pf * attenuation; \n" //56 "} \n";//57 -char PointLightShaderSource[] = +char PointLightShaderSource[] = "void PointLight(in int i, \n" //1 " in vec3 eye, \n" //2 " in vec3 position, \n" //3 diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgvirtualprogram/osgvirtualprogram.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgvirtualprogram/osgvirtualprogram.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgvirtualprogram/osgvirtualprogram.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgvirtualprogram/osgvirtualprogram.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -14,7 +14,7 @@ //////////////////////////////////////////////////////////////////////////////// osg::Node * CreateGlobe( void ) { - // File not found - create textured sphere + // File not found - create textured sphere osg::Geode * geode = new osg::Geode; osg::ref_ptr hints = new osg::TessellationHints; hints->setDetailRatio( 0.3 ); @@ -33,8 +33,8 @@ osg::StateSet * stateSet = new osg::StateSet; - osg::Texture2D * texture = new osg::Texture2D( - osgDB::readImageFile("Images/land_shallow_topo_2048.jpg") + osg::Texture2D * texture = new osg::Texture2D( + osgDB::readRefImageFile("Images/land_shallow_topo_2048.jpg") ); osg::Material * material = new osg::Material; @@ -68,14 +68,15 @@ bool useSimpleExample = arguments.read("-s") || arguments.read("--simple") ; - osg::Node * model = NULL; + osg::ref_ptr model; - if (arguments.argc()>1 && !arguments.isOption(1) ) { + if (arguments.argc()>1 && !arguments.isOption(1) ) + { std::string filename = arguments[1]; - model = osgDB::readNodeFile( filename ); + model = osgDB::readRefNodeFile( filename ); if ( !model ) { - osg::notify( osg::NOTICE ) - << "Error, cannot read " << filename + osg::notify( osg::NOTICE ) + << "Error, cannot read " << filename << ". Loading default earth model instead." << std::endl; } } @@ -83,9 +84,9 @@ if( model == NULL ) model = CreateGlobe( ); - osg::Node * node = useSimpleExample ? - CreateSimpleHierarchy( model ): - CreateAdvancedHierarchy( model ); + osg::ref_ptr node = useSimpleExample ? + CreateSimpleHierarchy( model.get() ): + CreateAdvancedHierarchy( model.get() ); viewer.setSceneData( node ); viewer.realize( ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgvolume/osgvolume.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgvolume/osgvolume.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgvolume/osgvolume.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgvolume/osgvolume.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -475,7 +475,7 @@ std::string tranferFunctionFile; while (arguments.read("--tf",tranferFunctionFile)) { - transferFunction = osgDB::readFile(tranferFunctionFile); + transferFunction = osgDB::readRefFile(tranferFunctionFile); } while(arguments.read("--test")) @@ -597,7 +597,7 @@ osg::ref_ptr models; while(arguments.read("--model",filename)) { - osg::ref_ptr model = osgDB::readNodeFile(filename); + osg::ref_ptr model = osgDB::readRefNodeFile(filename); if (model.valid()) { if (!models) models = new osg::Group; @@ -608,7 +608,7 @@ osg::ref_ptr hulls; while(arguments.read("--hull",filename)) { - osg::ref_ptr hull = osgDB::readNodeFile(filename); + osg::ref_ptr hull = osgDB::readRefNodeFile(filename); if (hull.valid()) { if (!hulls) hulls = new osg::Group; @@ -713,7 +713,7 @@ osgDB::DirectoryContents contents = osgDB::expandWildcardsInFilename(arg); for (unsigned int i = 0; i < contents.size(); ++i) { - osg::Image *image = osgDB::readImageFile( contents[i] ); + osg::ref_ptr image = osgDB::readRefImageFile( contents[i] ); if(image) { @@ -725,7 +725,7 @@ else { // not an option so assume string is a filename. - osg::Image *image = osgDB::readImageFile( arguments[pos] ); + osg::ref_ptr image = osgDB::readRefImageFile( arguments[pos] ); if(image) { @@ -770,7 +770,7 @@ if (osgDB::getLowerCaseFileExtension(filename)=="dicom") { // not an option so assume string is a filename. - osg::Image* image = osgDB::readImageFile(filename); + osg::ref_ptr image = osgDB::readRefImageFile(filename); if (image) { images.push_back(image); @@ -787,13 +787,13 @@ if (fileType == osgDB::DIRECTORY) { - osg::Image* image = osgDB::readImageFile(filename+".dicom"); + osg::ref_ptr image = osgDB::readRefImageFile(filename+".dicom"); if (image) images.push_back(image); } else if (fileType == osgDB::REGULAR_FILE) { // not an option so assume string is a filename. - osg::Image* image = osgDB::readImageFile( filename ); + osg::ref_ptr image = osgDB::readRefImageFile( filename ); if (image) images.push_back(image); } else @@ -1186,7 +1186,7 @@ dragger->setActivationModKeyMask(osgGA::GUIEventAdapter::MODKEY_SHIFT); dragger->addDraggerCallback(new DraggerVolumeTileCallback(tile.get(), tile->getLocator())); dragger->setMatrix(osg::Matrix::translate(0.5,0.5,0.5)*tile->getLocator()->getTransform()); - + dragger->applyAppropriateFrontFace(dragger->getOrCreateStateSet()); group->addChild(dragger.get()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgwidgetbox/osgwidgetbox.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgwidgetbox/osgwidgetbox.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgwidgetbox/osgwidgetbox.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgwidgetbox/osgwidgetbox.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -23,7 +23,7 @@ bool mouseEnter(double, double, const osgWidget::WindowManager*) { addColor(-osgWidget::Color(0.4f, 0.4f, 0.4f, 0.0f)); - + // osgWidget::warn() << "enter: " << getColor() << std::endl; return true; @@ -31,14 +31,14 @@ bool mouseLeave(double, double, const osgWidget::WindowManager*) { addColor(osgWidget::Color(0.4f, 0.4f, 0.4f, 0.0f)); - + // osgWidget::warn() << "leave: " << getColor() << std::endl; - + return true; } bool mouseOver(double x, double y, const osgWidget::WindowManager*) { - + osgWidget::Color c = getImageColorAtPointerXY(x, y); if(c.a() < 0.001f) { @@ -88,7 +88,7 @@ MASK_2D, osgWidget::WindowManager::WM_PICK_DEBUG ); - + wm->setPointerFocusMode(osgWidget::WindowManager::PFM_SLOPPY); osgWidget::Window* box1 = createBox("HBOX", osgWidget::Box::HORIZONTAL); @@ -112,9 +112,9 @@ box4->hide(); - osg::Node* model = osgDB::readNodeFile("spaceship.osgt"); + osg::ref_ptr model = osgDB::readRefNodeFile("spaceship.osgt"); model->setNodeMask(MASK_3D); - return osgWidget::createExample(viewer, wm, model); + return osgWidget::createExample(viewer, wm, model.get()); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgwidgetframe/osgwidgetframe.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgwidgetframe/osgwidgetframe.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgwidgetframe/osgwidgetframe.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgwidgetframe/osgwidgetframe.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -19,7 +19,7 @@ MASK_2D, osgWidget::WindowManager::WM_PICK_DEBUG ); - + osgWidget::Frame* frame = osgWidget::Frame::createSimpleFrame( "frame", 32.0f, @@ -30,7 +30,7 @@ osgWidget::Frame* frame2 = osgWidget::Frame::createSimpleFrameFromTheme( "frameTheme", - osgDB::readImageFile("osgWidget/theme-1.png"), + osgDB::readRefImageFile("osgWidget/theme-1.png"), 300.0f, 300.0f, osgWidget::Frame::FRAME_ALL @@ -40,7 +40,7 @@ osgWidget::Frame* frame22 = osgWidget::Frame::createSimpleFrameFromTheme( "frameTheme", - osgDB::readImageFile("osgWidget/theme-2.png"), + osgDB::readRefImageFile("osgWidget/theme-2.png"), 300.0f, 300.0f, osgWidget::Frame::FRAME_ALL @@ -51,14 +51,14 @@ osgWidget::Frame* frame3 = osgWidget::Frame::createSimpleFrameFromTheme( "frameTheme", - osgDB::readImageFile("osgWidget/theme-2.png"), + osgDB::readRefImageFile("osgWidget/theme-2.png"), 300.0f, 300.0f, osgWidget::Frame::FRAME_ALL ); frame3->setPosition(300,100,0); frame3->getBackground()->setColor(0.0f, 0.0f, 0.0f, 1.0f); - + osgWidget::Table* table = new osgWidget::Table("table", 2, 2); osgWidget::Box* bottom = new osgWidget::Box("panel", osgWidget::Box::HORIZONTAL); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgwidgetmenu/osgwidgetmenu.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgwidgetmenu/osgwidgetmenu.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgwidgetmenu/osgwidgetmenu.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgwidgetmenu/osgwidgetmenu.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -33,13 +33,13 @@ bool mouseEnter(double, double, const osgWidget::WindowManager*) { setColor(0.6f, 0.6f, 0.6f, 1.0f); - + return true; } bool mouseLeave(double, double, const osgWidget::WindowManager*) { setColor(0.3f, 0.3f, 0.3f, 1.0f); - + return true; } }; @@ -116,13 +116,13 @@ menu->addWidget(new ColorLabelMenu("Grarar!?!")); wm->addChild(menu); - + menu->getBackground()->setColor(1.0f, 1.0f, 1.0f, 0.0f); menu->resizePercent(100.0f); - osg::Node* model = osgDB::readNodeFile("osgcool.osgt"); + osg::ref_ptr model = osgDB::readRefNodeFile("osgcool.osgt"); model->setNodeMask(MASK_3D); - return osgWidget::createExample(viewer, wm, model); + return osgWidget::createExample(viewer, wm, model.get()); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgwidgetmessagebox/osgwidgetmessagebox.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgwidgetmessagebox/osgwidgetmessagebox.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgwidgetmessagebox/osgwidgetmessagebox.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgwidgetmessagebox/osgwidgetmessagebox.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -17,19 +17,19 @@ class MessageBox { protected: - + osgWidget::Frame* createButtonOk(const std::string& theme, const std::string& text, const std::string& font, int fontSize); osgWidget::Label* createLabel(const std::string& string, const std::string& font, int size, const osgWidget::Color& color); - + osg::ref_ptr _window; osg::ref_ptr _button; public: - + osgWidget::Frame* getButton(); osgWidget::Frame* getWindow(); - bool create(const std::string& themeMessage, + bool create(const std::string& themeMessage, const std::string& themeButton, const std::string& titleText, const std::string& messageText, @@ -56,7 +56,7 @@ for (osgWidget::Window::Iterator it = win->begin(); it != win->end(); it++) { // osgWidget::warn() << " I am operating on Widget: " << it->get()->getName() << std::endl; - + osgWidget::Color color = it->get()->getColor(); color[3] = color[3] *_alpha; it->get()->setColor(color); @@ -87,7 +87,7 @@ for (osgWidget::Window::Iterator it = win->begin(); it != win->end(); it++) { // osgWidget::warn() << " I am operating on Widget: " << it->get()->getName() << std::endl; - + // osgWidget::Color color = it->get()->getColor(); // color[3] = color[3] *_alpha; it->get()->setColor(_color); @@ -110,7 +110,7 @@ // typedef osgAnimation::OutQuartMotion WidgetMotion; WidgetMotion _motionOver; WidgetMotion _motionLeave; - + double _lastUpdate; osgWidget::Color _defaultColor; osgWidget::Color _overColor; @@ -119,7 +119,7 @@ float _width; float _height; osg::Matrix _matrix; - EventOK(osgWidget::Frame* frame) : osgWidget::Callback(osgWidget::EVENT_ALL), _frame(frame) + EventOK(osgWidget::Frame* frame) : osgWidget::Callback(osgWidget::EVENT_ALL), _frame(frame) { _motionOver = WidgetMotion(0.0, 0.4); _motionLeave = WidgetMotion(0.0, 0.5); @@ -204,15 +204,15 @@ return label; } -osgWidget::Frame* MessageBox::createButtonOk(const std::string& theme, - const std::string& text, - const std::string& font, +osgWidget::Frame* MessageBox::createButtonOk(const std::string& theme, + const std::string& text, + const std::string& font, int fontSize) { osg::ref_ptr frame = osgWidget::Frame::createSimpleFrameFromTheme( "ButtonOK", - osgDB::readImageFile(theme), - 300.0f, + osgDB::readRefImageFile(theme), + 300.0f, 50.0f, osgWidget::Frame::FRAME_TEXTURE ); @@ -240,7 +240,7 @@ return frame.release(); } -bool MessageBox::create(const std::string& themeMessage, +bool MessageBox::create(const std::string& themeMessage, const std::string& themeButton, const std::string& titleText, const std::string& messageText, @@ -251,7 +251,7 @@ osg::ref_ptr frame = osgWidget::Frame::createSimpleFrameFromTheme( "error", - osgDB::readImageFile(themeMessage), + osgDB::readRefImageFile(themeMessage), 300.0f, 50.0f, osgWidget::Frame::FRAME_ALL @@ -300,7 +300,7 @@ "nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in..." ; -int main(int argc, char** argv) +int main(int argc, char** argv) { osgViewer::Viewer viewer; @@ -319,7 +319,7 @@ std::string borderTheme = "osgWidget/theme-8.png"; MessageBox message; - message.create(borderTheme, + message.create(borderTheme, buttonTheme, "Error - Critical", LABEL1, @@ -422,7 +422,7 @@ for (osgWidget::Window::Iterator it = win->begin(); it != win->end(); it++) { // osgWidget::warn() << " I am operating on Widget: " << it->get()->getName() << std::endl; - + osgWidget::Color color = it->get()->getColor(); color[3] = color[3] *_alpha; it->get()->setColor(color); @@ -453,7 +453,7 @@ for (osgWidget::Window::Iterator it = win->begin(); it != win->end(); it++) { // osgWidget::warn() << " I am operating on Widget: " << it->get()->getName() << std::endl; - + // osgWidget::Color color = it->get()->getColor(); // color[3] = color[3] *_alpha; it->get()->setColor(_color); @@ -474,7 +474,7 @@ typedef osgAnimation::OutQuartMotion WidgetMotion; WidgetMotion _motionOver; WidgetMotion _motionLeave; - + double _lastUpdate; osgWidget::Color _defaultColor; osgWidget::Color _overColor; @@ -482,7 +482,7 @@ osg::ref_ptr _frame; float _width; float _height; - EventOK(osgWidget::Frame* frame) : osgWidget::Callback(osgWidget::EVENT_ALL), _frame(frame) + EventOK(osgWidget::Frame* frame) : osgWidget::Callback(osgWidget::EVENT_ALL), _frame(frame) { _motionOver = WidgetMotion(0.0, 0.4); _motionLeave = WidgetMotion(0.0, 0.5); @@ -507,7 +507,7 @@ // _frame->resize(_width * 1.2, _height * 1.2); return true; } - else if (ev.type == osgWidget::EVENT_MOUSE_LEAVE) + else if (ev.type == osgWidget::EVENT_MOUSE_LEAVE) { _over = false; // std::cout << "Leave" << std::endl; @@ -568,7 +568,7 @@ osg::ref_ptr frame = osgWidget::Frame::createSimpleFrameFromTheme( "ButtonOK", osgDB::readImageFile(theme), - 300.0f, + 300.0f, 50.0f, osgWidget::Frame::FRAME_TEXTURE ); @@ -596,7 +596,7 @@ return frame.release(); } -osgWidget::Frame* createErrorMessage(const std::string& themeMessage, +osgWidget::Frame* createErrorMessage(const std::string& themeMessage, const std::string& themeButton, const std::string& titleText, const std::string& messageText, @@ -645,7 +645,7 @@ "nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in..." ; -int main(int argc, char** argv) +int main(int argc, char** argv) { std::string theme = "osgWidget/theme-1.png"; if (argc > 1) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgwidgetscrolled/osgwidgetscrolled.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgwidgetscrolled/osgwidgetscrolled.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgwidgetscrolled/osgwidgetscrolled.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgwidgetscrolled/osgwidgetscrolled.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -22,9 +22,9 @@ osgWidget::Window::EmbeddedWindow* ew = dynamic_cast(frame->getEmbeddedWindow()) ; - + if(!ew) return false; - + // Lets get the visible area so that we can use it to make sure our scrolling action // is necessary in the first place. const osgWidget::Quad& va = ew->getWindow()->getVisibleArea(); @@ -34,7 +34,7 @@ if(ev.getWindowManager()->isMouseScrollingUp() && va[1] != 0.0f) ew->getWindow()->addVisibleArea(0, -20) ; - + else if(va[1] <= (ew->getWindow()->getHeight() - ew->getHeight())) ew->getWindow()->addVisibleArea(0, 20) ; @@ -88,10 +88,10 @@ osgWidget::WindowManager::WM_PICK_DEBUG //osgWidget::WindowManager::WM_NO_INVERT_Y ); - + osgWidget::Frame* frame = osgWidget::Frame::createSimpleFrameFromTheme( "frame", - osgDB::readImageFile("osgWidget/theme.png"), + osgDB::readRefImageFile("osgWidget/theme.png"), 40.0f, 40.0f, osgWidget::Frame::FRAME_ALL diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgwidgetwindow/osgwidgetwindow.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgwidgetwindow/osgwidgetwindow.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgwidgetwindow/osgwidgetwindow.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgwidgetwindow/osgwidgetwindow.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -53,14 +53,14 @@ virtual bool operator()(osgWidget::Event& ev) { std::cout << "here" << std::endl; - + return false; } }; int main(int argc, char** argv) { osgViewer::Viewer viewer; - + // Let's get busy! The WindowManager class is actually an osg::Switch, // so you can add it to (ideally) an orthographic camera and have it behave as // expected. Note that you create a WindowManager with a NodeMask--it is very important @@ -117,7 +117,7 @@ widget1->setCanFill(true); widget3->setColor(0.0f, 1.0f, 0.0f, 1.0f); - widget1->setImage(osgDB::readImageFile("Images/Saturn.TGA"), true); + widget1->setImage(osgDB::readRefImageFile("Images/Saturn.TGA"), true); // Set the color of widget2, to differentiate it and make it sassy. This is // like a poor man's gradient! @@ -166,16 +166,16 @@ // simply use the createParentOrthoCamera method of the WindowManager class, // which will wrap the calls to createOrthoCamera and addChild for us! Check out // some of the other examples to see this in action... - osg::Group* group = new osg::Group(); - osg::Camera* camera = osgWidget::createOrthoCamera(1280.0f, 1024.0f); - osg::Node* model = osgDB::readNodeFile("cow.osgt"); + osg::ref_ptr group = new osg::Group(); + osg::ref_ptr camera = osgWidget::createOrthoCamera(1280.0f, 1024.0f); + osg::ref_ptr model = osgDB::readRefNodeFile("cow.osgt"); // Add our event handler; is this better as a MatrixManipulator? Add a few other // helpful ViewerEventHandlers. viewer.addEventHandler(new osgWidget::MouseHandler(wm)); viewer.addEventHandler(new osgWidget::KeyboardHandler(wm)); - viewer.addEventHandler(new osgWidget::ResizeHandler(wm, camera)); - viewer.addEventHandler(new osgWidget::CameraSwitchHandler(wm, camera)); + viewer.addEventHandler(new osgWidget::ResizeHandler(wm, camera.get())); + viewer.addEventHandler(new osgWidget::CameraSwitchHandler(wm, camera.get())); viewer.addEventHandler(new osgViewer::StatsHandler()); viewer.addEventHandler(new osgViewer::WindowSizeHandler()); viewer.addEventHandler(new osgGA::StateSetManipulator( @@ -210,7 +210,7 @@ viewer.setSceneData(group); /* - osgViewer::Viewer::Cameras cameras; + osgViewer::Viewer::Cameras cameras; viewer.getCameras(cameras); osg::Camera* c = cameras[0]; osg::Matrix s = osg::Matrix::scale(1.0f, -1.0f, 1.0f); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/examples/osgwindows/osgwindows.cpp openscenegraph-3.4-3.4.1+dfsg1/examples/osgwindows/osgwindows.cpp --- openscenegraph-3.4-3.4.0+dfsg1/examples/osgwindows/osgwindows.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/examples/osgwindows/osgwindows.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -29,13 +29,13 @@ osg::ArgumentParser arguments(&argc,argv); // read the scene from the list of file specified commandline args. - osg::ref_ptr loadedModel = osgDB::readNodeFiles(arguments); + osg::ref_ptr loadedModel = osgDB::readRefNodeFiles(arguments); // if not loaded assume no arguments passed in, try use default mode instead. - if (!loadedModel) loadedModel = osgDB::readNodeFile("cow.osgt"); - + if (!loadedModel) loadedModel = osgDB::readRefNodeFile("cow.osgt"); + // if no model has been successfully loaded report failure. - if (!loadedModel) + if (!loadedModel) { std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; return 1; @@ -70,7 +70,7 @@ // add this slave camera to the viewer, with a shift left of the projection matrix viewer.addSlave(camera.get(), osg::Matrixd::translate(1.0,0.0,0.0), osg::Matrixd()); } - + // right window + right slave camera { osg::ref_ptr traits = new osg::GraphicsContext::Traits; @@ -98,10 +98,10 @@ // optimize the scene graph, remove redundant nodes and state etc. osgUtil::Optimizer optimizer; - optimizer.optimize(loadedModel.get()); + optimizer.optimize(loadedModel); // set the scene to render - viewer.setSceneData(loadedModel.get()); + viewer.setSceneData(loadedModel); return viewer.run(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/.gitignore openscenegraph-3.4-3.4.1+dfsg1/.gitignore --- openscenegraph-3.4-3.4.0+dfsg1/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/.gitignore 2017-08-28 16:50:49.000000000 +0000 @@ -0,0 +1,94 @@ +doc/all_Doxyfile +doc/auto_Doxyfile +doc/core_Doxyfile +doc/openscenegraph.doxyfile +doc/openthreads.doxyfile + +doc/OpenSceneGraphReferenceDocs/ +doc/OpenThreadsReferenceDocs/ + +cmake_uninstall.cmake + +include/OpenThreads/Config +include/OpenThreads/Version +include/osg/Config +include/osg/GL +include/osg/Version +include/osgQt/Version +src/osgQt/__ + +lib/ +bin/ + +*.pc +*.conf +CMakeCache.txt +CMakeFiles +CMakeScripts +Makefile +cmake_install.cmake +install_manifest*.txt + + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# Platform Specifics - auto generated files +PlatformSpecifics/Windows/*.rc + +# Visual studio - project files +*.sln +*.suo +*.vcxproj +*.vcxproj.filters +*.vcxproj.user + +# Visual Studio - Build Results +[Dd]ebug/ +[Rr]elease/ +[Mm]in[Ss]ize[Rr]el/ +[Rr]el[Ww]ith[Dd]eb[Ii]nfo/ + +# Visual Studio - Browsing Database File +*.sdf +*.opensdf + +#osx xcode +DerivedData/ +*.DS_Store +*.build +*.xcodeproj + +#CPACK related files +CPackConfig-*.cmake +_CPack_Packages/ + +#packages +*.tar.gz +*.zip diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/BoundingSphere openscenegraph-3.4-3.4.1+dfsg1/include/osg/BoundingSphere --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/BoundingSphere 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/BoundingSphere 2017-08-28 16:50:49.000000000 +0000 @@ -44,7 +44,7 @@ BoundingSphereImpl() : _center(0.0,0.0,0.0),_radius(-1.0) {} /** Creates a bounding sphere initialized to the given extents. */ - BoundingSphereImpl(const vec_type& center, value_type radius) : _center(center),_radius(radius) {} + BoundingSphereImpl(const vec_type& cntr, value_type rad) : _center(cntr),_radius(rad) {} /** Creates a bounding sphere initialized to the given extents. */ BoundingSphereImpl(const BoundingSphereImpl& bs) : _center(bs._center),_radius(bs._radius) {} @@ -64,7 +64,7 @@ inline bool valid() const { return _radius>=0.0; } inline bool operator == (const BoundingSphereImpl& rhs) const { return _center==rhs._center && _radius==rhs._radius; } - inline bool operator != (const BoundingSphereImpl& rhs) const { return _center!=rhs._center || _radius==rhs._radius; } + inline bool operator != (const BoundingSphereImpl& rhs) const { return _center!=rhs._center || _radius!=rhs._radius; } /** Set the bounding sphere to the given center/radius using floats. */ inline void set(const vec_type& center,value_type radius) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Drawable openscenegraph-3.4-3.4.1+dfsg1/include/osg/Drawable --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Drawable 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Drawable 2017-08-28 16:50:49.000000000 +0000 @@ -191,6 +191,8 @@ */ inline void setShape(Shape* shape) { _shape = shape; } + template void setShape(const ref_ptr& shape) { setShape(shape.get()); } + /** Get the Shape of the Drawable.*/ inline Shape* getShape() { return _shape.get(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Geode openscenegraph-3.4-3.4.1+dfsg1/include/osg/Geode --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Geode 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Geode 2017-08-28 16:50:49.000000000 +0000 @@ -49,6 +49,8 @@ */ virtual bool addDrawable( Drawable *drawable ); + template bool addDrawable( const ref_ptr& drawable ) { return addDrawable(drawable.get()); } + /** Remove a \c Drawable from the \c Geode. * Equivalent to removeDrawable(getDrawableIndex(drawable). * @param drawable The drawable to be removed. @@ -57,6 +59,8 @@ */ virtual bool removeDrawable( Drawable *drawable ); + template bool removeDrawable( const ref_ptr& drawable ) { return removeDrawable( drawable.get() ); } + /** Remove Drawable(s) from the specified position in * Geode's drawable list. * @param i The index of the first \c Drawable to remove. @@ -73,6 +77,8 @@ */ virtual bool replaceDrawable( Drawable *origDraw, Drawable *newDraw ); + template bool replaceDrawable( const ref_ptr& origDraw, const ref_ptr& newDraw ) { return replaceDrawable(origDraw.get(), newDraw.get()); } + /** Set \c Drawable at position \c i. * Decrement the reference count origGSet and increments the * reference count of newGset, and dirty the bounding sphere @@ -85,6 +91,8 @@ */ virtual bool setDrawable( unsigned int i, Drawable* drawable ); + template bool setDrawable( unsigned int i, const ref_ptr& drawable ) { return setDrawable(i, drawable.get()); } + /** Return the number of Drawables currently attached to the * \c Geode. */ @@ -108,6 +116,8 @@ return false; } + template bool containsDrawable(const ref_ptr& drawable) const { return containsDrawable(drawable.get()); } + /** Get the index number of \c drawable. * @return A value between 0 and getNumDrawables()-1 if * \c drawable is found; if not found, then @@ -118,6 +128,8 @@ return getChildIndex(drawable); } + template unsigned int getDrawableIndex( const ref_ptr& drawable ) const { return getDrawableIndex(drawable.get()); } + /** Compile OpenGL Display List for each drawable.*/ void compileDrawables(RenderInfo& renderInfo); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/GLDefines openscenegraph-3.4-3.4.1+dfsg1/include/osg/GLDefines --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/GLDefines 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/GLDefines 2017-08-28 16:50:49.000000000 +0000 @@ -45,8 +45,10 @@ typedef char GLchar; #endif -#if !defined(GL_VERSION_2_0) +#ifndef GL_VERTEX_PROGRAM_POINT_SIZE #define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 +#endif +#ifndef GL_VERTEX_PROGRAM_TWO_SIDE #define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 #endif diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Group openscenegraph-3.4-3.4.1+dfsg1/include/osg/Group --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Group 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Group 2017-08-28 16:50:49.000000000 +0000 @@ -50,6 +50,8 @@ */ virtual bool addChild( Node *child ); + template bool addChild( const ref_ptr& child ) { return addChild(child.get()); } + /** Insert Node to Group at specific location. * The new child node is inserted into the child list * before the node at the specified index. No nodes @@ -57,6 +59,8 @@ */ virtual bool insertChild( unsigned int index, Node *child ); + template bool insertChild( unsigned int index, const ref_ptr& child ) { return insertChild(index, child.get()); } + /** Remove Node from Group. * If Node is contained in Group then remove it from the child * list, decrement its reference count, and dirty the @@ -67,6 +71,8 @@ */ virtual bool removeChild( Node *child ); + template bool removeChild( const ref_ptr& child ) { return removeChild(child.get()); } + /** Remove Node from Group. * If Node is contained in Group then remove it from the child * list, decrement its reference count, and dirty the @@ -91,6 +97,8 @@ */ virtual bool replaceChild( Node *origChild, Node* newChild ); + template bool replaceChild( const ref_ptr& origChild, const ref_ptr& newChild ) { return replaceChild( origChild.get(), newChild.get()); } + /** Return the number of children nodes. */ virtual unsigned int getNumChildren() const; @@ -124,6 +132,8 @@ return false; } + template bool containsNode(const ref_ptr& node) const { return containsNode(node.get()); } + /** Get the index number of child, return a value between * 0 and _children.size()-1 if found, if not found then * return _children.size(). diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Image openscenegraph-3.4-3.4.1+dfsg1/include/osg/Image --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Image 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Image 2017-08-28 16:50:49.000000000 +0000 @@ -542,11 +542,17 @@ * Use the image's s and t values to scale the dimensions of the image. */ extern OSG_EXPORT Geode* createGeodeForImage(Image* image); + +template Geode* createGeodeForImage(const ref_ptr& image) { return createGeodeForImage(image.get()); } + + /** Convenience function to be used by image loaders to generate a valid geode * to return for readNode(). * Use the specified s and t values to scale the dimensions of the image. */ -extern OSG_EXPORT Geode* createGeodeForImage(Image* image,float s,float t); +extern OSG_EXPORT Geode* createGeodeForImage(Image* image, float s, float t); + +template Geode* createGeodeForImage(const ref_ptr& image, float s, float t) { return createGeodeForImage(image.get(), s, t); } } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/ImageSequence openscenegraph-3.4-3.4.1+dfsg1/include/osg/ImageSequence --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/ImageSequence 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/ImageSequence 2017-08-28 16:50:49.000000000 +0000 @@ -92,6 +92,8 @@ void addImage(osg::Image* image); + template void addImage(const osg::ref_ptr& image) { addImage(image.get()); } + void setImage(int s,int t,int r, GLint internalTextureformat, GLenum pixelFormat,GLenum type, @@ -100,6 +102,9 @@ int packing=1) { Image::setImage(s,t,r,internalTextureformat, pixelFormat, type, data, mode, packing); } void setImage(unsigned int pos, osg::Image* image); + + template void setImage(unsigned int pos, const osg::ref_ptr& image) { setImage(pos, image.get()); } + Image* getImage(unsigned int pos); const Image* getImage(unsigned int pos) const; @@ -108,7 +113,7 @@ ImageDataList& getImageDataList() { return _imageDataList; } const ImageDataList& getImageDataList() const { return _imageDataList; } - + /** ImageSequence requires a call to update(NodeVisitor*) during the update traversal so return true.*/ virtual bool requiresUpdateCall() const { return true; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/LOD openscenegraph-3.4-3.4.1+dfsg1/include/osg/LOD --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/LOD 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/LOD 2017-08-28 16:50:49.000000000 +0000 @@ -48,9 +48,13 @@ virtual void traverse(NodeVisitor& nv); + using osg::Group::addChild; + virtual bool addChild(Node *child); - virtual bool addChild(Node *child, float min, float max); + virtual bool addChild(Node *child, float rmin, float rmax); + + template bool addChild( const ref_ptr& child, float rmin, float rmax) { return addChild(child.get(), rmin, rmax); } virtual bool removeChildren(unsigned int pos,unsigned int numChildrenToRemove=1); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Node openscenegraph-3.4-3.4.1+dfsg1/include/osg/Node --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Node 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Node 2017-08-28 16:50:49.000000000 +0000 @@ -212,6 +212,8 @@ /** Set update node callback, called during update traversal. */ void setUpdateCallback(Callback* nc); + template void setUpdateCallback(const ref_ptr& nc) { setUpdateCallback(nc.get()); } + /** Get update node callback, called during update traversal. */ inline Callback* getUpdateCallback() { return _updateCallback.get(); } @@ -226,6 +228,8 @@ } } + template void addUpdateCallback(const ref_ptr& nc) { addUpdateCallback(nc.get()); } + /** Convenience method that removes a given callback from a node, even if that callback is nested. There is no error return in case the given callback is not found. */ inline void removeUpdateCallback(Callback* nc) { if (nc != NULL && _updateCallback.valid()) { @@ -239,6 +243,8 @@ } } + template void removeUpdateCallback(const ref_ptr& nc) { removeUpdateCallback(nc.get()); } + /** Get the number of Children of this node which require Update traversal, * since they have an Update Callback attached to them or their children.*/ inline unsigned int getNumChildrenRequiringUpdateTraversal() const { return _numChildrenRequiringUpdateTraversal; } @@ -247,6 +253,8 @@ /** Set event node callback, called during event traversal. */ void setEventCallback(Callback* nc); + template void setEventCallback(const ref_ptr& nc) { setEventCallback(nc.get()); } + /** Get event node callback, called during event traversal. */ inline Callback* getEventCallback() { return _eventCallback.get(); } @@ -261,6 +269,8 @@ } } + template void addEventCallback(const ref_ptr& nc) { addEventCallback(nc.get()); } + /** Convenience method that removes a given callback from a node, even if that callback is nested. There is no error return in case the given callback is not found. */ inline void removeEventCallback(Callback* nc) { if (nc != NULL && _eventCallback.valid()) { @@ -274,7 +284,9 @@ } } - /** Get the number of Children of this node which require Event traversal, + template void removeEventCallback(const ref_ptr& nc) { removeEventCallback(nc.get()); } + + /** Get the number of Children of this node which require Event traversal, * since they have an Event Callback attached to them or their children.*/ inline unsigned int getNumChildrenRequiringEventTraversal() const { return _numChildrenRequiringEventTraversal; } @@ -282,6 +294,8 @@ /** Set cull node callback, called during cull traversal. */ void setCullCallback(Callback* nc) { _cullCallback = nc; } + template void setCullCallback(const ref_ptr& nc) { setCullCallback(nc.get()); } + /** Get cull node callback, called during cull traversal. */ inline Callback* getCullCallback() { return _cullCallback.get(); } @@ -296,6 +310,8 @@ } } + template void addCullCallback(const ref_ptr& nc) { addCullCallback(nc.get()); } + /** Convenience method that removes a given callback from a node, even if that callback is nested. There is no error return in case the given callback is not found. */ inline void removeCullCallback(Callback* nc) { if (nc != NULL && _cullCallback.valid()) { @@ -309,6 +325,8 @@ } } + template void removeCullCallback(const ref_ptr& nc) { removeCullCallback(nc.get()); } + /** Set the view frustum/small feature culling of this node to be active or inactive. * The default value is true for _cullingActive. Used as a guide * to the cull traversal.*/ @@ -360,6 +378,8 @@ /** Set the node's StateSet.*/ void setStateSet(osg::StateSet* stateset); + template void setStateSet(const osg::ref_ptr& stateset) { setStateSet(stateset.get()); } + /** return the node's StateSet, if one does not already exist create it * set the node and return the newly created StateSet. This ensures * that a valid StateSet is always returned and can be used directly.*/ @@ -444,6 +464,8 @@ /** Set the compute bound callback to override the default computeBound.*/ void setComputeBoundingSphereCallback(ComputeBoundingSphereCallback* callback) { _computeBoundCallback = callback; } + template void setComputeBoundingSphereCallback(const ref_ptr& callback) { setComputeBoundingSphereCallback(callback.get()); } + /** Get the compute bound callback.*/ ComputeBoundingSphereCallback* getComputeBoundingSphereCallback() { return _computeBoundCallback.get(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/NodeVisitor openscenegraph-3.4-3.4.1+dfsg1/include/osg/NodeVisitor --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/NodeVisitor 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/NodeVisitor 2017-08-28 16:50:49.000000000 +0000 @@ -104,7 +104,7 @@ * Equivalent to dynamic_cast(this).*/ virtual const NodeVisitor* asNodeVisitor() const { return this; } - + /** Method to call to reset visitor. Useful if your visitor accumulates state during a traversal, and you plan to reuse the visitor. To flush that state for the next traversal: call reset() prior diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Object openscenegraph-3.4-3.4.1+dfsg1/include/osg/Object --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Object 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Object 2017-08-28 16:50:49.000000000 +0000 @@ -92,8 +92,8 @@ /** return the compound class name that combines the library name and class name.*/ std::string getCompoundClassName() const { return std::string(libraryName()) + std::string("::") + std::string(className()); } - - + + /** Convert 'this' into a Node pointer if Object is a Node, otherwise return 0. * Equivalent to dynamic_cast(this).*/ virtual Node* asNode() { return 0; } @@ -168,6 +168,8 @@ /** set the UserDataContainer object.*/ void setUserDataContainer(osg::UserDataContainer* udc); + template void setUserDataContainer(const ref_ptr& udc) { setUserDataContainer(udc.get()); } + /** get the UserDataContainer attached to this object.*/ osg::UserDataContainer* getUserDataContainer() { return _userDataContainer; } @@ -187,6 +189,8 @@ */ virtual void setUserData(Referenced* obj); + template void setUserData(const ref_ptr& ud) { setUserData(ud.get()); } + /** Get user data.*/ virtual Referenced* getUserData(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/PagedLOD openscenegraph-3.4-3.4.1+dfsg1/include/osg/PagedLOD --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/PagedLOD 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/PagedLOD 2017-08-28 16:50:49.000000000 +0000 @@ -31,15 +31,19 @@ META_Node(osg, PagedLOD); - - virtual void traverse(NodeVisitor& nv); + using osg::Group::addChild; + virtual bool addChild(Node *child); - virtual bool addChild(Node *child, float min, float max); + virtual bool addChild(Node *child, float rmin, float rmax); + + template bool addChild( const ref_ptr& child, float rmin, float rmax) { return addChild(child.get(), rmin, rmax); } + + virtual bool addChild(Node *child, float rmin, float rmax, const std::string& filename, float priorityOffset=0.0f, float priorityScale=1.0f); - virtual bool addChild(Node *child, float min, float max,const std::string& filename, float priorityOffset=0.0f, float priorityScale=1.0f); + template bool addChild( const ref_ptr& child, float rmin, float rmax, const std::string& filename, float priorityOffset=0.0f, float priorityScale=1.0f) { return addChild(child.get(), rmin, rmax, filename, priorityOffset, priorityScale); } virtual bool removeChildren(unsigned int pos,unsigned int numChildrenToRemove=1); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Program openscenegraph-3.4-3.4.1+dfsg1/include/osg/Program --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Program 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Program 2017-08-28 16:50:49.000000000 +0000 @@ -86,6 +86,8 @@ * Mark Program as needing relink. Return true for success */ bool addShader( Shader* shader ); + template bool addShader( const ref_ptr& shader ) { return addShader(shader.get()); } + unsigned int getNumShaders() const { return static_cast(_shaderList.size()); } Shader* getShader( unsigned int i ) { return _shaderList[i].get(); } @@ -95,6 +97,8 @@ * Mark Program as needing relink. Return true for success */ bool removeShader( Shader* shader ); + template bool removeShader( const ref_ptr& shader ) { return removeShader(shader.get()); } + /** Set/get GL program parameters */ void setParameter( GLenum pname, GLint value ); GLint getParameter( GLenum pname ) const; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/ProxyNode openscenegraph-3.4-3.4.1+dfsg1/include/osg/ProxyNode --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/ProxyNode 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/ProxyNode 2017-08-28 16:50:49.000000000 +0000 @@ -36,9 +36,14 @@ virtual void traverse(NodeVisitor& nv); + using osg::Group::addChild; + virtual bool addChild(Node *child); + virtual bool addChild(Node *child, const std::string& filename); + template bool addChild( const ref_ptr& child, const std::string& filename) { return addChild(child.get(), filename); } + virtual bool removeChildren(unsigned int pos,unsigned int numChildrenToRemove); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Sequence openscenegraph-3.4-3.4.1+dfsg1/include/osg/Sequence --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Sequence 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Sequence 2017-08-28 16:50:49.000000000 +0000 @@ -41,14 +41,22 @@ // maintained. New code should set defaultTime and use addChild, and // not mess with the setTime method + using osg::Group::addChild; + using osg::Group::insertChild; + using osg::Group::removeChild; + virtual bool addChild( Node *child); virtual bool addChild( Node *child, double t); + template bool addChild( const ref_ptr& child, double t) { return addChild(child.get(), t); } + virtual bool insertChild( unsigned int index, Node *child); virtual bool insertChild( unsigned int index, Node *child, double t); + template bool insertChild( unsigned int index, const ref_ptr& child, double t) { return insertChild(index, child.get(), t); } + virtual bool removeChild( Node *child ); virtual bool removeChildren(unsigned int pos,unsigned int numChildrenToRemove); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/ShaderComposer openscenegraph-3.4-3.4.1+dfsg1/include/osg/ShaderComposer --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/ShaderComposer 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/ShaderComposer 2017-08-28 16:50:49.000000000 +0000 @@ -39,7 +39,10 @@ virtual osg::Shader* composeMain(const Shaders& shaders); virtual void addShaderToProgram(Program* program, const Shaders& shaders); - void releaseGLObjects(osg::State* state); + /// kept for backward compatibility + void releaseGLObjects(osg::State* state) { static_cast(this)->releaseGLObjects(state); } + + virtual void releaseGLObjects(osg::State* state) const; protected: diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Shape openscenegraph-3.4-3.4.1+dfsg1/include/osg/Shape --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Shape 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Shape 2017-08-28 16:50:49.000000000 +0000 @@ -622,6 +622,8 @@ /** Add a child to the list.*/ void addChild(Shape* shape) { _children.push_back(shape); } + template void addChild( const ref_ptr& child ) { addChild(child.get()); } + /** remove a child from the list.*/ void removeChild(unsigned int i) { _children.erase(_children.begin()+i); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/ShapeDrawable openscenegraph-3.4-3.4.1+dfsg1/include/osg/ShapeDrawable --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/ShapeDrawable 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/ShapeDrawable 2017-08-28 16:50:49.000000000 +0000 @@ -132,6 +132,12 @@ ShapeDrawable(Shape* shape, TessellationHints* hints=0); + template ShapeDrawable(const ref_ptr& shape, TessellationHints* hints=0): + _color(1.0f,1.0f,1.0f,1.0f), + _tessellationHints(hints) { setShape(shape.get()); } + + + /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ ShapeDrawable(const ShapeDrawable& pg,const CopyOp& copyop=CopyOp::SHALLOW_COPY); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/State openscenegraph-3.4-3.4.1+dfsg1/include/osg/State --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/State 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/State 2017-08-28 16:50:49.000000000 +0000 @@ -2108,7 +2108,7 @@ dv.push_back(StateSet::DefinePair(aitr->second.first,aitr->second.second)); // if the back of the stack has changed since the last then mark it as changed. - bool changed = (dv[dv.size()-2].first==dv[dv.size()-1].first); + bool changed = (dv[dv.size()-2] != dv.back()); if (changed) { ds.changed = true; @@ -2177,7 +2177,7 @@ if (!dv.empty()) { // if the stack has less than 2 entries or new back vs old back are different then mark the DefineStack as changed - if ((dv.size()<2) || (dv[dv.size()-2].first!=dv.back().first)) + if ((dv.size() < 2) || (dv[dv.size()-2] != dv.back())) { ds.changed = true; defineMap.changed = true; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/StateSet openscenegraph-3.4-3.4.1+dfsg1/include/osg/StateSet --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/StateSet 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/StateSet 2017-08-28 16:50:49.000000000 +0000 @@ -160,15 +160,21 @@ /** Set this StateSet to contain specified attribute and override flag.*/ void setAttribute(StateAttribute *attribute, StateAttribute::OverrideValue value=StateAttribute::OFF); + template void setAttribute(const ref_ptr& attribute, StateAttribute::OverrideValue value=StateAttribute::OFF) { setAttribute(attribute.get(), value); } + /** Set this StateSet to contain specified attribute and set the associated GLMode's to specified value.*/ void setAttributeAndModes(StateAttribute *attribute, StateAttribute::GLModeValue value=StateAttribute::ON); + template void setAttributeAndModes(const ref_ptr& attribute, StateAttribute::GLModeValue value=StateAttribute::ON) { setAttributeAndModes(attribute.get(), value); } + /** remove attribute of specified type from StateSet.*/ void removeAttribute(StateAttribute::Type type, unsigned int member=0); /** remove attribute from StateSet.*/ void removeAttribute(StateAttribute *attribute); + template void removeAttribute(const ref_ptr& attribute) { removeAttribute(attribute.get()); } + /** Get specified StateAttribute for specified type. * Returns NULL if no type is contained within StateSet.*/ StateAttribute* getAttribute(StateAttribute::Type type, unsigned int member = 0); @@ -226,15 +232,22 @@ /** Set this StateSet to contain specified attribute and override flag.*/ void setTextureAttribute(unsigned int unit,StateAttribute *attribute, StateAttribute::OverrideValue value=StateAttribute::OFF); + + template void setTextureAttribute(unsigned int unit, const ref_ptr& attribute, StateAttribute::OverrideValue value=StateAttribute::OFF) { setTextureAttribute( unit, attribute.get(), value); } + /** Set this StateSet to contain specified attribute and set the associated GLMode's to specified value.*/ void setTextureAttributeAndModes(unsigned int unit,StateAttribute *attribute, StateAttribute::GLModeValue value=StateAttribute::ON); + template void setTextureAttributeAndModes(unsigned int unit, const ref_ptr& attribute, StateAttribute::OverrideValue value=StateAttribute::ON) { setTextureAttributeAndModes( unit, attribute.get(), value); } + /** remove texture attribute of specified type from StateSet.*/ void removeTextureAttribute(unsigned int unit, StateAttribute::Type type); /** remove texture attribute from StateSet.*/ void removeTextureAttribute(unsigned int unit, StateAttribute *attribute); + template void removeTextureAttribute(unsigned int unit, const ref_ptr& attribute) { removeTextureAttribute(unit, attribute.get()); } + /** Get specified Texture related StateAttribute for specified type. * Returns NULL if no type is contained within StateSet.*/ StateAttribute* getTextureAttribute(unsigned int unit,StateAttribute::Type type); @@ -278,12 +291,16 @@ /** Set this StateSet to contain specified uniform and override flag.*/ void addUniform(Uniform* uniform, StateAttribute::OverrideValue value=StateAttribute::ON); + template void addUniform(const ref_ptr& uniform, StateAttribute::OverrideValue value=StateAttribute::ON) { addUniform( uniform.get(), value); } + /** remove uniform of specified name from StateSet.*/ void removeUniform(const std::string& name); /** remove Uniform from StateSet.*/ void removeUniform(Uniform* uniform); + template void removeUniform(const ref_ptr& uniform) { removeUniform(uniform.get()); } + /** Get Uniform for specified name. * Returns NULL if no matching Uniform is contained within StateSet.*/ Uniform* getUniform(const std::string& name); @@ -427,6 +444,8 @@ /** Set the Update Callback which allows users to attach customize the updating of an object during the update traversal.*/ void setUpdateCallback(Callback* ac); + template void setUpdateCallback(const ref_ptr& ac) { setUpdateCallback(ac.get()); } + /** Get the non const Update Callback.*/ Callback* getUpdateCallback() { return _updateCallback.get(); } @@ -447,6 +466,8 @@ /** Set the Event Callback which allows users to attach customize the updating of an object during the event traversal.*/ void setEventCallback(Callback* ac); + template void setEventCallback(const ref_ptr& ec) { setEventCallback(ec.get()); } + /** Get the non const Event Callback.*/ Callback* getEventCallback() { return _eventCallback.get(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Switch openscenegraph-3.4-3.4.1+dfsg1/include/osg/Switch --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Switch 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Switch 2017-08-28 16:50:49.000000000 +0000 @@ -45,6 +45,9 @@ bool getNewChildDefaultValue() const { return _newChildDefaultValue; } + using osg::Group::addChild; + using osg::Group::insertChild; + virtual bool addChild( Node *child ); virtual bool addChild( Node *child, bool value ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Texture openscenegraph-3.4-3.4.1+dfsg1/include/osg/Texture --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Texture 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Texture 2017-08-28 16:50:49.000000000 +0000 @@ -740,6 +740,8 @@ /** Sets the texture image for the specified face. */ virtual void setImage(unsigned int face, Image* image) = 0; + template void setImage(unsigned int face, const ref_ptr& image) { setImage(face, image.get()); } + /** Gets the texture image for the specified face. */ virtual Image* getImage(unsigned int face) = 0; @@ -753,6 +755,8 @@ /** Set the PBuffer graphics context to read from when using PBuffers for RenderToTexture.*/ void setReadPBuffer(GraphicsContext* context) { _readPBuffer = context; } + template void setReadPBuffer(const ref_ptr& context) { setReadPBuffer(context.get()); } + /** Get the PBuffer graphics context to read from when using PBuffers for RenderToTexture.*/ GraphicsContext* getReadPBuffer() { return _readPBuffer.get(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Texture1D openscenegraph-3.4-3.4.1+dfsg1/include/osg/Texture1D --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Texture1D 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Texture1D 2017-08-28 16:50:49.000000000 +0000 @@ -36,6 +36,13 @@ Texture1D(Image* image); + template Texture1D(const osg::ref_ptr& image): + _textureWidth(0), + _numMipmapLevels(0) + { + setImage(image.get()); + } + /** Copy constructor using CopyOp to manage deep vs shallow copy. */ Texture1D(const Texture1D& text,const CopyOp& copyop=CopyOp::SHALLOW_COPY); @@ -49,6 +56,8 @@ /** Sets the texture image. */ void setImage(Image* image); + template void setImage(const ref_ptr& image) { setImage(image.get()); } + /** Gets the texture image. */ Image* getImage() { return _image.get(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Texture2D openscenegraph-3.4-3.4.1+dfsg1/include/osg/Texture2D --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Texture2D 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Texture2D 2017-08-28 16:50:49.000000000 +0000 @@ -30,6 +30,15 @@ Texture2D(Image* image); + template Texture2D(const osg::ref_ptr& image): + _textureWidth(0), + _textureHeight(0), + _numMipmapLevels(0) + { + setUseHardwareMipMapGeneration(true); + setImage(image.get()); + } + /** Copy constructor using CopyOp to manage deep vs shallow copy. */ Texture2D(const Texture2D& text,const CopyOp& copyop=CopyOp::SHALLOW_COPY); @@ -43,6 +52,8 @@ /** Sets the texture image. */ void setImage(Image* image); + template void setImage(const ref_ptr& image) { setImage(image.get()); } + /** Gets the texture image. */ Image* getImage() { return _image.get(); } @@ -59,6 +70,8 @@ /** Sets the texture image, ignoring face. */ virtual void setImage(unsigned int, Image* image) { setImage(image); } + template void setImage(unsigned int, const ref_ptr& image) { setImage(image.get()); } + /** Gets the texture image, ignoring face. */ virtual Image* getImage(unsigned int) { return _image.get(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Texture2DArray openscenegraph-3.4-3.4.1+dfsg1/include/osg/Texture2DArray --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Texture2DArray 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Texture2DArray 2017-08-28 16:50:49.000000000 +0000 @@ -48,6 +48,8 @@ /** Set the texture image for specified layer. */ virtual void setImage(unsigned int layer, Image* image); + template void setImage(unsigned int layer, const ref_ptr& image) { setImage(layer, image.get()); } + /** Get the texture image for specified layer. */ virtual Image* getImage(unsigned int layer); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Texture2DMultisample openscenegraph-3.4-3.4.1+dfsg1/include/osg/Texture2DMultisample --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Texture2DMultisample 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Texture2DMultisample 2017-08-28 16:50:49.000000000 +0000 @@ -63,6 +63,7 @@ // unnecessary for Texture2DMultisample virtual void setImage(unsigned int /*face*/, Image* /*image*/) {} + virtual Image* getImage(unsigned int /*face*/) { return NULL; } virtual const Image* getImage(unsigned int /*face*/) const { return NULL; } virtual unsigned int getNumImages() const {return 0; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Texture3D openscenegraph-3.4-3.4.1+dfsg1/include/osg/Texture3D --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Texture3D 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Texture3D 2017-08-28 16:50:49.000000000 +0000 @@ -30,6 +30,16 @@ Texture3D(Image* image); + + template Texture3D(const osg::ref_ptr& image): + _textureWidth(0), + _textureHeight(0), + _textureDepth(0), + _numMipmapLevels(0) + { + setImage(image.get()); + } + /** Copy constructor using CopyOp to manage deep vs shallow copy. */ Texture3D(const Texture3D& text,const CopyOp& copyop=CopyOp::SHALLOW_COPY); @@ -43,6 +53,8 @@ /** Sets the texture image. */ void setImage(Image* image); + template void setImage(const ref_ptr& image) { setImage(image.get()); } + /** Gets the texture image. */ Image* getImage() { return _image.get(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/TextureCubeMap openscenegraph-3.4-3.4.1+dfsg1/include/osg/TextureCubeMap --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/TextureCubeMap 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/TextureCubeMap 2017-08-28 16:50:49.000000000 +0000 @@ -49,6 +49,8 @@ /** Set the texture image for specified face. */ virtual void setImage(unsigned int face, Image* image); + template void setImage(unsigned int face, const ref_ptr& image) { setImage(face, image.get()); } + /** Get the texture image for specified face. */ virtual Image* getImage(unsigned int face); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/TextureRectangle openscenegraph-3.4-3.4.1+dfsg1/include/osg/TextureRectangle --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/TextureRectangle 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/TextureRectangle 2017-08-28 16:50:49.000000000 +0000 @@ -36,6 +36,19 @@ TextureRectangle(Image* image); + template TextureRectangle(const osg::ref_ptr& image): + _textureWidth(0), + _textureHeight(0) + { + setWrap(WRAP_S, CLAMP); + setWrap(WRAP_T, CLAMP); + + setFilter(MIN_FILTER, LINEAR); + setFilter(MAG_FILTER, LINEAR); + + setImage(image.get()); + } + /** Copy constructor using CopyOp to manage deep vs shallow copy. */ TextureRectangle(const TextureRectangle& text,const CopyOp& copyop=CopyOp::SHALLOW_COPY); @@ -49,6 +62,8 @@ /** Set the texture image. */ void setImage(Image* image); + template void setImage(const ref_ptr& image) { setImage(image.get()); } + /** Get the texture image. */ Image* getImage() { return _image.get(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Timer openscenegraph-3.4-3.4.1+dfsg1/include/osg/Timer --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Timer 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Timer 2017-08-28 16:50:49.000000000 +0000 @@ -56,7 +56,7 @@ inline double time_n() const { return delta_n(_startTick, tick()); } /** Get the time in seconds between timer ticks t1 and t2.*/ - inline double delta_s( Timer_t t1, Timer_t t2 ) const { return (double)(t2 - t1)*_secsPerTick; } + inline double delta_s( Timer_t t1, Timer_t t2 ) const { return (t2>t1) ? (double)(t2 - t1)*_secsPerTick : -(double)(t1 - t2)*_secsPerTick; } /** Get the time in milliseconds between timer ticks t1 and t2.*/ inline double delta_m( Timer_t t1, Timer_t t2 ) const { return delta_s(t1,t2)*1e3; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/Types openscenegraph-3.4-3.4.1+dfsg1/include/osg/Types --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/Types 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/Types 2017-08-28 16:50:49.000000000 +0000 @@ -15,13 +15,13 @@ #define __OSG_TYPES #if defined(_MSC_VER) && _MSC_VER < 1600 -typedef __int8 int8_t; -typedef unsigned __int8 uint8_t; -typedef __int16 int16_t; +typedef signed __int8 int8_t; +typedef unsigned __int8 uint8_t; +typedef signed __int16 int16_t; typedef unsigned __int16 uint16_t; -typedef __int32 int32_t; +typedef signed __int32 int32_t; typedef unsigned __int32 uint32_t; -typedef __int64 int64_t; +typedef signed __int64 int64_t; typedef unsigned __int64 uint64_t; #else #include diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osg/UserDataContainer openscenegraph-3.4-3.4.1+dfsg1/include/osg/UserDataContainer --- openscenegraph-3.4-3.4.0+dfsg1/include/osg/UserDataContainer 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osg/UserDataContainer 2017-08-28 16:50:49.000000000 +0000 @@ -47,6 +47,8 @@ */ virtual void setUserData(Referenced* obj) = 0; + using osg::Object::setUserData; + /** Get user data.*/ virtual Referenced* getUserData() = 0; @@ -56,6 +58,8 @@ /** Add user data object. Returns the index position of object added. */ virtual unsigned int addUserObject(Object* obj) = 0; + template unsigned int addUserObject(const osg::ref_ptr& obj) { return addUserObject(obj.get()); } + /** Add element to list of user data objects.*/ virtual void setUserObject(unsigned int i, Object* obj) = 0; @@ -127,6 +131,9 @@ */ virtual void setUserData(Referenced* obj); + using osg::Object::setUserData; + using osg::UserDataContainer::addUserObject; + /** Get user data.*/ virtual Referenced* getUserData(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgAnimation/UpdateUniform openscenegraph-3.4-3.4.1+dfsg1/include/osgAnimation/UpdateUniform --- openscenegraph-3.4-3.4.0+dfsg1/include/osgAnimation/UpdateUniform 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgAnimation/UpdateUniform 2017-08-28 16:50:49.000000000 +0000 @@ -69,6 +69,18 @@ META_Object(osgAnimation, UpdateFloatUniform); }; + // Vec2f + struct UpdateVec2fUniform : public UpdateUniform + { + UpdateVec2fUniform(const std::string& aName = "") : UpdateUniform(aName) { } + UpdateVec2fUniform(const UpdateVec2fUniform& uv2fu, + const osg::CopyOp& copyop) : + osg::Object(uv2fu, copyop), // copy name + UpdateUniform(uv2fu, copyop) { } + + META_Object(osgAnimation, UpdateVec2fUniform); + }; + // Vec3f struct UpdateVec3fUniform : public UpdateUniform { @@ -81,6 +93,18 @@ META_Object(osgAnimation, UpdateVec3fUniform); }; + // Vec4f + struct UpdateVec4fUniform : public UpdateUniform + { + UpdateVec4fUniform(const std::string& aName = "") : UpdateUniform(aName) { } + UpdateVec4fUniform(const UpdateVec4fUniform& uv4fu, + const osg::CopyOp& copyop) : + osg::Object(uv4fu, copyop), // copy name + UpdateUniform(uv4fu, copyop) { } + + META_Object(osgAnimation, UpdateVec4fUniform); + }; + // Matrixf struct UpdateMatrixfUniform : public UpdateUniform { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgDB/AuthenticationMap openscenegraph-3.4-3.4.1+dfsg1/include/osgDB/AuthenticationMap --- openscenegraph-3.4-3.4.0+dfsg1/include/osgDB/AuthenticationMap 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgDB/AuthenticationMap 2017-08-28 16:50:49.000000000 +0000 @@ -35,10 +35,14 @@ { BASIC = 1<<0, DIGEST = 1<<1, - NTLM = 1<<2, - GSSNegotiate = 1<<2, - ANY = ~0, - ANYSAFE = ~BASIC + NEGOTIATE = 1<<2, + GSSNegotiate = NEGOTIATE, + NTLM = 1<<3, + DIGEST_IE = 1<<4, + NTLM_WB = 1<<5, + ONLY = 1<<31, + ANY = ~(DIGEST_IE), + ANYSAFE = ~(BASIC|DIGEST_IE) }; AuthenticationDetails(const std::string& u, const std::string& p, HttpAuthentication auth=BASIC): diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgDB/fstream openscenegraph-3.4-3.4.1+dfsg1/include/osgDB/fstream --- openscenegraph-3.4-3.4.0+dfsg1/include/osgDB/fstream 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgDB/fstream 2017-08-28 16:50:49.000000000 +0000 @@ -31,27 +31,27 @@ void OSGDB_EXPORT open(std::fstream& fs, const char* filename,std::ios_base::openmode mode); -class OSGDB_EXPORT ifstream : public std::ifstream +class ifstream : public std::ifstream { public: - ifstream(); - explicit ifstream(const char* filename, + OSGDB_EXPORT ifstream(); + OSGDB_EXPORT explicit ifstream(const char* filename, std::ios_base::openmode mode = std::ios_base::in); - ~ifstream(); + OSGDB_EXPORT ~ifstream(); - void open(const char* filename, + void OSGDB_EXPORT open(const char* filename, std::ios_base::openmode mode = std::ios_base::in); }; -class OSGDB_EXPORT ofstream : public std::ofstream +class ofstream : public std::ofstream { public: - ofstream(); - explicit ofstream(const char* filename, + OSGDB_EXPORT ofstream(); + OSGDB_EXPORT explicit ofstream(const char* filename, std::ios_base::openmode mode = std::ios_base::out); - ~ofstream(); + OSGDB_EXPORT ~ofstream(); - void open(const char* filename, + void OSGDB_EXPORT open(const char* filename, std::ios_base::openmode mode = std::ios_base::out); }; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgDB/ImagePager openscenegraph-3.4-3.4.1+dfsg1/include/osgDB/ImagePager --- openscenegraph-3.4-3.4.0+dfsg1/include/osgDB/ImagePager 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgDB/ImagePager 2017-08-28 16:50:49.000000000 +0000 @@ -149,7 +149,7 @@ void updateBlock() { - _block->set((!_requestList.empty() || !_pager->_databasePagerThreadPaused)); + _block->set((!_requestList.empty() && !_pager->_databasePagerThreadPaused)); } void clear(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgDB/ReaderWriter openscenegraph-3.4-3.4.1+dfsg1/include/osgDB/ReaderWriter --- openscenegraph-3.4-3.4.0+dfsg1/include/osgDB/ReaderWriter 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgDB/ReaderWriter 2017-08-28 16:50:49.000000000 +0000 @@ -123,8 +123,12 @@ ReadResult(ReadStatus status=FILE_NOT_HANDLED):_status(status) {} ReadResult(const std::string& m):_status(ERROR_IN_READING_FILE),_message(m) {} + ReadResult(osg::Object* obj, ReadStatus status=FILE_LOADED):_status(status),_object(obj) {} + template + ReadResult(const osg::ref_ptr& obj, ReadStatus status=FILE_LOADED):_status(status),_object(obj.get()) {} + ReadResult(const ReadResult& rr):_status(rr._status),_message(rr._message),_object(rr._object) {} ReadResult& operator = (const ReadResult& rr) { if (this==&rr) return *this; _status=rr._status; _message=rr._message;_object=rr._object; return *this; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgDB/ReadFile openscenegraph-3.4-3.4.1+dfsg1/include/osgDB/ReadFile --- openscenegraph-3.4-3.4.0+dfsg1/include/osgDB/ReadFile 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgDB/ReadFile 2017-08-28 16:50:49.000000000 +0000 @@ -27,146 +27,144 @@ /** Read an osg::Object from file. - * Return valid osg::Object on success, - * return NULL on failure. + * Return an assigned osg::ref_ptr on success, + * return an osg::ref_ptr with a NULL pointer assigned to it on failure. * Use the Options object to control cache operations and file search paths in osgDB::Registry. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -extern OSGDB_EXPORT osg::Object* readObjectFile(const std::string& filename,const Options* options); +extern OSGDB_EXPORT osg::ref_ptr readRefObjectFile(const std::string& filename,const Options* options); /** Read an osg::Object from file. - * Return valid osg::Object on success, - * return NULL on failure. + * Return an assigned osg::ref_ptr on success, + * return an osg::ref_ptr with a NULL pointer assigned to it on failure. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::Object* readObjectFile(const std::string& filename) +inline osg::ref_ptr readRefObjectFile(const std::string& filename) { - return readObjectFile(filename, Registry::instance()->getOptions()); + return readRefObjectFile(filename, Registry::instance()->getOptions()); } -template -inline T* readFile(const std::string& filename, const Options* options) +template +inline osg::ref_ptr readRefFile(const std::string& filename, const Options* options) { - osg::ref_ptr object = readObjectFile(filename, options); + osg::ref_ptr object = readRefObjectFile(filename, options); osg::ref_ptr t = dynamic_cast(object.get()); - object = 0; - return t.release(); + return t; } -template -inline T* readFile(const std::string& filename) +template +inline osg::ref_ptr readRefFile(const std::string& filename) { - return readFile(filename, Registry::instance()->getOptions()); + return readRefFile(filename, Registry::instance()->getOptions()); } /** Read an osg::Image from file. - * Return valid osg::Image on success, - * return NULL on failure. + * Return an assigned osg::ref_ptr on success, + * return an osg::ref_ptr with a NULL pointer assigned to it on failure. * Use the Options object to control cache operations and file search paths in osgDB::Registry. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -extern OSGDB_EXPORT osg::Image* readImageFile(const std::string& filename,const Options* options); +extern OSGDB_EXPORT osg::ref_ptr readRefImageFile(const std::string& filename,const Options* options); /** Read an osg::Image from file. - * Return valid osg::Image on success, - * return NULL on failure. + * Return an assigned osg::ref_ptr on success, + * return an osg::ref_ptr with a NULL pointer assigned to it on failure. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::Image* readImageFile(const std::string& filename) +inline osg::ref_ptr readRefImageFile(const std::string& filename) { - return readImageFile(filename,Registry::instance()->getOptions()); + return readRefImageFile(filename,Registry::instance()->getOptions()); } /** Read an osg::HeightField from file. - * Return valid osg::HeightField on success, - * return NULL on failure. + * Return an assigned osg::ref_ptr on success, + * return an osg::ref_ptr with a NULL pointer assigned to it on failure. * Use the Options object to control cache operations and file search paths in osgDB::Registry. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -extern OSGDB_EXPORT osg::HeightField* readHeightFieldFile(const std::string& filename,const Options* options); +extern OSGDB_EXPORT osg::ref_ptr readRefHeightFieldFile(const std::string& filename,const Options* options); /** Read an osg::HeightField from file. - * Return valid osg::HeightField on success, - * return NULL on failure. + * Return an assigned osg::ref_ptr on success, + * return an osg::ref_ptr with a NULL pointer assigned to it on failure. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::HeightField* readHeightFieldFile(const std::string& filename) +inline osg::ref_ptr readRefHeightFieldFile(const std::string& filename) { - return readHeightFieldFile(filename,Registry::instance()->getOptions()); + return readRefHeightFieldFile(filename,Registry::instance()->getOptions()); } /** Read an osg::Node from file. - * Return valid osg::Node on success, - * return NULL on failure. + * Return an assigned osg::ref_ptr on success, + * return an osg::ref_ptr with a NULL pointer assigned to it on failure. * Use the Options object to control cache operations and file search paths in osgDB::Registry. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -extern OSGDB_EXPORT osg::Node* readNodeFile(const std::string& filename,const Options* options); +extern OSGDB_EXPORT osg::ref_ptr readRefNodeFile(const std::string& filename,const Options* options); /** Read an osg::Node from file. - * Return valid osg::Node on success, - * return NULL on failure. + * Return an assigned osg::ref_ptr on success, + * return an osg::ref_ptr with a NULL pointer assigned to it on failure. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::Node* readNodeFile(const std::string& filename) +inline osg::ref_ptr readRefNodeFile(const std::string& filename) { - return readNodeFile(filename,Registry::instance()->getOptions()); + return readRefNodeFile(filename,Registry::instance()->getOptions()); } - /** Read an osg::Node subgraph from files, creating a osg::Group to contain the nodes if more * than one subgraph has been loaded. * Use the Options object to control cache operations and file search paths in osgDB::Registry. * Does NOT ignore strings beginning with a dash '-' character. */ -extern OSGDB_EXPORT osg::Node* readNodeFiles(std::vector& fileList,const Options* options); +extern OSGDB_EXPORT osg::ref_ptr readRefNodeFiles(std::vector& fileList,const Options* options); /** Read an osg::Node subgraph from files, creating a osg::Group to contain the nodes if more * than one subgraph has been loaded.*/ -inline osg::Node* readNodeFiles(std::vector& fileList) +inline osg::ref_ptr readRefNodeFiles(std::vector& fileList) { - return readNodeFiles(fileList,Registry::instance()->getOptions()); + return readRefNodeFiles(fileList, Registry::instance()->getOptions()); } /** Read an osg::Node subgraph from files, creating a osg::Group to contain the nodes if more * than one subgraph has been loaded. * Use the Options object to control cache operations and file search paths in osgDB::Registry.*/ -extern OSGDB_EXPORT osg::Node* readNodeFiles(osg::ArgumentParser& parser,const Options* options); +extern OSGDB_EXPORT osg::ref_ptr readRefNodeFiles(osg::ArgumentParser& parser,const Options* options); /** Read an osg::Node subgraph from files, creating a osg::Group to contain the nodes if more * than one subgraph has been loaded.*/ -inline osg::Node* readNodeFiles(osg::ArgumentParser& parser) +inline osg::ref_ptr readRefNodeFiles(osg::ArgumentParser& parser) { - return readNodeFiles(parser,Registry::instance()->getOptions()); + return readRefNodeFiles(parser,Registry::instance()->getOptions()); } /** Read an osg::Shader from file. - * Return valid osg::Shader on success, - * return NULL on failure. + * Return an assigned osg::ref_ptr on success, + * return an osg::ref_ptr with a NULL pointer assigned to it on failure. * Use the Options object to control cache operations and file search paths in osgDB::Registry. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -extern OSGDB_EXPORT osg::Shader* readShaderFile(const std::string& filename,const Options* options); +extern OSGDB_EXPORT osg::ref_ptr readRefShaderFile(const std::string& filename,const Options* options); /** Read an osg::Shader from file. - * Return valid osg::Shader on success, - * return NULL on failure. + * Return an assigned osg::ref_ptr on success, + * return an osg::ref_ptr with a NULL pointer assigned to it on failure. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::Shader* readShaderFile(const std::string& filename) +inline osg::ref_ptr readRefShaderFile(const std::string& filename) { - return readShaderFile(filename,Registry::instance()->getOptions()); + return readRefShaderFile(filename, Registry::instance()->getOptions()); } /** Read an osg::Shader from file and set to specified shader type. @@ -176,10 +174,10 @@ * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::Shader* readShaderFile(osg::Shader::Type type, const std::string& filename,const Options* options) +inline osg::ref_ptr readRefShaderFile(osg::Shader::Type type, const std::string& filename, const Options* options) { - osg::Shader* shader = readShaderFile(filename, options); - if (shader && type != osg::Shader::UNDEFINED) shader->setType(type); + osg::ref_ptr shader = readRefShaderFile(filename, options); + if (shader.valid() && type != osg::Shader::UNDEFINED) shader->setType(type); return shader; } @@ -189,21 +187,20 @@ * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::Shader* readShaderFile(osg::Shader::Type type, const std::string& filename) +inline osg::ref_ptr readRefShaderFile(osg::Shader::Type type, const std::string& filename) { - return readShaderFile(type, filename,Registry::instance()->getOptions()); + return readRefShaderFile(type, filename, Registry::instance()->getOptions()); } - /** Read an osg::Shader from file and set to specified shader type, if a shader isn't loaded fallback to specific shader source. * Use the Options object to control cache operations and file search paths in osgDB::Registry. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::Shader* readShaderFileWithFallback(osg::Shader::Type type, const std::string& filename, const Options* options, const char* fallback) +inline osg::ref_ptr readRefShaderFileWithFallback(osg::Shader::Type type, const std::string& filename, const Options* options, const char* fallback) { - osg::Shader* shader = readShaderFile(filename, options); - if (shader && type != osg::Shader::UNDEFINED) shader->setType(type); + osg::ref_ptr shader = readRefShaderFile(filename, options); + if (shader.valid() && type != osg::Shader::UNDEFINED) shader->setType(type); if (!shader) shader = new osg::Shader(type, fallback); return shader; } @@ -212,131 +209,173 @@ * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::Shader* readShaderFileWithFallback(osg::Shader::Type type, const std::string& filename, const char* fallback) +inline osg::ref_ptr readRefShaderFileWithFallback(osg::Shader::Type type, const std::string& filename, const char* fallback) { - return osgDB::readShaderFileWithFallback(type, filename, Registry::instance()->getOptions(), fallback); + return osgDB::readRefShaderFileWithFallback(type, filename, Registry::instance()->getOptions(), fallback); } /** Read an osg::Script from file. - * Return valid osg::Script on success, - * return NULL on failure. + * Return an assigned osg::ref_ptr on success, + * return an osg::ref_ptr with a NULL pointer assigned to it on failure. * Use the Options object to control cache operations and file search paths in osgDB::Registry. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -extern OSGDB_EXPORT osg::Script* readScriptFile(const std::string& filename,const Options* options); +extern OSGDB_EXPORT osg::ref_ptr readRefScriptFile(const std::string& filename,const Options* options); /** Read an osg::Script from file. - * Return valid osg::Script on success, - * return NULL on failure. + * Return an assigned osg::ref_ptr on success, + * return an osg::ref_ptr with a NULL pointer assigned to it on failure. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::Script* readScriptFile(const std::string& filename) +inline osg::ref_ptr readRefScriptFile(const std::string& filename) { - return readScriptFile(filename,Registry::instance()->getOptions()); + return readRefScriptFile(filename,Registry::instance()->getOptions()); } - - +#ifdef OSG_PROVIDE_READFILE /** Read an osg::Object from file. - * Return an assigned osg::ref_ptr on success, - * return an osg::ref_ptr with a NULL pointer assigned to it on failure. + * Return valid osg::Object on success, + * return NULL on failure. * Use the Options object to control cache operations and file search paths in osgDB::Registry. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -extern OSGDB_EXPORT osg::ref_ptr readRefObjectFile(const std::string& filename,const Options* options); +extern OSGDB_EXPORT osg::Object* readObjectFile(const std::string& filename,const Options* options); /** Read an osg::Object from file. - * Return an assigned osg::ref_ptr on success, - * return an osg::ref_ptr with a NULL pointer assigned to it on failure. + * Return valid osg::Object on success, + * return NULL on failure. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::ref_ptr readRefObjectFile(const std::string& filename) +inline osg::Object* readObjectFile(const std::string& filename) +{ + return readObjectFile(filename, Registry::instance()->getOptions()); +} + +template +inline T* readFile(const std::string& filename, const Options* options) +{ + osg::ref_ptr object = readRefObjectFile(filename, options); + osg::ref_ptr t = dynamic_cast(object.get()); + object = 0; + return t.release(); +} + +template +inline T* readFile(const std::string& filename) { - return readRefObjectFile(filename,Registry::instance()->getOptions()); + return readFile(filename, Registry::instance()->getOptions()); } + /** Read an osg::Image from file. - * Return an assigned osg::ref_ptr on success, - * return an osg::ref_ptr with a NULL pointer assigned to it on failure. + * Return valid osg::Image on success, + * return NULL on failure. * Use the Options object to control cache operations and file search paths in osgDB::Registry. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -extern OSGDB_EXPORT osg::ref_ptr readRefImageFile(const std::string& filename,const Options* options); +extern OSGDB_EXPORT osg::Image* readImageFile(const std::string& filename,const Options* options); /** Read an osg::Image from file. - * Return an assigned osg::ref_ptr on success, - * return an osg::ref_ptr with a NULL pointer assigned to it on failure. + * Return valid osg::Image on success, + * return NULL on failure. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::ref_ptr readRefImageFile(const std::string& filename) +inline osg::Image* readImageFile(const std::string& filename) { - return readRefImageFile(filename,Registry::instance()->getOptions()); + return readImageFile(filename,Registry::instance()->getOptions()); } /** Read an osg::HeightField from file. - * Return an assigned osg::ref_ptr on success, - * return an osg::ref_ptr with a NULL pointer assigned to it on failure. + * Return valid osg::HeightField on success, + * return NULL on failure. * Use the Options object to control cache operations and file search paths in osgDB::Registry. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -extern OSGDB_EXPORT osg::ref_ptr readRefHeightFieldFile(const std::string& filename,const Options* options); +extern OSGDB_EXPORT osg::HeightField* readHeightFieldFile(const std::string& filename,const Options* options); /** Read an osg::HeightField from file. - * Return an assigned osg::ref_ptr on success, - * return an osg::ref_ptr with a NULL pointer assigned to it on failure. + * Return valid osg::HeightField on success, + * return NULL on failure. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::ref_ptr readRefHeightFieldFile(const std::string& filename) +inline osg::HeightField* readHeightFieldFile(const std::string& filename) { - return readRefHeightFieldFile(filename,Registry::instance()->getOptions()); + return readHeightFieldFile(filename,Registry::instance()->getOptions()); } /** Read an osg::Node from file. - * Return an assigned osg::ref_ptr on success, - * return an osg::ref_ptr with a NULL pointer assigned to it on failure. + * Return valid osg::Node on success, + * return NULL on failure. * Use the Options object to control cache operations and file search paths in osgDB::Registry. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -extern OSGDB_EXPORT osg::ref_ptr readRefNodeFile(const std::string& filename,const Options* options); +extern OSGDB_EXPORT osg::Node* readNodeFile(const std::string& filename,const Options* options); /** Read an osg::Node from file. - * Return an assigned osg::ref_ptr on success, - * return an osg::ref_ptr with a NULL pointer assigned to it on failure. + * Return valid osg::Node on success, + * return NULL on failure. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::ref_ptr readRefNodeFile(const std::string& filename) +inline osg::Node* readNodeFile(const std::string& filename) { - return readRefNodeFile(filename,Registry::instance()->getOptions()); + return readNodeFile(filename,Registry::instance()->getOptions()); +} + + +/** Read an osg::Node subgraph from files, creating a osg::Group to contain the nodes if more + * than one subgraph has been loaded. + * Use the Options object to control cache operations and file search paths in osgDB::Registry. + * Does NOT ignore strings beginning with a dash '-' character. */ +extern OSGDB_EXPORT osg::Node* readNodeFiles(std::vector& fileList,const Options* options); + +/** Read an osg::Node subgraph from files, creating a osg::Group to contain the nodes if more + * than one subgraph has been loaded.*/ +inline osg::Node* readNodeFiles(std::vector& fileList) +{ + return readNodeFiles(fileList,Registry::instance()->getOptions()); +} + + +/** Read an osg::Node subgraph from files, creating a osg::Group to contain the nodes if more + * than one subgraph has been loaded. + * Use the Options object to control cache operations and file search paths in osgDB::Registry.*/ +extern OSGDB_EXPORT osg::Node* readNodeFiles(osg::ArgumentParser& parser,const Options* options); + +/** Read an osg::Node subgraph from files, creating a osg::Group to contain the nodes if more + * than one subgraph has been loaded.*/ +inline osg::Node* readNodeFiles(osg::ArgumentParser& parser) +{ + return readNodeFiles(parser,Registry::instance()->getOptions()); } /** Read an osg::Shader from file. - * Return an assigned osg::ref_ptr on success, - * return an osg::ref_ptr with a NULL pointer assigned to it on failure. + * Return valid osg::Shader on success, + * return NULL on failure. * Use the Options object to control cache operations and file search paths in osgDB::Registry. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -extern OSGDB_EXPORT osg::ref_ptr readRefShaderFile(const std::string& filename,const Options* options); +extern OSGDB_EXPORT osg::Shader* readShaderFile(const std::string& filename,const Options* options); /** Read an osg::Shader from file. - * Return an assigned osg::ref_ptr on success, - * return an osg::ref_ptr with a NULL pointer assigned to it on failure. + * Return valid osg::Shader on success, + * return NULL on failure. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::ref_ptr readRefShaderFile(const std::string& filename) +inline osg::Shader* readShaderFile(const std::string& filename) { - return readRefShaderFile(filename, Registry::instance()->getOptions()); + return readShaderFile(filename,Registry::instance()->getOptions()); } /** Read an osg::Shader from file and set to specified shader type. @@ -346,10 +385,10 @@ * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::ref_ptr readRefShaderFile(osg::Shader::Type type, const std::string& filename, const Options* options) +inline osg::Shader* readShaderFile(osg::Shader::Type type, const std::string& filename,const Options* options) { - osg::ref_ptr shader = readShaderFile(filename, options); - if (shader.valid() && type != osg::Shader::UNDEFINED) shader->setType(type); + osg::Shader* shader = readShaderFile(filename, options); + if (shader && type != osg::Shader::UNDEFINED) shader->setType(type); return shader; } @@ -359,31 +398,55 @@ * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::ref_ptr readRefShaderFile(osg::Shader::Type type, const std::string& filename) +inline osg::Shader* readShaderFile(osg::Shader::Type type, const std::string& filename) { - return readRefShaderFile(type, filename, Registry::instance()->getOptions()); + return readShaderFile(type, filename,Registry::instance()->getOptions()); +} + + +/** Read an osg::Shader from file and set to specified shader type, if a shader isn't loaded fallback to specific shader source. + * Use the Options object to control cache operations and file search paths in osgDB::Registry. + * The osgDB::Registry is used to load the appropriate ReaderWriter plugin + * for the filename extension, and this plugin then handles the request + * to read the specified file.*/ +inline osg::Shader* readShaderFileWithFallback(osg::Shader::Type type, const std::string& filename, const Options* options, const char* fallback) +{ + osg::Shader* shader = readShaderFile(filename, options); + if (shader && type != osg::Shader::UNDEFINED) shader->setType(type); + if (!shader) shader = new osg::Shader(type, fallback); + return shader; } +/** Read an osg::Shader from file and set to specified shader type, if a shader isn't loaded fallback to specific shader source. + * The osgDB::Registry is used to load the appropriate ReaderWriter plugin + * for the filename extension, and this plugin then handles the request + * to read the specified file.*/ +inline osg::Shader* readShaderFileWithFallback(osg::Shader::Type type, const std::string& filename, const char* fallback) +{ + return osgDB::readShaderFileWithFallback(type, filename, Registry::instance()->getOptions(), fallback); +} /** Read an osg::Script from file. - * Return an assigned osg::ref_ptr on success, - * return an osg::ref_ptr with a NULL pointer assigned to it on failure. + * Return valid osg::Script on success, + * return NULL on failure. * Use the Options object to control cache operations and file search paths in osgDB::Registry. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -extern OSGDB_EXPORT osg::ref_ptr readRefScriptFile(const std::string& filename,const Options* options); +extern OSGDB_EXPORT osg::Script* readScriptFile(const std::string& filename,const Options* options); /** Read an osg::Script from file. - * Return an assigned osg::ref_ptr on success, - * return an osg::ref_ptr with a NULL pointer assigned to it on failure. + * Return valid osg::Script on success, + * return NULL on failure. * The osgDB::Registry is used to load the appropriate ReaderWriter plugin * for the filename extension, and this plugin then handles the request * to read the specified file.*/ -inline osg::ref_ptr readRefScriptFile(const std::string& filename) +inline osg::Script* readScriptFile(const std::string& filename) { - return readRefScriptFile(filename,Registry::instance()->getOptions()); + return readScriptFile(filename,Registry::instance()->getOptions()); } +#endif + } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgDB/Serializer openscenegraph-3.4-3.4.1+dfsg1/include/osgDB/Serializer --- openscenegraph-3.4-3.4.0+dfsg1/include/osgDB/Serializer 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgDB/Serializer 2017-08-28 16:50:49.000000000 +0000 @@ -947,6 +947,7 @@ if ( is.isBinary() ) { is >> size; + list.reserve(size); for ( unsigned int i=0; i> size; + list.reserve(size); if ( size>0 ) is >> is.BEGIN_BRACKET; for ( unsigned int i=0; i> size; + list.reserve(size); for ( unsigned int i=0; i> size; + list.reserve(size); if ( size>0 ) is >> is.BEGIN_BRACKET; for ( unsigned int i=0; i > Constraints; void addConstraint(Constraint* constraint); + template void addConstraint(const osg::ref_ptr& c) { addConstraint(c.get()); } + void removeConstraint(Constraint* constraint); + template void removeConstraint(const osg::ref_ptr& c) { removeConstraint(c.get()); } Constraints& getConstraints() { return _constraints; } const Constraints& getConstraints() const { return _constraints; } @@ -245,7 +249,10 @@ typedef std::vector< osg::ref_ptr > DraggerCallbacks; void addDraggerCallback(DraggerCallback* dc); + template void addDraggerCallback(const osg::ref_ptr& dc) { addDraggerCallback(dc.get()); } + void removeDraggerCallback(DraggerCallback* dc); + template void removeDraggerCallback(const osg::ref_ptr& dc) { removeDraggerCallback(dc.get()); } DraggerCallbacks& getDraggerCallbacks() { return _draggerCallbacks; } const DraggerCallbacks& getDraggerCallbacks() const { return _draggerCallbacks; } @@ -269,7 +276,13 @@ virtual void setIntersectionMask(osg::Node::NodeMask intersectionMask) { _intersectionMask = intersectionMask; } osg::Node::NodeMask getIntersectionMask() const { return _intersectionMask; } - protected: + /** Return true if the axis of the Locator are inverted requiring the faces of any cubes used from rendering to be flipped to ensure the correct front/back face is used.*/ + bool inverted() const; + + /** apply the appropriate FrontFace setting to provided StateSet to ensure that the rendering of hull of the volume is the correct orientation.*/ + void applyAppropriateFrontFace(osg::StateSet* ss) const; + +protected: Dragger(); Dragger(const Dragger& rhs, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY); @@ -320,11 +333,19 @@ // Composite-specific methods below virtual bool addDragger(Dragger* dragger); + template bool addDragger(const osg::ref_ptr& dc) { return addDragger(dc.get()); } + virtual bool removeDragger(Dragger* dragger); + template bool removeDragger(const osg::ref_ptr& dc) { return removeDragger(dc.get()); } + unsigned int getNumDraggers() const { return _draggerList.size(); } + Dragger* getDragger(unsigned int i) { return _draggerList[i].get(); } const Dragger* getDragger(unsigned int i) const { return _draggerList[i].get(); } + bool containsDragger(const Dragger* dragger) const; + template bool containsDragger(const osg::ref_ptr& dc) const { return containsDragger(dc.get()); } + DraggerList::iterator findDragger(const Dragger* dragger); virtual void setIntersectionMask(osg::Node::NodeMask intersectionMask); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgParticle/Particle openscenegraph-3.4-3.4.1+dfsg1/include/osgParticle/Particle --- openscenegraph-3.4-3.4.0+dfsg1/include/osgParticle/Particle 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgParticle/Particle 2017-08-28 16:50:49.000000000 +0000 @@ -179,12 +179,15 @@ /// Set the interpolator for computing size values. inline void setSizeInterpolator(Interpolator* ri); + template void setSizeInterpolator(const osg::ref_ptr& ri) { setSizeInterpolator(ri.get()); } /// Set the interpolator for computing alpha values. inline void setAlphaInterpolator(Interpolator* ai); + template void setAlphaInterpolator(const osg::ref_ptr& ri) { setAlphaInterpolator(ri.get()); } /// Set the interpolator for computing color values. inline void setColorInterpolator(Interpolator* ci); + template void setColorInterpolator(const osg::ref_ptr& ri) { setColorInterpolator(ri.get()); } /** Set the physical radius of the particle. For built-in operators to work correctly, lengths must be expressed in meters. diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgParticle/ParticleEffect openscenegraph-3.4-3.4.1+dfsg1/include/osgParticle/ParticleEffect --- openscenegraph-3.4-3.4.0+dfsg1/include/osgParticle/ParticleEffect 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgParticle/ParticleEffect 2017-08-28 16:50:49.000000000 +0000 @@ -85,6 +85,8 @@ virtual const Program* getProgram() const = 0; void setParticleSystem(ParticleSystem* ps); + template void setParticleSystem(const osg::ref_ptr& ri) { setParticleSystem(ri.get()); } + inline ParticleSystem* getParticleSystem() { return _particleSystem.get(); } inline const ParticleSystem* getParticleSystem() const { return _particleSystem.get(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgShadow/ShadowedScene openscenegraph-3.4-3.4.1+dfsg1/include/osgShadow/ShadowedScene --- openscenegraph-3.4-3.4.0+dfsg1/include/osgShadow/ShadowedScene 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgShadow/ShadowedScene 2017-08-28 16:50:49.000000000 +0000 @@ -38,10 +38,14 @@ virtual void traverse(osg::NodeVisitor& nv); void setShadowSettings(ShadowSettings* ss); + template void setShadowSettings(const osg::ref_ptr& ss) { setShadowSettings(ss.get()); } + ShadowSettings* getShadowSettings() { return _shadowSettings.get(); } const ShadowSettings* getShadowSettings() const { return _shadowSettings.get(); } void setShadowTechnique(ShadowTechnique* technique); + template void setShadowTechnique(const osg::ref_ptr& ss) { setShadowTechnique(ss.get()); } + ShadowTechnique* getShadowTechnique() { return _shadowTechnique.get(); } const ShadowTechnique* getShadowTechnique() const { return _shadowTechnique.get(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgSim/OverlayNode openscenegraph-3.4-3.4.1+dfsg1/include/osgSim/OverlayNode --- openscenegraph-3.4-3.4.0+dfsg1/include/osgSim/OverlayNode 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgSim/OverlayNode 2017-08-28 16:50:49.000000000 +0000 @@ -57,6 +57,8 @@ /** Set the overlay subgraph which will be rendered to texture.*/ void setOverlaySubgraph(osg::Node* node); + template void setOverlaySubgraph(const osg::ref_ptr& node) { setOverlaySubgraph(node.get()); } + /** Get the overlay subgraph which will be rendered to texture.*/ osg::Node* getOverlaySubgraph() { return _overlaySubgraph.get(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgTerrain/Layer openscenegraph-3.4-3.4.1+dfsg1/include/osgTerrain/Layer --- openscenegraph-3.4-3.4.0+dfsg1/include/osgTerrain/Layer 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgTerrain/Layer 2017-08-28 16:50:49.000000000 +0000 @@ -60,6 +60,9 @@ std::string getCompoundName() const { return createCompoundSetNameAndFileName(getName(), getFileName()); } void setLocator(Locator* locator) { _locator = locator; } + + template void setLocator(const osg::ref_ptr& locator) { setLocator(locator.get()); } + Locator* getLocator() { return _locator.get(); } const Locator* getLocator() const { return _locator.get(); } @@ -314,6 +317,8 @@ void setImage(osg::Image* image); + template void setImage(const osg::ref_ptr& image) { return setImage(image.get()); } + /** Return image associated with layer. */ virtual osg::Image* getImage() { return _image.get(); } @@ -354,6 +359,9 @@ virtual bool transform(float offset, float scale); void setTransferFunction(osg::TransferFunction1D* tf); + + template void setTransferFunction(const osg::ref_ptr& tf) { return setTransferFunction(tf.get()); } + osg::TransferFunction1D* getTransferFunction() { return _tf.get(); } const osg::TransferFunction1D* getTransferFunction() const { return _tf.get(); } @@ -401,6 +409,9 @@ virtual bool transform(float offset, float scale); void setHeightField(osg::HeightField* hf); + + template void setHeightField(const osg::ref_ptr& hf) { return setHeightField(hf.get()); } + osg::HeightField* getHeightField() { return _heightField.get(); } const osg::HeightField* getHeightField() const { return _heightField.get(); } @@ -516,14 +527,21 @@ void setLayer(unsigned int i, Layer* layer) { if (i>=_layers.size()) _layers.resize(i+1); _layers[i].layer = layer; } + + template void setLayer(unsigned int i, const osg::ref_ptr& layer) { setLayer(i, layer.get()); } + Layer* getLayer(unsigned int i) { return i<_layers.size() ? _layers[i].layer.get() : 0; } + const Layer* getLayer(unsigned int i) const { return i<_layers.size() ? _layers[i].layer.get() : 0; } void addLayer(const std::string& compoundname); + void addLayer(const std::string& setname, const std::string& filename); void addLayer(Layer* layer) { _layers.push_back(CompoundNameLayer(layer->getName(),layer->getFileName(),layer)); } + template void addLayer(const osg::ref_ptr& layer) { return addLayer(layer.get()); } + void removeLayer(unsigned int i) { _layers.erase(_layers.begin()+i); } unsigned int getNumLayers() const { return static_cast(_layers.size()); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgTerrain/TerrainTile openscenegraph-3.4-3.4.1+dfsg1/include/osgTerrain/TerrainTile --- openscenegraph-3.4-3.4.0+dfsg1/include/osgTerrain/TerrainTile 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgTerrain/TerrainTile 2017-08-28 16:50:49.000000000 +0000 @@ -102,6 +102,8 @@ /** Set the TerrainTechnique*/ void setTerrainTechnique(TerrainTechnique* terrainTechnique); + template void setTerrainTechnique(const osg::ref_ptr& terrainTechnique) { setTerrainTechnique(terrainTechnique.get()); } + /** Get the TerrainTechnique*/ TerrainTechnique* getTerrainTechnique() { return _terrainTechnique.get(); } @@ -113,6 +115,8 @@ * The locator takes non-dimensional s,t coordinates into the X,Y,Z world coords and back.*/ void setLocator(Locator* locator) { _locator = locator; } + template void setLocator(const osg::ref_ptr& locator) { setLocator(locator.get()); } + /** Get the coordinate frame locator of the terrain node.*/ Locator* getLocator() { return _locator.get(); } @@ -122,6 +126,8 @@ /** Set the layer to use to define the elevations of the terrain.*/ void setElevationLayer(Layer* layer); + template void setElevationLayer(const osg::ref_ptr& layer) { setElevationLayer(layer.get()); } + /** Get the layer to use to define the elevations of the terrain.*/ Layer* getElevationLayer() { return _elevationLayer.get(); } @@ -132,6 +138,8 @@ /** Set a color layer with specified layer number.*/ void setColorLayer(unsigned int i, Layer* layer); + template void setColorLayer(unsigned int i, const osg::ref_ptr& layer) { setColorLayer(i, layer.get()); } + /** Get color layer with specified layer number.*/ Layer* getColorLayer(unsigned int i) { return i<_colorLayers.size() ? _colorLayers[i].get() : 0; } @@ -139,7 +147,7 @@ const Layer* getColorLayer(unsigned int i) const { return i<_colorLayers.size() ? _colorLayers[i].get() : 0; } /** Get the number of colour layers.*/ - unsigned int getNumColorLayers() const { return static_cast(_colorLayers.size()); } + unsigned int getNumColorLayers() const { return _colorLayers.size(); } /** Set hint to whether the TerrainTechnique should create per vertex normals for lighting purposes.*/ diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgText/Font openscenegraph-3.4-3.4.1+dfsg1/include/osgText/Font --- openscenegraph-3.4-3.4.0+dfsg1/include/osgText/Font 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgText/Font 2017-08-28 16:50:49.000000000 +0000 @@ -28,6 +28,7 @@ // forward declare Font class Font; +#ifdef OSG_PROVIDE_READFILE /** Read a font from specified file. The filename may contain a path. * It will search for the font file in the following places in this order: * - In the current directory @@ -51,6 +52,7 @@ /** read a font from specified stream.*/ extern OSGTEXT_EXPORT Font* readFontStream(std::istream& stream, const osgDB::Options* userOptions = 0); +#endif extern OSGTEXT_EXPORT osg::ref_ptr readRefFontFile(const std::string& filename, const osgDB::Options* userOptions = 0); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgText/Font3D openscenegraph-3.4-3.4.1+dfsg1/include/osgText/Font3D --- openscenegraph-3.4-3.4.0+dfsg1/include/osgText/Font3D 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgText/Font3D 2017-08-28 16:50:49.000000000 +0000 @@ -20,6 +20,7 @@ typedef Font Font3D; +#ifdef OSG_PROVIDE_READFILE /** deprecated, use readFontFile() instead.*/ inline Font* readFont3DFile(const std::string& filename, const osgDB::ReaderWriter::Options* userOptions = 0) { @@ -31,6 +32,7 @@ { return readFontStream(stream, userOptions); } +#endif /** deprecated, use readRefFontFile() instead.*/ inline osg::ref_ptr readRefFont3DFile(const std::string& filename, const osgDB::ReaderWriter::Options* userOptions = 0) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgText/Text openscenegraph-3.4-3.4.1+dfsg1/include/osgText/Text --- openscenegraph-3.4-3.4.0+dfsg1/include/osgText/Text 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgText/Text 2017-08-28 16:50:49.000000000 +0000 @@ -313,7 +313,7 @@ osg::buffered_object _transformedBackdropCoords[8]; ColorCoords _colorCoords; - osg::ref_ptr _quadIndices; + osg::ref_ptr _quadIndices; void updateQuadIndices(); GlyphQuads(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgUtil/Optimizer openscenegraph-3.4-3.4.1+dfsg1/include/osgUtil/Optimizer --- openscenegraph-3.4-3.4.0+dfsg1/include/osgUtil/Optimizer 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgUtil/Optimizer 2017-08-28 16:50:49.000000000 +0000 @@ -122,10 +122,14 @@ * visitors, specified by the OptimizationOptions.*/ void optimize(osg::Node* node); + template void optimize(const osg::ref_ptr& node) { optimize(node.get()); } + /** Traverse the node and its subgraph with a series of optimization * visitors, specified by the OptimizationOptions.*/ virtual void optimize(osg::Node* node, unsigned int options); + template void optimize(const osg::ref_ptr& node, unsigned int options) { optimize(node.get(), options); } + /** Callback for customizing what operations are permitted on objects in the scene graph.*/ struct IsOperationPermissibleForObjectCallback : public osg::Referenced diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgUtil/UpdateVisitor openscenegraph-3.4-3.4.1+dfsg1/include/osgUtil/UpdateVisitor --- openscenegraph-3.4-3.4.0+dfsg1/include/osgUtil/UpdateVisitor 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgUtil/UpdateVisitor 2017-08-28 16:50:49.000000000 +0000 @@ -55,12 +55,11 @@ { osg::Drawable::UpdateCallback* drawable_callback = dynamic_cast(callback); osg::NodeCallback* node_callback = dynamic_cast(callback); - osg::CallbackObject* callback_object = dynamic_cast(callback); if (drawable_callback) drawable_callback->update(this,&drawable); if (node_callback) (*node_callback)(&drawable, this); - if ((!drawable_callback && !node_callback) || callback_object) callback_object->run(&drawable, this); + if (!drawable_callback && !node_callback) callback->run(&drawable, this); } handle_callbacks(drawable.getStateSet()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgViewer/View openscenegraph-3.4-3.4.1+dfsg1/include/osgViewer/View --- openscenegraph-3.4-3.4.0+dfsg1/include/osgViewer/View 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgViewer/View 2017-08-28 16:50:49.000000000 +0000 @@ -103,6 +103,8 @@ /** Set the scene graph that the View will use.*/ virtual void setSceneData(osg::Node* node); + template void setSceneData(const osg::ref_ptr& node) { setSceneData(node.get()); } + /** Get the View's scene graph.*/ osg::Node* getSceneData() { return _scene.valid() ? _scene->getSceneData() : 0; } @@ -113,6 +115,8 @@ /** Set the View's database pager.*/ void setDatabasePager(osgDB::DatabasePager* dp); + template void setDatabasePager(const osg::ref_ptr& dp) { setDatabasePager(dp.get()); } + /** Get the View's database pager.*/ osgDB::DatabasePager* getDatabasePager(); @@ -123,6 +127,8 @@ /** Set the View's image pager.*/ void setImagePager(osgDB::ImagePager* ip); + template void setImagePager(const osg::ref_ptr& ip) { setImagePager(ip.get()); } + /** Get the View's image pager.*/ osgDB::ImagePager* getImagePager(); @@ -134,9 +140,13 @@ * The Device is polled on each new frame via it's Device::checkEvents() method and any events generated then collected via Device::getEventQueue()*/ void addDevice(osgGA::Device* eventSource); + template void addDevice(const osg::ref_ptr& eventSource) { addDevice(eventSource.get()); } + /** Remove a Device. /*/ void removeDevice(osgGA::Device* eventSource); + template void removeDevice(const osg::ref_ptr& eventSource) { removeDevice(eventSource.get()); } + typedef std::vector< osg::ref_ptr > Devices; Devices& getDevices() { return _eventSources; } @@ -146,6 +156,8 @@ /* Set the EventQueue that the View uses to integrate external non window related events.*/ void setEventQueue(osgGA::EventQueue* eventQueue) { _eventQueue = eventQueue; } + template void setEventQueue(const osg::ref_ptr& eventQueue) { setEventQueue(eventQueue.get()); } + /* Get the View's EventQueue.*/ osgGA::EventQueue* getEventQueue() { return _eventQueue.get(); } @@ -156,6 +168,8 @@ * The parameter resetPosition determines whether manipulator is set to its home position.*/ void setCameraManipulator(osgGA::CameraManipulator* manipulator, bool resetPosition = true); + template void setCameraManipulator(const osg::ref_ptr& manipulator, bool resetPosition = true) { setCameraManipulator(manipulator.get(), resetPosition); } + /** Get the View's CameraManipulator.*/ osgGA::CameraManipulator* getCameraManipulator() { return _cameraManipulator.get(); } @@ -172,9 +186,13 @@ /** Add an EventHandler that adds handling of events to the View.*/ void addEventHandler(osgGA::EventHandler* eventHandler); + template void addEventHandler(const osg::ref_ptr& eventHandler) { addEventHandler(eventHandler.get()); } + /** Remove an EventHandler from View.*/ void removeEventHandler(osgGA::EventHandler* eventHandler); + template void removeEventHandler(const osg::ref_ptr& eventHandler) { removeEventHandler(eventHandler.get()); } + /** Get the View's list of EventHandlers.*/ EventHandlers& getEventHandlers() { return _eventHandlers; } @@ -197,6 +215,8 @@ /** Set the DisplaySettings object associated with this view.*/ void setDisplaySettings(osg::DisplaySettings* ds) { _displaySettings = ds; } + template void setDisplaySettings(const osg::ref_ptr& ds) { setDisplaySettings(ds.get()); } + /** Set the DisplaySettings object associated with this view.*/ osg::DisplaySettings* getDisplaySettings() { return _displaySettings.get(); } @@ -220,6 +240,8 @@ /** Apply a viewer configuration to set up Cameras and Windowing. */ void apply(ViewConfig* config); + template void apply(const osg::ref_ptr& config) { apply(config.get()); } + ViewConfig* getLastAppliedViewConfig() { return _lastAppliedViewConfig.get(); } const ViewConfig* getLastAppliedViewConfig() const { return _lastAppliedViewConfig.get(); } @@ -254,6 +276,7 @@ /** Return true if this view contains a specified camera.*/ bool containsCamera(const osg::Camera* camera) const; + template bool containsCamera(const osg::ref_ptr& camera) const { return containsCamera(camera.get()); } /** deprecated. */ const osg::Camera* getCameraContainingPosition(float x, float y, float& local_x, float& local_y) const; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgViewer/Viewer openscenegraph-3.4-3.4.1+dfsg1/include/osgViewer/Viewer --- openscenegraph-3.4-3.4.0+dfsg1/include/osgViewer/Viewer 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgViewer/Viewer 2017-08-28 16:50:49.000000000 +0000 @@ -64,6 +64,8 @@ virtual void setStartTick(osg::Timer_t tick); void setReferenceTime(double time=0.0); + using osgViewer::View::setSceneData; + /** Set the sene graph data that viewer with view.*/ virtual void setSceneData(osg::Node* node); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgVolume/Layer openscenegraph-3.4-3.4.1+dfsg1/include/osgVolume/Layer --- openscenegraph-3.4-3.4.0+dfsg1/include/osgVolume/Layer 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgVolume/Layer 2017-08-28 16:50:49.000000000 +0000 @@ -71,6 +71,9 @@ virtual const std::string& getFileName() const { return _filename; } void setLocator(Locator* locator) { _locator = locator; } + + template void setLocator(const osg::ref_ptr& locator) { setLocator(locator.get()); } + Locator* getLocator() { return _locator.get(); } const Locator* getLocator() const { return _locator.get(); } @@ -99,6 +102,8 @@ /** Set the Property (or Properties via the CompositeProperty) that informs the VolumeTechnique how this layer should be rendered.*/ void setProperty(Property* property) { _property = property; } + template void setProperty(const osg::ref_ptr& p) { setProperty(p.get()); } + /** Get the Property that informs the VolumeTechnique how this layer should be rendered.*/ Property* getProperty() { return _property.get(); } @@ -108,6 +113,7 @@ /** Add a property, automatically creating a CompositePorperty if one isn't already assigned.*/ void addProperty(Property* property); + template void addProperty(const osg::ref_ptr& p) { addProperty(p.get()); } /** Specify whether ImageLayer requires update traversal. */ virtual bool requiresUpdateTraversal() const { return false; } @@ -156,6 +162,8 @@ void setImage(osg::Image* image); + template void setImage(const osg::ref_ptr& image) { setImage(image.get()); } + /** Return image associated with layer. */ virtual osg::Image* getImage() { return _image.get(); } @@ -217,11 +225,17 @@ const std::string& getFileName(unsigned int i) const { return _layers[i].layer.valid() ? _layers[i].layer->getFileName() : _layers[i].filename; } void setLayer(unsigned int i, Layer* layer) { if (i>=_layers.size()) _layers.resize(i+1); _layers[i].layer = layer; } + + template void setLayer(unsigned int i, const osg::ref_ptr& layer) { setLayer(i, layer.get()); } + Layer* getLayer(unsigned int i) { return i<_layers.size() ? _layers[i].layer.get() : 0; } + const Layer* getLayer(unsigned int i) const { return i<_layers.size() ? _layers[i].layer.get() : 0; } void addLayer(Layer* layer) { _layers.push_back(NameLayer(layer->getFileName(),layer)); } + template void addLayer(const osg::ref_ptr& layer) { addLayer(layer.get()); } + void removeLayer(unsigned int i) { _layers.erase(_layers.begin()+i); } unsigned int getNumLayers() const { return _layers.size(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgVolume/Locator openscenegraph-3.4-3.4.1+dfsg1/include/osgVolume/Locator --- openscenegraph-3.4-3.4.0+dfsg1/include/osgVolume/Locator 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgVolume/Locator 2017-08-28 16:50:49.000000000 +0000 @@ -67,6 +67,12 @@ bool computeLocalBounds(osg::Vec3d& bottomLeft, osg::Vec3d& topRight) const; bool computeLocalBounds(Locator& source, osg::Vec3d& bottomLeft, osg::Vec3d& topRight) const; + /** Return true if the axis of the Locator are inverted requiring the faces of any cubes used from rendering to be flipped to ensure the correct front/back face is used.*/ + bool inverted() const; + + /** apply the appropriate FrontFace setting to provided StateSet to ensure that the rendering of hull of the volume is the correct orientation.*/ + void applyAppropriateFrontFace(osg::StateSet* ss) const; + /** Callback interface for enabling the monitoring of changes to the Locator.*/ class LocatorCallback : virtual public osg::Object @@ -83,6 +89,9 @@ }; void addCallback(LocatorCallback* callback); + template void addCallback(const osg::ref_ptr& callback) { addCallback(callback.get()); } + + void removeCallback(LocatorCallback* callback); typedef std::vector< osg::ref_ptr > LocatorCallbacks; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgVolume/Property openscenegraph-3.4-3.4.1+dfsg1/include/osgVolume/Property --- openscenegraph-3.4-3.4.0+dfsg1/include/osgVolume/Property 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgVolume/Property 2017-08-28 16:50:49.000000000 +0000 @@ -126,12 +126,16 @@ void setProperty(unsigned int i, Property* property) { if (i>=_properties.size()) _properties.resize(i+1); _properties[i] = property; } + template void setProperty(unsigned int i, const osg::ref_ptr& p) { setProperty(i, p.get()); } + Property* getProperty(unsigned int i) { return i<_properties.size() ? _properties[i].get() : 0; } const Property* getProperty(unsigned int i) const { return i<_properties.size() ? _properties[i].get() : 0; } void addProperty(Property* property) { _properties.push_back(property); dirty(); } + template void addProperty(const osg::ref_ptr& p) { addProperty(p.get()); } + void removeProperty(unsigned int i) { _properties.erase(_properties.begin()+i); } unsigned int getNumProperties() const { return _properties.size(); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgWidget/Frame openscenegraph-3.4-3.4.1+dfsg1/include/osgWidget/Frame --- openscenegraph-3.4-3.4.0+dfsg1/include/osgWidget/Frame 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgWidget/Frame 2017-08-28 16:50:49.000000000 +0000 @@ -175,6 +175,18 @@ Frame* = 0 ); + template + static Frame* createSimpleFrameWithSingleTexture( + const std::string& name, + const osg::ref_ptr& image, + point_type width, + point_type height, + unsigned int flags = 0, + Frame* exFrame = 0) + { + return Frame::createSimpleFrameWithSingleTexture(name, image.get(), width, height, flags, exFrame); + } + static Frame* createSimpleFrameFromTheme( const std::string&, osg::Image*, @@ -184,6 +196,18 @@ Frame* = 0 ); + template + static Frame* createSimpleFrameFromTheme( + const std::string& name, + const osg::ref_ptr& image, + point_type width, + point_type height, + unsigned int flags = 0, + Frame* exFrame = 0) + { + return Frame::createSimpleFrameFromTheme(name, image.get(), width, height, flags, exFrame); + } + void createSimpleFrame(point_type cw, point_type ch, point_type w, point_type h) { createSimpleFrame(_name, cw, ch, w, h, 0, this); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/include/osgWidget/Widget openscenegraph-3.4-3.4.1+dfsg1/include/osgWidget/Widget --- openscenegraph-3.4-3.4.0+dfsg1/include/osgWidget/Widget 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/include/osgWidget/Widget 2017-08-28 16:50:49.000000000 +0000 @@ -129,6 +129,10 @@ void setTexCoordWrapVertical (); bool setImage (osg::Image*, bool = false, bool = false); + + template bool setImage(const osg::ref_ptr& image, bool f1 = false, bool f2 = false) { return setImage(image.get(), f1, f2); } + + bool setImage (const std::string&, bool = false, bool = false); bool setTexture (osg::Texture*, bool = false, bool = false); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/NEWS.txt openscenegraph-3.4-3.4.1+dfsg1/NEWS.txt --- openscenegraph-3.4-3.4.0+dfsg1/NEWS.txt 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/NEWS.txt 2017-08-28 16:50:49.000000000 +0000 @@ -1,6 +1,77 @@ OSG News ======== +OpenSceneGraph 3.4.1 release is maintaince release that provide build/runtime improvements and better GLES support +PERTHSHIRE, Scotland - 28th August 2017 - OpenSceneGraph Professional Services announces the release of OpenSceneGraph 3.4.1, the industry's leading open-source scene graph technology, designed to accelerate application development and improve 3D graphics performance. OpenSceneGraph 3.4 written entirely in Standard C++ and built upon OpenGL, offers developers working in the visual simulation, game development, virtual reality, scientific visualization and modeling markets - a real-time visualization tool which eclipses commercial scene graph toolkits in functionality, stability and performance. OpenSceneGraph 3.4 runs on all Microsoft Windows platforms, Apple OS/X, IOS, GNU/Linux, Android, IRIX, Solaris, HP-UX, AIX and FreeBSD operating systems. +Updates include: + + * Improves to GLES support across platforms + * Full support for osgText and on screen stats across all platfroms, including GLES2 and core pofile + * Build fixes to allow compilation against recent 3rd party depdendency changes + * Range of runtime fixes + +Downloads and Licensing: + +OpenSceneGraph is open-source, so full source code is provided, and can be copied, modified and used free of charge for commercial and non-commercial use. Access to the source allows end users greater flexibility in how they develop, debug and deploy their applications. They gain productivity and freedom by being able to leverage the tool chain in accordance with their own release cycles. Downloads of binaries and source can be found in the Downloads section of the openscenegraph.org website. + +OpenSceneGraph is released under the OpenSceneGraph Public License, which is based on the Lesser GNU Public License (LGPL), permitting the software to be used free of charge across the full spectrum of commercial and open-source applications. Furthermore, it allows both static and dynamic linking of the OpenSceneGraph libraries without restricting the licensing of the user's software. +Professional support and services + +OpenSceneGraph project is backed up with professional services by OpenSceneGraph Professional Services, based in Scotland, and a range of Contractors from around the world. Services available include: + + Confidential Professional Support + Bespoke development + Consultancy + Training + +Community support and contributions: + +The diverse and growing community of over 5000 developers is centred around the public osg-users mailing list/forum, where members discuss how best to use OpenSceneGraph, provide mutual support, and coordinate development of new features and bug fixes. Members of this community come from many different countries with backgrounds ranging from some of the world's largest aerospace companies, game companies, and visual simulation specialists to university researchers, students and hobbyists. + +The OpenSceneGraph project owes a great deal to the community for its development and support, in particular we wish to thank the 562 individuals from around the world that have directly contributed to the development and refinement of the OpenSceneGraph code base. + + + + + +OpenSceneGraph 3.4 release introduces shader composition, new osgUI library, displacement mapping, volume rendering, lua scripting support and much more +PERTHSHIRE, Scotland - 12th August 2015 - OpenSceneGraph Professional Services announces the release of OpenSceneGraph 3.4, the industry's leading open-source scene graph technology, designed to accelerate application development and improve 3D graphics performance. OpenSceneGraph 3.4 written entirely in Standard C++ and built upon OpenGL, offers developers working in the visual simulation, game development, virtual reality, scientific visualization and modeling markets - a real-time visualization tool which eclipses commercial scene graph toolkits in functionality, stability and performance. OpenSceneGraph 3.4 runs on all Microsoft Windows platforms, Apple OS/X, IOS, GNU/Linux, Android, IRIX, Solaris, HP-UX, AIX and FreeBSD operating systems. +Updates include: + + * New #pragma(tic) composition shader functionality built into the core OSG that provides a easy to use yet flexible scheme for controlling and composing shaders at runtime levering GLSL support for #define and #pragma. + * New osgTerrain::DisplacementMappingTechnique to uses vertex, geometry and fragment shader based displacement mapping technique that dramatically lowers the CPU and GPU memory footprint and bandwidth needs for the same visual quality. The new scheme enables paged terrain that work robustly on smaller hardware, or with far higher loads without framedrops. This new technique levels #pragma(tic) shader composition to enable one to toggle on/off features in the shaders at runtime in a way that is as convenient to use as toggle modes in a fixed function pipeline scene graph. + * New osgVolume::MultipassTechique that uses multipass rendering and shaders to enable seamless mixing of traditional 3D geometry and volumes, support for geometry hulls that constrain where the volume should be rendered as well as improving the ray tracing shaders so that they are both faster and have higher visual quality than the previous generation of ray traced shaders supported by OSG-3.2 releases and before. + * New osgDB::Classiterface class that provides an easy to use mechanism for introspection of scene graph classes, allowing one to get, set properties and invoke methods in a generic way, making the task of integrating 3rd prarty tools such as scripting languages straight forward. + * New Lua scripting support via a plugin that integrates Lua 5.2.3 and the OSG via the OSG's native serialization codes. + * New osgUI NodeKit, that enables User Interface elements to be placed directly into 3D scene graph. The classes are fully scriptable so you create create UI and behaviours all within lua scripts. + * Improvements to OpenGL ES 1.1, ES 2.0 and ES3.0 support, including platform specific extensions + * Improvements to OpenGL 4.x support with a range of new extensions support + * Updates to osgQt to support Qt5 and provide better support for Qt4 + +Downloads and Licensing: + +OpenSceneGraph is open-source, so full source code is provided, and can be copied, modified and used free of charge for commercial and non-commercial use. Access to the source allows end users greater flexibility in how they develop, debug and deploy their applications. They gain productivity and freedom by being able to leverage the tool chain in accordance with their own release cycles. Downloads of binaries and source can be found in the Downloads section of the openscenegraph.org website. + +OpenSceneGraph is released under the OpenSceneGraph Public License, which is based on the Lesser GNU Public License (LGPL), permitting the software to be used free of charge across the full spectrum of commercial and open-source applications. Furthermore, it allows both static and dynamic linking of the OpenSceneGraph libraries without restricting the licensing of the user's software. +Professional support and services + +OpenSceneGraph project is backed up with professional services by OpenSceneGraph Professional Services, based in Scotland, and a range of Contractors from around the world. Services available include: + + Confidential Professional Support + Bespoke development + Consultancy + Training + +Community support and contributions: + +The diverse and growing community of over 5000 developers is centred around the public osg-users mailing list/forum, where members discuss how best to use OpenSceneGraph, provide mutual support, and coordinate development of new features and bug fixes. Members of this community come from many different countries with backgrounds ranging from some of the world's largest aerospace companies, game companies, and visual simulation specialists to university researchers, students and hobbyists. + +The OpenSceneGraph project owes a great deal to the community for its development and support, in particular we wish to thank the 550 individuals from around the world that have directly contributed to the development and refinement of the OpenSceneGraph code base. + + + + + = !OpenSceneGraph 3.2 release improves support iOS and Android, supports a range of new OpenGL features much more. PERTHSHIRE, Scotland - 24th July 2013 - !OpenSceneGraph Professional Services announces the release of !OpenSceneGraph 3.2, the industry's leading open-source scene graph technology, designed to accelerate application development and improve 3D graphics performance. !OpenSceneGraph 3.2 written entirely in Standard C++ and built upon OpenGL, offers developers working in the visual simulation, game development, virtual reality, scientific visualization and modeling markets - a real-time visualization tool which eclipses commercial scene graph toolkits in functionality, stability and performance. !OpenSceneGraph 3.2 runs on all Microsoft Windows platforms, Apple OS/X, IOS, GNU/Linux, Android, IRIX, Solaris, HP-UX, AIX and FreeBSD operating systems. diff -Nru openscenegraph-3.4-3.4.0+dfsg1/README.txt openscenegraph-3.4-3.4.1+dfsg1/README.txt --- openscenegraph-3.4-3.4.0+dfsg1/README.txt 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/README.txt 2017-08-28 16:50:49.000000000 +0000 @@ -23,7 +23,7 @@ Robert Osfield. Project Lead. -12th August 2015. +28th August 2017. -- diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/OpenThreads/pthreads/PThread.cpp openscenegraph-3.4-3.4.1+dfsg1/src/OpenThreads/pthreads/PThread.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/OpenThreads/pthreads/PThread.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/OpenThreads/pthreads/PThread.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -43,8 +43,10 @@ #endif #if defined (__FreeBSD__) || defined (__APPLE__) || defined (__MACH__) #include +#if !defined (__GNU__) #include #endif +#endif #if defined(__ANDROID__) #ifndef PAGE_SIZE @@ -1012,7 +1014,7 @@ // int OpenThreads::GetNumberOfProcessors() { -#if defined(__linux__) +#if defined(__linux__) || defined(__GNU__) long ret = sysconf(_SC_NPROCESSORS_ONLN); if (ret == -1) return 0; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/OpenThreads/qt/CMakeLists.txt openscenegraph-3.4-3.4.1+dfsg1/src/OpenThreads/qt/CMakeLists.txt --- openscenegraph-3.4-3.4.0+dfsg1/src/OpenThreads/qt/CMakeLists.txt 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/OpenThreads/qt/CMakeLists.txt 2017-08-28 16:50:49.000000000 +0000 @@ -71,5 +71,11 @@ DESTINATION include/OpenThreads COMPONENT libopenthreads-dev ) - +if(MSVC) + INSTALL( + FILES ${CMAKE_CURRENT_BINARY_DIR}/OpenThreads${CMAKE_BUILD_POSTFIX}.pdb + DESTINATION bin + COMPONENT libopenthreads + ) +endif() #commented out# INCLUDE(ModuleInstall OPTIONAL) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osg/BufferObject.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osg/BufferObject.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osg/BufferObject.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osg/BufferObject.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -188,11 +188,13 @@ { OSG_INFO<<"newTotalSize="<glDeleteBuffers(1, &_glObjectID); @@ -1130,7 +1132,7 @@ void BufferObject::releaseGLObjects(State* state) const { - OSG_INFO<<"BufferObject::releaseGLObjects("<getContextID(); @@ -1286,7 +1288,7 @@ void BufferData::releaseGLObjects(State* state) const { - OSG_INFO<<"BufferData::releaseGLObjects("<releaseGLObjects(state); @@ -1395,7 +1397,7 @@ setTarget(GL_PIXEL_UNPACK_BUFFER_ARB); setUsage(GL_STREAM_DRAW_ARB); - OSG_INFO<<"Constructing PixelBufferObject for image="<get())); } - if ((copyop.getCopyFlags() & osg::CopyOp::DEEP_COPY_ARRAYS)) + if ((copyop.getCopyFlags() & osg::CopyOp::DEEP_COPY_ARRAYS) || (copyop.getCopyFlags() & osg::CopyOp::DEEP_COPY_PRIMITIVES)) { if (_useVertexBufferObjects) { // copying of arrays doesn't set up buffer objects so we'll need to force - // Geometry to assign these, we'll do this by switching off VBO's then renabling them. - setUseVertexBufferObjects(false); + // Geometry to assign these, we'll do this by changing the cached value to false then re-enabling. + // note do not use setUseVertexBufferObjects(false) as it might modify Arrays that we have not deep-copied. + _useVertexBufferObjects = false; setUseVertexBufferObjects(true); } } @@ -201,7 +202,7 @@ itr != _texCoordList.end(); ++itr) { - addVertexBufferObjectIfRequired(itr->get()); + if (itr->get()) addVertexBufferObjectIfRequired(itr->get()); } } } @@ -244,7 +245,7 @@ itr != _vertexAttribList.end(); ++itr) { - addVertexBufferObjectIfRequired(itr->get()); + if (itr->get()) addVertexBufferObjectIfRequired(itr->get()); } } } @@ -261,7 +262,8 @@ dirtyBound(); return true; } - OSG_WARN<<"Warning: invalid index i or primitiveset passed to osg::Geometry::addPrimitiveSet(i,primitiveset), ignoring call."<getBinding()==Array::BIND_PER_VERTEX) { if (!array->getVertexBufferObject()) { @@ -1041,7 +1043,7 @@ geom->setNormalArray(normals, osg::Array::BIND_OVERALL); -#if defined(OSG_GLES1_AVAILABLE) || !defined(OSG_GLES2_AVAILABLE) +#if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) DrawElementsUByte* elems = new DrawElementsUByte(PrimitiveSet::TRIANGLES); elems->push_back(0); elems->push_back(1); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osg/GLExtensions.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osg/GLExtensions.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osg/GLExtensions.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osg/GLExtensions.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -824,7 +824,10 @@ isGLExtensionOrVersionSupported(contextID,"GL_SGIS_texture_edge_clamp", 1.2f); - isTextureBorderClampSupported = OSG_GL3_FEATURES || ((OSG_GL1_FEATURES || OSG_GL2_FEATURES) && isGLExtensionOrVersionSupported(contextID,"GL_ARB_texture_border_clamp", 1.3f)); + isTextureBorderClampSupported = OSG_GL3_FEATURES || + ((OSG_GL1_FEATURES || OSG_GL2_FEATURES) && isGLExtensionOrVersionSupported(contextID,"GL_ARB_texture_border_clamp", 1.3f)) || + (OSG_GLES2_FEATURES && isGLExtensionSupported(contextID,"GL_EXT_texture_border_clamp")); + isGenerateMipMapSupported = builtInSupport || isGLExtensionOrVersionSupported(contextID,"GL_SGIS_generate_mipmap", 1.4f); preferGenerateMipmapSGISForPowerOfTwo = (radeonHardwareDetected||fireGLHardwareDetected) ? false : true; isTextureMultisampledSupported = isGLExtensionSupported(contextID,"GL_ARB_texture_multisample"); @@ -1033,7 +1036,7 @@ glFramebufferRenderbuffer != 0 && glGenerateMipmap != 0 && glGetRenderbufferParameteriv != 0 && - ( OSG_GLES1_FEATURES || isGLExtensionOrVersionSupported(contextID, "GL_EXT_framebuffer_object",3.0f) ); + ( OSG_GLES2_FEATURES || OSG_GLES1_FEATURES || isGLExtensionOrVersionSupported(contextID, "GL_EXT_framebuffer_object",3.0f) ); isPackedDepthStencilSupported = OSG_GL3_FEATURES || diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osg/GraphicsContext.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osg/GraphicsContext.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osg/GraphicsContext.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osg/GraphicsContext.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -564,6 +564,8 @@ osg::deleteAllGLObjects(_state->getContextID()); + osg::flushAllDeletedGLObjects(_state->getContextID()); + OSG_INFO<<"Done delete of GL objects"<(image->data()), osg::Image::NO_DELETE, image->getPacking()); + + setMipmapLevels(image->getMipmapLevels()); } void ImageSequence::applyLoopingMode() diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osg/LightModel.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osg/LightModel.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osg/LightModel.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osg/LightModel.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -16,6 +16,7 @@ #include #include #include +#include using namespace osg; @@ -34,6 +35,8 @@ { } +#ifdef OSG_GL_FIXED_FUNCTION_AVAILABLE + // need to define if gl.h version < 1.2. #ifndef GL_LIGHT_MODEL_COLOR_CONTROL #define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8 @@ -47,10 +50,8 @@ #define GL_SEPARATE_SPECULAR_COLOR 0x81FA #endif - -void LightModel::apply(State&) const +void LightModel::apply(State& state) const { -#ifdef OSG_GL_FIXED_FUNCTION_AVAILABLE #ifdef OSG_GLES1_AVAILABLE #define glLightModeli glLightModelx @@ -58,8 +59,7 @@ glLightModelfv(GL_LIGHT_MODEL_AMBIENT,_ambient.ptr()); - static bool s_separateSpecularSupported = strncmp((const char*)glGetString(GL_VERSION),"1.2",3)>=0; - if (s_separateSpecularSupported) + if (state.get()->glVersion>=1.2) { if (_colorControl==SEPARATE_SPECULAR_COLOR) { @@ -76,8 +76,14 @@ #endif glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,_twoSided); +} + #else + +void LightModel::apply(State&) const +{ OSG_NOTICE<<"Warning: LightModel::apply(State&) - not supported."<=1) state.glDrawArraysInstanced(mode,first,*itr,_numInstances); + else glDrawArrays(mode,first,*itr); first += *itr; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osg/Program.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osg/Program.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osg/Program.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osg/Program.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -776,26 +776,42 @@ if (!_loadedBinary) { - // Detach removed shaders - for( unsigned int i=0; i < _shadersToDetach.size(); ++i ) + const GLsizei shaderMaxCount = 20; + GLsizei shadersCount; + GLuint shaderObjectHandle[shaderMaxCount]; + _extensions->glGetAttachedShaders(_glProgramHandle, shaderMaxCount, &shadersCount, shaderObjectHandle); + + typedef std::map ShaderSet; + ShaderSet shadersRequired; + + for(GLsizei i=0; igetPCS(state); - if (pcs) _extensions->glDetachShader( _glProgramHandle, pcs->getHandle() ); + shadersRequired[shaderObjectHandle[i]]--; } - } - _shadersToDetach.clear(); - if (!_loadedBinary) - { - // Attach new shaders - for( unsigned int i=0; i < _shadersToAttach.size(); ++i ) + for(unsigned int i=0; i < getProgram()->getNumShaders(); ++i) { - Shader::PerContextShader* pcs = _shadersToAttach[i]->getPCS(state); - if (pcs) _extensions->glAttachShader( _glProgramHandle, pcs->getHandle() ); + const Shader* shader = getProgram()->getShader( i ); + Shader::PerContextShader* pcs = shader->getPCS(state); + if (pcs) shadersRequired[ pcs->getHandle() ]++; + } + + for(ShaderSet::iterator itr = shadersRequired.begin(); + itr != shadersRequired.end(); + ++itr) + { + if (itr->second>0) + { + _extensions->glAttachShader( _glProgramHandle, itr->first ); + } + else if (itr->second<0) + { + _extensions->glDetachShader( _glProgramHandle, itr->first ); + } } - } - //state.checkGLErrors("After attaching shaders."); + } + _shadersToDetach.clear(); _shadersToAttach.clear(); _uniformInfoMap.clear(); @@ -849,12 +865,12 @@ if( ! _isLinked ) { - OSG_WARN << "glLinkProgram \""<< _program->getName() << "\" FAILED" << std::endl; + OSG_NOTICE << "glLinkProgram "<getName() << "\" FAILED" << std::endl; std::string infoLog; if( getInfoLog(infoLog) ) { - OSG_WARN << "Program \""<< _program->getName() << "\" " + OSG_NOTICE << "Program \""<< _program->getName() << "\" " "infolog:\n" << infoLog << std::endl; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osg/ShaderComposer.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osg/ShaderComposer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osg/ShaderComposer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osg/ShaderComposer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -37,10 +37,21 @@ OSG_INFO<<"ShaderComposer::~ShaderComposer() "<second->releaseGLObjects(state); + } + + for(ShaderMainMap::const_iterator itr = _shaderMainMap.begin(); + itr != _shaderMainMap.end(); + ++itr) + { + itr->second->releaseGLObjects(state); + } } osg::Program* ShaderComposer::getOrCreateProgram(const ShaderComponents& shaderComponents) @@ -105,11 +116,21 @@ addShaderToProgram(program.get(), vertexShaders); } + if (!tessControlShaders.empty()) + { + addShaderToProgram(program.get(), tessControlShaders); + } + if (!geometryShaders.empty()) { addShaderToProgram(program.get(), geometryShaders); } + if (!tessEvaluationShaders.empty()) + { + addShaderToProgram(program.get(), tessEvaluationShaders); + } + if (!fragmentShaders.empty()) { addShaderToProgram(program.get(), fragmentShaders); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osg/Shader.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osg/Shader.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osg/Shader.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osg/Shader.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -33,8 +33,62 @@ #include #include -#include -#include +namespace osg +{ + +template +inline std::string::size_type find_first(const std::string& str, const M& match, std::string::size_type startpos, std::string::size_type endpos=std::string::npos) +{ + std::string::size_type endp = (endpos!=std::string::npos) ? endpos : str.size(); + + while(startpos=8 && source.compare(start_of_line, 8, "#version")==0) { versionLine = source.substr(start_of_line, end_of_line-start_of_line+1); - if (source[source.size()-1]!='\n') source.push_back('\n'); + if (versionLine[versionLine.size()-1]!='\n') versionLine.push_back('\n'); source.insert(start_of_line, "// following version spec has been automatically reassigned to start of source list: "); @@ -734,15 +788,15 @@ do { // skip spaces, tabs, commans - start_of_parameter = str.find_first_not_of(" \t,", start_of_parameter); + start_of_parameter = find_first(str, NoneOf(" \t,"), start_of_parameter); if (start_of_parameter==std::string::npos) break; // find end of the parameter - std::string::size_type end_of_parameter = str.find_first_of(" \t,)", start_of_parameter); + std::string::size_type end_of_parameter = find_first(str, OneOf(" \t,)"), start_of_parameter); if (end_of_parameter!=std::string::npos) { - std::string::size_type start_of_open_brackets = str.find_first_of("(", start_of_parameter); + std::string::size_type start_of_open_brackets = find_first(str, EqualTo('('), start_of_parameter); if (start_of_open_bracketssetNumChildrenRequiringUpdateTraversal((*itr)->getNumChildrenRequiringUpdateTraversal()+delta); } } @@ -71,7 +67,7 @@ void StateAttribute::setEventCallback(StateAttributeCallback* ec) { - OSG_INFO<<"StateAttribute::Setting Event callbacks"<referenceCount() == 1) { + // the only reference left to the extension is in the static map itself, so we clean it up now + GLExtensions::Set(_contextID, 0); + } } //_texCoordArrayList.clear(); @@ -144,6 +152,95 @@ //_vertexAttribArrayList.clear(); } +void State::initializeExtensionProcs() +{ + if (_extensionProcsInitialized) return; + + const char* vendor = (const char*) glGetString( GL_VENDOR ); + if (vendor) + { + std::string str_vendor(vendor); + std::replace(str_vendor.begin(), str_vendor.end(), ' ', '_'); + OSG_INFO<<"GL_VENDOR = ["<= 2.0 || osg::isGLExtensionSupported(_contextID, "GL_ARB_vertex_shader") || OSG_GLES2_FEATURES || OSG_GL3_FEATURES) + { + glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,&_glMaxTextureUnits); + #ifdef OSG_GL_FIXED_FUNCTION_AVAILABLE + glGetIntegerv(GL_MAX_TEXTURE_COORDS, &_glMaxTextureCoords); + #else + _glMaxTextureCoords = _glMaxTextureUnits; + #endif + } + else if ( osg::getGLVersionNumber() >= 1.3 || + osg::isGLExtensionSupported(_contextID,"GL_ARB_multitexture") || + osg::isGLExtensionSupported(_contextID,"GL_EXT_multitexture") || + OSG_GLES1_FEATURES) + { + GLint maxTextureUnits = 0; + glGetIntegerv(GL_MAX_TEXTURE_UNITS,&maxTextureUnits); + _glMaxTextureUnits = maxTextureUnits; + _glMaxTextureCoords = maxTextureUnits; + } + else + { + _glMaxTextureUnits = 1; + _glMaxTextureCoords = 1; + } + + if (_glExtensions->isARBTimerQuerySupported) + { + const GLubyte* renderer = glGetString(GL_RENDERER); + std::string rendererString = renderer ? (const char*)renderer : ""; + if (rendererString.find("Radeon")!=std::string::npos || rendererString.find("RADEON")!=std::string::npos || rendererString.find("FirePro")!=std::string::npos) + { + // AMD/ATI drivers are producing an invalid enumerate error on the + // glGetQueryiv(GL_TIMESTAMP, GL_QUERY_COUNTER_BITS_ARB, &bits); + // call so work around it by assuming 64 bits for counter. + setTimestampBits(64); + //setTimestampBits(0); + } + else + { + GLint bits = 0; + _glExtensions->glGetQueryiv(GL_TIMESTAMP, GL_QUERY_COUNTER_BITS_ARB, &bits); + setTimestampBits(bits); + } + } + + + _extensionProcsInitialized = true; + + if (_graphicsCostEstimator.valid()) + { + RenderInfo renderInfo(this,0); + _graphicsCostEstimator->calibrate(renderInfo); + } +} + void State::releaseGLObjects() { // release any GL objects held by the shader composer @@ -872,9 +969,9 @@ if (compactAliasing) { unsigned int slot = 0; - setUpVertexAttribAlias(_vertexAlias, slot++, "gl_Vertex","osg_Vertex","attribute vec4 "); - setUpVertexAttribAlias(_normalAlias, slot++, "gl_Normal","osg_Normal","attribute vec3 "); - setUpVertexAttribAlias(_colorAlias, slot++, "gl_Color","osg_Color","attribute vec4 "); + setUpVertexAttribAlias(_vertexAlias, slot++, "gl_Vertex","osg_Vertex","vec4 "); + setUpVertexAttribAlias(_normalAlias, slot++, "gl_Normal","osg_Normal","vec3 "); + setUpVertexAttribAlias(_colorAlias, slot++, "gl_Color","osg_Color","vec4 "); _texCoordAliasList.resize(numTextureUnits); for(unsigned int i=0; i<_texCoordAliasList.size(); i++) @@ -884,20 +981,20 @@ gl_MultiTexCoord<<"gl_MultiTexCoord"<= 2.0 || osg::isGLExtensionSupported(_contextID, "GL_ARB_vertex_shader") || OSG_GLES2_FEATURES || OSG_GL3_FEATURES) - { - glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,&_glMaxTextureUnits); - #ifdef OSG_GL_FIXED_FUNCTION_AVAILABLE - glGetIntegerv(GL_MAX_TEXTURE_COORDS, &_glMaxTextureCoords); - #else - _glMaxTextureCoords = _glMaxTextureUnits; - #endif - } - else if ( osg::getGLVersionNumber() >= 1.3 || - osg::isGLExtensionSupported(_contextID,"GL_ARB_multitexture") || - osg::isGLExtensionSupported(_contextID,"GL_EXT_multitexture") || - OSG_GLES1_FEATURES) - { - GLint maxTextureUnits = 0; - glGetIntegerv(GL_MAX_TEXTURE_UNITS,&maxTextureUnits); - _glMaxTextureUnits = maxTextureUnits; - _glMaxTextureCoords = maxTextureUnits; - } - else - { - _glMaxTextureUnits = 1; - _glMaxTextureCoords = 1; - } - - if (_glExtensions->isARBTimerQuerySupported) - { - const GLubyte* renderer = glGetString(GL_RENDERER); - std::string rendererString = renderer ? (const char*)renderer : ""; - if (rendererString.find("Radeon")!=std::string::npos || rendererString.find("RADEON")!=std::string::npos || rendererString.find("FirePro")!=std::string::npos) - { - // AMD/ATI drivers are producing an invalid enumerate error on the - // glGetQueryiv(GL_TIMESTAMP, GL_QUERY_COUNTER_BITS_ARB, &bits); - // call so work around it by assuming 64 bits for counter. - setTimestampBits(64); - //setTimestampBits(0); - } - else - { - GLint bits = 0; - _glExtensions->glGetQueryiv(GL_TIMESTAMP, GL_QUERY_COUNTER_BITS_ARB, &bits); - setTimestampBits(bits); - } - } - - - _extensionProcsInitialized = true; - - if (_graphicsCostEstimator.valid()) - { - RenderInfo renderInfo(this,0); - _graphicsCostEstimator->calibrate(renderInfo); - } -} - bool State::setClientActiveTextureUnit( unsigned int unit ) { if (unit!=_currentClientActiveTextureUnit) @@ -1430,11 +1437,11 @@ return replacedStr; } - void replaceAndInsertDeclaration(std::string& source, std::string::size_type declPos, const std::string& originalStr, const std::string& newStr, const std::string& declarationPrefix) + void replaceAndInsertDeclaration(std::string& source, std::string::size_type declPos, const std::string& originalStr, const std::string& newStr, const std::string& qualifier, const std::string& declarationPrefix) { if (replace(source, originalStr, newStr)) { - source.insert(declPos, declarationPrefix + newStr + std::string(";\n")); + source.insert(declPos, qualifier + declarationPrefix + newStr + std::string(";\n")); } } } @@ -1445,11 +1452,19 @@ OSG_INFO<<"++Before Converted source "<= 130) attributeQualifier = "in "; // found the string, now find the next linefeed and set the insertion point after it. declPos = source.find( '\n', declPos ); declPos = declPos != std::string::npos ? declPos+1 : source.length(); @@ -1465,23 +1480,23 @@ State_Utils::replace(source, "ftransform()", "gl_ModelViewProjectionMatrix * gl_Vertex"); // replace built in uniform - State_Utils::replaceAndInsertDeclaration(source, declPos, "gl_ModelViewMatrix", "osg_ModelViewMatrix", "uniform mat4 "); - State_Utils::replaceAndInsertDeclaration(source, declPos, "gl_ModelViewProjectionMatrix", "osg_ModelViewProjectionMatrix", "uniform mat4 "); - State_Utils::replaceAndInsertDeclaration(source, declPos, "gl_ProjectionMatrix", "osg_ProjectionMatrix", "uniform mat4 "); - State_Utils::replaceAndInsertDeclaration(source, declPos, "gl_NormalMatrix", "osg_NormalMatrix", "uniform mat3 "); + State_Utils::replaceAndInsertDeclaration(source, declPos, "gl_ModelViewMatrix", "osg_ModelViewMatrix", "uniform ", "mat4 "); + State_Utils::replaceAndInsertDeclaration(source, declPos, "gl_ModelViewProjectionMatrix", "osg_ModelViewProjectionMatrix", "uniform ", "mat4 "); + State_Utils::replaceAndInsertDeclaration(source, declPos, "gl_ProjectionMatrix", "osg_ProjectionMatrix", "uniform ", "mat4 "); + State_Utils::replaceAndInsertDeclaration(source, declPos, "gl_NormalMatrix", "osg_NormalMatrix", "uniform ", "mat3 "); } if (_useVertexAttributeAliasing) { - State_Utils::replaceAndInsertDeclaration(source, declPos, _vertexAlias._glName, _vertexAlias._osgName, _vertexAlias._declaration); - State_Utils::replaceAndInsertDeclaration(source, declPos, _normalAlias._glName, _normalAlias._osgName, _normalAlias._declaration); - State_Utils::replaceAndInsertDeclaration(source, declPos, _colorAlias._glName, _colorAlias._osgName, _colorAlias._declaration); - State_Utils::replaceAndInsertDeclaration(source, declPos, _secondaryColorAlias._glName, _secondaryColorAlias._osgName, _secondaryColorAlias._declaration); - State_Utils::replaceAndInsertDeclaration(source, declPos, _fogCoordAlias._glName, _fogCoordAlias._osgName, _fogCoordAlias._declaration); + State_Utils::replaceAndInsertDeclaration(source, declPos, _vertexAlias._glName, _vertexAlias._osgName, attributeQualifier, _vertexAlias._declaration); + State_Utils::replaceAndInsertDeclaration(source, declPos, _normalAlias._glName, _normalAlias._osgName, attributeQualifier, _normalAlias._declaration); + State_Utils::replaceAndInsertDeclaration(source, declPos, _colorAlias._glName, _colorAlias._osgName, attributeQualifier, _colorAlias._declaration); + State_Utils::replaceAndInsertDeclaration(source, declPos, _secondaryColorAlias._glName, _secondaryColorAlias._osgName, attributeQualifier, _secondaryColorAlias._declaration); + State_Utils::replaceAndInsertDeclaration(source, declPos, _fogCoordAlias._glName, _fogCoordAlias._osgName, attributeQualifier, _fogCoordAlias._declaration); for (size_t i=0; i<_texCoordAliasList.size(); i++) { const VertexAttribAlias& texCoordAlias = _texCoordAliasList[i]; - State_Utils::replaceAndInsertDeclaration(source, declPos, texCoordAlias._glName, texCoordAlias._osgName, texCoordAlias._declaration); + State_Utils::replaceAndInsertDeclaration(source, declPos, texCoordAlias._glName, texCoordAlias._osgName, attributeQualifier, texCoordAlias._declaration); } } @@ -1713,7 +1728,6 @@ #if 0 GraphicsContext* _graphicsContext; unsigned int _contextID; - bool _shaderCompositionEnabled; bool _shaderCompositionDirty; osg::ref_ptr _shaderComposer; @@ -1814,29 +1828,28 @@ bool State::DefineMap::updateCurrentDefines() { - if (changed) + if (!changed) return false; + + currentDefines.clear(); + + for(DefineStackMap::const_iterator itr = map.begin(); + itr != map.end(); + ++itr) { - currentDefines.clear(); - for(DefineStackMap::const_iterator itr = map.begin(); - itr != map.end(); - ++itr) + const DefineStack::DefineVec& dv = itr->second.defineVec; + if (!dv.empty()) { - const DefineStack::DefineVec& dv = itr->second.defineVec; - if (!dv.empty()) + const StateSet::DefinePair& dp = dv.back(); + if (dp.second & osg::StateAttribute::ON) { - const StateSet::DefinePair& dp = dv.back(); - if (dp.second & osg::StateAttribute::ON) - { - currentDefines[itr->first] = dp; - } + currentDefines[itr->first] = dp; } } - return true; - } - else - { - return false; } + + changed = false; + + return true; } std::string State::getDefineString(const osg::ShaderDefines& shaderDefines) @@ -1859,16 +1872,16 @@ const StateSet::DefinePair& dp = cd_itr->second; shaderDefineStr += "#define "; shaderDefineStr += cd_itr->first; - if (dp.first.empty()) - { - shaderDefineStr += "\n"; - } - else + if (!dp.first.empty()) { - shaderDefineStr += " "; + if (dp.first[0]!='(') shaderDefineStr += " "; shaderDefineStr += dp.first; - shaderDefineStr += "\n"; } +#ifdef WIN32 + shaderDefineStr += "\r\n"; +#else + shaderDefineStr += "\n"; +#endif ++sd_itr; ++cd_itr; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osg/StateSet.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osg/StateSet.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osg/StateSet.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osg/StateSet.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -1296,7 +1296,7 @@ OSG_NOTICE<<"Warning: non texture attribute '"<className()<<"' passed to setTextureAttributeAndModes(unit,attr,value), "< object = osgDB::readObjectFile(cacheFileName); + osg::ref_ptr object = osgDB::readRefObjectFile(cacheFileName); dr_local = dynamic_cast(object.get()); if (dr_local) { @@ -357,7 +357,7 @@ } // now load revision file from remote server - osg::ref_ptr object = osgDB::readObjectFile(revisionsFileName+".curl"); + osg::ref_ptr object = osgDB::readRefObjectFile(revisionsFileName+".curl"); osg::ref_ptr dr_remote = dynamic_cast(object.get()); if (dr_remote.valid()) @@ -463,7 +463,7 @@ std::string cacheFileListName = createCacheFileName(originalFileName); if (!cacheFileListName.empty() && osgDB::fileExists(cacheFileListName)) { - osg::ref_ptr object = osgDB::readObjectFile(cacheFileListName); + osg::ref_ptr object = osgDB::readRefObjectFile(cacheFileListName); fileList = dynamic_cast(object.get()); if (fileList) OSG_INFO<<" loadeded FileList from local cache "<getName()< object = osgDB::readRefObjectFile(originalFileName+".curl"); fileList = dynamic_cast(object.get()); if (fileList) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgDB/FileNameUtils.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgDB/FileNameUtils.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgDB/FileNameUtils.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgDB/FileNameUtils.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -30,6 +30,10 @@ using std::tolower; #endif +#if defined(__GNU__) && !defined(PATH_MAX) +#define PATH_MAX 4096 +#endif + using namespace std; static const char * const PATH_SEPARATORS = "/\\"; @@ -436,6 +440,7 @@ if (path[0] == '/') return true; // Now test for Windows root if (path.length()<2) return false; + if (path[0] == '\\' && path[1] == '\\') return true; return path[1] == ':'; // We should check that path[0] is a letter, but as ':' is invalid in paths in other cases, that's not a problem. } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgDB/ImagePager.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgDB/ImagePager.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgDB/ImagePager.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgDB/ImagePager.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -211,7 +211,7 @@ if (imageRequest.valid()) { // OSG_NOTICE<<"doing readImageFile("<_fileName<<") index to assign = "<_attachmentIndex< image = osgDB::readImageFile(imageRequest->_fileName, imageRequest->_readOptions.get()); + osg::ref_ptr image = osgDB::readRefImageFile(imageRequest->_fileName, imageRequest->_readOptions.get()); if (image.valid()) { // OSG_NOTICE<<" successful readImageFile("<_fileName<<") index to assign = "<_attachmentIndex<(const_cast(options)); - return osgDB::readImageFile(fileName, readOptions); + return osgDB::readRefImageFile(fileName, readOptions).release(); } void ImagePager::requestImageFile(const std::string& fileName, osg::Object* attachmentPoint, int attachmentIndex, double timeToMergeBy, const osg::FrameStamp* /*framestamp*/, osg::ref_ptr& imageRequest, const osg::Referenced* options) { - osgDB::Options* readOptions = dynamic_cast(const_cast(options)); if (!readOptions) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgDB/Input.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgDB/Input.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgDB/Input.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgDB/Input.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -87,7 +87,7 @@ osg::Object* Input::readObject(const std::string& fileName) { - return readObjectFile(fileName,_options.get()); + return readRefObjectFile(fileName,_options.get()).release(); } osg::Shader* Input::readShader() @@ -97,17 +97,17 @@ osg::Image* Input::readImage(const std::string& fileName) { - return readImageFile(fileName,_options.get()); + return readRefImageFile(fileName,_options.get()).release(); } osg::Node* Input::readNode(const std::string& fileName) { - return readNodeFile(fileName,_options.get()); + return readRefNodeFile(fileName,_options.get()).release(); } osg::Shader* Input::readShader(const std::string& fileName) { - return readShaderFile(fileName,_options.get()); + return readRefShaderFile(fileName,_options.get()).release(); } bool Input::read(Parameter value1) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgDB/OutputStream.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgDB/OutputStream.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgDB/OutputStream.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgDB/OutputStream.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include @@ -559,7 +559,7 @@ if ( isBinary() ) { std::string fullPath = osgDB::findDataFile( img->getFileName() ); - std::ifstream infile( fullPath.c_str(), std::ios::in|std::ios::binary ); + osgDB::ifstream infile( fullPath.c_str(), std::ios::in|std::ios::binary ); if ( infile ) { infile.seekg( 0, std::ios::end ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgDB/ReadFile.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgDB/ReadFile.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgDB/ReadFile.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgDB/ReadFile.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -29,6 +29,7 @@ using namespace osg; using namespace osgDB; +#ifdef OSG_PROVIDE_READFILE Object* osgDB::readObjectFile(const std::string& filename,const Options* options) { ReaderWriter::ReadResult rr = Registry::instance()->readObject(filename,options); @@ -75,14 +76,82 @@ Node* osgDB::readNodeFiles(std::vector& fileList,const Options* options) { - typedef std::vector NodeList; + return readRefNodeFiles(fileList, options).release(); +} + +Node* osgDB::readNodeFiles(osg::ArgumentParser& arguments,const Options* options) +{ + return readRefNodeFiles(arguments, options).release(); +} + + +Script* osgDB::readScriptFile(const std::string& filename,const Options* options) +{ + ReaderWriter::ReadResult rr = Registry::instance()->readScript(filename,options); + if (rr.validScript()) return rr.takeScript(); + if (rr.error()) OSG_WARN << rr.message() << std::endl; + return NULL; +} +#endif + +osg::ref_ptr osgDB::readRefObjectFile(const std::string& filename,const Options* options) +{ + ReaderWriter::ReadResult rr = Registry::instance()->readObject(filename,options); + if (rr.validObject()) return osg::ref_ptr(rr.getObject()); + if (rr.error()) OSG_WARN << rr.message() << std::endl; + return NULL; +} + +osg::ref_ptr osgDB::readRefImageFile(const std::string& filename,const Options* options) +{ + ReaderWriter::ReadResult rr = Registry::instance()->readImage(filename,options); + if (rr.validImage()) return osg::ref_ptr(rr.getImage()); + if (rr.error()) OSG_WARN << rr.message() << std::endl; + return NULL; +} + +osg::ref_ptr osgDB::readRefShaderFile(const std::string& filename,const Options* options) +{ + ReaderWriter::ReadResult rr = Registry::instance()->readShader(filename,options); + if (rr.validShader()) return osg::ref_ptr(rr.getShader()); + if (rr.error()) OSG_WARN << rr.message() << std::endl; + return NULL; +} + +osg::ref_ptr osgDB::readRefHeightFieldFile(const std::string& filename,const Options* options) +{ + ReaderWriter::ReadResult rr = Registry::instance()->readHeightField(filename,options); + if (rr.validHeightField()) return osg::ref_ptr(rr.getHeightField()); + if (rr.error()) OSG_WARN << rr.message() << std::endl; + return NULL; +} + +osg::ref_ptr osgDB::readRefNodeFile(const std::string& filename,const Options* options) +{ + ReaderWriter::ReadResult rr = Registry::instance()->readNode(filename,options); + if (rr.validNode()) return osg::ref_ptr(rr.getNode()); + if (rr.error()) OSG_WARN << rr.message() << std::endl; + return NULL; +} + +osg::ref_ptr osgDB::readRefScriptFile(const std::string& filename,const Options* options) +{ + ReaderWriter::ReadResult rr = Registry::instance()->readScript(filename,options); + if (rr.validScript()) return osg::ref_ptr(rr.getScript()); + if (rr.error()) OSG_WARN << rr.message() << std::endl; + return NULL; +} + +osg::ref_ptr osgDB::readRefNodeFiles(std::vector& fileList,const Options* options) +{ + typedef std::vector< osg::ref_ptr > NodeList; NodeList nodeList; for(std::vector::iterator itr=fileList.begin(); itr!=fileList.end(); ++itr) { - osg::Node *node = osgDB::readNodeFile( *itr , options ); + osg::ref_ptr node = osgDB::readRefNodeFile( *itr , options ); if( node != (osg::Node *)0L ) { @@ -103,7 +172,7 @@ } else // size >1 { - osg::Group* group = new osg::Group; + osg::ref_ptr group = new osg::Group; for(NodeList::iterator itr=nodeList.begin(); itr!=nodeList.end(); ++itr) @@ -116,7 +185,7 @@ } -Node* osgDB::readNodeFiles(osg::ArgumentParser& arguments,const Options* options) +osg::ref_ptr osgDB::readRefNodeFiles(osg::ArgumentParser& arguments,const Options* options) { typedef std::vector< osg::ref_ptr > NodeList; @@ -131,7 +200,7 @@ while (arguments.read("--image",filename)) { - osg::ref_ptr image = readImageFile(filename.c_str(), options); + osg::ref_ptr image = readRefImageFile(filename.c_str(), options); if (image.valid()) { osg::Geode* geode = osg::createGeodeForImage(image.get()); @@ -149,7 +218,7 @@ while (arguments.read("--movie",filename)) { - osg::ref_ptr image = readImageFile(filename.c_str(), options); + osg::ref_ptr image = readRefImageFile(filename.c_str(), options); osg::ref_ptr imageStream = dynamic_cast(image.get()); if (imageStream.valid()) { @@ -200,11 +269,11 @@ while (arguments.read("--dem",filename)) { - osg::HeightField* hf = readHeightFieldFile(filename.c_str(), options); + osg::ref_ptr hf = readRefHeightFieldFile(filename.c_str(), options); if (hf) { - osg::Geode* geode = new osg::Geode; - geode->addDrawable(new osg::ShapeDrawable(hf)); + osg::ref_ptr geode = new osg::Geode; + geode->addDrawable(new osg::ShapeDrawable(hf.get())); nodeList.push_back(geode); } } @@ -215,7 +284,7 @@ if (!arguments.isOption(pos)) { // not an option so assume string is a filename. - osg::Node *node = osgDB::readNodeFile( arguments[pos], options); + osg::ref_ptr node = osgDB::readRefNodeFile( arguments[pos], options); if(node) { @@ -237,73 +306,15 @@ } else // size >1 { - osg::Group* group = new osg::Group; + osg::ref_ptr group = new osg::Group; for(NodeList::iterator itr=nodeList.begin(); itr!=nodeList.end(); ++itr) { - group->addChild((*itr).get()); + group->addChild(*itr); } return group; } } - - -Script* osgDB::readScriptFile(const std::string& filename,const Options* options) -{ - ReaderWriter::ReadResult rr = Registry::instance()->readScript(filename,options); - if (rr.validScript()) return rr.takeScript(); - if (rr.error()) OSG_WARN << rr.message() << std::endl; - return NULL; -} - - -osg::ref_ptr osgDB::readRefObjectFile(const std::string& filename,const Options* options) -{ - ReaderWriter::ReadResult rr = Registry::instance()->readObject(filename,options); - if (rr.validObject()) return osg::ref_ptr(rr.getObject()); - if (rr.error()) OSG_WARN << rr.message() << std::endl; - return NULL; -} - -osg::ref_ptr osgDB::readRefImageFile(const std::string& filename,const Options* options) -{ - ReaderWriter::ReadResult rr = Registry::instance()->readImage(filename,options); - if (rr.validImage()) return osg::ref_ptr(rr.getImage()); - if (rr.error()) OSG_WARN << rr.message() << std::endl; - return NULL; -} - -osg::ref_ptr osgDB::readRefShaderFile(const std::string& filename,const Options* options) -{ - ReaderWriter::ReadResult rr = Registry::instance()->readShader(filename,options); - if (rr.validShader()) return osg::ref_ptr(rr.getShader()); - if (rr.error()) OSG_WARN << rr.message() << std::endl; - return NULL; -} - -osg::ref_ptr osgDB::readRefHeightFieldFile(const std::string& filename,const Options* options) -{ - ReaderWriter::ReadResult rr = Registry::instance()->readHeightField(filename,options); - if (rr.validHeightField()) return osg::ref_ptr(rr.getHeightField()); - if (rr.error()) OSG_WARN << rr.message() << std::endl; - return NULL; -} - -osg::ref_ptr osgDB::readRefNodeFile(const std::string& filename,const Options* options) -{ - ReaderWriter::ReadResult rr = Registry::instance()->readNode(filename,options); - if (rr.validNode()) return osg::ref_ptr(rr.getNode()); - if (rr.error()) OSG_WARN << rr.message() << std::endl; - return NULL; -} - -osg::ref_ptr osgDB::readRefScriptFile(const std::string& filename,const Options* options) -{ - ReaderWriter::ReadResult rr = Registry::instance()->readScript(filename,options); - if (rr.validScript()) return osg::ref_ptr(rr.getScript()); - if (rr.error()) OSG_WARN << rr.message() << std::endl; - return NULL; -} diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgDB/Registry.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgDB/Registry.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgDB/Registry.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgDB/Registry.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -214,6 +214,8 @@ return s_registry.get(); // will return NULL on erase } +OSG_INIT_SINGLETON_PROXY(ProxyInitRegistry, Registry::instance()) + // definition of the Registry Registry::Registry() diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgFX/BumpMapping.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgFX/BumpMapping.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgFX/BumpMapping.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgFX/BumpMapping.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -626,7 +626,7 @@ // set up diffuse texture if (!_diffuse_tex.valid()) { _diffuse_tex = new osg::Texture2D; - _diffuse_tex->setImage(osgDB::readImageFile("Images/whitemetal_diffuse.jpg")); + _diffuse_tex->setImage(osgDB::readRefImageFile("Images/whitemetal_diffuse.jpg")); _diffuse_tex->setFilter(osg::Texture::MIN_FILTER, osg::Texture::LINEAR_MIPMAP_LINEAR); _diffuse_tex->setFilter(osg::Texture::MAG_FILTER, osg::Texture::LINEAR); _diffuse_tex->setWrap(osg::Texture::WRAP_S, osg::Texture::REPEAT); @@ -637,7 +637,7 @@ // set up normal map texture if (!_normal_tex.valid()) { _normal_tex = new osg::Texture2D; - _normal_tex->setImage(osgDB::readImageFile("Images/whitemetal_normal.jpg")); + _normal_tex->setImage(osgDB::readRefImageFile("Images/whitemetal_normal.jpg")); _normal_tex->setFilter(osg::Texture::MIN_FILTER, osg::Texture::LINEAR_MIPMAP_LINEAR); _normal_tex->setFilter(osg::Texture::MAG_FILTER, osg::Texture::LINEAR); _normal_tex->setWrap(osg::Texture::WRAP_S, osg::Texture::REPEAT); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgManipulator/Dragger.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgManipulator/Dragger.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgManipulator/Dragger.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgManipulator/Dragger.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -198,6 +199,27 @@ { } +bool Dragger::inverted() const +{ + osg::Vec3d xAxis(_matrix(0,0), _matrix(1,0), _matrix(2,0)); + osg::Vec3d yAxis(_matrix(0,1), _matrix(1,1), _matrix(2,1)); + osg::Vec3d zAxis(_matrix(0,2), _matrix(1,2), _matrix(2,2)); + double volume = (xAxis^yAxis)*zAxis; + return volume<0.0; +} + +void Dragger::applyAppropriateFrontFace(osg::StateSet* ss) const +{ + osg::StateAttribute* sa = ss->getAttribute(osg::StateAttribute::FRONTFACE); + osg::FrontFace* ff = dynamic_cast(sa); + if (!ff) + { + ff = new osg::FrontFace; + ss->setAttribute(ff); + } + ff->setMode( inverted() ? osg::FrontFace::CLOCKWISE : osg::FrontFace::COUNTER_CLOCKWISE); +} + void Dragger::setHandleEvents(bool flag) { if (_handleEvents == flag) return; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgParticle/ParticleProcessor.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgParticle/ParticleProcessor.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgParticle/ParticleProcessor.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgParticle/ParticleProcessor.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -99,10 +99,12 @@ _currentTime += t - _t0; // process only if the particle system is not frozen/culled + // We need to allow at least 2 frames difference, because the particle system's lastFrameNumber + // is updated in the draw thread which may not have completed yet. if (alive && _enabled && !_ps->isFrozen() && - ((_ps->getLastFrameNumber()+1) >= (nv.getFrameStamp()->getFrameNumber()) || !_ps->getFreezeOnCull())) + (!_ps->getFreezeOnCull() || ((nv.getFrameStamp()->getFrameNumber()-_ps->getLastFrameNumber()) <= 2)) ) { // initialize matrix flags _need_ltw_matrix = true; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgParticle/ParticleSystem.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgParticle/ParticleSystem.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgParticle/ParticleSystem.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgParticle/ParticleSystem.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -249,7 +249,7 @@ if (!texturefile.empty()) { osg::Texture2D *texture = new osg::Texture2D; - texture->setImage(osgDB::readImageFile(texturefile)); + texture->setImage(osgDB::readRefImageFile(texturefile)); texture->setFilter(osg::Texture2D::MIN_FILTER, osg::Texture2D::LINEAR); texture->setFilter(osg::Texture2D::MAG_FILTER, osg::Texture2D::LINEAR); texture->setWrap(osg::Texture2D::WRAP_S, osg::Texture2D::MIRROR); @@ -292,7 +292,7 @@ if (!texturefile.empty()) { osg::Texture2D *texture = new osg::Texture2D; - texture->setImage(osgDB::readImageFile(texturefile)); + texture->setImage(osgDB::readRefImageFile(texturefile)); texture->setFilter(osg::Texture2D::MIN_FILTER, osg::Texture2D::LINEAR); texture->setFilter(osg::Texture2D::MAG_FILTER, osg::Texture2D::LINEAR); texture->setWrap(osg::Texture2D::WRAP_S, osg::Texture2D::MIRROR); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgParticle/ParticleSystemUpdater.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgParticle/ParticleSystemUpdater.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgParticle/ParticleSystemUpdater.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgParticle/ParticleSystemUpdater.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -41,7 +41,10 @@ ParticleSystem::ScopedWriteLock lock(*(ps->getReadWriteMutex())); - if (!ps->isFrozen() && (ps->getLastFrameNumber() >= (nv.getFrameStamp()->getFrameNumber() - 1) || !ps->getFreezeOnCull())) + // We need to allow at least 2 frames difference, because the particle system's lastFrameNumber + // is updated in the draw thread which may not have completed yet. + if (!ps->isFrozen() && + (!ps->getFreezeOnCull() || ((nv.getFrameStamp()->getFrameNumber()-ps->getLastFrameNumber()) <= 2)) ) { ps->update(t - _t0, nv); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/bsp/VBSPEntity.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/bsp/VBSPEntity.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/bsp/VBSPEntity.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/bsp/VBSPEntity.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -518,7 +518,7 @@ ref_ptr entityGroup; // Try to load the model - modelNode = osgDB::readNodeFile(entity_model); + modelNode = osgDB::readRefNodeFile(entity_model); if (modelNode.valid()) { // Create a group and add the model to it diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/bsp/VBSPReader.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/bsp/VBSPReader.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/bsp/VBSPReader.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/bsp/VBSPReader.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -1094,7 +1094,7 @@ // Load the prop's model propModel = bsp_data->getStaticPropModel(staticProp.prop_type); - propNode = osgDB::readNodeFile(propModel); + propNode = osgDB::readRefNodeFile(propModel); // If we loaded the prop correctly, add it to the scene if (propNode.valid()) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/dae/daeRMaterials.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/dae/daeRMaterials.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/dae/daeRMaterials.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/dae/daeRMaterials.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -39,7 +39,7 @@ #endif template -void daeReader::getTransparencyCounts(daeDatabase* database, int& zero, int& one) const +void daeReader::getTransparencyCounts(daeDatabase* database, int& transparentCount, int& opaqueCount) const { std::vector constantVec; database->typeLookup(constantVec); @@ -51,7 +51,7 @@ domFx_opaque_enum opaque = pTransparent->getOpaque(); if (opaque == FX_OPAQUE_ENUM_RGB_ZERO) { - ++one; + ++opaqueCount; continue; } } @@ -77,11 +77,11 @@ if (transparency < 0.01f) { - ++zero; + ++transparentCount; } else if (transparency > 0.99f) { - ++one; + ++opaqueCount; } } @@ -91,13 +91,13 @@ bool daeReader::findInvertTransparency(daeDatabase* database) const { - int zero = 0, one = 0; - getTransparencyCounts(database, zero, one); - getTransparencyCounts(database, zero, one); - getTransparencyCounts(database, zero, one); - getTransparencyCounts(database, zero, one); + int transparentCount = 0, opaqueCount = 0; + getTransparencyCounts(database, transparentCount, opaqueCount); + getTransparencyCounts(database, transparentCount, opaqueCount); + getTransparencyCounts(database, transparentCount, opaqueCount); + getTransparencyCounts(database, transparentCount, opaqueCount); - return zero > one; + return transparentCount > opaqueCount; } // diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/dicom/CMakeLists.txt openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/dicom/CMakeLists.txt --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/dicom/CMakeLists.txt 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/dicom/CMakeLists.txt 2017-08-28 16:50:49.000000000 +0000 @@ -10,7 +10,7 @@ ADD_DEFINITIONS(-DUSE_DCMTK) IF (WIN32) - SET(TARGET_EXTERNAL_LIBRARIES wsock32.lib) + SET(TARGET_EXTERNAL_LIBRARIES wsock32.lib ws2_32.lib) ENDIF() ELSEIF(ITK_FOUND) @@ -29,7 +29,7 @@ SET(TARGET_ADDED_LIBRARIES osgVolume ) IF(CMAKE_COMPILER_IS_GNUCXX) - # Remove -pedantic flag as it barfs on ffmoeg headers + # Remove -pedantic flag as it barfs on ffmpeg headers STRING(REGEX REPLACE "-pedantic" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") ENDIF() diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/fbx/fbxMaterialToOsgStateSet.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -62,7 +62,7 @@ if (transparentColor[0] < 1.0 || transparentColor[1] < 1.0 || transparentColor[2] < 1.0) { transparencyColorFactor = transparentColor[0]*0.30 + transparentColor[1]*0.59 + transparentColor[2]*0.11; useTransparencyColorFactor = true; - } + } int lNbTex = lOpacityProperty.GetSrcObjectCount(); for (int lTextureIndex = 0; lTextureIndex < lNbTex; lTextureIndex++) @@ -187,7 +187,7 @@ static_cast(color[1] * factor), static_cast(color[2] * factor), 1.0f)); - // Since Maya and 3D studio Max stores their glossiness values in exponential format (2^(log2(x)) + // Since Maya and 3D studio Max stores their glossiness values in exponential format (2^(log2(x)) // We need to linearize to values between 0-100 and then scale to values between 0-128. // Glossiness values above 100 will result in shininess larger than 128.0 and will be clamped double shininess = (64.0 * log (pFbxPhong->Shininess.Get())) / (5.0 * log(2.0)); @@ -226,9 +226,9 @@ // Warning: fbx->GetRelativeFileName() is relative TO EXECUTION DIR // fbx->GetFileName() is as stored initially in the FBX - if ((pImage = osgDB::readImageFile(osgDB::concatPaths(_dir, fbx->GetFileName()), _options)) || // First try "export dir/name" - (pImage = osgDB::readImageFile(fbx->GetFileName(), _options)) || // Then try "name" (if absolute) - (pImage = osgDB::readImageFile(osgDB::concatPaths(_dir, fbx->GetRelativeFileName()), _options))) // Else try "current dir/name" + if ((pImage = osgDB::readRefImageFile(osgDB::concatPaths(_dir, fbx->GetFileName()), _options)) || // First try "export dir/name" + (pImage = osgDB::readRefImageFile(fbx->GetFileName(), _options)) || // Then try "name" (if absolute) + (pImage = osgDB::readRefImageFile(osgDB::concatPaths(_dir, fbx->GetRelativeFileName()), _options))) // Else try "current dir/name" { osg::ref_ptr pOsgTex = new osg::Texture2D; pOsgTex->setImage(pImage.get()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/fbx/ReaderWriterFBX.h openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/fbx/ReaderWriterFBX.h --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/fbx/ReaderWriterFBX.h 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/fbx/ReaderWriterFBX.h 2017-08-28 16:50:49.000000000 +0000 @@ -8,7 +8,7 @@ /////////////////////////////////////////////////////////////////////////// // OSG reader plugin for the ".fbx" format. // See http://www.autodesk.com/fbx -// This plugin requires the FBX SDK version 2013.3 or 2014.1 +// This plugin requires the FBX SDK version 2013.3 or 2014.1 or later #if FBXSDK_VERSION_MAJOR < 2013 || (FBXSDK_VERSION_MAJOR == 2013 && FBXSDK_VERSION_MINOR < 3) #error Wrong FBX SDK version diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -227,8 +227,7 @@ if (avcodec_open2(m_context, p_codec, NULL) < 0) throw std::runtime_error("avcodec_open() failed"); - m_context->get_buffer = avcodec_default_get_buffer; - m_context->release_buffer = avcodec_default_release_buffer; + m_context->get_buffer2 = avcodec_default_get_buffer2; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -71,7 +71,7 @@ findAspectRatio(); // Find out whether we support Alpha channel - m_alpha_channel = (m_context->pix_fmt == PIX_FMT_YUVA420P); + m_alpha_channel = (m_context->pix_fmt == AV_PIX_FMT_YUVA420P); // Find out the framerate #if LIBAVCODEC_VERSION_MAJOR >= 56 @@ -95,20 +95,19 @@ throw std::runtime_error("avcodec_open() failed"); // Allocate video frame - m_frame.reset(avcodec_alloc_frame()); + m_frame.reset(av_frame_alloc()); // Allocate converted RGB frame - m_frame_rgba.reset(avcodec_alloc_frame()); - m_buffer_rgba[0].resize(avpicture_get_size(PIX_FMT_RGB24, width(), height())); + m_frame_rgba.reset(av_frame_alloc()); + m_buffer_rgba[0].resize(avpicture_get_size(AV_PIX_FMT_RGB24, width(), height())); m_buffer_rgba[1].resize(m_buffer_rgba[0].size()); // Assign appropriate parts of the buffer to image planes in m_frame_rgba - avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[0])[0], PIX_FMT_RGB24, width(), height()); + avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[0])[0], AV_PIX_FMT_RGB24, width(), height()); // Override get_buffer()/release_buffer() from codec context in order to retrieve the PTS of each frame. m_context->opaque = this; - m_context->get_buffer = getBuffer; - m_context->release_buffer = releaseBuffer; + m_context->get_buffer2 = getBuffer; } @@ -267,8 +266,8 @@ #ifdef USE_SWSCALE if (m_swscale_ctx==0) { - m_swscale_ctx = sws_getContext(src_width, src_height, (PixelFormat) src_pix_fmt, - src_width, src_height, (PixelFormat) dst_pix_fmt, + m_swscale_ctx = sws_getContext(src_width, src_height, (AVPixelFormat) src_pix_fmt, + src_width, src_height, (AVPixelFormat) dst_pix_fmt, /*SWS_BILINEAR*/ SWS_BICUBIC, NULL, NULL, NULL); } @@ -315,14 +314,14 @@ AVPicture * const dst = (AVPicture *) m_frame_rgba.get(); // Assign appropriate parts of the buffer to image planes in m_frame_rgba - avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[m_writeBuffer])[0], PIX_FMT_RGB24, width(), height()); + avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[m_writeBuffer])[0], AV_PIX_FMT_RGB24, width(), height()); // Convert YUVA420p (i.e. YUV420p plus alpha channel) using our own routine - if (m_context->pix_fmt == PIX_FMT_YUVA420P) + if (m_context->pix_fmt == AV_PIX_FMT_YUVA420P) yuva420pToRgba(dst, src, width(), height()); else - convert(dst, PIX_FMT_RGB24, src, m_context->pix_fmt, width(), height()); + convert(dst, AV_PIX_FMT_RGB24, src, m_context->pix_fmt, width(), height()); // Wait 'delay' seconds before publishing the picture. int i_delay = static_cast(delay * 1000000 + 0.5); @@ -349,7 +348,7 @@ void FFmpegDecoderVideo::yuva420pToRgba(AVPicture * const dst, AVPicture * const src, int width, int height) { - convert(dst, PIX_FMT_RGB24, src, m_context->pix_fmt, width, height); + convert(dst, AV_PIX_FMT_RGB24, src, m_context->pix_fmt, width, height); const size_t bpp = 4; @@ -367,31 +366,28 @@ } } - - -int FFmpegDecoderVideo::getBuffer(AVCodecContext * const context, AVFrame * const picture) +int FFmpegDecoderVideo::getBuffer(AVCodecContext * const context, AVFrame * const picture, int flags) { + AVBufferRef *ref; const FFmpegDecoderVideo * const this_ = reinterpret_cast(context->opaque); - const int result = avcodec_default_get_buffer(context, picture); + const int result = avcodec_default_get_buffer2(context, picture, flags); int64_t * p_pts = reinterpret_cast( av_malloc(sizeof(int64_t)) ); *p_pts = this_->m_packet_pts; picture->opaque = p_pts; + ref = av_buffer_create((uint8_t *)picture->opaque, sizeof(int64_t), FFmpegDecoderVideo::freeBuffer, picture->buf[0], flags); + picture->buf[0] = ref; + return result; } - - -void FFmpegDecoderVideo::releaseBuffer(AVCodecContext * const context, AVFrame * const picture) +void FFmpegDecoderVideo::freeBuffer(void *opaque, uint8_t *data) { - if (picture != 0) - av_freep(&picture->opaque); - - avcodec_default_release_buffer(context, picture); + AVBufferRef *ref = (AVBufferRef *)opaque; + av_buffer_unref(&ref); + av_free(data); } - - } // namespace osgFFmpeg diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp 2017-08-28 16:50:49.000000000 +0000 @@ -94,8 +94,8 @@ int src_pix_fmt, int src_width, int src_height); - static int getBuffer(AVCodecContext * context, AVFrame * picture); - static void releaseBuffer(AVCodecContext * context, AVFrame * picture); + static int getBuffer(AVCodecContext * context, AVFrame * picture, int flags); + static void freeBuffer(void * opaque, uint8_t *data); PacketQueue & m_packets; FFmpegClocks & m_clocks; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ffmpeg/FFmpegParameters.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ffmpeg/FFmpegParameters.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ffmpeg/FFmpegParameters.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ffmpeg/FFmpegParameters.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -19,7 +19,7 @@ #include } -inline PixelFormat osg_av_get_pix_fmt(const char *name) { return av_get_pix_fmt(name); } +inline AVPixelFormat osg_av_get_pix_fmt(const char *name) { return av_get_pix_fmt(name); } namespace osgFFmpeg { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/freetype/FreeTypeFont.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/freetype/FreeTypeFont.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/freetype/FreeTypeFont.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/freetype/FreeTypeFont.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -36,7 +36,8 @@ _maxX(-FLT_MAX), _minX(FLT_MAX), _minY(FLT_MAX), - _coord_scale(1.0/64.0) + _coord_scale(1.0/64.0), + _reverseFill(false) { _geometry->setVertexArray(_verts.get()); } @@ -49,6 +50,17 @@ { if (_currentPrimitiveSet.valid() && _currentPrimitiveSet->size()>1) { + if (_reverseFill) + { + for ( int near = 0, far = _currentPrimitiveSet->size() - 1; + near < far; + near++, far--) + { + std::swap((*_currentPrimitiveSet)[near], + (*_currentPrimitiveSet)[far]); + } + } + _geometry->addPrimitiveSet( _currentPrimitiveSet.get() ); } _currentPrimitiveSet = 0; @@ -168,7 +180,7 @@ double _minX; double _minY; double _coord_scale; - + bool _reverseFill; }; @@ -432,7 +444,7 @@ } } - FT_Error error = FT_Load_Char( _face, charindex, FT_LOAD_DEFAULT|_flags ); + FT_Error error = FT_Load_Char( _face, charindex, FT_LOAD_DEFAULT | FT_LOAD_NO_HINTING | _flags ); if (error) { OSG_WARN << "FT_Load_Char(...) error 0x"< node = osgDB::readNodeFile( realName, options ); + osg::ref_ptr node = osgDB::readRefNodeFile( realName, options ); if( !node ) { // propagate the read failure upwards diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/glsl/ReaderWriterGLSL.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/glsl/ReaderWriterGLSL.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/glsl/ReaderWriterGLSL.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/glsl/ReaderWriterGLSL.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -57,7 +57,7 @@ const std::string filename = code.substr( pos2 + 1, pos3 - pos2 - 1 ); - osg::ref_ptr innerShader = osgDB::readShaderFile( shader->getType(), filename, options ); + osg::ref_ptr innerShader = osgDB::readRefShaderFile( shader->getType(), filename, options ); if ( !innerShader.valid() ) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/imageio/ReaderWriterImageIO.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/imageio/ReaderWriterImageIO.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/imageio/ReaderWriterImageIO.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/imageio/ReaderWriterImageIO.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -35,7 +35,7 @@ // Used because CGDataProviderCreate became deprecated in 10.5 #include - +#include #include #include #include @@ -252,183 +252,222 @@ return image_ref; } -/* Once we have our image (CGImageRef), we need to get it into an osg::Image */ -osg::Image* CreateOSGImageFromCGImage(CGImageRef image_ref) +namespace { - /* This code is adapted from Apple's Documentation found here: - * http://developer.apple.com/documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide/index.html - * Listing 9-4Using a Quartz image as a texture source. - * Unfortunately, this guide doesn't show what to do about - * non-RGBA image formats so I'm making the rest up - * (and it's probably all wrong). - */ - - size_t the_width = CGImageGetWidth(image_ref); - size_t the_height = CGImageGetHeight(image_ref); - CGRect the_rect = {{0.0f, 0.0f}, {static_cast(the_width), static_cast(the_height)}}; - - size_t bits_per_pixel = CGImageGetBitsPerPixel(image_ref); - size_t bytes_per_row = CGImageGetBytesPerRow(image_ref); -// size_t bits_per_component = CGImageGetBitsPerComponent(image_ref); - size_t bits_per_component = 8; - - CGImageAlphaInfo alpha_info = CGImageGetAlphaInfo(image_ref); - - GLint internal_format; - GLenum pixel_format; - GLenum data_type; - - void* image_data = calloc(the_width * 4, the_height); - - CGColorSpaceRef color_space; - CGBitmapInfo bitmap_info = CGImageGetBitmapInfo(image_ref); - - switch(bits_per_pixel) - { - // Drat, if 8-bit, how do you distinguish - // between a 256 color GIF, a LUMINANCE map - // or an ALPHA map? - case 8: - { - // I probably did the formats all wrong for this case, - // especially the ALPHA case. - if(kCGImageAlphaNone == alpha_info) - { - /* - internal_format = GL_LUMINANCE; - pixel_format = GL_LUMINANCE; - */ - internal_format = GL_RGBA8; - pixel_format = GL_BGRA_EXT; - data_type = GL_UNSIGNED_INT_8_8_8_8_REV; - - bytes_per_row = the_width*4; -// color_space = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB); - color_space = CGColorSpaceCreateDeviceRGB(); -// bitmap_info = kCGImageAlphaPremultipliedFirst; -#if __BIG_ENDIAN__ - bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Big; /* XRGB Big Endian */ + template + void consume4(size_t width, size_t height, T* src_data, size_t src_stride, T* dst_data) + { + T* dst_data_ptr = dst_data; + for (int y = height - 1; y >= 0; y--) // flip y + { + T* src_data_ptr = src_data + y*src_stride; + + for (int x = 0; x < width; x++) + { +#if OSG_GLES2_FEATURES + *dst_data_ptr++ = *src_data_ptr++; // red + *dst_data_ptr++ = *src_data_ptr++; // green + *dst_data_ptr++ = *src_data_ptr++; // blue #else - bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little; /* XRGB Little Endian */ + unsigned char r = *src_data_ptr++; + unsigned char g = *src_data_ptr++; + unsigned char b = *src_data_ptr++; + + *dst_data_ptr++ = b; // blue + *dst_data_ptr++ = g; // green + *dst_data_ptr++ = r; // red #endif - } - else - { - internal_format = GL_ALPHA; - pixel_format = GL_ALPHA; - data_type = GL_UNSIGNED_BYTE; - // bytes_per_row = the_width; -// color_space = CGColorSpaceCreateWithName(kCGColorSpaceGenericGray); - color_space = CGColorSpaceCreateDeviceGray(); - } - - break; - } - case 24: - { - internal_format = GL_RGBA8; - pixel_format = GL_BGRA_EXT; - data_type = GL_UNSIGNED_INT_8_8_8_8_REV; - bytes_per_row = the_width*4; -// color_space = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB); - color_space = CGColorSpaceCreateDeviceRGB(); -// bitmap_info = kCGImageAlphaNone; -#if __BIG_ENDIAN__ - bitmap_info = kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Big; /* XRGB Big Endian */ + *dst_data_ptr++ = *src_data_ptr++; // alpha + } + } + } + + template + void consume3(size_t width, size_t height, T* src_data, size_t src_stride, T* dst_data) + { + T* dst_data_ptr = dst_data; + for (int y = height - 1; y >= 0; y--) // flip y + { + T* src_data_ptr = src_data + y*src_stride; + + for (int x = 0; x < width; x++) + { +#if OSG_GLES2_FEATURES + *dst_data_ptr++ = *src_data_ptr++; // red + *dst_data_ptr++ = *src_data_ptr++; // green + *dst_data_ptr++ = *src_data_ptr++; // blue #else - bitmap_info = kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Little; /* XRGB Little Endian */ + unsigned char r = *src_data_ptr++; + unsigned char g = *src_data_ptr++; + unsigned char b = *src_data_ptr++; + + *dst_data_ptr++ = b; // blue + *dst_data_ptr++ = g; // green + *dst_data_ptr++ = r; // red #endif - break; - } - // - // Tatsuhiro Nishioka - // 16 bpp grayscale (8 bit white and 8 bit alpha) causes invalid argument combination - // in CGBitmapContextCreate. - // I guess it is safer to handle 16 bit grayscale image as 32-bit RGBA image. - // It works at least on FlightGear - // - case 16: - case 32: - case 48: - case 64: - { - - internal_format = GL_RGBA8; - pixel_format = GL_BGRA_EXT; - data_type = GL_UNSIGNED_INT_8_8_8_8_REV; - - bytes_per_row = the_width*4; -// color_space = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB); - color_space = CGColorSpaceCreateDeviceRGB(); -// bitmap_info = kCGImageAlphaPremultipliedFirst; + } + } + } + + template + void consume2(size_t width, size_t height, T* src_data, size_t src_stride, T* dst_data) + { + T* dst_data_ptr = dst_data; + for (int y = height - 1; y >= 0; y--) // flip y + { + T* src_data_ptr = src_data + y*src_stride; + + for (int x = 0; x < width; x++) + { + *dst_data_ptr++ = *src_data_ptr++; // red (luminance) + *dst_data_ptr++ = *src_data_ptr++; // green (alpha) + } + } + } + + template + void consume1(size_t width, size_t height, T* src_data, size_t src_stride, T* dst_data) + { + T* dst_data_ptr = dst_data; + for (int y = height - 1; y >= 0; y--) // flip y + { + T* src_data_ptr = src_data + y*src_stride; + + for (int x = 0; x < width; x++) + *dst_data_ptr++ = *src_data_ptr++; // red + } + } + + template + bool consume(size_t channels, size_t width, size_t height, T* src_data, size_t src_stride, T* dst_data) + { + if (channels == 4) + { + consume4(width, height, src_data, src_stride, dst_data); + return true; + } + else if (channels == 3) + { + consume3(width, height, src_data, src_stride, dst_data); + return true; + } + else if (channels == 2) + { + consume2(width, height, src_data, src_stride, dst_data); + return true; + } + else if (channels == 1) + { + consume1(width, height, src_data, src_stride, dst_data); + return true; + } + + return false; + } +}// anonymous namespace -#if __BIG_ENDIAN__ - bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Big; /* XRGB Big Endian */ + +/* Once we have our image (CGImageRef), we need to get it into an osg::Image */ +// TODO: GL3 core profile +osg::Image* CreateOSGImageFromCGImage(CGImageRef image_ref) +{ + size_t src_width = CGImageGetWidth(image_ref); + size_t src_height = CGImageGetHeight(image_ref); + size_t src_bits_per_pixel = CGImageGetBitsPerPixel(image_ref); + size_t src_bytes_per_row = CGImageGetBytesPerRow(image_ref); + size_t src_bits_per_component = CGImageGetBitsPerComponent(image_ref); + CGImageAlphaInfo src_alpha_info = CGImageGetAlphaInfo(image_ref); +// CGBitmapInfo src_bitmap_info = CGImageGetBitmapInfo(image_ref); + + CFDataRef rawData = CGDataProviderCopyData(CGImageGetDataProvider(image_ref)); + const UInt8* src_data = CFDataGetBytePtr(rawData); + + size_t channels = src_bits_per_pixel/src_bits_per_component; + uint8_t* image_data = new uint8_t[int(src_width*src_height*channels*(src_bits_per_component/8.0))]; + + size_t stride = src_bytes_per_row*(8.0/src_bits_per_component); + + // Suppose 4 channels + GLenum type = GL_UNSIGNED_BYTE; + GLint internal_format = GL_RGBA; + GLenum pixel_format = GL_BGRA; // Should be faster than RGBA on x86 + + if (channels == 3) + { + internal_format = GL_RGB; + pixel_format = GL_BGR; + } + else if (channels == 2) + { +#if defined(OSG_GL3_AVAILABLE) && !defined(OSG_GL2_AVAILABLE) && !defined(OSG_GL1_AVAILABLE) + internal_format = GL_RG; // GL_RG8 + pixel_format = GL_RG; #else - bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little; /* XRGB Little Endian */ + internal_format = GL_LUMINANCE_ALPHA; + pixel_format = GL_LUMINANCE_ALPHA; #endif - break; - } - default: - { - // OSG_WARN << "Unknown file type in " << fileName.c_str() << " with " << origDepth << std::endl; - return NULL; - break; - } - - } - - - // Sets up a context to be drawn to with image_data as the area to be drawn to - CGContextRef bitmap_context = CGBitmapContextCreate( - image_data, - the_width, - the_height, - bits_per_component, - bytes_per_row, - color_space, - bitmap_info - ); - - CGContextTranslateCTM(bitmap_context, 0, the_height); - CGContextScaleCTM(bitmap_context, 1.0, -1.0); - // Draws the image into the context's image_data - CGContextDrawImage(bitmap_context, the_rect, image_ref); - - CGContextRelease(bitmap_context); - - if (!image_data) - return NULL; - - // alpha is premultiplied with rgba, undo it - - vImage_Buffer vb; - vb.data = image_data; - vb.height = the_height; - vb.width = the_width; - vb.rowBytes = the_width * 4; - vImageUnpremultiplyData_RGBA8888(&vb, &vb, 0); - - // changing it to GL_UNSIGNED_BYTE seems working, but I'm not sure if this is a right way. - // - data_type = GL_UNSIGNED_BYTE; - osg::Image* osg_image = new osg::Image; - - osg_image->setImage( - the_width, - the_height, - 1, - internal_format, - pixel_format, - data_type, - (unsigned char*)image_data, - osg::Image::USE_MALLOC_FREE // Assumption: osg_image takes ownership of image_data and will free - ); - - return osg_image; + } + else if (channels == 1) + { +#if defined(OSG_GL3_AVAILABLE) && !defined(OSG_GL2_AVAILABLE) && !defined(OSG_GL1_AVAILABLE) + internal_format = GL_RED; // GL_R8 + pixel_format = GL_RED; +#else + if (src_alpha_info == kCGImageAlphaOnly) + { + internal_format = GL_ALPHA; + pixel_format = GL_ALPHA; + } + else + { + internal_format = GL_LUMINANCE; + pixel_format = GL_LUMINANCE; + } +#endif + } +#if OSG_GLES2_FEATURES + pixel_format = internal_format; // Needed by spec +#endif + bool readSuccess = false; + if (src_bits_per_component == 8) + { + uint8_t* src_data_cast = (uint8_t*)(src_data); + uint8_t* dst_data = image_data; + readSuccess = consume(channels, src_width, src_height, src_data_cast, stride, dst_data); + } + else if (src_bits_per_component == 16) + { + type = GL_UNSIGNED_SHORT; + uint16_t* src_data_cast = (uint16_t*)(src_data); + uint16_t* dst_data = (uint16_t*)image_data; + readSuccess = consume(channels, src_width, src_height, src_data_cast, stride, dst_data); + + } + else if (src_bits_per_component == 32) + { + type = GL_FLOAT; + float* src_data_cast = (float*)(src_data); + float* dst_data = (float*)image_data; + readSuccess = consume(channels, src_width, src_height, src_data_cast, stride, dst_data); + } + + CFRelease(rawData); + + if (!readSuccess) + { + OSG_WARN << "Can't load image (via imageio plugin): Unsupported number of channels"; + delete[] image_data; + + return NULL; + } + + osg::Image* osg_image = new osg::Image; + osg_image->setImage(src_width, src_height, 1, internal_format, pixel_format, + type, image_data, osg::Image::USE_NEW_DELETE); + return osg_image; } /************************************************************** ***** End Support functions for reading (stream and file) ***** diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/Inventor/ConvertFromInventor.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/Inventor/ConvertFromInventor.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/Inventor/ConvertFromInventor.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/Inventor/ConvertFromInventor.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -1088,7 +1088,7 @@ static osg::Image* loadImage(const char *fileName, osgDB::ReaderWriter::Options *options) { - osg::ref_ptr osgImage = osgDB::readImageFile(fileName, options); + osg::ref_ptr osgImage = osgDB::readRefImageFile(fileName, options); if (!osgImage) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ive/DataInputStream.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ive/DataInputStream.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ive/DataInputStream.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ive/DataInputStream.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -1914,7 +1914,7 @@ else if (layerid==IVEPROXYLAYER) { std::string filename = readString(); - osg::ref_ptr object = osgDB::readObjectFile(filename+".gdal"); + osg::ref_ptr object = osgDB::readRefObjectFile(filename+".gdal"); osgTerrain::ProxyLayer* proxyLayer = dynamic_cast(object.get()); osg::ref_ptr locator = readLocator(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ive/HeightFieldLayer.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ive/HeightFieldLayer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ive/HeightFieldLayer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ive/HeightFieldLayer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -107,7 +107,7 @@ if (in->getVersion()>=VERSION_0035) { - osg::HeightField* hf = new osg::HeightField; + osg::ref_ptr hf = new osg::HeightField; // Read HeightField's properties //setColor(in->readVec4()); @@ -128,13 +128,13 @@ in->readPackedFloatArray(hf->getFloatArray()); } - setHeightField(hf); + setHeightField(hf.get()); } else { - osg::Shape* shape = in->readShape(); - setHeightField(dynamic_cast(shape)); + osg::ref_ptr shape = in->readShape(); + setHeightField(dynamic_cast(shape.get())); } } @@ -143,7 +143,8 @@ std::string filename = in->readString(); setFileName(filename); - setHeightField(osgDB::readHeightFieldFile(filename,in->getOptions())); + osg::ref_ptr hf = osgDB::readRefHeightFieldFile(filename,in->getOptions()); + if (hf) setHeightField(hf.get()); } } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ive/Layer.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ive/Layer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ive/Layer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ive/Layer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -190,8 +190,7 @@ else if (id==IVEPROXYLAYER) { std::string filename = in->readString(); - osg::ref_ptr object = osgDB::readObjectFile(filename+".gdal"); - osgTerrain::ProxyLayer* proxyLayer = dynamic_cast(object.get()); + osg::ref_ptr proxyLayer = osgDB::readRefFile(filename+".gdal"); osg::ref_ptr locator = readLocator(in); unsigned int minLevel = in->readUInt(); @@ -205,7 +204,7 @@ proxyLayer->setMaxLevel(maxLevel); } - return proxyLayer; + return proxyLayer.release(); } return new osgTerrain::ImageLayer; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ive/ProxyNode.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ive/ProxyNode.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ive/ProxyNode.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ive/ProxyNode.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -205,7 +205,7 @@ { osgDB::FilePathList& fpl = ((osgDB::ReaderWriter::Options*)in->getOptions())->getDatabasePathList(); fpl.push_front( fpl.empty() ? osgDB::getFilePath(getFileName(i)) : fpl.front()+'/'+ osgDB::getFilePath(getFileName(i))); - osg::Node *node = osgDB::readNodeFile(getFileName(i), in->getOptions()); + osg::ref_ptr node = osgDB::readRefNodeFile(getFileName(i), in->getOptions()); fpl.pop_front(); if(node) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/lua/LuaScriptEngine.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/lua/LuaScriptEngine.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/lua/LuaScriptEngine.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/lua/LuaScriptEngine.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -1767,7 +1767,7 @@ if (n==1 && lua_type(_lua, 1)==LUA_TSTRING) { std::string filename = lua_tostring(_lua, 1); - osg::ref_ptr object = osgDB::readObjectFile(filename); + osg::ref_ptr object = osgDB::readRefObjectFile(filename); if (object.valid()) { lse->pushObject(object.get()); @@ -1785,7 +1785,7 @@ if (n==1 && lua_type(_lua, 1)==LUA_TSTRING) { std::string filename = lua_tostring(_lua, 1); - osg::ref_ptr image = osgDB::readImageFile(filename); + osg::ref_ptr image = osgDB::readRefImageFile(filename); if (image.valid()) { lse->pushObject(image.get()); @@ -1803,7 +1803,7 @@ if (n==1 && lua_type(_lua, 1)==LUA_TSTRING) { std::string filename = lua_tostring(_lua, 1); - osg::ref_ptr node = osgDB::readNodeFile(filename); + osg::ref_ptr node = osgDB::readRefNodeFile(filename); if (node.valid()) { lse->pushObject(node.get()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/lwo/old_Lwo2.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/lwo/old_Lwo2.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/lwo/old_Lwo2.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/lwo/old_Lwo2.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -43,6 +43,43 @@ #include "old_Lwo2Layer.h" #include "lwo2read.h" +// makes 4-byte integer tag from four chars +// used in IFF standard + +unsigned long make_id(const char* tag) +{ + unsigned long result = 0; + for (unsigned int i = 0; i < strlen(tag) && i < 4; i++) + { + result <<= 8; + result += int(tag[i]); + } + return result; +} + +const unsigned long tag_FORM = make_id("FORM"); +const unsigned long tag_LWO2 = make_id("LWO2"); +const unsigned long tag_LAYR = make_id("LAYR"); +const unsigned long tag_TAGS = make_id("TAGS"); +const unsigned long tag_PNTS = make_id("PNTS"); +const unsigned long tag_VMAP = make_id("VMAP"); +const unsigned long tag_VMAD = make_id("VMAD"); +const unsigned long tag_TXUV = make_id("TXUV"); +const unsigned long tag_POLS = make_id("POLS"); +const unsigned long tag_FACE = make_id("FACE"); +const unsigned long tag_PTAG = make_id("PTAG"); +const unsigned long tag_SURF = make_id("SURF"); +const unsigned long tag_CLIP = make_id("CLIP"); +const unsigned long tag_BLOK = make_id("BLOK"); +const unsigned long tag_IMAP = make_id("IMAP"); +const unsigned long tag_IMAG = make_id("IMAG"); +const unsigned long tag_COLR = make_id("COLR"); + +#if 0 +const unsigned long tag_STIL = make_id("STIL"); +const unsigned long tag_TMAP = make_id("TMAP"); +#endif + Lwo2::Lwo2(): _current_layer(0), _successfully_read(false) @@ -771,17 +808,3 @@ surface->state_set = state_set; } } - -// makes 4-byte integer tag from four chars -// used in IFF standard - -unsigned long make_id(const char* tag) -{ - unsigned long result = 0; - for (unsigned int i = 0; i < strlen(tag) && i < 4; i++) - { - result <<= 8; - result += int(tag[i]); - } - return result; -} diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/lwo/old_Lwo2.h openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/lwo/old_Lwo2.h --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/lwo/old_Lwo2.h 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/lwo/old_Lwo2.h 2017-08-28 16:50:49.000000000 +0000 @@ -92,29 +92,4 @@ void _generate_statesets_from_surfaces(); }; -// makes 4-byte integer tag from four chars -// used in IFF standard - -unsigned long make_id(const char* tag); - -const unsigned long tag_FORM = make_id("FORM"); -const unsigned long tag_LWO2 = make_id("LWO2"); -const unsigned long tag_LAYR = make_id("LAYR"); -const unsigned long tag_TAGS = make_id("TAGS"); -const unsigned long tag_PNTS = make_id("PNTS"); -const unsigned long tag_VMAP = make_id("VMAP"); -const unsigned long tag_VMAD = make_id("VMAD"); -const unsigned long tag_TXUV = make_id("TXUV"); -const unsigned long tag_POLS = make_id("POLS"); -const unsigned long tag_FACE = make_id("FACE"); -const unsigned long tag_PTAG = make_id("PTAG"); -const unsigned long tag_SURF = make_id("SURF"); -const unsigned long tag_CLIP = make_id("CLIP"); -const unsigned long tag_STIL = make_id("STIL"); -const unsigned long tag_BLOK = make_id("BLOK"); -const unsigned long tag_IMAP = make_id("IMAP"); -const unsigned long tag_TMAP = make_id("TMAP"); -const unsigned long tag_IMAG = make_id("IMAG"); -const unsigned long tag_COLR = make_id("COLR"); - #endif diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/lws/SceneLoader.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/lws/SceneLoader.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/lws/SceneLoader.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/lws/SceneLoader.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -107,7 +107,7 @@ std::getline(ifs, field); version_ = atoi(field.c_str()); - + std::string identifier; while (ifs >> identifier) { @@ -256,7 +256,7 @@ OSG_NOTICE << "Loading object \"" << filename << "\"" << std::endl; - objnode = dynamic_cast(osgDB::readNodeFile(filename)); + objnode = osgDB::readRefFile(filename); if (!objnode.valid()) return false; objects_[filename] = objnode; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/normals/ReaderWriterNormals.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/normals/ReaderWriterNormals.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/normals/ReaderWriterNormals.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/normals/ReaderWriterNormals.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -77,7 +77,7 @@ std::string nodeName = osgDB::getNameLessExtension( fileName ); if( !nodeName.empty() ) { - osg::ref_ptr node = osgDB::readNodeFile( nodeName ); + osg::ref_ptr node = osgDB::readRefNodeFile( nodeName ); if( node.valid() ) { osg::ref_ptr group = new osg::Group; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/OpenFlight/GeometryRecords.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/OpenFlight/GeometryRecords.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/OpenFlight/GeometryRecords.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/OpenFlight/GeometryRecords.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -362,7 +362,7 @@ int materialIndex = in.readInt16(-1); int16 surface = in.readInt16(); int16 feature = in.readInt16(); - /*int32 IRMaterial =*/ in.readInt32(-1); + int32 IRMaterial = in.readInt32(); _transparency = in.readUInt16(0); // version > 13 /*uint8 influenceLOD =*/ in.readUInt8(); @@ -457,6 +457,12 @@ _geometry->setUserValue("", IRColor); } + // IR Material ID (IRM) + if (document.getPreserveNonOsgAttrsAsUserData() && 0 != IRMaterial) + { + _geometry->setUserValue("", IRMaterial); + } + // surface (SMC) if (document.getPreserveNonOsgAttrsAsUserData() && 0 != surface) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/OpenFlight/PaletteRecords.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/OpenFlight/PaletteRecords.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/OpenFlight/PaletteRecords.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/OpenFlight/PaletteRecords.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -220,9 +220,9 @@ material->setDiffuse (osg::Material::FRONT_AND_BACK,osg::Vec4(diffuse,alpha)); material->setSpecular(osg::Material::FRONT_AND_BACK,osg::Vec4(specular,alpha)); material->setEmission(osg::Material::FRONT_AND_BACK,osg::Vec4(emissive,alpha)); - + if (shininess>=0.0f) - { + { material->setShininess(osg::Material::FRONT_AND_BACK,shininess); } else @@ -276,7 +276,7 @@ material->setEmission(osg::Material::FRONT_AND_BACK,osg::Vec4(emissive,alpha)); if (shininess>=0.0f) - { + { material->setShininess(osg::Material::FRONT_AND_BACK,shininess); } else @@ -346,7 +346,7 @@ // Read attribute file std::string attrname = filename + ".attr"; - osg::ref_ptr attr = dynamic_cast(osgDB::readObjectFile(attrname,document.getOptions())); + osg::ref_ptr attr = osgDB::readRefFile(attrname,document.getOptions()); if (attr.valid()) { // Wrap mode @@ -899,7 +899,7 @@ std::string vertexProgramFilePath = osgDB::findDataFile(vertexProgramFilename,document.getOptions()); if (!vertexProgramFilePath.empty()) { - osg::Shader* vertexShader = osg::Shader::readShaderFile(osg::Shader::VERTEX, vertexProgramFilePath); + osg::ref_ptr vertexShader = osgDB::readRefShaderFile(osg::Shader::VERTEX, vertexProgramFilePath); if (vertexShader) program->addShader( vertexShader ); } @@ -913,7 +913,7 @@ std::string fragmentProgramFilePath = osgDB::findDataFile(fragmentProgramFilename,document.getOptions()); if (!fragmentProgramFilePath.empty()) { - osg::Shader* fragmentShader = osg::Shader::readShaderFile(osg::Shader::FRAGMENT, fragmentProgramFilePath); + osg::ref_ptr fragmentShader = osgDB::readRefShaderFile(osg::Shader::FRAGMENT, fragmentProgramFilePath); if (fragmentShader) program->addShader( fragmentShader ); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/OpenFlight/ReaderWriterFLT.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/OpenFlight/ReaderWriterFLT.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/OpenFlight/ReaderWriterFLT.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/OpenFlight/ReaderWriterFLT.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -12,7 +12,7 @@ */ // -// OpenFlightďż˝ loader for OpenSceneGraph +// OpenFlight loader for OpenSceneGraph // // Copyright (C) 2005-2007 Brede Johansen // @@ -174,7 +174,7 @@ std::string filename = node.getFileName(pos); // read external - osg::ref_ptr external = osgDB::readNodeFile(filename,_options.get()); + osg::ref_ptr external = osgDB::readRefNodeFile(filename,_options.get()); if (external.valid()) { if (_cloneExternalReferences) @@ -374,8 +374,8 @@ document.setUseTextureAlphaForTransparancyBinning(options->getOptionString().find("noTextureAlphaForTransparancyBinning")==std::string::npos); OSG_DEBUG << readerMsg << "noTextureAlphaForTransparancyBinning=" << !document.getUseTextureAlphaForTransparancyBinning() << std::endl; - document.setReadObjectRecordData(options->getOptionString().find("readObjectRecordData")==std::string::npos); - OSG_DEBUG << readerMsg << "readObjectRecordData=" << !document.getReadObjectRecordData() << std::endl; + document.setReadObjectRecordData(options->getOptionString().find("readObjectRecordData")!=std::string::npos); + OSG_DEBUG << readerMsg << "readObjectRecordData=" << document.getReadObjectRecordData() << std::endl; document.setPreserveNonOsgAttrsAsUserData((options->getOptionString().find("preserveNonOsgAttrsAsUserData")!=std::string::npos)); OSG_DEBUG << readerMsg << "preserveNonOsgAttrsAsUserData=" << document.getPreserveNonOsgAttrsAsUserData() << std::endl; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/OpenFlight/Record.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/OpenFlight/Record.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/OpenFlight/Record.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/OpenFlight/Record.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -12,7 +12,7 @@ */ // -// OpenFlight® loader for OpenSceneGraph +// OpenFlight loader for OpenSceneGraph // // Copyright (C) 2005-2007 Brede Johansen // @@ -84,14 +84,6 @@ osg::ref_ptr ref = &node; osg::Node::ParentList parents = node.getParents(); - // Disconnect node from parents. - for (osg::Node::ParentList::iterator itr=parents.begin(); - itr!=parents.end(); - ++itr) - { - (*itr)->removeChild(&node); - } - // Start without transformation if replication. osg::Matrix accumulatedMatrix = (numberOfReplications > 0)? osg::Matrix::identity() : matrix; @@ -106,7 +98,7 @@ itr!=parents.end(); ++itr) { - (*itr)->addChild(transform.get()); + (*itr)->replaceChild(&node, transform.get()); } // Make primary a child of matrix transform. diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/osc/CMakeLists.txt openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/osc/CMakeLists.txt --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/osc/CMakeLists.txt 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/osc/CMakeLists.txt 2017-08-28 16:50:49.000000000 +0000 @@ -35,7 +35,7 @@ ip/win32/NetworkingUtils.cpp ip/win32/UdpSocket.cpp ) - SET(TARGET_EXTERNAL_LIBRARIES "${TARGET_EXTERNAL_LIBRARIES};Ws2_32.lib;winmm") + SET(TARGET_EXTERNAL_LIBRARIES "${TARGET_EXTERNAL_LIBRARIES};ws2_32.lib;winmm") ELSE() SET(TARGET_SRC ${TARGET_SRC} diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/osg/ReaderWriterOSG2.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/osg/ReaderWriterOSG2.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/osg/ReaderWriterOSG2.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/osg/ReaderWriterOSG2.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -201,7 +201,7 @@ } is.decompress(); CATCH_EXCEPTION(is); - osg::Object* obj = is.readObject(); CATCH_EXCEPTION(is); + osg::ref_ptr obj = is.readObject(); CATCH_EXCEPTION(is); return obj; } @@ -231,7 +231,7 @@ } is.decompress(); CATCH_EXCEPTION(is); - osg::Image* image = is.readImage(); CATCH_EXCEPTION(is); + osg::ref_ptr image = is.readImage(); CATCH_EXCEPTION(is); return image; } @@ -262,7 +262,7 @@ } is.decompress(); CATCH_EXCEPTION(is); - osg::Node* node = dynamic_cast(is.readObject()); CATCH_EXCEPTION(is); + osg::ref_ptr node = is.readObjectOfType(); CATCH_EXCEPTION(is); if ( !node ) return ReadResult::FILE_NOT_HANDLED; return node; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/osgjs/JSON_Objects openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/osgjs/JSON_Objects --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/osgjs/JSON_Objects 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/osgjs/JSON_Objects 2017-08-28 16:50:49.000000000 +0000 @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -18,21 +19,6 @@ #include "json_stream" -#ifdef WIN32 - #if defined(__MINGW32__) || (!defined(_MSC_VER) || _MSC_VER<1600) - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; - typedef signed __int8 int8_t; - typedef signed __int16 int16_t; - typedef signed __int32 int32_t; - #else - #include - #endif -#else - #include -#endif - class WriteVisitor; struct Vec5 diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/osgjs/json_stream openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/osgjs/json_stream --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/osgjs/json_stream 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/osgjs/json_stream 2017-08-28 16:50:49.000000000 +0000 @@ -28,8 +28,6 @@ #include -using namespace std; - // A simple class wrapping ofstream calls to enable generic cleaning of json data. // Especially 'standard' json should: // * have utf-8 encoded string @@ -37,8 +35,11 @@ // * does not support inf or nan values #if defined(WIN32) && !defined(__MINGW32__) && (!defined(_MSC_VER) || _MSC_VER<=1700) -inline int isfinite( double x ) { return _finite( x ); } -inline int isinf( double x ) { return !_finite( x ) && !_isnan( x ); } +namespace std +{ + inline int isfinite( double x ) { return _finite( x ); } + inline int isinf( double x ) { return !_finite( x ) && !_isnan( x ); } +} #endif @@ -91,11 +92,11 @@ } double to_valid_float(const double d) { - if(isfinite(d)) { + if(std::isfinite(d)) { return d; } else { - if(isinf(d)) { + if(std::isinf(d)) { return std::numeric_limits::max(); } // no much way to do better than replace invalid float NaN by 0 diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/osgjs/ReaderWriterJSON.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/osgjs/ReaderWriterJSON.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/osgjs/ReaderWriterJSON.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/osgjs/ReaderWriterJSON.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -231,7 +231,7 @@ fileName = osgDB::findDataFile( fileName, options ); if (fileName.empty()) return ReadResult::FILE_NOT_FOUND; - osg::Node *node = osgDB::readNodeFile( fileName, options ); + osg::ref_ptr node = osgDB::readRefNodeFile( fileName, options ); if (!node) return ReadResult::FILE_NOT_HANDLED; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/osgjs/WriteVisitor.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/osgjs/WriteVisitor.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/osgjs/WriteVisitor.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/osgjs/WriteVisitor.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -225,7 +226,7 @@ // no image file so use this inline name image and create a file std::stringstream ss; ss << osgDB::getFilePath(baseName) << osgDB::getNativePathSeparator(); - ss << (long int)image << ".inline_conv_generated.png"; // write the pointer location + ss << (int64_t)image << ".inline_conv_generated.png"; // write the pointer location std::string filename = ss.str(); if (osgDB::writeImageFile(*image, filename)) { image->setFileName(filename); @@ -656,7 +657,7 @@ ss << i; std::string str = ss.str(); // We need to convert first from osg format to osgjs format. - osg::ref_ptr n = osgDB::readNodeFile(plod->getFileName(i)+".gles"); + osg::ref_ptr n = osgDB::readRefNodeFile(plod->getFileName(i)+".gles"); if (n) { std::string filename(osgDB::getStrippedName(plod->getFileName(i))+".osgjs"); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/osgtgz/ReaderWriterOSGTGZ.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/osgtgz/ReaderWriterOSGTGZ.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/osgtgz/ReaderWriterOSGTGZ.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/osgtgz/ReaderWriterOSGTGZ.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -91,7 +91,7 @@ std::string file_ext = osgDB::getLowerCaseFileExtension(*itr); if (osgDB::equalCaseInsensitive(file_ext,"osg")) { - osg::Node *node = osgDB::readNodeFile( *itr, local_options.get() ); + osg::ref_ptr node = osgDB::readRefNodeFile( *itr, local_options.get() ); grp->addChild( node ); } } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/p3d/ReaderWriterP3D.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/p3d/ReaderWriterP3D.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/p3d/ReaderWriterP3D.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/p3d/ReaderWriterP3D.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -1370,7 +1370,7 @@ std::string vs; if (getProperty(cur, "vs", vs) || getProperty(cur, "VolumeSettings", vs)) { - volumeData.volumeSettings = osgDB::readFile(vs); + volumeData.volumeSettings = osgDB::readRefFile(vs); if (volumeData.volumeSettings.valid()) { OSG_NOTICE<<"VolumeSetting read "<(transferFunctionFile); + volumeData.transferFunction = osgDB::readRefFile(transferFunctionFile); } if (getTrimmedProperty(cur, "tf-255", transferFunctionFile)) { - volumeData.transferFunction = osgDB::readFile(transferFunctionFile); + volumeData.transferFunction = osgDB::readRefFile(transferFunctionFile); } if (getProperty(cur, "options", volumeData.options)) {} @@ -2567,7 +2567,7 @@ std::string function = ""; getProperty(cur, "function", function); - osg::ref_ptr script = osgDB::readFile(cur->getTrimmedContents()); + osg::ref_ptr script = osgDB::readRefFile(cur->getTrimmedContents()); if (script.valid()) { osg::ScriptEngine* se = constructor.getOrCreateScriptEngine(script->getLanguage()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ply/vertexData.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ply/vertexData.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ply/vertexData.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ply/vertexData.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -18,6 +18,10 @@ #include #include #include +#include +#include +#include +#include using namespace std; using namespace ply; @@ -35,6 +39,7 @@ _diffuse = NULL; _ambient = NULL; _specular = NULL; + _texcoord = NULL; } @@ -66,6 +71,8 @@ unsigned char specular_blue; float specular_coeff; float specular_power; + float texture_u; + float texture_v; } vertex; PlyProperty vertexProps[] = @@ -74,8 +81,8 @@ { "y", PLY_FLOAT, PLY_FLOAT, offsetof( _Vertex, y ), 0, 0, 0, 0 }, { "z", PLY_FLOAT, PLY_FLOAT, offsetof( _Vertex, z ), 0, 0, 0, 0 }, { "nx", PLY_FLOAT, PLY_FLOAT, offsetof( _Vertex, nx ), 0, 0, 0, 0 }, - { "ny", PLY_FLOAT, PLY_FLOAT, offsetof( _Vertex, ny ), 0, 0, 0, 0 }, - { "nz", PLY_FLOAT, PLY_FLOAT, offsetof( _Vertex, nz ), 0, 0, 0, 0 }, + { "ny", PLY_FLOAT, PLY_FLOAT, offsetof(_Vertex, ny), 0, 0, 0, 0 }, + { "nz", PLY_FLOAT, PLY_FLOAT, offsetof(_Vertex, nz), 0, 0, 0, 0 }, { "red", PLY_UCHAR, PLY_UCHAR, offsetof( _Vertex, red ), 0, 0, 0, 0 }, { "green", PLY_UCHAR, PLY_UCHAR, offsetof( _Vertex, green ), 0, 0, 0, 0 }, { "blue", PLY_UCHAR, PLY_UCHAR, offsetof( _Vertex, blue ), 0, 0, 0, 0 }, @@ -91,6 +98,8 @@ { "specular_blue", PLY_UCHAR, PLY_UCHAR, offsetof( _Vertex, specular_blue ), 0, 0, 0, 0 }, { "specular_coeff", PLY_FLOAT, PLY_FLOAT, offsetof( _Vertex, specular_coeff ), 0, 0, 0, 0 }, { "specular_power", PLY_FLOAT, PLY_FLOAT, offsetof( _Vertex, specular_power ), 0, 0, 0, 0 }, + { "texture_u", PLY_FLOAT, PLY_FLOAT, offsetof(_Vertex, texture_u), 0, 0, 0, 0 }, + { "texture_v", PLY_FLOAT, PLY_FLOAT, offsetof(_Vertex, texture_v), 0, 0, 0, 0 }, }; // use all 6 properties when reading colors, only the first 3 otherwise @@ -120,6 +129,10 @@ for( int i = 16; i < 21; ++i ) ply_get_property( file, "vertex", &vertexProps[i] ); + if (fields & TEXCOORD) + for (int i = 21; i < 23; ++i) + ply_get_property(file, "vertex", &vertexProps[i]); + // check whether array is valid otherwise allocate the space if(!_vertices.valid()) _vertices = new osg::Vec3Array; @@ -154,6 +167,11 @@ if(!_specular.valid()) _specular = new osg::Vec4Array; } + if (fields & TEXCOORD) + { + if (!_texcoord.valid()) + _texcoord = new osg::Vec2Array; + } // read in the vertices for( int i = 0; i < nVertices; ++i ) @@ -186,6 +204,8 @@ _specular->push_back( osg::Vec4( (unsigned int) vertex.specular_red / 255.0, (unsigned int) vertex.specular_green / 255.0 , (unsigned int) vertex.specular_blue / 255.0, 1.0 ) ); + if (fields & TEXCOORD) + _texcoord->push_back(osg::Vec2(vertex.texture_u,vertex.texture_v)); } } @@ -208,38 +228,41 @@ ply_get_property( file, "face", &faceProps[0] ); - //triangles.clear(); - //triangles.reserve( nFaces ); if(!_triangles.valid()) - _triangles = new osg::DrawElementsUInt(osg::PrimitiveSet::TRIANGLES, 0); + _triangles = new osg::DrawElementsUInt(osg::PrimitiveSet::TRIANGLES); + if(!_quads.valid()) - _quads = new osg::DrawElementsUInt(osg::PrimitiveSet::QUADS, 0); + _quads = new osg::DrawElementsUInt(osg::PrimitiveSet::QUADS); + + const char NUM_VERTICES_TRIANGLE(3); + const char NUM_VERTICES_QUAD(4); // read the faces, reversing the reading direction if _invertFaces is true for( int i = 0 ; i < nFaces; i++ ) { + // initialize face values + face.nVertices = 0; + face.vertices = 0; + ply_get_element( file, static_cast< void* >( &face ) ); - MESHASSERT( face.vertices != 0 ); - if( (unsigned int)(face.nVertices) > 4 ) + if (face.vertices) { + if (face.nVertices == NUM_VERTICES_TRIANGLE || face.nVertices == NUM_VERTICES_QUAD) + { + unsigned short index; + for(int j = 0 ; j < face.nVertices ; j++) + { + index = ( _invertFaces ? face.nVertices - 1 - j : j ); + if(face.nVertices == 4) + _quads->push_back(face.vertices[index]); + else + _triangles->push_back(face.vertices[index]); + } + } + // free the memory that was allocated by ply_get_element free( face.vertices ); - throw MeshException( "Error reading PLY file. Encountered a " - "face which does not have three or four vertices." ); } - - unsigned short index; - for(int j = 0 ; j < face.nVertices ; j++) - { - index = ( _invertFaces ? face.nVertices - 1 - j : j ); - if(face.nVertices == 4) - _quads->push_back(face.vertices[index]); - else - _triangles->push_back(face.vertices[index]); - } - - // free the memory that was allocated by ply_get_element - free( face.vertices ); } } @@ -288,13 +311,47 @@ MESHINFO << filename << ": " << nPlyElems << " elements, file type = " << fileType << ", version = " << version << endl; #endif - + char *textureFile = NULL; for( int i = 0; i < nComments; i++ ) { if( equal_strings( comments[i], "modified by flipply" ) ) { _invertFaces = true; } + if (strncmp(comments[i], "TextureFile",11)==0) + { + textureFile = comments[i]+12; + char * path = new char[strlen(const_cast(filename)) + 1 + strlen(comments[i])]; + if (textureFile[0] == '\\' || textureFile[0] == '/' || textureFile[1] == ':') + { + // texture filename is absolute + strcpy(path, textureFile); + } + else + { + // texture filename is relative + // add directory of ply file + strcpy(path, const_cast(filename)); + char *pp = path + strlen(path); + while (pp >= path) + { + if (*pp == '\\' || *pp == '/') + { + pp++; + *pp = '\0'; + break; + } + pp--; + } + if (pp == path - 1) + { + pp++; + *pp = '\0'; + } + strcat(path, textureFile); + } + textureFile = path; + } } for( int i = 0; i < nPlyElems; ++i ) @@ -327,10 +384,10 @@ // if the string is vertex means vertex data is started if( equal_strings( elemNames[i], "vertex" ) ) { - int fields = NONE; + int fields = NONE; // determine if the file stores vertex colors for( int j = 0; j < nProps; ++j ) - { + { // if the string have the red means color info is there if( equal_strings( props[j]->name, "x" ) ) fields |= XYZ; @@ -344,15 +401,19 @@ fields |= AMBIENT; if( equal_strings( props[j]->name, "diffuse_red" ) ) fields |= DIFFUSE; - if( equal_strings( props[j]->name, "specular_red" ) ) + if (equal_strings(props[j]->name, "specular_red")) fields |= SPECULAR; - } + if (equal_strings(props[j]->name, "texture_u")) + fields |= TEXCOORD; + if (equal_strings(props[j]->name, "texture_v")) + fields |= TEXCOORD; + } if( ignoreColors ) - { - fields &= ~(XYZ | NORMALS); - MESHINFO << "Colors in PLY file ignored per request." << endl; - } + { + fields &= ~(XYZ | NORMALS); + MESHINFO << "Colors in PLY file ignored per request." << endl; + } try { // Read vertices and store in a std::vector array @@ -360,7 +421,7 @@ // Check whether all vertices are loaded or not MESHASSERT( _vertices->size() == static_cast< size_t >( nElems ) ); - // Check if all the optional elements were read or not + // Check if all the optional elements were read or not if( fields & NORMALS ) { MESHASSERT( _normals->size() == static_cast< size_t >( nElems ) ); @@ -377,9 +438,13 @@ { MESHASSERT( _diffuse->size() == static_cast< size_t >( nElems ) ); } - if( fields & SPECULAR ) + if (fields & SPECULAR) { - MESHASSERT( _specular->size() == static_cast< size_t >( nElems ) ); + MESHASSERT(_specular->size() == static_cast< size_t >(nElems)); + } + if (fields & TEXCOORD) + { + MESHASSERT(_texcoord->size() == static_cast< size_t >(nElems)); } result = true; @@ -459,9 +524,9 @@ geom->addPrimitiveSet(new osg::DrawArrays(GL_POINTS, 0, _vertices->size())); - // Apply the colours to the model; at the moment this is a - // kludge because we only use one kind and apply them all the - // same way. Also, the priority order is completely arbitrary + // Apply the colours to the model; at the moment this is a + // kludge because we only use one kind and apply them all the + // same way. Also, the priority order is completely arbitrary if(_colors.valid()) { @@ -475,10 +540,14 @@ { geom->setColorArray(_diffuse.get(), osg::Array::BIND_PER_VERTEX ); } - else if(_specular.valid()) + else if(_specular.valid()) { geom->setColorArray(_specular.get(), osg::Array::BIND_PER_VERTEX ); } + else if (_texcoord.valid()) + { + geom->setTexCoordArray(0, _texcoord.get()); + } // If the model has normals, add them to the geometry if(_normals.valid()) @@ -494,11 +563,26 @@ // set flage true to activate the vertex buffer object of drawable geom->setUseVertexBufferObjects(true); + osg::Image *image = NULL; + if (textureFile && (image = osgDB::readImageFile(textureFile)) != NULL) + { + osg::Texture2D *texture = new osg::Texture2D; + texture->setImage(image); + texture->setResizeNonPowerOfTwoHint(false); + + osg::TexEnv *texenv = new osg::TexEnv; + texenv->setMode(osg::TexEnv::REPLACE); + + osg::StateSet *stateset = geom->getOrCreateStateSet(); + stateset->setTextureAttributeAndModes(0, texture, osg::StateAttribute::ON); + stateset->setTextureAttribute(0, texenv); + delete[] textureFile; + } osg::Geode* geode = new osg::Geode; geode->addDrawable(geom); return geode; - } + } return NULL; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ply/vertexData.h openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ply/vertexData.h --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/ply/vertexData.h 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/ply/vertexData.h 2017-08-28 16:50:49.000000000 +0000 @@ -55,7 +55,8 @@ AMBIENT = 8, DIFFUSE = 16, SPECULAR = 32, - RGBA = 64 + RGBA = 64, + TEXCOORD = 128 }; // Function which reads all the vertices and colors if color info is @@ -75,6 +76,7 @@ osg::ref_ptr _ambient; osg::ref_ptr _diffuse; osg::ref_ptr _specular; + osg::ref_ptr _texcoord; // Normals in osg format osg::ref_ptr _normals; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/png/ReaderWriterPNG.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/png/ReaderWriterPNG.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/png/ReaderWriterPNG.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/png/ReaderWriterPNG.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -209,10 +209,10 @@ pinfo->Depth = depth; } - OSG_INFO<<"width="<8 && getCpuByteOrder()==osg::LittleEndian) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/revisions/ReaderWriterRevisions.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/revisions/ReaderWriterRevisions.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/revisions/ReaderWriterRevisions.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/revisions/ReaderWriterRevisions.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -114,8 +114,7 @@ { std::string complete_path = osgDB::concatPaths(revisions_path, filename); OSG_INFO<<" complete_path="< object = osgDB::readObjectFile(complete_path, options); - fileList = dynamic_cast(object.get()); + fileList = osgDB::readRefFile(complete_path, options); } if (!fileList) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/rot/ReaderWriterROT.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/rot/ReaderWriterROT.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/rot/ReaderWriterROT.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/rot/ReaderWriterROT.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -139,7 +139,7 @@ } // recursively load the subfile. - osg::Node *node = osgDB::readNodeFile( subFileName, options ); + osg::ref_ptr node = osgDB::readRefNodeFile( subFileName, options ); if( !node ) { // propagate the read failure upwards @@ -147,7 +147,7 @@ return ReadResult::FILE_NOT_HANDLED; } - osg::MatrixTransform *xform = new osg::MatrixTransform; + osg::ref_ptr xform = new osg::MatrixTransform; xform->setDataVariance( osg::Object::STATIC ); xform->setMatrix( osg::Matrix::rotate( osg::DegreesToRadians( rx ), osg::Vec3( 1, 0, 0 ), diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/scale/ReaderWriterSCALE.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/scale/ReaderWriterSCALE.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/scale/ReaderWriterSCALE.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/scale/ReaderWriterSCALE.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -152,7 +152,7 @@ } // recursively load the subfile. - osg::Node *node = osgDB::readNodeFile( subFileName, options ); + osg::ref_ptr node = osgDB::readRefNodeFile( subFileName, options ); if( !node ) { // propagate the read failure upwards @@ -160,7 +160,7 @@ return ReadResult::FILE_NOT_HANDLED; } - osg::MatrixTransform *xform = new osg::MatrixTransform; + osg::ref_ptr xform = new osg::MatrixTransform; xform->setDataVariance( osg::Object::STATIC ); xform->setMatrix( osg::Matrix::scale( sx, sy, sz ) ); xform->addChild( node ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/shadow/ReaderWriterOsgShadow.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/shadow/ReaderWriterOsgShadow.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/shadow/ReaderWriterOsgShadow.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/shadow/ReaderWriterOsgShadow.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -121,7 +121,7 @@ if (!technique) technique = new osgShadow::ShadowVolume; // recursively load the subfile. - osg::Node *node = osgDB::readNodeFile( subFileName, options ); + osg::ref_ptr node = osgDB::readRefNodeFile( subFileName, options ); if( !node ) { // propagate the read failure upwards @@ -130,7 +130,7 @@ } osgShadow::ShadowedScene* shadowedScene = new osgShadow::ShadowedScene; - shadowedScene->setShadowTechnique(technique.get()); + shadowedScene->setShadowTechnique(technique); shadowedScene->addChild( node ); return shadowedScene; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/shp/ESRIShape.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/shp/ESRIShape.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/shp/ESRIShape.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/shp/ESRIShape.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -810,7 +810,7 @@ return false; // Sometimes, M field is not supplied - if( rh.contentLength >= 18 ) + if( rh.contentLength*2 >= 18 ) if( readVal( fd, m, LittleEndian ) == false ) return false; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/stl/ReaderWriterSTL.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/stl/ReaderWriterSTL.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/stl/ReaderWriterSTL.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/stl/ReaderWriterSTL.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -25,6 +25,7 @@ #include #include +#include #include #include @@ -43,23 +44,6 @@ #include #include - - -#if defined(_WIN32) && !defined(__MINGW32__) && (!defined(_MSC_VER) || _MSC_VER<1600) - -typedef unsigned __int8 uint8_t; -typedef unsigned __int16 uint16_t; -typedef unsigned __int32 uint32_t; -typedef signed __int8 int8_t; -typedef signed __int16 int16_t; -typedef signed __int32 int32_t; - -#else - -#include - -#endif - #include struct STLOptionsStruct { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/terrain/ReaderWriterOsgTerrain.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/terrain/ReaderWriterOsgTerrain.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/terrain/ReaderWriterOsgTerrain.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/terrain/ReaderWriterOsgTerrain.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -83,7 +83,7 @@ if (fr.matchSequence("file %s") || fr.matchSequence("file %w") ) { - osg::Node* node = osgDB::readNodeFile(fr[1].getStr()); + osg::ref_ptr node = osgDB::readRefNodeFile(fr[1].getStr()); if (node) group->addChild(node); @@ -94,7 +94,7 @@ osg::ref_ptr node = fr.readNode(); if (node.valid()) { - group->addChild(node.get()); + group->addChild(node); itrAdvanced = true; } @@ -105,7 +105,7 @@ } } - if (group->getNumChildren()>0) return group.release(); + if (group->getNumChildren()>0) return group; else return 0; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/tgz/ReaderWriterTGZ.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/tgz/ReaderWriterTGZ.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/tgz/ReaderWriterTGZ.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/tgz/ReaderWriterTGZ.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -113,8 +113,8 @@ *itr!=std::string(".") && *itr!=std::string("..")) { - osg::Node *node = osgDB::readNodeFile(*itr, local_options.get()); - grp->addChild( node ); + osg::ref_ptr node = osgDB::readRefNodeFile(*itr, local_options.get()); + if (node) grp->addChild( node ); } } @@ -136,7 +136,7 @@ return ReadResult::FILE_NOT_HANDLED; } - return grp.get(); + return grp; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/trans/ReaderWriterTRANS.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/trans/ReaderWriterTRANS.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/trans/ReaderWriterTRANS.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/trans/ReaderWriterTRANS.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -139,7 +139,7 @@ } // recursively load the subfile. - osg::Node *node = osgDB::readNodeFile( subFileName, options ); + osg::ref_ptr node = osgDB::readRefNodeFile( subFileName, options ); if( !node ) { // propagate the read failure upwards @@ -147,7 +147,7 @@ return ReadResult::FILE_NOT_HANDLED; } - osg::MatrixTransform *xform = new osg::MatrixTransform; + osg::ref_ptr xform = new osg::MatrixTransform; xform->setDataVariance( osg::Object::STATIC ); xform->setMatrix( osg::Matrix::translate( tx, ty, tz ) ); xform->addChild( node ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/trk/ReaderWriterTRK.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/trk/ReaderWriterTRK.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/trk/ReaderWriterTRK.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/trk/ReaderWriterTRK.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -169,7 +169,7 @@ osg::ref_ptr stateset = geometry->getOrCreateStateSet(); osg::ref_ptr program = new osg::Program; - osg::ref_ptr vertexShader = osgDB::readShaderFile(osg::Shader::VERTEX, vertexShaderFile); + osg::ref_ptr vertexShader = osgDB::readRefShaderFile(osg::Shader::VERTEX, vertexShaderFile); if (!vertexShader) { vertexShader = new osg::Shader(osg::Shader::VERTEX, vert_shader_str); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/txp/TXPArchive.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/txp/TXPArchive.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/txp/TXPArchive.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/txp/TXPArchive.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -434,7 +434,7 @@ mod->GetName(name,1023); // Load the model. It's probably not TerraPage - osg::Node *osg_model = osgDB::readNodeFile( name ); + osg::ref_ptr osg_model = osgDB::readRefNodeFile( name ); if ( !osg_model ) { OSG_WARN << "TrPageArchive::LoadModels() error: " @@ -642,9 +642,8 @@ continue; std::string fontfilename = fontmap[*fontName]; - if ( !fontfilename.length() ) - fontfilename = "arial.ttf"; - osg::ref_ptr< osgText::Font > font = osgText::readFontFile(fontfilename); + if ( !fontfilename.length() ) fontfilename = "arial.ttf"; + osg::ref_ptr< osgText::Font > font = osgText::readRefFontFile(fontfilename); _fonts[itr->first] = font; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/vrml/ConvertToVRML.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/vrml/ConvertToVRML.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPlugins/vrml/ConvertToVRML.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPlugins/vrml/ConvertToVRML.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -845,7 +845,7 @@ std::string::size_type pos = nameInput.find_last_of("."); std::string ext = nameInput.substr(pos, nameInput.length() - pos); - osg::ref_ptr < osg::Image > imgIn = osgDB::readImageFile(nameInput); + osg::ref_ptr < osg::Image > imgIn = osgDB::readRefImageFile(nameInput); if (!imgIn.valid()) { osg::notify(osg::ALWAYS) << "WARNING: couldn't read texture named: -" << nameOri << "- use default one instead -" << _defaultImage->getFileName() << "-" << std::endl; tex->setImage(_defaultImage.get()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPresentation/Cursor.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPresentation/Cursor.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPresentation/Cursor.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPresentation/Cursor.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -77,7 +77,7 @@ osg::ref_ptr geode = new osg::Geode; - osg::ref_ptr image = osgDB::readImageFile(osgDB::findDataFile(_filename)); + osg::ref_ptr image = osgDB::readRefImageFile(osgDB::findDataFile(_filename)); osg::ref_ptr texture = (image.valid()) ? new osg::Texture2D(image.get()) : 0; // full cursor diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgPresentation/SlideShowConstructor.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgPresentation/SlideShowConstructor.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgPresentation/SlideShowConstructor.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgPresentation/SlideShowConstructor.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -321,7 +321,7 @@ OSG_NOTICE<<"Script engine "< scriptEngine = osgDB::readFile(std::string("ScriptEngine.")+scriptEngineName); + osg::ref_ptr scriptEngine = osgDB::readRefFile(std::string("ScriptEngine.")+scriptEngineName); if (scriptEngine.valid()) { _scriptEngines[scriptEngineName] = scriptEngine; @@ -340,7 +340,7 @@ void SlideShowConstructor::addScriptFile(const std::string& name, const std::string& filename) { OSG_NOTICE<<"addScriptFile() name="< loadedImage = osgDB::readImageFile(*itr, options.get()); + osg::ref_ptr loadedImage = osgDB::readRefImageFile(*itr, options.get()); if (loadedImage.valid()) { OSG_INFO<<"Loaded image "<<*itr<addImageFile(*itr); if (firstLoad) { - osg::ref_ptr loadedImage = osgDB::readImageFile(*itr, options.get()); + osg::ref_ptr loadedImage = osgDB::readRefImageFile(*itr, options.get()); if (loadedImage.valid()) { imageSequence->addImage(loadedImage.get()); @@ -1732,7 +1732,7 @@ } else { - osg::ref_ptr model = osgDB::readNodeFile(filename, _options.get()); + osg::ref_ptr model = osgDB::readRefNodeFile(filename, _options.get()); if (!model) return; dotFileName = tmpDirectory+osgDB::getStrippedName(filename)+std::string(".dot"); @@ -1823,7 +1823,7 @@ options->setOptionString(imageData.options); } - osg::Image* image = osgDB::readImageFile(filename, options.get()); + osg::ref_ptr image = osgDB::readRefImageFile(filename, options.get()); OSG_INFO<<"addInteractiveImage("< handler = new osgViewer::InteractiveImageHandler(image); + osg::ref_ptr handler = new osgViewer::InteractiveImageHandler(image.get()); pictureQuad->setEventCallback(handler.get()); pictureQuad->setCullCallback(handler.get()); @@ -1939,7 +1939,7 @@ addToCurrentLayer(subgraph); - osgWidget::PdfImage* pdfImage = dynamic_cast(image); + osgWidget::PdfImage* pdfImage = dynamic_cast(image.get()); if (pdfImage && imageData.page>=0) { getOrCreateLayerAttributes(_currentLayer.get())->addEnterCallback(new SetPageCallback(pdfImage, imageData.page)); @@ -1959,7 +1959,7 @@ if (scriptData.hasScripts()) addScriptsToNode(scriptData, subgraph); - return image; + return image.release(); } std::string SlideShowConstructor::findFileAndRecordPath(const std::string& filename) @@ -2070,7 +2070,7 @@ } else { - subgraph = osgDB::readNodeFile(filename, options.get()); + subgraph = osgDB::readRefNodeFile(filename, options.get()); if (subgraph) recordOptionsFilePath(options.get()); } @@ -2682,7 +2682,7 @@ itr != filenames.end(); ++itr) { - osg::ref_ptr loadedImage = osgDB::readImageFile(*itr, options.get()); + osg::ref_ptr loadedImage = osgDB::readRefImageFile(*itr, options.get()); if (loadedImage.valid()) { images.push_back(loadedImage.get()); @@ -2702,26 +2702,26 @@ if (fileType == osgDB::DIRECTORY) { - image = osgDB::readImageFile(foundFile+".dicom", options.get()); + image = osgDB::readRefImageFile(foundFile+".dicom", options.get()); } else if (fileType == osgDB::REGULAR_FILE) { std::string ext = osgDB::getFileExtension(foundFile); if (ext=="osg" || ext=="ive" || ext=="osgx" || ext=="osgb" || ext=="osgt") { - osg::ref_ptr obj = osgDB::readObjectFile(foundFile); + osg::ref_ptr obj = osgDB::readRefObjectFile(foundFile); image = dynamic_cast(obj.get()); volume = dynamic_cast(obj.get()); } else { - image = osgDB::readImageFile( foundFile, options.get() ); + image = osgDB::readRefImageFile( foundFile, options.get() ); } } else { // not found image, so fallback to plugins/callbacks to find the model. - image = osgDB::readImageFile( filename, options.get() ); + image = osgDB::readRefImageFile( filename, options.get() ); if (image) recordOptionsFilePath(options.get() ); } } @@ -3056,7 +3056,7 @@ if (!volumeData.hull.empty()) { - osg::ref_ptr hull = osgDB::readNodeFile(volumeData.hull, _options.get()); + osg::ref_ptr hull = osgDB::readRefNodeFile(volumeData.hull, _options.get()); if (hull.valid()) { hull = decorateSubgraphForPositionAndAnimation(hull.get(), volumeData.hullPositionData); @@ -3100,7 +3100,7 @@ #if 1 - osgUI::Widget* widget = vs.valid() ? osgDB::readFile("ui/VolumeSettings.lua") : 0; + osg::ref_ptr widget = vs.valid() ? osgDB::readRefFile("ui/VolumeSettings.lua") : 0; if (widget) { OSG_NOTICE<<"Adding widget"< animationMaterial = 0; if (!positionData.animation_material_filename.empty()) { @@ -3186,8 +3186,7 @@ } } #else - osg::ref_ptr object = osgDB::readObjectFile(positionData.animation_material_filename, _options.get()); - animationMaterial = dynamic_cast(object.get()); + animationMaterial = osgDB::readRefFile(positionData.animation_material_filename, _options.get()); #endif } @@ -3214,7 +3213,7 @@ { animationMaterial->setLoopMode(positionData.animation_material_loop_mode); - AnimationMaterialCallback* animationMaterialCallback = new AnimationMaterialCallback(animationMaterial); + AnimationMaterialCallback* animationMaterialCallback = new AnimationMaterialCallback(animationMaterial.get()); animationMaterialCallback->setTimeOffset(positionData.animation_material_time_offset); animationMaterialCallback->setTimeMultiplier(positionData.animation_material_time_multiplier); @@ -3243,7 +3242,7 @@ osg::ref_ptr options = _options.valid() ? _options->cloneOptions() : new osgDB::Options; options->setObjectCacheHint(osgDB::Options::CACHE_NONE); - osg::ref_ptr object = osgDB::readObjectFile(positionData.path, options.get()); + osg::ref_ptr object = osgDB::readRefObjectFile(positionData.path, options.get()); osg::AnimationPath* animation = dynamic_cast(object.get()); if (animation) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgQt/GraphicsWindowQt.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgQt/GraphicsWindowQt.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgQt/GraphicsWindowQt.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgQt/GraphicsWindowQt.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -1015,7 +1015,7 @@ } -void HeartBeat::timerEvent( QTimerEvent */*event*/ ) +void HeartBeat::timerEvent( QTimerEvent * /*event*/ ) { osg::ref_ptr< osgViewer::ViewerBase > viewer; if( !_viewer.lock( viewer ) ) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgSim/ElevationSlice.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgSim/ElevationSlice.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgSim/ElevationSlice.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgSim/ElevationSlice.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -460,7 +460,7 @@ for(SegmentSet::iterator itr = _segments.begin(); itr != _segments.end(); - ++itr) + ) // itr increment is done manually at end of loop { SegmentSet::iterator nextItr = itr; ++nextItr; @@ -1060,6 +1060,9 @@ classification = ((itr != _segments.end()) && (nextItr != _segments.end())) ? itr->compare(*nextItr) : Segment::UNCLASSIFIED; } + + // increment iterator it it's not already at end of container. + if (itr!=_segments.end()) ++itr; } } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgSim/LineOfSight.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgSim/LineOfSight.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgSim/LineOfSight.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgSim/LineOfSight.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -50,7 +50,7 @@ } // now load the file. - osg::ref_ptr node = osgDB::readNodeFile(filename); + osg::ref_ptr node = osgDB::readRefNodeFile(filename); // insert into the cache. if (node.valid()) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgSim/ScalarBar.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgSim/ScalarBar.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgSim/ScalarBar.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgSim/ScalarBar.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -205,7 +205,7 @@ float characterSize = _textProperties._characterSize; if(characterSize == 0) characterSize = _width * 0.03f; - osgText::Font* font = osgText::readFontFile(_textProperties._fontFile.c_str()); + osg::ref_ptr font = osgText::readRefFontFile(_textProperties._fontFile.c_str()); std::vector texts(_numLabels); // We'll need to collect pointers to these for later float labelIncr = (_numLabels>0) ? (_stc->getMax()-_stc->getMin())/(_numLabels-1) : 0.0f; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgSim/ScalarsToColors.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgSim/ScalarsToColors.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgSim/ScalarsToColors.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgSim/ScalarsToColors.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -9,7 +9,7 @@ osg::Vec4 ScalarsToColors::getColor(float scalar) const { if(scalar<_min) return osg::Vec4(0.0f,0.0f,0.0f,0.0f); - if(scalar>_max) return osg::Vec4(0.0f,0.0f,0.0f,0.0f); + if(scalar>_max) return osg::Vec4(1.0f,1.0f,1.0f,1.0f); float c = (_min+scalar)/(_max-_min); return osg::Vec4(c,c,c,1.0); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgSim/Sector.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgSim/Sector.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgSim/Sector.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgSim/Sector.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -218,14 +218,17 @@ // // DirectionalSector // -DirectionalSector::DirectionalSector(const osg::Vec3& direction,float horizLobeAngle, float vertLobeAngle, float lobeRollAngle, float fadeAngle): +DirectionalSector::DirectionalSector(const osg::Vec3& direction, float horizLobeAngle, float vertLobeAngle, float lobeRollAngle, float fadeAngle): Sector() { - setDirection(direction); - setHorizLobeAngle(horizLobeAngle); - setVertLobeAngle(vertLobeAngle); - setLobeRollAngle(lobeRollAngle); + _direction = direction; + _cosHorizAngle = cos(horizLobeAngle*0.5); + _cosVertAngle = cos(vertLobeAngle*0.5); + _rollAngle = lobeRollAngle; + setFadeAngle(fadeAngle); + + computeMatrix(); } void DirectionalSector::computeMatrix() diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgTerrain/GeometryPool.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgTerrain/GeometryPool.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgTerrain/GeometryPool.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgTerrain/GeometryPool.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -601,21 +601,18 @@ _programMap[layerTypes] = program; // add shader that provides the lighting functions - program->addShader(osgDB::readShaderFile("shaders/lighting.vert")); + program->addShader(osgDB::readRefShaderFile("shaders/lighting.vert")); // OSG_NOTICE<<") creating new Program "< shader = osgDB::readShaderFileWithFallback(osg::Shader::VERTEX, "shaders/terrain_displacement_mapping.vert", terrain_displacement_mapping_vert); - - program->addShader(shader.get()); + program->addShader(osgDB::readRefShaderFileWithFallback(osg::Shader::VERTEX, "shaders/terrain_displacement_mapping.vert", terrain_displacement_mapping_vert)); } { #include "shaders/terrain_displacement_mapping_geom.cpp" - osg::ref_ptr shader = osgDB::readShaderFileWithFallback(osg::Shader::GEOMETRY, "shaders/terrain_displacement_mapping.geom", terrain_displacement_mapping_geom); - program->addShader(shader.get()); + program->addShader(osgDB::readRefShaderFileWithFallback(osg::Shader::GEOMETRY, "shaders/terrain_displacement_mapping.geom", terrain_displacement_mapping_geom)); program->setParameter( GL_GEOMETRY_VERTICES_OUT, 4 ); program->setParameter( GL_GEOMETRY_INPUT_TYPE, GL_LINES_ADJACENCY ); @@ -629,13 +626,7 @@ { #include "shaders/terrain_displacement_mapping_frag.cpp" - osg::ref_ptr shader = osgDB::readShaderFileWithFallback(osg::Shader::FRAGMENT, "shaders/terrain_displacement_mapping.frag", terrain_displacement_mapping_frag); - - if (shader.valid()) - { - program->addShader(shader.get()); - } - + program->addShader(osgDB::readRefShaderFileWithFallback(osg::Shader::FRAGMENT, "shaders/terrain_displacement_mapping.frag", terrain_displacement_mapping_frag)); } return program; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgTerrain/TerrainTile.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgTerrain/TerrainTile.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgTerrain/TerrainTile.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgTerrain/TerrainTile.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -305,7 +305,7 @@ { if (layerAcceptable(imageLayer->getSetName())) { - osg::ref_ptr image = osgDB::readImageFile(imageLayer->getFileName(), options); + osg::ref_ptr image = osgDB::readRefImageFile(imageLayer->getFileName(), options); imageLayer->setImage(image.get()); } } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgText/Font.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgText/Font.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgText/Font.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgText/Font.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -34,6 +34,13 @@ static osg::ApplicationUsageProxy Font_e0(osg::ApplicationUsage::ENVIRONMENTAL_VARIABLE,"OSG_TEXT_INCREMENTAL_SUBLOADING ","ON | OFF"); +#if (!defined(OSG_GLES2_AVAILABLE) && !defined(OSG_GLES3_AVAILABLE)) + #define GLSL_VERSION_STR "330 core" + #define GLYPH_CMP "r" +#else + #define GLSL_VERSION_STR "300 es" + #define GLYPH_CMP "a" +#endif osg::ref_ptr& Font::getDefaultFont() { @@ -107,6 +114,7 @@ return std::string(); } +#ifdef OSG_PROVIDE_READFILE osgText::Font* osgText::readFontFile(const std::string& filename, const osgDB::ReaderWriter::Options* userOptions) { if (filename.empty()) return 0; @@ -167,6 +175,7 @@ if (object && object->referenceCount()==0) object->unref(); return 0; } +#endif osg::ref_ptr osgText::readRefFontFile(const std::string& filename, const osgDB::ReaderWriter::Options* userOptions) { @@ -238,7 +247,109 @@ _texenv = new osg::TexEnv; _stateset = new osg::StateSet; + _stateset->setRenderingHint(osg::StateSet::TRANSPARENT_BIN); + _stateset->setMode(GL_LIGHTING, osg::StateAttribute::OFF); + _stateset->setMode(GL_BLEND, osg::StateAttribute::ON); + +#if defined(OSG_GL_FIXED_FUNCTION_AVAILABLE) + + OSG_INFO<<"Font::Font() Fixed function pipeline"<setTextureMode(0, GL_TEXTURE_2D, osg::StateAttribute::ON); +#endif + +#if defined(OSG_GL3_AVAILABLE) || defined(OSG_GLES3_AVAILABLE) + { + + OSG_INFO<<"Font::Font() Setting up GL3 compatible shaders"<=0.0) color = vertexColor * vec4(1.0, 1.0, 1.0, texture(glyphTexture, texCoord)." GLYPH_CMP ");\n" + " else color = vertexColor;\n" + "}\n" + }; + + osg::ref_ptr program = new osg::Program; + program->addShader(new osg::Shader(osg::Shader::VERTEX, gl3_TextVertexShader)); + program->addShader(new osg::Shader(osg::Shader::FRAGMENT, gl3_TextFragmentShader)); + _stateset->setAttributeAndModes(program.get()); + _stateset->addUniform(new osg::Uniform("glyphTexture", 0)); + + } +#elif defined(OSG_GL2_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) + { + OSG_INFO<<"Font::Font() Setting up GL2 compatible shaders"<=0.0) gl_FragColor = vertexColor * vec4(1.0, 1.0, 1.0, texture2D(glyphTexture, texCoord).a);\n" + " else gl_FragColor = vertexColor;\n" + "}\n" + }; + + osg::ref_ptr program = new osg::Program; + program->addShader(new osg::Shader(osg::Shader::VERTEX, gl2_TextVertexShader)); + program->addShader(new osg::Shader(osg::Shader::FRAGMENT, gl2_TextFragmentShader)); + _stateset->setAttributeAndModes(program.get()); + _stateset->addUniform(new osg::Uniform("glyphTexture", 0)); + + } +#endif char *ptr; if( (ptr = getenv("OSG_MAX_TEXTURE_SIZE")) != 0) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgText/Glyph.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgText/Glyph.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgText/Glyph.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgText/Glyph.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -373,6 +373,7 @@ glyphsWereSubloading.clear(); glPixelStorei(GL_UNPACK_ALIGNMENT,1); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, getFilter(osg::Texture::MIN_FILTER)); #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) glPixelStorei(GL_UNPACK_ROW_LENGTH,getTextureWidth()); @@ -517,6 +518,10 @@ #if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE) glPixelStorei(GL_UNPACK_ROW_LENGTH,getRowLength()); #endif + if (_texture) + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, _texture->getFilter(osg::Texture::MIN_FILTER)); + else + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); glTexSubImage2D(GL_TEXTURE_2D,0, _texturePosX,_texturePosY, diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgText/Text3D.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgText/Text3D.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgText/Text3D.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgText/Text3D.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -493,6 +493,10 @@ // ** apply this new modelview matrix state.applyModelViewMatrix(modelview); + // if we are using osg::Program which requires OSG's generated uniforms to track + // modelview and projection matrices then apply them now. + if (state.getUseModelViewAndProjectionUniforms()) state.applyModelViewAndProjectionUniformsIfRequired(); + osg::GLBeginEndAdapter& gl = (state.getGLBeginEndAdapter()); if (_drawMode & BOUNDINGBOX) @@ -583,6 +587,10 @@ // restore the previous modelview matrix state.applyModelViewMatrix(previous); + + // if we are using osg::Program which requires OSG's generated uniforms to track + // modelview and projection matrices then apply them now. + if (state.getUseModelViewAndProjectionUniforms()) state.applyModelViewAndProjectionUniformsIfRequired(); } void Text3D::renderPerGlyph(osg::State & state) const @@ -613,6 +621,10 @@ matrix.preMultTranslate(osg::Vec3d(it->_position.x(), it->_position.y(), it->_position.z())); state.applyModelViewMatrix(matrix); + // if we are using osg::Program which requires OSG's generated uniforms to track + // modelview and projection matrices then apply them now. + if (state.getUseModelViewAndProjectionUniforms()) state.applyModelViewAndProjectionUniformsIfRequired(); + state.lazyDisablingOfVertexAttributes(); // ** apply the vertex array @@ -688,6 +700,10 @@ matrix.preMultTranslate(osg::Vec3d(it->_position.x(), it->_position.y(), it->_position.z())); state.applyModelViewMatrix(matrix); + // if we are using osg::Program which requires OSG's generated uniforms to track + // modelview and projection matrices then apply them now. + if (state.getUseModelViewAndProjectionUniforms()) state.applyModelViewAndProjectionUniformsIfRequired(); + state.setVertexPointer(it->_glyphGeometry->getVertexArray()); state.setNormalPointer(it->_glyphGeometry->getNormalArray()); @@ -713,6 +729,10 @@ matrix.preMultTranslate(osg::Vec3d(it->_position.x(), it->_position.y(), it->_position.z())); state.applyModelViewMatrix(matrix); + // if we are using osg::Program which requires OSG's generated uniforms to track + // modelview and projection matrices then apply them now. + if (state.getUseModelViewAndProjectionUniforms()) state.applyModelViewAndProjectionUniformsIfRequired(); + state.setVertexPointer(it->_glyphGeometry->getVertexArray()); state.setNormalPointer(it->_glyphGeometry->getNormalArray()); @@ -746,6 +766,10 @@ matrix.preMultTranslate(osg::Vec3d(it->_position.x(), it->_position.y(), it->_position.z())); state.applyModelViewMatrix(matrix); + // if we are using osg::Program which requires OSG's generated uniforms to track + // modelview and projection matrices then apply them now. + if (state.getUseModelViewAndProjectionUniforms()) state.applyModelViewAndProjectionUniformsIfRequired(); + state.setVertexPointer(it->_glyphGeometry->getVertexArray()); state.setNormalPointer(it->_glyphGeometry->getNormalArray()); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgText/Text.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgText/Text.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgText/Text.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgText/Text.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -2091,26 +2091,38 @@ } } - _quadIndices = new DrawElementsUInt(PrimitiveSet::TRIANGLES); + _quadIndices = new DrawElementsUShort(PrimitiveSet::TRIANGLES); } void Text::GlyphQuads::updateQuadIndices() { - _quadIndices->clear(); - if (_coords->size() % 4 != 0) + unsigned int numCoords = _coords->size(); + unsigned int numQuads = numCoords/4; + unsigned int numIndices = numQuads*6; + + if (numCoords % 4 != 0) { OSG_WARN << "size of _coords is not divisible by 4."; } - for (unsigned int i = 0; i < (unsigned int)_coords->size(); i += 4) + if (numCoords>=16384 && _quadIndices->getType()!=osg::PrimitiveSet::DrawElementsUIntPrimitiveType) + { + // if we need more indices + _quadIndices = new DrawElementsUInt(PrimitiveSet::TRIANGLES); + } + + _quadIndices->resizeElements(numIndices); + + unsigned int vi=0; + for (unsigned int i = 0; i < numCoords; i += 4) { - _quadIndices->push_back(i); - _quadIndices->push_back(i + 1); - _quadIndices->push_back(i + 3); - - _quadIndices->push_back(i + 1); - _quadIndices->push_back(i + 2); - _quadIndices->push_back(i + 3); + _quadIndices->setElement(vi++, i); + _quadIndices->setElement(vi++, i + 1); + _quadIndices->setElement(vi++, i + 3); + + _quadIndices->setElement(vi++, i + 1); + _quadIndices->setElement(vi++, i + 2); + _quadIndices->setElement(vi++, i + 3); } } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgUI/Style.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgUI/Style.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgUI/Style.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgUI/Style.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -259,7 +259,7 @@ osg::Node* Style::createIcon(const osg::BoundingBox& extents, const std::string& filename, const osg::Vec4& color) { - osg::ref_ptr object = osgDB::readObjectFile(filename); + osg::ref_ptr object = osgDB::readRefObjectFile(filename); if (!object) { //OSG_NOTICE<<"Warning: Style::createIcon(.., "<cull( this, &drawable, &_renderInfo ) == true ) return; } + else + { + drawable.getCullCallback()->run(&drawable,this); + } } - if (!getNodePath().empty() && getNodePath().back()->isCullingActive() && isCulled(bb)) return; + if (drawable.isCullingActive() && isCulled(bb)) return; if (_computeNearFar && bb.valid()) @@ -1368,6 +1372,8 @@ { public: + typedef std::map > RenderStageMap; + RenderStageCache() {} RenderStageCache(const RenderStageCache&, const osg::CopyOp&) {} virtual ~RenderStageCache() @@ -1386,28 +1392,46 @@ { osg::Referenced* ref = reinterpret_cast(object); osgUtil::CullVisitor* cv = dynamic_cast(ref); + OpenThreads::ScopedLock lock(_mutex); + RenderStageMap::iterator itr = _renderStageMap.find(cv); if (itr!=_renderStageMap.end()) { - _renderStageMap.erase(cv); + _renderStageMap.erase(itr); } } void setRenderStage(CullVisitor* cv, RenderStage* rs) { OpenThreads::ScopedLock lock(_mutex); - _renderStageMap[cv] = rs; - cv->addObserver(this); + RenderStageMap::iterator itr = _renderStageMap.find(cv); + if (itr==_renderStageMap.end()) + { + _renderStageMap[cv] = rs; + cv->addObserver(this); + } + else + { + itr->second = rs; + } + } RenderStage* getRenderStage(osgUtil::CullVisitor* cv) { OpenThreads::ScopedLock lock(_mutex); - return _renderStageMap[cv].get(); + RenderStageMap::iterator itr = _renderStageMap.find(cv); + if (itr!=_renderStageMap.end()) + { + return itr->second.get(); + } + else + { + return 0; + } } - typedef std::map > RenderStageMap; /** Resize any per context GLObject buffers to specified size. */ virtual void resizeGLObjectBuffers(unsigned int maxSize) @@ -1600,27 +1624,8 @@ rtts->setClearDepth(camera.getClearDepth()); rtts->setClearAccum(camera.getClearAccum()); rtts->setClearStencil(camera.getClearStencil()); - rtts->setClearMask(camera.getClearMask()); - - - // set up the background color and clear mask. - if (camera.getInheritanceMask() & CLEAR_COLOR) - { - rtts->setClearColor(previous_stage->getClearColor()); - } - else - { - rtts->setClearColor(camera.getClearColor()); - } - if (camera.getInheritanceMask() & CLEAR_MASK) - { - rtts->setClearMask(previous_stage->getClearMask()); - } - else - { - rtts->setClearMask(camera.getClearMask()); - } - + rtts->setClearMask((camera.getInheritanceMask() & CLEAR_MASK) ? previous_stage->getClearMask() : camera.getClearMask()); + rtts->setClearColor((camera.getInheritanceMask() & CLEAR_COLOR) ? previous_stage->getClearColor() : camera.getClearColor()); // set the color mask. osg::ColorMask* colorMask = camera.getColorMask()!=0 ? camera.getColorMask() : previous_stage->getColorMask(); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgUtil/IncrementalCompileOperation.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgUtil/IncrementalCompileOperation.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgUtil/IncrementalCompileOperation.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgUtil/IncrementalCompileOperation.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -77,7 +77,7 @@ _drawablesHandled.insert(&drawable); - if (_markerObject.get()!=drawable.getUserData()) + if (!_markerObject || _markerObject.get()!=drawable.getUserData()) { if (drawable.getDataVariance()!=osg::Object::STATIC) { @@ -114,7 +114,7 @@ } // mark the drawable as visited - if (drawable.getUserData()==0) drawable.setUserData(_markerObject.get()); + if (_markerObject.valid() && drawable.getUserData()==0) drawable.setUserData(_markerObject.get()); } } @@ -125,15 +125,15 @@ _statesetsHandled.insert(&stateset); if ((_mode & GLObjectsVisitor::COMPILE_STATE_ATTRIBUTES)!=0 && - _markerObject.get()!=stateset.getUserData()) + (!_markerObject || _markerObject.get()!=stateset.getUserData())) { osg::Program* program = dynamic_cast(stateset.getAttribute(osg::StateAttribute::PROGRAM)); - if (program && _markerObject.get()!=program->getUserData()) + if (program && (!_markerObject || _markerObject.get()!=program->getUserData())) { _programs.insert(program); // mark the stateset as visited - if (program->getUserData()==0) program->setUserData(_markerObject.get()); + if (_markerObject.valid() && program->getUserData()==0) program->setUserData(_markerObject.get()); } const osg::StateSet::TextureAttributeList& tal = stateset.getTextureAttributeList(); @@ -159,14 +159,14 @@ } // mark the stateset as visited - if (stateset.getUserData()==0) stateset.setUserData(_markerObject.get()); + if (_markerObject.valid() && stateset.getUserData()==0) stateset.setUserData(_markerObject.get()); } } void StateToCompile::apply(osg::Texture& texture) { // don't make any changes if Texture already processed - if (_markerObject.get()==texture.getUserData()) return; + if (_markerObject.valid() && _markerObject.get()==texture.getUserData()) return; if (_assignPBOToImages) { @@ -213,7 +213,7 @@ } } - if (texture.getUserData()==0) texture.setUserData(_markerObject.get()); + if (_markerObject.valid() && texture.getUserData()==0) texture.setUserData(_markerObject.get()); _textures.insert(&texture); } @@ -297,7 +297,7 @@ bool IncrementalCompileOperation::CompileProgramOp::compile(CompileInfo& compileInfo) { //OSG_NOTICE<<"CompileProgramOp::compile(..)"<apply(*compileInfo.getState()); + _program->compileGLObjects(*compileInfo.getState()); return true; } @@ -332,7 +332,7 @@ { double estimateTime = 0.0; for(CompileOps::const_iterator itr = _compileOps.begin(); - itr != _compileOps.begin(); + itr != _compileOps.end(); ++itr) { estimateTime += (*itr)->estimatedTimeForCompile(compileInfo); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgUtil/ShaderGen.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgUtil/ShaderGen.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgUtil/ShaderGen.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgUtil/ShaderGen.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -116,27 +116,37 @@ osg::Program *program = new osg::Program; stateSet->setAttribute(program); - std::ostringstream vert; - std::ostringstream frag; + std::ostringstream vert_frag; + + vert_frag << "// ShaderGen shader\n"; + vert_frag << "#ifdef GL_ES\n" + " precision highp float;\n" + "#endif\n"; // write varyings if ((stateMask & LIGHTING) && !(stateMask & NORMAL_MAP)) { - vert << "varying vec3 normalDir;\n"; + vert_frag << "varying vec3 normalDir;\n"; } if (stateMask & (LIGHTING | NORMAL_MAP)) { - vert << "varying vec3 lightDir;\n"; + vert_frag << "varying vec3 lightDir;\n"; } if (stateMask & (LIGHTING | NORMAL_MAP | FOG)) { - vert << "varying vec3 viewDir;\n"; + vert_frag << "varying vec3 viewDir;\n"; } - // copy varying to fragment shader - frag << vert.str(); + vert_frag << "varying vec4 vertexColor;\n"; + + std::ostringstream vert; + std::ostringstream frag; + + // copy varying to vertex ad fragment shader + vert << vert_frag.str(); + frag << vert_frag.str(); // write uniforms and attributes int unit = 0; @@ -185,6 +195,7 @@ " lightDir.y = dot(dir, b);\n"\ " lightDir.z = dot(dir, n);\n"; } +#if !OSG_GLES2_FEATURES && !OSG_GLES3_FEATURES && !OSG_GL2_FEATURES else if (stateMask & LIGHTING) { vert << @@ -201,11 +212,12 @@ { vert << " viewDir = -vec3(gl_ModelViewMatrix * gl_Vertex);\n"\ - " gl_FrontColor = gl_Color;\n"; + " vertexColor = gl_Color;\n"; } +#endif else { - vert << " gl_FrontColor = gl_Color;\n"; + vert << " vertexColor = gl_Color;\n"; } vert << "}\n"; @@ -216,11 +228,11 @@ if (stateMask & DIFFUSE_MAP) { - frag << " vec4 base = texture2D(diffuseMap, gl_TexCoord[0].st);\n"; + frag << " vec4 base = vertexColor * texture2D(diffuseMap, gl_TexCoord[0].st);\n"; } else { - frag << " vec4 base = vec4(1.0);\n"; + frag << " vec4 base = vertexColor;\n"; } if (stateMask & NORMAL_MAP) @@ -228,6 +240,7 @@ frag << " vec3 normalDir = texture2D(normalMap, gl_TexCoord[0].st).xyz*2.0-1.0;\n"; } +#if !OSG_GLES2_FEATURES && !OSG_GLES3_FEATURES && !OSG_GL2_FEATURES if (stateMask & (LIGHTING | NORMAL_MAP)) { frag << @@ -247,15 +260,13 @@ " }\n"; } else +#endif { frag << " vec4 color = base;\n"; } - if (!(stateMask & LIGHTING)) - { - frag << " color *= gl_Color;\n"; - } +#if !OSG_GLES2_FEATURES && !OSG_GLES3_FEATURES && !OSG_GL2_FEATURES if (stateMask & FOG) { frag << @@ -263,6 +274,7 @@ " float f = exp2(-1.442695*gl_Fog.density*gl_Fog.density*d2);\n"\ " color.rgb = mix(gl_Fog.color.rgb, color.rgb, clamp(f, 0.0, 1.0));\n"; } +#endif frag << " gl_FragColor = color;\n"; frag << "}\n"; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgUtil/SmoothingVisitor.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgUtil/SmoothingVisitor.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgUtil/SmoothingVisitor.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgUtil/SmoothingVisitor.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -657,14 +657,16 @@ // fsef.listProblemVertices(); fsef.updateGeometry(); + vertices = dynamic_cast(geom.getVertexArray()); + normals = dynamic_cast(geom.getNormalArray()); osg::TriangleIndexFunctor stif2; if (stif2.set(vertices, normals)) { // accumulate all the normals - geom.accept(stif); + geom.accept(stif2); // normalize the normals - stif.normalize(); + stif2.normalize(); } } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/CMakeLists.txt openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/CMakeLists.txt --- openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/CMakeLists.txt 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/CMakeLists.txt 2017-08-28 16:50:49.000000000 +0000 @@ -8,6 +8,10 @@ SET(LIB_NAME osgViewer) SET(HEADER_PATH ${OpenSceneGraph_SOURCE_DIR}/include/${LIB_NAME}) + +FILE(GLOB CONFIG_HEADER_FILES ${HEADER_PATH}/config/*) +FILE(GLOB CONFIG_SOURCE_FILES config/*.cpp) + SET(TARGET_H ${HEADER_PATH}/CompositeViewer ${HEADER_PATH}/Export @@ -22,10 +26,8 @@ ${HEADER_PATH}/ViewerEventHandlers ) -FILE(GLOB LIB_COMMON_FILES config/*.cpp) - SET(LIB_COMMON_FILES - ${LIB_COMMON_FILES} + ${CONFIG_SOURCE_FILES} CompositeViewer.cpp GraphicsWindow.cpp HelpHandler.cpp @@ -47,8 +49,8 @@ IF(WIN32 AND NOT ANDROID) # - # Enable workaround for OpenGL driver issues when used in multithreaded/multiscreen with NVidia drivers on Windows XP - # For example: osgviewer dumptruck.osg was showing total garbage (screen looked like shattered, splashed hedgehog) + # Enable workaround for OpenGL driver issues when used in multithreaded/multiscreen with NVidia drivers on Windows XP + # For example: osgviewer dumptruck.osg was showing total garbage (screen looked like shattered, splashed hedgehog) # There were also serious issues with render to texture cameras. # Workaround repeats makeCurrentContext call as it was found that this causes the problems to dissapear. # @@ -63,13 +65,13 @@ ${HEADER_PATH}/api/Win32/GraphicsWindowWin32 ${HEADER_PATH}/api/Win32/PixelBufferWin32 ) - - SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} + + SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} GraphicsWindowWin32.cpp PixelBufferWin32.cpp ) ELSE() - IF(APPLE AND NOT ANDROID) + IF(APPLE AND NOT ANDROID) IF(OSG_BUILD_PLATFORM_IPHONE OR OSG_BUILD_PLATFORM_IPHONE_SIMULATOR) SET(OSG_WINDOWING_SYSTEM "IOS" CACHE STRING "Windowing system type for graphics window creation, options only IOS.") @@ -93,15 +95,15 @@ ENDIF() IF(${OSG_WINDOWING_SYSTEM} STREQUAL "Cocoa") - ADD_DEFINITIONS(-DUSE_DARWIN_COCOA_IMPLEMENTATION) - + ADD_DEFINITIONS(-DUSE_DARWIN_COCOA_IMPLEMENTATION) + IF(OSG_COMPILE_FRAMEWORKS) - SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} + SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} ${HEADER_PATH}/api/Cocoa/GraphicsHandleCocoa ${HEADER_PATH}/api/Cocoa/GraphicsWindowCocoa ${HEADER_PATH}/api/Cocoa/PixelBufferCocoa ) - SET_PROPERTY(SOURCE ${HEADER_PATH}/api/Cocoa/GraphicsHandleCocoa PROPERTY MACOSX_PACKAGE_LOCATION Headers/api/Cocoa) + SET_PROPERTY(SOURCE ${HEADER_PATH}/api/Cocoa/GraphicsHandleCocoa PROPERTY MACOSX_PACKAGE_LOCATION Headers/api/Cocoa) SET_PROPERTY(SOURCE ${HEADER_PATH}/api/Cocoa/GraphicsWindowCocoa PROPERTY MACOSX_PACKAGE_LOCATION Headers/api/Cocoa) SET_PROPERTY(SOURCE ${HEADER_PATH}/api/Cocoa/PixelBufferCocoa PROPERTY MACOSX_PACKAGE_LOCATION Headers/api/Cocoa) ELSE() @@ -110,9 +112,9 @@ ${HEADER_PATH}/api/Cocoa/GraphicsWindowCocoa ${HEADER_PATH}/api/Cocoa/PixelBufferCocoa ) - ENDIF() - - SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} + ENDIF() + + SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} GraphicsWindowCocoa.mm DarwinUtils.h DarwinUtils.mm @@ -121,15 +123,15 @@ SET(LIB_EXTRA_LIBS ${COCOA_LIBRARY} ${LIB_EXTRA_LIBS}) ELSEIF(${OSG_WINDOWING_SYSTEM} STREQUAL "Carbon") - ADD_DEFINITIONS(-DUSE_DARWIN_CARBON_IMPLEMENTATION) - + ADD_DEFINITIONS(-DUSE_DARWIN_CARBON_IMPLEMENTATION) + IF(OSG_COMPILE_FRAMEWORKS) - SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} + SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} ${HEADER_PATH}/api/Carbon/GraphicsHandleCarbon ${HEADER_PATH}/api/Carbon/GraphicsWindowCarbon ${HEADER_PATH}/api/Carbon/PixelBufferCarbon ) - SET_PROPERTY(SOURCE ${HEADER_PATH}/api/Carbon/GraphicsHandleCarbon PROPERTY MACOSX_PACKAGE_LOCATION Headers/api/Carbon) + SET_PROPERTY(SOURCE ${HEADER_PATH}/api/Carbon/GraphicsHandleCarbon PROPERTY MACOSX_PACKAGE_LOCATION Headers/api/Carbon) SET_PROPERTY(SOURCE ${HEADER_PATH}/api/Carbon/GraphicsWindowCarbon PROPERTY MACOSX_PACKAGE_LOCATION Headers/api/Carbon) SET_PROPERTY(SOURCE ${HEADER_PATH}/api/Carbon/PixelBufferCarbon PROPERTY MACOSX_PACKAGE_LOCATION Headers/api/Carbon) ELSE() @@ -140,7 +142,7 @@ ) ENDIF() - SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} + SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} GraphicsWindowCarbon.cpp DarwinUtils.h DarwinUtils.mm @@ -151,10 +153,10 @@ ELSEIF(${OSG_WINDOWING_SYSTEM} STREQUAL "IOS") - ADD_DEFINITIONS(-DUSE_IOS_IMPLEMENTATION) - + ADD_DEFINITIONS(-DUSE_IOS_IMPLEMENTATION) + IF(OSG_COMPILE_FRAMEWORKS) - SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} + SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} ${HEADER_PATH}/api/IOS/GraphicsWindowIOS ) @@ -164,9 +166,9 @@ ${HEADER_PATH}/api/IOS/GraphicsWindowIOS #${HEADER_PATH}/api/IOS/PixelBufferIOS ) - ENDIF() - - SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} + ENDIF() + + SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} GraphicsWindowIOS.mm IOSUtils.h IOSUtils.mm @@ -179,9 +181,9 @@ INCLUDE(FindPkgConfig OPTIONAL) IF(PKG_CONFIG_FOUND) PKG_CHECK_MODULES(XRANDR xrandr) - IF(XRANDR_FOUND) + IF(XRANDR_FOUND) OPTION(OSGVIEWER_USE_XRANDR "Set to ON to enable Xrandr support for GraphicsWindowX11." ON) - ELSE() + ELSE() SET(OSGVIEWER_USE_XRANDR OFF) ENDIF() ELSE() @@ -194,11 +196,11 @@ ${HEADER_PATH}/api/X11/PixelBufferX11 ) - SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} - GraphicsWindowX11.cpp + SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} + GraphicsWindowX11.cpp PixelBufferX11.cpp ) - + IF(OSGVIEWER_USE_XRANDR) ADD_DEFINITIONS(-DOSGVIEWER_USE_XRANDR) SET(LIB_PRIVATE_HEADERS ${LIB_PRIVATE_HEADERS} ${XRANDR_INCLUDE_DIRS} ) @@ -247,7 +249,7 @@ ) -SET(TARGET_LIBRARIES +SET(TARGET_LIBRARIES osgGA osgText osgDB @@ -266,12 +268,12 @@ # install these headers manually since setup_library and moduleinstall # wouldn't keep the structure, e.g. api/X11/xyz.h -FOREACH(HEADERFILE ${TARGET_H_NO_MODULE_INSTALL}) +FOREACH(HEADERFILE ${TARGET_H_NO_MODULE_INSTALL} ${CONFIG_HEADER_FILES}) # get relative path to graphics system dependant header FILE(RELATIVE_PATH REL_INCLUDEFILE ${HEADER_PATH} ${HEADERFILE}) GET_FILENAME_COMPONENT(REL_INCLUDE_PATH ${REL_INCLUDEFILE} PATH) - INSTALL(FILES ${HEADERFILE} + INSTALL(FILES ${HEADERFILE} DESTINATION ${INSTALL_INCDIR}/${LIB_NAME}/${REL_INCLUDE_PATH} COMPONENT libopenscenegraph-dev ) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/CompositeViewer.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/CompositeViewer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/CompositeViewer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/CompositeViewer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -135,7 +135,7 @@ bool CompositeViewer::readConfiguration(const std::string& filename) { OSG_NOTICE<<"CompositeViewer::readConfiguration("< obj = osgDB::readObjectFile(filename); + osg::ref_ptr obj = osgDB::readRefObjectFile(filename); osgViewer::View * view = dynamic_cast(obj.get()); if (view) { @@ -255,14 +255,18 @@ osgViewer::View* view = itr->get(); if (view) { - // If the database pager is going to update the scene the render flag is - // set so that the updates show up + // check if the database pager needs to update the scene if (view->getDatabasePager()->requiresUpdateSceneGraph() || view->getDatabasePager()->getRequestsInProgress()) return true; - // if there update callbacks then we need to do frame. + // check if there are camera update callbacks if (view->getCamera()->getUpdateCallback()) return true; - if (view->getSceneData()!=0 && view->getSceneData()->getNumChildrenRequiringUpdateTraversal()>0) return true; + + // check if there are node update callbacks + if (view->getSceneData() != 0) + { + if (view->getSceneData()->getUpdateCallback() || (view->getSceneData()->getNumChildrenRequiringUpdateTraversal()>0) ) return true; + } } } @@ -1114,7 +1118,7 @@ // create a frame event for the new frame. { osg::ref_ptr event = view->getEventQueue()->frame( getFrameStamp()->getReferenceTime() ); - + if (!_previousEvent || _previousEvent->getNumPointerData()<2) { generatePointerData(*event); @@ -1124,7 +1128,7 @@ reprojectPointerData(*_previousEvent, *event); } } - + view->getEventQueue()->takeEvents(viewEventsMap[view], cutOffTime); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/GraphicsWindowIOS.mm openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/GraphicsWindowIOS.mm --- openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/GraphicsWindowIOS.mm 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/GraphicsWindowIOS.mm 2017-08-28 16:50:49.000000000 +0000 @@ -10,7 +10,7 @@ #import #else #import - #if defined(OSG_GLES3_FEATURES) + #if OSG_GLES3_FEATURES #import #endif @@ -432,9 +432,17 @@ glBindFramebufferOES(GL_FRAMEBUFFER_OES, _msaaFramebuffer); glBindRenderbufferOES(GL_RENDERBUFFER_OES, _msaaRenderBuffer); - // Samples is the amount of pixels the MSAA buffer uses to make one pixel on the render // buffer. Use a small number like 2 for the 3G and below and 4 or more for newer models + // Samples is the amount of pixels the MSAA buffer uses to make one pixel on the render + // buffer. Use a small number like 2 for the 3G and below and 4 or more for newer models + // NOTE: Formats of draw and read buffers must be identical + + GLenum internalFormat = GL_RGB5_A1_OES; +# if OSG_GLES3_FEATURES + if ([_context API] == kEAGLRenderingAPIOpenGLES3) + internalFormat = GL_RGBA8_OES; +# endif - glRenderbufferStorageMultisampleAPPLE(GL_RENDERBUFFER_OES, _win->getTraits()->samples, GL_RGB5_A1_OES, _backingWidth, _backingHeight); + glRenderbufferStorageMultisampleAPPLE(GL_RENDERBUFFER_OES, _win->getTraits()->samples, internalFormat, _backingWidth, _backingHeight); glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, _msaaRenderBuffer); glGenRenderbuffersOES(1, &_msaaDepthBuffer); @@ -507,64 +515,68 @@ #if defined(__IPHONE_4_0) && (__IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_0) - if(_msaaFramebuffer) - { - glBindFramebufferOES(GL_FRAMEBUFFER_OES, _msaaFramebuffer); - + if (_msaaFramebuffer) { + // Resolve the contents from the multisampling buffer into the resolve (view) buffer glBindFramebufferOES(GL_READ_FRAMEBUFFER_APPLE, _msaaFramebuffer); glBindFramebufferOES(GL_DRAW_FRAMEBUFFER_APPLE, _viewFramebuffer); - glResolveMultisampleFramebufferAPPLE(); - - GLenum attachments[] = {GL_DEPTH_ATTACHMENT_OES, GL_COLOR_ATTACHMENT0_OES}; - #ifdef OSG_GLES3_FEATURES - switch ([_context API]) - { - case kEAGLRenderingAPIOpenGLES3: - glBlitFramebuffer(0, 0, _backingWidth, _backingHeight, - 0, 0, _backingWidth, _backingHeight, - GL_COLOR_BUFFER_BIT, GL_LINEAR); - glInvalidateFramebuffer(GL_READ_FRAMEBUFFER_APPLE, 2, attachments); - break; - - default: - glResolveMultisampleFramebufferAPPLE(); - glDiscardFramebufferEXT(GL_READ_FRAMEBUFFER_APPLE, 2, attachments); - break; - } - #else - glDiscardFramebufferEXT(GL_READ_FRAMEBUFFER_APPLE, 2, attachments); - #endif +# if OSG_GLES3_FEATURES + if ([_context API] == kEAGLRenderingAPIOpenGLES3) { + glBlitFramebuffer(0, 0, _backingWidth, _backingHeight, + 0, 0, _backingWidth, _backingHeight, + GL_COLOR_BUFFER_BIT, GL_LINEAR); + } + else + glResolveMultisampleFramebufferAPPLE(); +# else + glResolveMultisampleFramebufferAPPLE(); +# endif } #endif - - //swap buffers (sort of i think?) + // Present Results step glBindRenderbufferOES(GL_RENDERBUFFER_OES, _viewRenderbuffer); - - //display render in context [_context presentRenderbuffer:GL_RENDERBUFFER_OES]; - //re bind the frame buffer for next frames renders - glBindFramebufferOES(GL_FRAMEBUFFER_OES, _viewFramebuffer); - #if defined(__IPHONE_4_0) && (__IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_0) - if (_msaaFramebuffer) - glBindFramebufferOES(GL_FRAMEBUFFER_OES, _msaaFramebuffer);; + if (_msaaFramebuffer) { + // Invalidate (discard) step (must be after present step) + GLenum attachments[] = {GL_DEPTH_ATTACHMENT_OES, GL_COLOR_ATTACHMENT0_OES}; +# if OSG_GLES3_FEATURES + if ([_context API] == kEAGLRenderingAPIOpenGLES3) + glInvalidateFramebuffer(GL_READ_FRAMEBUFFER_APPLE, 2, attachments); + else + glDiscardFramebufferEXT(GL_READ_FRAMEBUFFER_APPLE, 2, attachments); +# else + glDiscardFramebufferEXT(GL_READ_FRAMEBUFFER_APPLE, 2, attachments); +# endif + } #endif + + [self bindFrameBuffer]; } // //bind view buffer as current for new render pass // - (void)bindFrameBuffer { - - //bind the frame buffer - glBindFramebufferOES(GL_FRAMEBUFFER_OES, _viewFramebuffer); - #if defined(__IPHONE_4_0) && (__IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_0) - if (_msaaFramebuffer) - glBindFramebufferOES(GL_READ_FRAMEBUFFER_APPLE, _msaaFramebuffer); + if (_msaaFramebuffer) { +# if OSG_GLES3_FEATURES + if ([_context API] == kEAGLRenderingAPIOpenGLES3) { + glBindFramebufferOES(GL_DRAW_FRAMEBUFFER_APPLE, _msaaFramebuffer); + glBindFramebufferOES(GL_READ_FRAMEBUFFER_APPLE, _viewFramebuffer); + } + else + glBindFramebufferOES(GL_FRAMEBUFFER_OES, _msaaFramebuffer); +# else + glBindFramebufferOES(GL_FRAMEBUFFER_OES, _msaaFramebuffer); +# endif + } + else + glBindFramebufferOES(GL_FRAMEBUFFER_OES, _viewFramebuffer); +#else + glBindFramebufferOES(GL_FRAMEBUFFER_OES, _viewFramebuffer); #endif } @@ -1016,7 +1028,7 @@ _updateContext = false; } //i think we also want to bind the frame buffer here - //[_view bindFrameBuffer]; +// [_view bindFrameBuffer]; return true; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/GraphicsWindowX11.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/GraphicsWindowX11.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/GraphicsWindowX11.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/GraphicsWindowX11.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -738,7 +738,14 @@ EGLConfig eglConfig = 0; - #if defined(OSG_GLES2_AVAILABLE) + #if defined(OSG_GLES3_AVAILABLE) + + #ifndef EGL_OPENGL_ES3_BIT + #define EGL_OPENGL_ES3_BIT 0x00000040 + #endif + #define OSG_EGL_OPENGL_TARGET_BIT EGL_OPENGL_ES3_BIT + + #elif defined(OSG_GLES2_AVAILABLE) #define OSG_EGL_OPENGL_TARGET_BIT EGL_OPENGL_ES2_BIT #else #define OSG_EGL_OPENGL_TARGET_BIT EGL_OPENGL_ES_BIT @@ -1220,6 +1227,7 @@ int windowY = _traits->y; int windowWidth = _traits->width; int windowHeight = _traits->height; + bool needNewWindowSize = false; Time firstEventTime = 0; @@ -1275,6 +1283,7 @@ windowWidth = ev.xconfigure.width; windowHeight = ev.xconfigure.height; } + needNewWindowSize = true; break; } @@ -1294,6 +1303,7 @@ windowWidth = watt.width; windowHeight = watt.height; } + needNewWindowSize = true; break; } @@ -1552,6 +1562,7 @@ // get window geometry relative to root window/screen + if (needNewWindowSize) { XWindowAttributes watt; Window child_return; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/Keystone.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/Keystone.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/Keystone.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/Keystone.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -573,7 +573,7 @@ ++itr) { const std::string& filename = *itr; - osg::ref_ptr keystone = osgDB::readFile(filename); + osg::ref_ptr keystone = osgDB::readRefFile(filename); if (keystone.valid()) { keystone->setUserValue("filename",filename); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/Renderer.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/Renderer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/Renderer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/Renderer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -228,11 +228,12 @@ // If the high bits on any of the timestamp bits are // different then the counters may have wrapped. const int hiShift = (tbits - 1); - const GLuint64 hiMask = 1 << hiShift; + const GLuint64 one = 1; + const GLuint64 hiMask = one << hiShift; const GLuint64 sum = (beginTimestamp >> hiShift) + (endTimestamp >> hiShift) + (gpuTimestamp >> hiShift); if (sum == 1 || sum == 2) { - const GLuint64 wrapAdd = 1 << tbits; + const GLuint64 wrapAdd = one << tbits; // Counter wrapped between begin and end? if (beginTimestamp > endTimestamp) { @@ -368,6 +369,10 @@ _sceneView[0] = new osgUtil::SceneView; _sceneView[1] = new osgUtil::SceneView; + // each SceneView to have their own FrameStamp to avoid thread conflicts with the Viewer's main FrameStamp + _sceneView[0]->setFrameStamp(new osg::FrameStamp()); + _sceneView[1]->setFrameStamp(new osg::FrameStamp()); + osg::Camera* masterCamera = _camera->getView() ? _camera->getView()->getCamera() : camera; osg::StateSet* global_stateset = 0; @@ -528,7 +533,15 @@ osgDB::ImagePager* imagePager = view ? view->getImagePager() : 0; sceneView->getCullVisitor()->setImageRequestHandler(imagePager); - sceneView->setFrameStamp(view ? view->getFrameStamp() : state->getFrameStamp()); + + if (view && view->getFrameStamp()) + { + (*const_cast(sceneView->getFrameStamp())) = *(view->getFrameStamp()); + } + else if (state->getFrameStamp()) + { + (*const_cast(sceneView->getFrameStamp())) = *(state->getFrameStamp()); + } osg::DisplaySettings* ds = _camera->getDisplaySettings() ? _camera->getDisplaySettings() : ((view &&view->getDisplaySettings()) ? view->getDisplaySettings() : osg::DisplaySettings::instance().get()); @@ -627,8 +640,7 @@ if (view) sceneView->setFusionDistance(view->getFusionDistanceMode(), view->getFusionDistanceValue()); osg::Stats* stats = sceneView->getCamera()->getStats(); - osg::State* state = sceneView->getState(); - const osg::FrameStamp* fs = state->getFrameStamp(); + const osg::FrameStamp* fs = sceneView->getFrameStamp(); unsigned int frameNumber = fs ? fs->getFrameNumber() : 0; // do cull traversal @@ -640,6 +652,7 @@ osg::Timer_t afterCullTick = osg::Timer::instance()->tick(); #if 0 + osg::State* state = sceneView->getState(); if (sceneView->getDynamicObjectCount()==0 && state->getDynamicObjectRenderingCompletedCallback()) { // OSG_NOTICE<<"Completed in cull"<getOrCreateStateSet()->setGlobalDefaults(); _camera->setRenderer(new Renderer(_camera.get())); _camera->setProjectionResizePolicy(osg::Camera::FIXED); + +#if defined(OSG_GL3_AVAILABLE) || defined(OSG_GLES3_AVAILABLE) + { + OSG_NOTICE<<"StatsHandler::StatsHandler() Setting up GL3 compatible shaders"< program = new osg::Program; + program->addShader(new osg::Shader(osg::Shader::VERTEX, gl3_StatsVertexShader)); + program->addShader(new osg::Shader(osg::Shader::FRAGMENT, gl3_StatsFragmentShader)); + _camera->getOrCreateStateSet()->setAttributeAndModes(program.get()); + } +#elif defined(OSG_GL2_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) + { + + OSG_NOTICE<<"StatsHandler::StatsHandler() Setting up GL2 compatible shaders"< program = new osg::Program; + program->addShader(new osg::Shader(osg::Shader::VERTEX, gl2_StatsVertexShader)); + program->addShader(new osg::Shader(osg::Shader::FRAGMENT, gl2_StatsFragmentShader)); + _camera->getOrCreateStateSet()->setAttributeAndModes(program.get()); + } +#else + { + OSG_INFO<<"StatsHandler::StatsHandler() Fixed pipeline"<getCameras(cameras); } bool StatsHandler::handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa) @@ -76,7 +171,7 @@ { if (ea.getKey()==_keyEventTogglesOnScreenStats) { - if (viewer->getViewerStats()) + if (viewer && viewer->getViewerStats()) { if (!_initialized) { @@ -89,7 +184,7 @@ if (_statsType==LAST) _statsType = NO_STATS; osgViewer::ViewerBase::Cameras cameras; - viewer->getCameras(cameras); + collectWhichCamerasToRenderStatsFor(viewer, cameras); switch(_statsType) { @@ -194,7 +289,7 @@ } if (ea.getKey()==_keyEventPrintsOutStats) { - if (viewer->getViewerStats()) + if (viewer && viewer->getViewerStats()) { OSG_NOTICE< StatsList; @@ -234,6 +329,7 @@ } return true; } + break; } case(osgGA::GUIEventAdapter::RESIZE): setWindowSize(ea.getWindowWidth(), ea.getWindowHeight()); @@ -653,6 +749,7 @@ unsigned int vi = 0; double beginValue, endValue; + double minWidth = .0002; for(int i = startFrame; i <= endFrame; ++i) { if (_stats->getAttribute( i, _beginName, beginValue) && @@ -661,12 +758,14 @@ (*vertices)[vi++].x() = _xPos + (beginValue - referenceTime) * _statsHandler->getBlockMultiplier(); (*vertices)[vi++].x() = _xPos + (beginValue - referenceTime) * _statsHandler->getBlockMultiplier(); (*vertices)[vi++].x() = _xPos + (endValue - referenceTime) * _statsHandler->getBlockMultiplier(); + + + if (endValue - beginValue < minWidth) endValue = beginValue + minWidth; (*vertices)[vi++].x() = _xPos + (endValue - referenceTime) * _statsHandler->getBlockMultiplier(); } } - osg::DrawArrays* drawArrays = static_cast(geom->getPrimitiveSet(0)); - drawArrays->setCount(vi); + vertices->dirty(); drawable->drawImplementation(renderInfo); } @@ -743,33 +842,41 @@ const osg::Vec4& color, float max, const std::string& nameBegin, const std::string& nameEnd = "") { setUseDisplayList(false); + setDataVariance(osg::Object::DYNAMIC); - setVertexArray(new osg::Vec3Array); + osg::ref_ptr vbo = new osg::VertexBufferObject; + vbo->setUsage(GL_DYNAMIC_DRAW); + vbo->getProfile()._size = (width)*12; + + osg::ref_ptr vertices = new osg::Vec3Array; + vertices->setBufferObject(vbo.get()); + vertices->reserve(width); + + setVertexArray(vertices.get()); osg::Vec4Array* colors = new osg::Vec4Array; colors->push_back(color); setColorArray(colors, osg::Array::BIND_OVERALL); - setDrawCallback(new GraphUpdateCallback(pos, width, height, viewerStats, stats, max, nameBegin, nameEnd)); + addPrimitiveSet(new osg::DrawArrays(GL_LINE_STRIP, 0, 0)); + + setDrawCallback(new GraphUpdateCallback(this, pos, width, height, viewerStats, stats, max, nameBegin, nameEnd)); } }; struct GraphUpdateCallback : public osg::Drawable::DrawCallback { - GraphUpdateCallback(const osg::Vec3& pos, float width, float height, osg::Stats* viewerStats, osg::Stats* stats, + GraphUpdateCallback(osg::Geometry* geometry, const osg::Vec3& pos, float width, float height, osg::Stats* viewerStats, osg::Stats* stats, float max, const std::string& nameBegin, const std::string& nameEnd = "") : _pos(pos), _width((unsigned int)width), _height((unsigned int)height), _curX(0), _viewerStats(viewerStats), _stats(stats), _max(max), _nameBegin(nameBegin), _nameEnd(nameEnd) { + _vertices = dynamic_cast(geometry->getVertexArray()); + _drawArrays = dynamic_cast(geometry->getPrimitiveSet(0)); } virtual void drawImplementation(osg::RenderInfo& renderInfo,const osg::Drawable* drawable) const { - osg::Geometry* geometry = const_cast(drawable->asGeometry()); - if (!geometry) return; - osg::Vec3Array* vertices = dynamic_cast(geometry->getVertexArray()); - if (!vertices) return; - unsigned int frameNumber = renderInfo.getState()->getFrameStamp()->getFrameNumber(); // Get stats @@ -797,24 +904,18 @@ // Add new vertex for this frame. value = osg::clampTo(value, 0.0, double(_max)); - vertices->push_back(osg::Vec3(float(_curX), float(_height) / _max * value, 0)); + _vertices->push_back(osg::Vec3(float(_curX), float(_height) / _max * value, 0)); // One vertex per pixel in X. - int excedent = vertices->size() - _width; + int excedent = _vertices->size() - _width; if (excedent > 0) { - vertices->erase(vertices->begin(), vertices->begin() + excedent); + _vertices->erase(_vertices->begin(), _vertices->begin() + excedent); } - // Create primitive set if none exists. - if (geometry->getNumPrimitiveSets() == 0) - geometry->addPrimitiveSet(new osg::DrawArrays(GL_LINE_STRIP, 0, 0)); - // Update primitive set. - osg::DrawArrays* drawArrays = dynamic_cast(geometry->getPrimitiveSet(0)); - if (!drawArrays) return; - drawArrays->setFirst(0); - drawArrays->setCount(vertices->size()); + _drawArrays->setFirst(0); + _drawArrays->setCount(_vertices->size()); // Make the graph scroll when there is enough data. // Note: We check the frame number so that even if we have @@ -825,24 +926,25 @@ { // We know the exact layout of this part of the scene // graph, so this is OK... - osg::MatrixTransform* transform = - geometry->getParent(0)->getParent(0)->asTransform()->asMatrixTransform(); + osg::MatrixTransform* transform = const_cast(drawable->getParent(0)->getParent(0)->asTransform()->asMatrixTransform()); if (transform) { //osg::Matrix matrix = transform->getMatrix(); //matrix.setTrans(-(*vertices)[0].x(), matrix.getTrans().y(), matrix.getTrans().z()); - transform->setMatrix(osg::Matrix::translate(_pos + osg::Vec3(-(*vertices)[0].x(), 0, 0))); + transform->setMatrix(osg::Matrix::translate(_pos + osg::Vec3(-(*_vertices)[0].x(), 0, 0))); } } + _vertices->dirty(); + _curX++; GraphUpdateCallback::_frameNumber = frameNumber; - geometry->dirtyBound(); - drawable->drawImplementation(renderInfo); } + osg::ref_ptr _vertices; + osg::ref_ptr _drawArrays; const osg::Vec3 _pos; const unsigned int _width; const unsigned int _height; @@ -864,24 +966,34 @@ osg::Geometry* geometry = new osg::Geometry; geometry->setUseDisplayList(false); + geometry->setDataVariance(osg::Object::DYNAMIC); osg::Vec3Array* vertices = new osg::Vec3Array; geometry->setVertexArray(vertices); vertices->reserve(numBlocks*4); + osg::DrawElementsUShort* primitives = new osg::DrawElementsUShort(GL_TRIANGLES); for(unsigned int i=0; isize(); vertices->push_back(pos+osg::Vec3(i*20, height, 0.0)); vertices->push_back(pos+osg::Vec3(i*20, 0.0, 0.0)); vertices->push_back(pos+osg::Vec3(i*20+10.0, 0.0, 0.0)); vertices->push_back(pos+osg::Vec3(i*20+10.0, height, 0.0)); + + primitives->push_back(vi); + primitives->push_back(vi+1); + primitives->push_back(vi+2); + primitives->push_back(vi); + primitives->push_back(vi+2); + primitives->push_back(vi+3); } osg::Vec4Array* colours = new osg::Vec4Array; colours->push_back(colour); geometry->setColorArray(colours, osg::Array::BIND_OVERALL); - geometry->addPrimitiveSet(new osg::DrawArrays(GL_QUADS, 0, numBlocks*4)); + geometry->addPrimitiveSet(primitives); return geometry; } @@ -923,6 +1035,8 @@ } } + vertices->dirty(); + drawable->drawImplementation(renderInfo); } @@ -1019,6 +1133,7 @@ osg::Geometry* geometry = new osg::Geometry; geometry->setUseDisplayList(false); + geometry->setDataVariance(osg::Object::DYNAMIC); osg::Vec3Array* vertices = new osg::Vec3Array; geometry->setVertexArray(vertices); @@ -1044,6 +1159,7 @@ osg::Geometry* geometry = new osg::Geometry; geometry->setUseDisplayList(false); + geometry->setDataVariance(osg::Object::DYNAMIC); osg::Vec3Array* vertices = new osg::Vec3Array; geometry->setVertexArray(vertices); @@ -1081,7 +1197,7 @@ // collect all the relevant cameras ViewerBase::Cameras validCameras; - viewer->getCameras(validCameras); + collectWhichCamerasToRenderStatsFor(viewer, validCameras); ViewerBase::Cameras cameras; for(ViewerBase::Cameras::iterator itr = validCameras.begin(); @@ -1145,8 +1261,14 @@ frameRateLabel->setFont(_font); frameRateLabel->setCharacterSize(_characterSize); frameRateLabel->setPosition(pos); +#ifdef _DEBUG + osg::Vec4 colorDFR(1.0f, 0.0f, 0.0f, 1.0f); + frameRateLabel->setColor(colorDFR); + frameRateLabel->setText("DEBUG Frame Rate: "); +#else + frameRateLabel->setColor(colorFR); frameRateLabel->setText("Frame Rate: "); - +#endif pos.x() = frameRateLabel->getBoundingBox().xMax(); osg::ref_ptr frameRateValue = new osgText::Text; @@ -1157,6 +1279,7 @@ frameRateValue->setCharacterSize(_characterSize); frameRateValue->setPosition(pos); frameRateValue->setText("0.0"); + frameRateValue->setDataVariance(osg::Object::DYNAMIC); frameRateValue->setDrawCallback(new AveragedValueTextDrawCallback(viewer->getViewerStats(),"Frame rate",-1, true, 1.0)); @@ -1355,6 +1478,7 @@ averageValue->setCharacterSize(_characterSize); averageValue->setPosition(pos); averageValue->setText("1000"); + averageValue->setDataVariance(osg::Object::DYNAMIC); pos.x() = averageValue->getBoundingBox().xMax() + 2.0f*_characterSize; @@ -1378,6 +1502,7 @@ minValue->setCharacterSize(_characterSize); minValue->setPosition(pos); minValue->setText("1000"); + minValue->setDataVariance(osg::Object::DYNAMIC); pos.x() = minValue->getBoundingBox().xMax() + 2.0f*_characterSize; @@ -1400,6 +1525,8 @@ maxValue->setCharacterSize(_characterSize); maxValue->setPosition(pos); maxValue->setText("1000"); + maxValue->setDataVariance(osg::Object::DYNAMIC); + pos.x() = maxValue->getBoundingBox().xMax(); @@ -1422,6 +1549,8 @@ requestList->setCharacterSize(_characterSize); requestList->setPosition(pos); requestList->setText("0"); + requestList->setDataVariance(osg::Object::DYNAMIC); + pos.x() = requestList->getBoundingBox().xMax() + 2.0f*_characterSize;; @@ -1444,6 +1573,8 @@ compileList->setCharacterSize(_characterSize); compileList->setPosition(pos); compileList->setText("0"); + compileList->setDataVariance(osg::Object::DYNAMIC); + pos.x() = maxLabel->getBoundingBox().xMax(); @@ -1528,6 +1659,7 @@ camStatsText->setCharacterSize(_characterSize); camStatsText->setPosition(pos); camStatsText->setText(""); + camStatsText->setDataVariance(osg::Object::DYNAMIC); camStatsText->setDrawCallback(new CameraSceneStatsTextDrawCallback(*citr, cameraCounter)); // Move camera block to the right @@ -1601,6 +1733,7 @@ text->setFont(_font); text->setCharacterSize(_characterSize); text->setPosition(pos); + text->setDataVariance(osg::Object::DYNAMIC); text->setDrawCallback(new ViewSceneStatsTextDrawCallback(*it, viewCounter)); pos.x() += 10 * _characterSize + 2 * backgroundMargin + backgroundSpacing; @@ -1634,6 +1767,7 @@ value->setCharacterSize(_characterSize); value->setPosition(pos); value->setText("0.0"); + value->setDataVariance(osg::Object::DYNAMIC); if (!timeTakenName.empty()) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/ViewerBase.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/ViewerBase.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/ViewerBase.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/ViewerBase.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -40,23 +40,6 @@ using namespace osgViewer; - -struct InitRegistry -{ - InitRegistry() - { - osgDB::Registry::instance(); - } - - ~InitRegistry() - { - osgDB::DatabasePager::prototype() = 0; - osgDB::Registry::instance(true); - } -}; - -static InitRegistry s_InitRegistry; - ViewerBase::ViewerBase(): osg::Object(true) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/Viewer.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/Viewer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgViewer/Viewer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgViewer/Viewer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -165,7 +165,7 @@ std::string intensityMapFilename; while (arguments.read("--im",intensityMapFilename)) {} - osg::ref_ptr intensityMap = intensityMapFilename.empty() ? 0 : osgDB::readImageFile(intensityMapFilename); + osg::ref_ptr intensityMap = intensityMapFilename.empty() ? 0 : osgDB::readRefImageFile(intensityMapFilename); if (screenNum<0) screenNum = 0; @@ -297,7 +297,7 @@ { OSG_INFO<<"Viewer::readConfiguration("< object = osgDB::readObjectFile(filename); + osg::ref_ptr object = osgDB::readRefObjectFile(filename); if (!object) { //OSG_NOTICE<<"Error: Unable to load configuration file \""<className()<configure(*this); //osgDB::writeObjectFile(*config,"test.osgt"); @@ -358,22 +358,26 @@ bool Viewer::checkNeedToDoFrame() { + // check if any event handler has prompted a redraw if (_requestRedraw) return true; if (_requestContinousUpdate) return true; + // check if the database pager needs to update the scene + if (getDatabasePager()->requiresUpdateSceneGraph() || getDatabasePager()->getRequestsInProgress()) return true; - // If the database pager is going to update the scene the render flag is - // set so that the updates show up - if(getDatabasePager()->requiresUpdateSceneGraph() || getDatabasePager()->getRequestsInProgress()) return true; - - // if there update callbacks then we need to do frame. + // check if there are camera update callbacks if (_camera->getUpdateCallback()) return true; - if (getSceneData()!=0 && getSceneData()->getNumChildrenRequiringUpdateTraversal()>0) return true; + + // check if there are node update callbacks + if (getSceneData() != 0) + { + if (getSceneData()->getUpdateCallback() || (getSceneData()->getNumChildrenRequiringUpdateTraversal()>0) ) return true; + } // check if events are available and need processing if (checkEvents()) return true; - // now check if any of the event handles have prompted a redraw. + // and check again if any event handler has prompted a redraw if (_requestRedraw) return true; if (_requestContinousUpdate) return true; @@ -986,7 +990,7 @@ // create a frame event for the new frame. { osg::ref_ptr event = _eventQueue->frame( getFrameStamp()->getReferenceTime() ); - + if (!eventState || eventState->getNumPointerData()<2) { generatePointerData(*event); @@ -996,7 +1000,7 @@ reprojectPointerData(*eventState, *event); } } - + // OSG_NOTICE<<"mouseEventState Xmin = "<getXmin()<<" Ymin="<getYmin()<<" xMax="<getXmax()<<" Ymax="<getYmax()<takeEvents(events, cutOffTime); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgVolume/Locator.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgVolume/Locator.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgVolume/Locator.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgVolume/Locator.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -14,6 +14,7 @@ #include #include #include +#include #include @@ -223,6 +224,28 @@ } +bool Locator::inverted() const +{ + osg::Vec3d xAxis(_transform(0,0), _transform(1,0), _transform(2,0)); + osg::Vec3d yAxis(_transform(0,1), _transform(1,1), _transform(2,1)); + osg::Vec3d zAxis(_transform(0,2), _transform(1,2), _transform(2,2)); + double volume = (xAxis^yAxis)*zAxis; + return volume<0.0; +} + +void Locator::applyAppropriateFrontFace(osg::StateSet* ss) const +{ + osg::StateAttribute* sa = ss->getAttribute(osg::StateAttribute::FRONTFACE); + osg::FrontFace* ff = dynamic_cast(sa); + if (!ff) + { + ff = new osg::FrontFace; + ss->setAttribute(ff); + } + ff->setMode( inverted() ? osg::FrontFace::CLOCKWISE : osg::FrontFace::COUNTER_CLOCKWISE); +} + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // TransformLocatorCallback @@ -233,7 +256,12 @@ void TransformLocatorCallback::locatorModified(Locator* locator) { - if (_transform.valid()) _transform->setMatrix(locator->getTransform()); + if (_transform.valid()) + { + locator->applyAppropriateFrontFace(_transform->getOrCreateStateSet()); + + _transform->setMatrix(locator->getTransform()); + } } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgVolume/MultipassTechnique.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgVolume/MultipassTechnique.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgVolume/MultipassTechnique.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgVolume/MultipassTechnique.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -497,6 +497,7 @@ { geometryMatrix = masterLocator->getTransform(); _transform->setMatrix(geometryMatrix); + masterLocator->applyAppropriateFrontFace(_transform->getOrCreateStateSet()); masterLocator->addCallback(new TransformLocatorCallback(_transform.get())); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgVolume/RayTracedTechnique.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgVolume/RayTracedTechnique.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgVolume/RayTracedTechnique.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgVolume/RayTracedTechnique.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -134,6 +134,7 @@ { geometryMatrix = masterLocator->getTransform(); _transform->setMatrix(geometryMatrix); + masterLocator->applyAppropriateFrontFace(_transform->getOrCreateStateSet()); masterLocator->addCallback(new TransformLocatorCallback(_transform.get())); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgVolume/Volume.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgVolume/Volume.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgVolume/Volume.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgVolume/Volume.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -51,9 +51,7 @@ OpenThreads::ScopedLock lock(_mutex); VolumeTileMap::iterator itr = _volumeTileMap.find(tileID); - if (itr != _volumeTileMap.end()) return 0; - - return itr->second; + return (itr != _volumeTileMap.end()) ? itr->second : 0; } const VolumeTile* Volume::getVolumeTile(const TileID& tileID) const @@ -61,9 +59,7 @@ OpenThreads::ScopedLock lock(_mutex); VolumeTileMap::const_iterator itr = _volumeTileMap.find(tileID); - if (itr != _volumeTileMap.end()) return 0; - - return itr->second; + return (itr != _volumeTileMap.end()) ? itr->second : 0; } void Volume::dirtyRegisteredVolumeTiles() diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWidget/Browser.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWidget/Browser.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWidget/Browser.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWidget/Browser.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -105,7 +105,7 @@ bool Browser::open(const std::string& hostname, const GeometryHints& hints) { - osg::ref_ptr image = osgDB::readImageFile(hostname+".gecko"); + osg::ref_ptr image = osgDB::readRefImageFile(hostname+".gecko"); return assign(dynamic_cast(image.get()), hints); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWidget/PdfReader.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWidget/PdfReader.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWidget/PdfReader.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWidget/PdfReader.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -67,7 +67,7 @@ osg::StateAttribute::ON); osg::ref_ptr iih = new osgViewer::InteractiveImageHandler(_pdfImage.get()); - + pictureQuad->setEventCallback(iih.get()); pictureQuad->setCullCallback(iih.get()); @@ -78,7 +78,7 @@ bool PdfReader::open(const std::string& filename, const GeometryHints& hints) { - osg::ref_ptr image = osgDB::readImageFile(filename); + osg::ref_ptr image = osgDB::readRefImageFile(filename); return assign(dynamic_cast(image.get()), hints); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWidget/VncClient.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWidget/VncClient.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWidget/VncClient.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWidget/VncClient.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -62,7 +62,7 @@ osg::StateAttribute::ON); osg::ref_ptr iih = new osgViewer::InteractiveImageHandler(_vncImage.get()); - + pictureQuad->setEventCallback(iih.get()); pictureQuad->setCullCallback(iih.get()); @@ -73,7 +73,7 @@ bool VncClient::connect(const std::string& hostname, const GeometryHints& hints) { - osg::ref_ptr image = osgDB::readImageFile(hostname+".vnc"); + osg::ref_ptr image = osgDB::readRefImageFile(hostname+".vnc"); return assign(dynamic_cast(image.get()), hints); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWidget/Widget.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWidget/Widget.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWidget/Widget.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWidget/Widget.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -339,7 +339,8 @@ return false; } - return setImage(osgDB::readImageFile(filePath), setTexCoords, useTextRect); + osg::ref_ptr image = osgDB::readRefImageFile(filePath); + return setImage(image.get(), setTexCoords, useTextRect); } bool Widget::setTexture(osg::Texture* texture, bool setTexCoords, bool useTextRect) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWidget/Window.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWidget/Window.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWidget/Window.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWidget/Window.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -758,25 +758,28 @@ return false; } -bool Window::setNextFocusable() { +bool Window::setNextFocusable() +{ WidgetList focusList; if(!getFocusList(focusList)) return false; - WidgetList::iterator w = focusList.begin(); - // TODO: This needs to be a more complicated object, since the focus may be // in a child Window instead of a Widget. - unsigned int focusedIndex = 0; - - for(unsigned int i = 0; w != focusList.end(); w++, i++) if(*w == _focused) { - focusedIndex = i; - - break; + WidgetList::iterator witr; + for(witr = focusList.begin(); + witr != focusList.end(); + ++witr) + { + if (*witr==_focused) + { + // found current focused widget, move to next widget the one we want to focus on + ++witr; + break; + } } - if(focusedIndex < focusList.size() - 1) _setFocused((++w)->get()); - + if (witr!=focusList.end()) _setFocused(witr->get()); else _setFocused(focusList.front().get()); return true; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osg/ImageSequence.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osg/ImageSequence.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osg/ImageSequence.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osg/ImageSequence.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -27,7 +27,25 @@ ImageSequence& is = static_cast(obj); + double timeMultiplier; + if (fr.read("TimeMultiplier", timeMultiplier)) + { + is.setTimeMultiplier(timeMultiplier); + } + std::string modeStr; + if (fr.read("LoopingMode",modeStr)) + { + if (modeStr=="NO_LOOPING") + { + is.setLoopingMode(osg::ImageSequence::NO_LOOPING); + } + else if (modeStr=="LOOPING") + { + is.setLoopingMode(osg::ImageSequence::LOOPING); + } + } + if (fr.read("Mode",modeStr)) { if (modeStr=="PRE_LOAD_ALL_IMAGES") @@ -101,6 +119,18 @@ // no current image writing code here // as it is all handled by osg::Registry::writeImage() via plugins. + fw.indent()<<"TimeMultiplier "<getDatabasePathList(); fpl.push_front( fpl.empty() ? osgDB::getFilePath(proxyNode.getFileName(i)) : fpl.front()+'/'+ osgDB::getFilePath(proxyNode.getFileName(i))); - osg::Node *node = osgDB::readNodeFile(proxyNode.getFileName(i), fr.getOptions()); + osg::ref_ptr node = osgDB::readRefNodeFile(proxyNode.getFileName(i), fr.getOptions()); fpl.pop_front(); if(node) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Shader.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Shader.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Shader.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Shader.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -46,7 +46,7 @@ if (fr.matchSequence("file %w") || fr.matchSequence("file %s") ) { - osg::ref_ptr s = osgDB::readShaderFile(fr[1].getStr(), fr.getOptions()); + osg::ref_ptr s = osgDB::readRefShaderFile(fr[1].getStr(), fr.getOptions()); if(s.get()) shader.setShaderSource(s->getShaderSource()); else diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Texture1D.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Texture1D.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Texture1D.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Texture1D.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -41,7 +41,7 @@ if (fr[0].matchWord("file") && fr[1].isString()) { std::string filename = fr[1].getStr(); - Image* image = fr.readImage(filename.c_str()); + osg::ref_ptr image = fr.readImage(filename.c_str()); if (image) { // name will have already been set by the image plugin, @@ -57,7 +57,7 @@ if (fr[0].matchWord("ImageSequence") || fr[0].matchWord("Image")) { - osg::Image* image = fr.readImage(); + osg::ref_ptr image = fr.readImage(); if (image) texture.setImage(image); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Texture2DArray.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Texture2DArray.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Texture2DArray.cpp 1970-01-01 00:00:00.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Texture2DArray.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -0,0 +1,109 @@ +#include "osg/Texture2DArray" +#include "osg/ImageSequence" + +#include "osgDB/Registry" +#include "osgDB/Input" +#include "osgDB/Output" +#include "osgDB/WriteFile" + +using namespace osg; +using namespace osgDB; + +// forward declare functions to use later. +bool Texture2DArray_readLocalData(Object& obj, Input& fr); +bool Texture2DArray_writeLocalData(const Object& obj, Output& fw); + +// register the read and write functions with the osgDB::Registry. +REGISTER_DOTOSGWRAPPER(Texture2DArray) + ( + new osg::Texture2DArray, + "Texture2DArray", + "Object StateAttribute Texture2DArray TextureBase", + &Texture2DArray_readLocalData, + &Texture2DArray_writeLocalData + ); + +bool Texture2DArray_readLocalData(Object& obj, Input& fr) +{ + bool iteratorAdvanced = false; + int index = 0; + GLint textureW = 0; + GLint textureH = 0; + bool matched=true; + + Texture2DArray& texture = static_cast(obj); + + while (matched && (fr[0].matchWord("file") || fr[0].matchWord("ImageSequence") || fr[0].matchWord("Image"))) + { + matched = false; + osg::ref_ptr image; + if (fr[0].matchWord("file") && fr[1].isString()) + { + std::string filename = fr[1].getStr(); + image = fr.readImage(filename.c_str()); + fr += 2; + iteratorAdvanced = true; + matched = true; + } + else if (fr[0].matchWord("ImageSequence") || fr[0].matchWord("Image")) + { + image = fr.readImage(); + fr += 1; + iteratorAdvanced = true; + matched = true; + } + + if(image) + { + if(textureW == 0) //if first image,save size + { + textureW = image->s(); + textureH = image->t(); + } + else if(textureW != image->s() || + textureH != image->t()) + { + //scale to match size of first image. + image->scaleImage(textureW,textureH,1); + } + texture.setImage(index,image); + } + index++; + } + return iteratorAdvanced; +} + +bool Texture2DArray_writeLocalData(const Object& obj, Output& fw) +{ + const Texture2DArray& ta = static_cast(obj); + + for(size_t i = 0; i < ta.getNumImages();i++) + { + const Image* image = ta.getImage(i); + if(image) + { + const osg::ImageSequence* is = dynamic_cast(image); + if (is) + { + fw.writeObject(*is); + } + else + { + std::string fileName = image->getFileName(); + if (fw.getOutputTextureFiles()) + { + if (fileName.empty()) + { + fileName = fw.getTextureFileNameForOutput(); + } + osgDB::writeImageFile(*image, fileName); + } + if (!fileName.empty()) + { + fw.indent() << "file "< image = fr.readImage(filename.c_str()); if (image) { // name will have already been set by the image plugin, @@ -66,7 +66,7 @@ if (fr[0].matchWord("ImageSequence") || fr[0].matchWord("Image")) { - osg::Image* image = fr.readImage(); + osg::ref_ptr image = fr.readImage(); if (image) texture.setImage(image); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Texture3D.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Texture3D.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Texture3D.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osg/Texture3D.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -41,7 +41,7 @@ if (fr[0].matchWord("file") && fr[1].isString()) { std::string filename = fr[1].getStr(); - Image* image = fr.readImage(filename.c_str()); + osg::ref_ptr image = fr.readImage(filename.c_str()); if (image) { // name will have already been set by the image plugin, @@ -57,7 +57,7 @@ if (fr[0].matchWord("ImageSequence") || fr[0].matchWord("Image")) { - osg::Image* image = fr.readImage(); + osg::ref_ptr image = fr.readImage(); if (image) texture.setImage(image); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osg/TextureCubeMap.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osg/TextureCubeMap.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osg/TextureCubeMap.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osg/TextureCubeMap.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -38,8 +38,8 @@ } \ else if (fr[2].isString())\ { \ - Image* image = fr.readImage(fr[2].getStr());\ - if (image) texture.setImage(osg::TextureCubeMap::FACE,image);\ + osg::ref_ptr image = fr.readImage(fr[2].getStr());\ + if (image) texture.setImage(osg::TextureCubeMap::FACE,image.get());\ fr += 3;\ iteratorAdvanced = true; \ matched = true;\ diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osg/TextureRectangle.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osg/TextureRectangle.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osg/TextureRectangle.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osg/TextureRectangle.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -41,7 +41,7 @@ if (fr[0].matchWord("file") && fr[1].isString()) { std::string filename = fr[1].getStr(); - Image* image = fr.readImage(filename.c_str()); + osg::ref_ptr image = fr.readImage(filename.c_str()); if (image) { // name will have already been set by the image plugin, @@ -57,7 +57,7 @@ if (fr[0].matchWord("ImageSequence") || fr[0].matchWord("Image")) { - osg::Image* image = fr.readImage(); + osg::ref_ptr image = fr.readImage(); if (image) texture.setImage(image); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osgFX/IO_AnisotropicLighting.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osgFX/IO_AnisotropicLighting.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osgFX/IO_AnisotropicLighting.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osgFX/IO_AnisotropicLighting.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -31,9 +31,9 @@ } if (fr[0].matchWord("lightingMapFileName") && fr[1].isString()) { - osg::Image *lmap = fr.readImage(fr[1].getStr()); + osg::ref_ptr lmap = fr.readImage(fr[1].getStr()); if (lmap) { - myobj.setLightingMap(lmap); + myobj.setLightingMap(lmap.get()); } fr += 2; itAdvanced = true; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osgTerrain/HeightFieldLayer.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osgTerrain/HeightFieldLayer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osgTerrain/HeightFieldLayer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osgTerrain/HeightFieldLayer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -38,7 +38,7 @@ osgTerrain::extractSetNameAndFileName(fr[1].getStr(),setname, filename); if (!filename.empty()) { - osg::ref_ptr hf = osgDB::readHeightFieldFile(filename); + osg::ref_ptr hf = osgDB::readRefHeightFieldFile(filename); if (hf.valid()) { layer.setName(setname); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osgTerrain/TerrainTile.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osgTerrain/TerrainTile.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/deprecated-dotosg/osgTerrain/TerrainTile.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/deprecated-dotosg/osgTerrain/TerrainTile.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -143,7 +143,7 @@ if (fr.matchSequence("ProxyFile %s") || fr.matchSequence("ProxyFile %w") ) { - osg::ref_ptr image = osgDB::readObjectFile(std::string(fr[1].getStr())+".gdal"); + osg::ref_ptr image = osgDB::readRefObjectFile(std::string(fr[1].getStr())+".gdal"); osgTerrain::ProxyLayer* proxyLayer = dynamic_cast(image.get()); if (proxyLayer) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/Camera.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/Camera.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/Camera.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/Camera.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -54,12 +54,12 @@ else if ( type==1 ) { is >> is.PROPERTY("Image"); - attachment._image = dynamic_cast( is.readObject() ); + attachment._image = is.readObjectOfType(); } else if ( type==2 ) { is >> is.PROPERTY("Texture"); - attachment._texture = dynamic_cast( is.readObject() ); + attachment._texture = is.readObjectOfType(); is >> is.PROPERTY("Level") >> attachment._level; is >> is.PROPERTY("Face") >> attachment._face; is >> is.PROPERTY("MipMapGeneration") >> attachment._mipMapGeneration; @@ -235,15 +235,15 @@ ADD_ENUM_VALUE( DISABLE_ASSOCIATED_INHERITANCE_MASK_BIT ); ADD_ENUM_VALUE( DO_NOT_MODIFY_INHERITANCE_MASK ); END_ENUM_SERIALIZER(); - + BEGIN_INT_BITFLAGS_SERIALIZER(InheritanceMask, osg::Camera::ALL_VARIABLES); ADD_BITFLAG_VALUE(COMPUTE_NEAR_FAR_MODE, osg::Camera::COMPUTE_NEAR_FAR_MODE); ADD_BITFLAG_VALUE(CULLING_MODE, osg::Camera::CULLING_MODE); ADD_BITFLAG_VALUE(LOD_SCALE, osg::Camera::LOD_SCALE); ADD_BITFLAG_VALUE(SMALL_FEATURE_CULLING_PIXEL_SIZE, osg::Camera::SMALL_FEATURE_CULLING_PIXEL_SIZE); ADD_BITFLAG_VALUE(CLAMP_PROJECTION_MATRIX_CALLBACK, osg::Camera::CLAMP_PROJECTION_MATRIX_CALLBACK); - ADD_BITFLAG_VALUE(NEAR_FAR_RATIO, osg::Camera::NEAR_FAR_RATIO); - ADD_BITFLAG_VALUE(IMPOSTOR_ACTIVE, osg::Camera::IMPOSTOR_ACTIVE); + ADD_BITFLAG_VALUE(NEAR_FAR_RATIO, osg::Camera::NEAR_FAR_RATIO); + ADD_BITFLAG_VALUE(IMPOSTOR_ACTIVE, osg::Camera::IMPOSTOR_ACTIVE); ADD_BITFLAG_VALUE(DEPTH_SORT_IMPOSTOR_SPRITES, osg::Camera::DEPTH_SORT_IMPOSTOR_SPRITES); ADD_BITFLAG_VALUE(IMPOSTOR_PIXEL_ERROR_THRESHOLD, osg::Camera::IMPOSTOR_PIXEL_ERROR_THRESHOLD); ADD_BITFLAG_VALUE(NUM_FRAMES_TO_KEEP_IMPOSTORS_SPRITES, osg::Camera::NUM_FRAMES_TO_KEEP_IMPOSTORS_SPRITES); @@ -261,8 +261,8 @@ END_BITFLAGS_SERIALIZER(); //ALL_VARIABLES - + } - - + + } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/CompositeShape.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/CompositeShape.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/CompositeShape.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/CompositeShape.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -13,7 +13,7 @@ unsigned int size = 0; is >> size >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); + osg::ref_ptr child = is.readObjectOfType(); if ( child ) shape.addChild( child ); } is >> is.END_BRACKET; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/Geode.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/Geode.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/Geode.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/Geode.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -15,7 +15,7 @@ unsigned int size = 0; is >> size >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); + osg::ref_ptr drawable = is.readObjectOfType(); if ( drawable ) { node.addDrawable( drawable ); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/HeightField.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/HeightField.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/HeightField.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/HeightField.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -31,17 +31,18 @@ static bool readHeights( osgDB::InputStream& is, osg::HeightField& shape ) { - osg::FloatArray* array = dynamic_cast( is.readArray() ); - if ( array ) + osg::ref_ptr array = is.readArray(); + osg::FloatArray* farray = dynamic_cast( array.get() ); + if ( farray ) { unsigned int numCols = shape.getNumColumns(), numRows = shape.getNumRows(); - if ( array->size()size()> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); + osg::ref_ptr img = is.readImage(); if ( img ) image.addImage( img ); } is >> is.END_BRACKET; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/Object.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/Object.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/Object.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/Object.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -14,7 +14,7 @@ static bool readUserData( osgDB::InputStream& is, osg::Object& obj ) { is >> is.BEGIN_BRACKET; - osg::Object* object = is.readObject(); + osg::ref_ptr object = is.readObject(); if(object) obj.setUserData(object); is >> is.END_BRACKET; return true; @@ -29,7 +29,7 @@ } REGISTER_OBJECT_WRAPPER( Object, - /*new osg::Object*/NULL, + new osg::DummyObject, osg::Object, "osg::Object" ) { diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/PagedLOD.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/PagedLOD.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/PagedLOD.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/PagedLOD.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -102,7 +102,7 @@ is >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); + osg::ref_ptr child = is.readObjectOfType(); if ( child ) node.addChild( child ); } is >> is.END_BRACKET; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/Program.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/Program.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/Program.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/Program.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -58,7 +58,7 @@ unsigned int size = is.readSize(); is >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); + osg::ref_ptr shader = is.readObjectOfType(); if ( shader ) attr.addShader( shader ); } is >> is.END_BRACKET; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/ProxyNode.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/ProxyNode.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/ProxyNode.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/ProxyNode.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -50,7 +50,7 @@ is >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); + osg::ref_ptr child = is.readObjectOfType(); if ( child ) node.addChild( child ); } is >> is.END_BRACKET; @@ -117,7 +117,7 @@ { osgDB::FilePathList& fpl = ((osgDB::ReaderWriter::Options*)is.getOptions())->getDatabasePathList(); fpl.push_front( fpl.empty() ? osgDB::getFilePath(proxyNode.getFileName(i)) : fpl.front()+'/'+ osgDB::getFilePath(proxyNode.getFileName(i))); - osg::Node* node = osgDB::readNodeFile(proxyNode.getFileName(i), is.getOptions()); + osg::ref_ptr node = osgDB::readRefNodeFile(proxyNode.getFileName(i), is.getOptions()); fpl.pop_front(); if(node) proxyNode.insertChild(i, node); diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/StateSet.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/StateSet.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/StateSet.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/StateSet.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -46,7 +46,7 @@ is >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); + osg::ref_ptr sa = is.readObjectOfType(); is >> is.PROPERTY("Value"); int value = readValue( is ); if ( sa ) @@ -144,7 +144,7 @@ for ( osg::StateSet::AttributeList::iterator itr=attrs.begin(); itr!=attrs.end(); ++itr ) { - ss.setAttribute( itr->second.first.get(), itr->second.second ); + ss.setAttribute( itr->second.first, itr->second.second ); } return true; } @@ -211,7 +211,7 @@ for ( osg::StateSet::AttributeList::iterator itr=attrs.begin(); itr!=attrs.end(); ++itr ) { - ss.setTextureAttribute( i, itr->second.first.get(), itr->second.second ); + ss.setTextureAttribute( i, itr->second.first, itr->second.second ); } attrs.clear(); } @@ -244,7 +244,7 @@ unsigned int size = is.readSize(); is >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); + osg::ref_ptr uniform = is.readObjectOfType(); is >> is.PROPERTY("Value"); int value = readValue( is ); if ( uniform ) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/Texture2DArray.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/Texture2DArray.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/Texture2DArray.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/Texture2DArray.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -13,7 +13,7 @@ unsigned int size = 0; is >> size >> is.BEGIN_BRACKET; for ( unsigned int i=0; i image = is.readImage(); if ( image ) tex.setImage( i, image ); } is >> is.END_BRACKET; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/TriangleMesh.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/TriangleMesh.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/TriangleMesh.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/TriangleMesh.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -8,7 +8,8 @@ return shape.get##PROP()!=NULL; \ } \ static bool read##PROP(osgDB::InputStream& is, osg::TriangleMesh& shape) { \ - shape.set##PROP( dynamic_cast(is.readArray()) ); \ + osg::ref_ptr array = is.readArray(); \ + shape.set##PROP( dynamic_cast(array.get()) ); \ return true; \ } \ static bool write##PROP(osgDB::OutputStream& os, const osg::TriangleMesh& shape) { \ diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/Uniform.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/Uniform.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/Uniform.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/Uniform.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -13,17 +13,17 @@ bool hasArray; is >> hasArray; if ( hasArray ) { - osg::Array* array = is.readArray(); + osg::ref_ptr array = is.readArray(); switch ( array->getType() ) { case osg::Array::FloatArrayType: - uniform.setArray( static_cast(array) ); break; + uniform.setArray( static_cast(array.get()) ); break; case osg::Array::DoubleArrayType: - uniform.setArray( static_cast(array) ); break; + uniform.setArray( static_cast(array.get()) ); break; case osg::Array::IntArrayType: - uniform.setArray( static_cast(array) ); break; + uniform.setArray( static_cast(array.get()) ); break; case osg::Array::UIntArrayType: - uniform.setArray( static_cast(array) ); break; + uniform.setArray( static_cast(array.get()) ); break; default: break; } } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/UserDataContainer.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/UserDataContainer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osg/UserDataContainer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osg/UserDataContainer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -12,7 +12,7 @@ static bool readUDC_UserData( osgDB::InputStream& is, osg::DefaultUserDataContainer& udc ) { is >> is.BEGIN_BRACKET; - osg::Object* object = is.readObject(); + osg::ref_ptr object = is.readObject(); if(object) udc.setUserData(object); is >> is.END_BRACKET; return true; @@ -70,7 +70,7 @@ unsigned int size = is.readSize(); is >> is.BEGIN_BRACKET; for( unsigned int i=0; i read_object = is.readObject(); if (read_object) udc.addUserObject( read_object ); } is >> is.END_BRACKET; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgAnimation/LibraryWrapper.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgAnimation/LibraryWrapper.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgAnimation/LibraryWrapper.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgAnimation/LibraryWrapper.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -30,7 +30,9 @@ USE_SERIALIZER_WRAPPER(osgAnimation_UpdateRigGeometry) USE_SERIALIZER_WRAPPER(osgAnimation_UpdateFloatUniform) USE_SERIALIZER_WRAPPER(osgAnimation_UpdateMatrixfUniform) +USE_SERIALIZER_WRAPPER(osgAnimation_UpdateVec2fUniform) USE_SERIALIZER_WRAPPER(osgAnimation_UpdateVec3fUniform) +USE_SERIALIZER_WRAPPER(osgAnimation_UpdateVec4fUniform) extern "C" void wrapper_serializer_library_osgAnimation(void) {} diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgAnimation/UpdateMatrixTransform.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgAnimation/UpdateMatrixTransform.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgAnimation/UpdateMatrixTransform.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgAnimation/UpdateMatrixTransform.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -17,9 +17,8 @@ unsigned int size = is.readSize(); is >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); - if ( element ) transform.push_back( element ); + osg::ref_ptr element = is.readObjectOfType(); + if ( element ) transform.push_back( element.get() ); } is >> is.END_BRACKET; return true; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgAnimation/UpdateVec2fUniform.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgAnimation/UpdateVec2fUniform.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgAnimation/UpdateVec2fUniform.cpp 1970-01-01 00:00:00.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgAnimation/UpdateVec2fUniform.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -0,0 +1,17 @@ +#undef OBJECT_CAST +#define OBJECT_CAST dynamic_cast + +#include +#include +#include +#include + +REGISTER_OBJECT_WRAPPER( osgAnimation_UpdateVec2fUniform, + new osgAnimation::UpdateVec2fUniform, + osgAnimation::UpdateVec2fUniform, + "osg::Object osg::Callback osg::UniformCallback osgAnimation::UpdateVec2fUniform" ) +{ +} + +#undef OBJECT_CAST +#define OBJECT_CAST static_cast diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgAnimation/UpdateVec4fUniform.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgAnimation/UpdateVec4fUniform.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgAnimation/UpdateVec4fUniform.cpp 1970-01-01 00:00:00.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgAnimation/UpdateVec4fUniform.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -0,0 +1,17 @@ +#undef OBJECT_CAST +#define OBJECT_CAST dynamic_cast + +#include +#include +#include +#include + +REGISTER_OBJECT_WRAPPER( osgAnimation_UpdateVec4fUniform, + new osgAnimation::UpdateVec4fUniform, + osgAnimation::UpdateVec4fUniform, + "osg::Object osg::Callback osg::UniformCallback osgAnimation::UpdateVec4fUniform" ) +{ +} + +#undef OBJECT_CAST +#define OBJECT_CAST static_cast diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgFX/AnisotropicLighting.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgFX/AnisotropicLighting.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgFX/AnisotropicLighting.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgFX/AnisotropicLighting.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -13,7 +13,8 @@ static bool readLightingMap( osgDB::InputStream& is, osgFX::AnisotropicLighting& effect ) { std::string fileName; is.readWrappedString( fileName ); - effect.setLightingMap( osgDB::readImageFile(fileName) ); + osg::ref_ptr image = osgDB::readRefImageFile(fileName, is.getOptions()); + effect.setLightingMap( image.get() ); return true; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgManipulator/CompositeDragger.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgManipulator/CompositeDragger.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgManipulator/CompositeDragger.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgManipulator/CompositeDragger.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -13,7 +13,7 @@ unsigned int size = 0; is >> size >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); + osg::ref_ptr child = is.readObjectOfType(); if ( child ) dragger.addDragger( child ); } is >> is.END_BRACKET; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgManipulator/Dragger.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgManipulator/Dragger.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgManipulator/Dragger.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgManipulator/Dragger.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -18,8 +18,8 @@ std::string name; is >> name >> is.BEGIN_BRACKET; if ( name=="DraggerTransformCallback" ) { - osg::MatrixTransform* transform = dynamic_cast( is.readObject() ); - if ( transform ) dragger.addTransformUpdating( transform ); + osg::ref_ptr transform = is.readObjectOfType(); + if ( transform ) dragger.addTransformUpdating( transform.get() ); } is >> is.END_BRACKET; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgManipulator/Scale1DDragger.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgManipulator/Scale1DDragger.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgManipulator/Scale1DDragger.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgManipulator/Scale1DDragger.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -7,7 +7,7 @@ static bool check##PROP( const osgManipulator::Scale1DDragger& dragger ) \ { return dragger.get##PROP()!=NULL; } \ static bool read##PROP( osgDB::InputStream& is, osgManipulator::Scale1DDragger& dragger ) { \ - osg::Node* node = dynamic_cast( is.readObject() ); \ + osg::ref_ptr node = is.readObjectOfType(); \ if ( node ) dragger.set##PROP( *node ); return true; \ } \ static bool write##PROP( osgDB::OutputStream& os, const osgManipulator::Scale1DDragger& dragger ) { \ diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgManipulator/Scale2DDragger.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgManipulator/Scale2DDragger.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgManipulator/Scale2DDragger.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgManipulator/Scale2DDragger.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -7,7 +7,7 @@ static bool check##PROP( const osgManipulator::Scale2DDragger& dragger ) \ { return dragger.get##PROP()!=NULL; } \ static bool read##PROP( osgDB::InputStream& is, osgManipulator::Scale2DDragger& dragger ) { \ - osg::Node* node = dynamic_cast( is.readObject() ); \ + osg::ref_ptr node = is.readObjectOfType(); \ if ( node ) dragger.set##PROP( *node ); return true; \ } \ static bool write##PROP( osgDB::OutputStream& os, const osgManipulator::Scale2DDragger& dragger ) { \ diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgParticle/CompositePlacer.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgParticle/CompositePlacer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgParticle/CompositePlacer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgParticle/CompositePlacer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -13,8 +13,8 @@ unsigned int size = 0; is >> size >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); - if ( p ) cp.addPlacer( p ); + osg::ref_ptr p = is.readObjectOfType(); + if ( p ) cp.addPlacer( p.get() ); } is >> is.END_BRACKET; return true; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgParticle/ModularProgram.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgParticle/ModularProgram.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgParticle/ModularProgram.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgParticle/ModularProgram.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -13,8 +13,8 @@ unsigned int size = 0; is >> size >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); - if ( op ) prog.addOperator( op ); + osg::ref_ptr op = is.readObjectOfType(); + if ( op ) prog.addOperator( op.get() ); } is >> is.END_BRACKET; return true; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgParticle/Particle.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgParticle/Particle.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgParticle/Particle.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgParticle/Particle.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -35,21 +35,21 @@ if ( hasInterpolator ) { is >> is.BEGIN_BRACKET; - p.setSizeInterpolator( static_cast(is.readObject()) ); + p.setSizeInterpolator( is.readObjectOfType() ); is >> is.END_BRACKET; } is >> is.PROPERTY("AlphaInterpolator") >> hasInterpolator; if ( hasInterpolator ) { is >> is.BEGIN_BRACKET; - p.setAlphaInterpolator( static_cast(is.readObject()) ); + p.setAlphaInterpolator( is.readObjectOfType() ); is >> is.END_BRACKET; } is >> is.PROPERTY("ColorInterpolator") >> hasInterpolator; if ( hasInterpolator ) { is >> is.BEGIN_BRACKET; - p.setColorInterpolator( static_cast(is.readObject()) ); + p.setColorInterpolator( is.readObjectOfType() ); is >> is.END_BRACKET; } @@ -73,7 +73,7 @@ if ( hasObject ) { is >> is.BEGIN_BRACKET; - p.setDrawable( dynamic_cast(is.readObject()) ); + p.setDrawable( is.readObjectOfType() ); is >> is.END_BRACKET; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgParticle/ParticleEffect.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgParticle/ParticleEffect.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgParticle/ParticleEffect.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgParticle/ParticleEffect.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -13,7 +13,8 @@ { is >> is.BEGIN_BRACKET; effect.setUseLocalParticleSystem( false ); - effect.setParticleSystem( static_cast(is.readObject()) ); + osg::ref_ptr ps = is.readObjectOfType(); + effect.setParticleSystem( ps.get() ); is >> is.END_BRACKET; return true; } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgParticle/ParticleSystemUpdater.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgParticle/ParticleSystemUpdater.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgParticle/ParticleSystemUpdater.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgParticle/ParticleSystemUpdater.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -13,8 +13,8 @@ unsigned int size = 0; is >> size >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); - if ( ps ) updater.addParticleSystem( ps ); + osg::ref_ptr ps = is.readObjectOfType(); + if ( ps ) updater.addParticleSystem( ps.get() ); } is >> is.END_BRACKET; return true; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgSim/LightPointNode.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgSim/LightPointNode.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgSim/LightPointNode.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgSim/LightPointNode.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -26,14 +26,14 @@ if ( hasObject ) { is >> is.BEGIN_BRACKET; - pt._sector = dynamic_cast( is.readObject() ); + pt._sector = is.readObjectOfType(); is >> is.END_BRACKET; } hasObject = false; is >> is.PROPERTY("BlinkSequence") >> hasObject; if ( hasObject ) { is >> is.BEGIN_BRACKET; - pt._blinkSequence = dynamic_cast( is.readObject() ); + pt._blinkSequence = is.readObjectOfType(); is >> is.END_BRACKET; } is >> is.END_BRACKET; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgTerrain/CompositeLayer.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgTerrain/CompositeLayer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgTerrain/CompositeLayer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgTerrain/CompositeLayer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -17,7 +17,7 @@ is >> type; if ( type=="Object" ) { - osgTerrain::Layer* child = dynamic_cast( is.readObject() ); + osg::ref_ptr child = is.readObjectOfType(); if ( child ) layer.addLayer( child ); } else if ( type=="File" ) diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgTerrain/TerrainTile.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgTerrain/TerrainTile.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgTerrain/TerrainTile.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgTerrain/TerrainTile.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -36,7 +36,7 @@ for ( unsigned int i=0; i> is.PROPERTY("Layer") >> layerNum; - osgTerrain::Layer* layer = dynamic_cast( is.readObject() ); + osg::ref_ptr layer = is.readObjectOfType(); if ( layer ) tile.setColorLayer( layerNum, layer ); } is >> is.END_BRACKET; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgText/TextBase.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgText/TextBase.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgText/TextBase.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgText/TextBase.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -12,7 +12,8 @@ static bool readFont( osgDB::InputStream& is, osgText::TextBase& text ) { std::string fontName; is.readWrappedString( fontName ); - text.setFont( osgText::readFontFile(fontName) ); + osg::ref_ptr font = osgText::readRefFontFile(fontName); + text.setFont( font ); return true; } @@ -77,11 +78,12 @@ } else { - osg::UIntArray* array = dynamic_cast( is.readArray() ); - if ( array ) + osg::ref_ptr array = is.readArray(); + osg::UIntArray* uiarray = dynamic_cast( array.get() ); + if ( uiarray ) { osgText::String string; - for ( osg::UIntArray::iterator itr=array->begin(); itr!=array->end(); ++itr ) + for ( osg::UIntArray::iterator itr=uiarray->begin(); itr!=uiarray->end(); ++itr ) { string.push_back( *itr ); } diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgVolume/CompositeLayer.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgVolume/CompositeLayer.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgVolume/CompositeLayer.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgVolume/CompositeLayer.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -13,7 +13,7 @@ unsigned int size = 0; is >> size >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); + osg::ref_ptr child = is.readObjectOfType(); if ( child ) layer.addLayer( child ); } is >> is.END_BRACKET; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgVolume/CompositeProperty.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgVolume/CompositeProperty.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgVolume/CompositeProperty.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgVolume/CompositeProperty.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -13,7 +13,7 @@ unsigned int size = 0; is >> size >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); + osg::ref_ptr child = is.readObjectOfType(); if ( child ) prop.addProperty( child ); } is >> is.END_BRACKET; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgVolume/Locator.cpp openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgVolume/Locator.cpp --- openscenegraph-3.4-3.4.0+dfsg1/src/osgWrappers/serializers/osgVolume/Locator.cpp 2015-08-12 11:13:17.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/src/osgWrappers/serializers/osgVolume/Locator.cpp 2017-08-28 16:50:49.000000000 +0000 @@ -13,8 +13,7 @@ unsigned int size = is.readSize(); is >> is.BEGIN_BRACKET; for ( unsigned int i=0; i( is.readObject() ); + osg::ref_ptr cb = is.readObjectOfType(); if ( cb ) locator.addCallback( cb ); } is >> is.END_BRACKET; diff -Nru openscenegraph-3.4-3.4.0+dfsg1/.travis.yml openscenegraph-3.4-3.4.1+dfsg1/.travis.yml --- openscenegraph-3.4-3.4.0+dfsg1/.travis.yml 1970-01-01 00:00:00.000000000 +0000 +++ openscenegraph-3.4-3.4.1+dfsg1/.travis.yml 2017-08-28 16:50:49.000000000 +0000 @@ -0,0 +1,36 @@ +matrix: + fast_finish: true + include: + #Linux build + - os: linux + dist: trusty + language: cpp + env: + #- LLVM_VERSION=3.8 + sudo: false + cache: + apt: true + directories: + - $HOME/.ccache + compiler: + #- clang + - g++ + addons: + apt: + sources: + #- llvm-toolchain-precise-3.8 + - ubuntu-toolchain-r-test + packages: + #- clang-3.8 + - g++ + - cmake + # OSX build + - os: osx + language: cpp + +script: + - mkdir build + - cd build + - travis_wait 60 cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../product -DBUILD_OSG_EXAMPLES=ON .. + - make install -j3 +